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, 机械臂, 底盘, 机器人控制, 遥操作

Ir a la instalación

Datos de origen

Repositorio
ZhangHanDong/dora-skills
Última actividad en el origen
21 de enero de 2026 a las 16:16
Idioma detectado de SKILL.md
inglés
Estrellas
7
Forks
1

Opciones de instalación

De forma predeterminada está seleccionado el prompt que primero revisa el origen. Puedes cambiar a un comando directo o descargar una copia local.

Revisa los archivos de origen

Lee SKILL.md y los archivos complementarios que muestra SkillsMP antes de decidir si quieres instalarlo.

Mostrando SKILL.md

SKILL.md
Instrucciones de origen · Vista previa de solo lectura
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
Ver en GitHub