Skip to main content

hub-robot

Use for robot control nodes in dora. Triggers on: dora-piper, dora-reachy2, dora-ugv, dora-kit-car, dora-rdt-1b, Piper, Reachy, UGV, robot arm, chassis, VLA, robot control, Agilex, joint control, kinematics, teleoperation, 机械臂, 底盘, 机器人控制, 遥操作

Zur Installation springen

Quellinformationen

Repository
ZhangHanDong/dora-skills
Letzte Quellaktivität
21. Januar 2026 um 16:16
Erkannte Sprache von SKILL.md
Englisch
Sterne
7
Forks
1

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
hub-robot
description
Use for robot control nodes in dora. Triggers on: dora-piper, dora-reachy2, dora-ugv, dora-kit-car, dora-rdt-1b, Piper, Reachy, UGV, robot arm, chassis, VLA, robot control, Agilex, joint control, kinematics, teleoperation, 机械臂, 底盘, 机器人控制, 遥操作
globs
["**/dataflow.yml","**/dataflow.yaml"]
source
https://github.com/dora-rs/dora-hub
# Robot Control Nodes > Robot arms, chassis, and vision-language-action models ## Available Robot Nodes | Node | Install | Description | Type | |------|---------|-------------|------| | dora-piper | `pip install dora-piper` | Agilex Piper arm | Arm | | dora-reachy2 | `pip install dora-reachy2` | Pollen Reachy 2 humanoid | Humanoid | | dora-ugv | `pip install dora-ugv` | Agilex UGV chassis | Chassis | | dora-kit-car | `pip install dora-kit-car` | Open-source chassis | Chassis | | dora-rdt-1b | `pip install dora-rdt-1b` | Robotic Diffusion Transformer | VLA | ## Robot Arm Nodes ### dora-piper Agilex Piper robot arm control. #### Prerequisites Install Agilex Piper SDK: ```bash git clone https://github.com/agilexrobotics/piper_sdk cd piper_sdk # Follow setup and installation instructions ``` Ensure CAN bus is activated and leader arms are not connected. #### YAML Configuration ```yaml - id: piper build: pip install dora-piper path: dora-piper inputs: joint_positions: policy/positions # Float32Array joint targets outputs: - joint_state # Current joint positions ``` ### dora-reachy2 Pollen Robotics Reachy 2 humanoid robot. #### YAML Configuration ```yaml - id: reachy build: pip install dora-reachy2 path: dora-reachy2 inputs: command: control/command outputs: - image_left # Left camera image - image_right # Right camera image - joint_state # Joint positions ``` ## Chassis Nodes ### dora-ugv Agilex UGV (Unmanned Ground Vehicle) control. #### YAML Configuration ```yaml - id: ugv build: pip install dora-ugv path: dora-ugv inputs: velocity: control/velocity # [linear_x, angular_z] outputs: - odometry # Position and velocity feedback ``` ### dora-kit-car Open-source educational chassis. #### YAML Configuration ```yaml - id: car build: pip install dora-kit-car path: dora-kit-car inputs: command: control/command ``` ## Vision-Language-Action (VLA) ### dora-rdt-1b Robotic Diffusion Transformer for policy inference from images and language. #### YAML Configuration ```yaml - id: policy build: pip install dora-rdt-1b path: dora-rdt-1b inputs: image: camera/image instruction: input/text # Natural language instruction outputs: - action # Joint positions/velocities ``` #### VLA Pipeline with Robot Arm ```yaml nodes: # Camera - id: camera build: pip install opencv-video-capture path: opencv-video-capture inputs: tick: dora/timer/millis/100 outputs: - image # Microphone for voice commands - id: microphone build: pip install dora-microphone path: dora-microphone inputs: tick: dora/timer/millis/100 outputs: - audio # Speech to text - id: whisper build: pip install dora-distil-whisper path: dora-distil-whisper inputs: input: microphone/audio outputs: - text # VLA policy - id: policy build: pip install dora-rdt-1b path: dora-rdt-1b inputs: image: camera/image instruction: whisper/text outputs: - action # Robot arm - id: arm build: pip install dora-piper path: dora-piper inputs: joint_positions: policy/action outputs: - joint_state # Visualization - id: rerun build: pip install dora-rerun path: dora-rerun inputs: image: camera/image joint_state: source: arm/joint_state metadata: primitive: "jointstate" ``` ## Teleoperation Pipeline ```yaml nodes: # Leader arm (human operated) - id: leader build: pip install dora-piper path: dora-piper inputs: tick: dora/timer/millis/20 outputs: - joint_state env: MODE: leader CAN_INTERFACE: can0 # Follower arm (robot) - id: follower build: pip install dora-piper path: dora-piper inputs: joint_positions: leader/joint_state outputs: - joint_state env: MODE: follower CAN_INTERFACE: can1 # Camera for recording - id: camera build: pip install opencv-video-capture path: opencv-video-capture inputs: tick: dora/timer/millis/33 outputs: - image # Recording for imitation learning - id: recorder build: pip install llama-factory-recorder path: llama-factory-recorder inputs: image_right: camera/image ground_truth: leader/joint_state outputs: - text ``` ## Joint State Data Format ### Float32Array for Joint Positions ```python import pyarrow as pa import numpy as np # 7-DOF arm joint positions (radians) joint_positions = np.array([0.0, -0.5, 0.0, 1.0, 0.0, 0.5, 0.0], dtype=np.float32) # Send joint command node.send_output("joint_positions", pa.array(joint_positions), { "num_joints": 7, "primitive": "jointstate" }) ``` ### Receiving Joint State ```python if event["type"] == "INPUT": joint_state = event["value"].to_numpy() print(f"Joint positions: {joint_state}") ``` ## Pose Data Format (for end-effector) ```python # 7 values: [x, y, z, qx, qy, qz, qw] pose = np.array([0.5, 0.0, 0.3, 0.0, 0.0, 0.0, 1.0], dtype=np.float32) node.send_output("pose", pa.array(pose), {"primitive": "pose"}) ``` ## Mobile Robot Pipeline ```yaml nodes: # Camera - id: camera build: pip install opencv-video-capture path: opencv-video-capture inputs: tick: dora/timer/millis/33 outputs: - image # Object detection - id: yolo build: pip install dora-yolo path: dora-yolo inputs: image: camera/image outputs: - bbox # Navigation control (custom node) - id: navigator path: navigator.py inputs: detections: yolo/bbox outputs: - velocity # Chassis - id: ugv build: pip install dora-ugv path: dora-ugv inputs: velocity: navigator/velocity outputs: - odometry # Visualization - id: rerun build: pip install dora-rerun path: dora-rerun inputs: image: camera/image detections: yolo/bbox ``` ## URDF Visualization with Rerun ```yaml - id: rerun build: pip install dora-rerun path: dora-rerun inputs: jointstate_piper: arm/joint_state env: piper_urdf: /path/to/piper.urdf piper_transform: "0 0.3 0" # x y z offset ``` **Note:** URDF file paths in the URDF are relative to the dataflow working directory. ## Related Skills - **hub-camera** - Camera input for robot vision - **hub-detection** - Object detection for manipulation - **hub-recording** - Data recording for imitation learning - **data-pipeline** - LeRobot recording and replay
Auf GitHub ansehen