Volver a Learn

Configuración de OpenArm y primera demostración

Descabezar, ensamblar, conectar y ejecutar su primera demostración de teleoperación en OpenArm, el brazo robótico de código abierto diseñado para la recopilación de datos de capacitación de IA.

Descabezar, ensamblar, conectar y ejecutar su primera demostración de teleoperación en OpenArm, el brazo robótico de código abierto diseñado para la recopilación de datos de entrenamiento de IA.

Comenzante 12 horas Actualizado abril 2026

1. Descabezar la caja 2. Asemblar 3. Instalar ROS2 Pkg 4. Conectar 5. Visualizar 6. Primer comando 7. Teleop 8. Grabar el episodio 9. Seguidores pasos

Pre-requisitos

  • Un brazo robótico OpenArm ([disponible en la tienda RCSV](T8))
  • Ubuntu 22.04 o 24.04 con ROS2 Humble instalado (ver guía de configuración)
  • Superficies planas y estables (destacos o bancos de trabajo)
  • Un cable USB-C (incluido en la caja)
  • Opcional: cámara de pulsera Intel RealSense D405, brazo de mando para la teleoperatoria

Lo que lograrás

En aproximadamente 12 horas, pasará de una caja no abierta a un brazo robótico completamente operativo, visualizado en RViz2, respondiendo a los comandos y grabando su primera demostración de teleoperación con LeRobot. Todo lo que necesita está en la caja (más el software de este tutorial).

1 de la Comisión

Lo que hay en la caja

Abre el paquete OpenArm y comprueba que todos los componentes están presentes.

Componentes de OpenArm

El

Asamblea de los brazos

Armas preensambladas de 6 DOF con servos Dynamixel XM430

x1

■ El desarrollo de las redes sociales

Placa base

Placa de montaje de aluminio con patas de caucho

x1

El

Suministro de energía

Adaptador de corriente continua 12V 5A con conector de barril

x1

El

Cables USB-C

1.5m USB-C a cable de datos USB-A

x1

◎ El

El montaje de la cámara de muñeca

Montura impreso en 3D para RealSense D405 o webcam

x1

El

El equipo de montaje

Bolos M4, llave de Allen, clip de cable

bolsa x1

El

Tarjeta de inicio rápido

Tarjeta impresa con código QR enlazando a este tutorial

x1

El

El grifo

Grifas paralelas para la mandíbula, pre-anegadas a la muñeca

x1

Especificaciones de OpenArm

Grados de Libertad6 DOF + gripper
Alcance550 mm
Carga Útil1.0 kg
Repetibilidad±0.1 mm
ServosDynamixel XM430-W350
ConnectionUSB-C (USB 2.0)
Power12V DC, 48W peak
Weight3.2 kg
SoftwareROS2, LeRobot, Python SDK

2 de la Comisión

Asamblea física

OpenArm naves pre-ensambladas sólo tiene que conectar la base y conectar cables. Esto toma aproximadamente 10 minutos.

  1. Aligar la placa base: Colocar el brazo en la placa base de aluminio. Alinear los 4 agujeros de montaje y asegurar con los pernos M4 incluidos con la llave Allen.
  2. Poder de conexión: Conecte el conector del cañón de la fuente de alimentación de 12V al puerto de la base del brazo.
  3. Cámara de muñeca montada (opcional): Deslice la cámara montada en el soporte de muñeca y asegure con los dos pequeños tornillos.
  4. ** Cables de ruta:** Utilice los clipes de cable incluidos para encaminar los cables USB-C y las cámaras a lo largo del brazo.
  5. Posición en el escritorio: Colocar el brazo montado en una superficie estable y plana con al menos 60 cm de espacio libre alrededor en todas direcciones.

** Seguridad:** Mantenga las manos alejadas de las articulaciones del brazo cuando se aporte. los servos de OpenArm son lo suficientemente fuertes como para pinchar los dedos.

3 El

Instalar el paquete OpenArm ROS2

Clone los paquetes OpenArm ROS2 en su espacio de trabajo y construirlos.

Copia# Asegúrese de que ROS2 es fuente /opt/ros/humble/setup.bash # Clone OpenArm paquetes en su espacio de trabajo cd ~/ros2_ws/src git clone T18 # Esto incluye: # openarm_description URDF, malla, RViz config # openarm_bringup lanzar archivos para hardware # openarm_control ros2-control config # openarm_moveit MoveIt2 config (opcional) # Instalar dependencias de cd ~/src2_ws ros--instalar desde-paths src --ignore-r -ydep # Construir columna de construcción --sym-con-instalar fuente / configuración.

Inicio >>> abierto brazo_descripción Inicio >>> abierto brazo_control Inicio >>> abierto brazo_trae Finado <<< abierto brazo_descripción [2.1s] Finado <<< abierto brazo_control [3.4s] Finado <<< abierto brazo_trae [2.8s] Resumen: 3 paquetes terminados [4.2s]

4 de la Comisión

Conectar a través de USB-C

Conecte OpenArm a su computadora con el cable USB-C y configure permisos.

Copie # Conecte el cable USB-C y la energía en el brazo # Los servidores brillan brevemente sus LEDs # Compruebe si el dispositivo se detecta ls /dev/ttyUSB* #

Configure una regla de udev para que no necesite T0 cada vez:

Copie# Crea una regla de udev para el adaptador USB Dynamixel sudo bash -c 'cat > /etc/udev/rules.d/99-openarm.rules << EOF # OpenArm Dynamixel U2D2 USB adaptador SUBSYSTEM=="tty", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6014", MODE="0666", SYMLINK+="openarm" EOF' # Reload de udev reglas de control sudovadm --reload-reglas de control sudovadm # Verifyvadm disparador sudodev ahora debe ver /dev/openarm como un enlace -la /dev/openarm

Copia# Prueba de conectividad rápida ping todos los servidores ros2 ejecutar abierto_traer ping_servos --port=/dev/openarm # salida esperada: Servo 1 ( hombro_pan): OK firmware 46 Servo 2 ( hombro_lift): OK firmware 46 Servo 3 (codo): OK firmware 46 Servo 4 (muñeca_pitch): OK firmware 46 Servo 5 (muñeca_roll): OK firmware 46 Servo 6 (agarradón): OK firmware 46 Todos los 6 servos respondiendo.

** Todos los 6 servos respondiendo?** Estás conectado y listo. Si falta algún servo, revisa el cable de cadena de margaritas entre los servos reponga suavemente los conectores en el servo que no responde y su vecino.

5 El

Lanza la visualización RViz2

Ve su brazo en 3D lanzando la descripción del robot y RViz2.

Copia \ # Lanzar robot _state _publisher + RViz2 visualización ros2 lanzar abierto brazo _descripción display.launch.py

RViz2 se abre con el modelo OpenArm URDF mostrado.

  • El modelo del brazo representado en el mirador 3D
  • Deslizadores de interfaz gráfica de la editorial estatal conjunta en el lado
  • El brazo se actualiza en tiempo real mientras se mueven los deslizadores

Si tienes el brazo conectado, lanza con retroalimentación de hardware en su lugar:

Copia# Lanzamiento con retroalimentación en vivo del hardware (armo debe estar conectado) ros2 lanzamiento openarm_bringup openarm.launch.py \ puerto:=/dev/openarm \ rviz:=true

Ahora, mueva físicamente el brazo suavemente (con la energía apagada o en modo con par apagado) y observa el modelo RViz2 seguir sus movimientos en tiempo real.

6

Ejecutar el primer comando de posición conjunta

Envía tu primer comando al brazo y lo trasladaremos a una posición segura.

Copie# Asegúrese de que el bringup se ejecuta en otra terminal: # ros2 lanzar openarm_bringup openarm.launch.py puerto:=/dev/openarm # Enviar el brazo a la posición de inicio (todas las articulaciones en 0) ros2 tema pub --once /target_joint_positions sensor_msgs/msg/JointState \ "{posición: [0.0, 0.0, 0.0, 0.0, 0.5]}"

El brazo debe moverse suavemente a la posición vertical de la casa con la agarre medio abierta.

Copia# Prueba una postura diferente alcance hacia adelante ros2 tema pub --once /target_joint_positions sensor_msgs/msg/JointState \ "{posición: [0.0, -0.5, 0.8, -0.3, 0.0, 0.5]}" # Cierra el sensor de agarre ros2 tema pub --once /target_joint_positions sensor_msg/msg/JointState \ "{posición: [0.0, -0.5, 0.8, -0.3, 0.0, 0.0]}" # Abre el sensor de agarre ros2 tema pub --once /target_joint_positions\_msg/msg/intState \ "{posición: [0.0, -0.5, -0.0, 0.3, 0.0]}"

** Seguridad:** Comience con pequeños cambios en el ángulo de la articulación. Los grandes movimientos repentinos pueden causar que el brazo choque con la mesa o con él mismo.

7

Configurar la teleoperación

Ahora vamos a controlar el brazo de forma interactiva. Puedes usar el control de teclado (más simple) o un brazo líder (mejor para la recopilación de datos).

Optión A: Teléoperación de teclado

Copia# Lanzar teclado nodo de teleop ros2 ejecutar teclado abierto_traer arriba_teleop --port=/dev/openarm # Controls: # W/S levantamiento del hombro hacia arriba/abajo # A/D base girar izquierda/derecha # Q/E flexión del codo/extendimiento # R/F lanzamiento de la muñeca hacia arriba/abajo # Z/X movimiento de la muñeca hacia arriba/derecha # O/C agarre abierto/cerrado # Espacio detener todo movimiento # H regresar a la posición de casa

**Optión B: Leader Arm Teleoperación (recomendada para la recopilación de datos) **

Copia# Conectar el brazo líder al segundo puerto USB ls /dev/ttyUSB* # Debe mostrar /dev/ttyUSB0 (seguidor) y /dev/ttyUSB1 (líder) # Lanzar el líder-seguidor teleoperación ros2 lanzar el brazo abierto_traer teleop.launch.py \ seguidor_port:=/dev/ttyUSB0 \ líder_port:=/dev/ttyUSB1

Con el modo líder-seguidor, mover físicamente el brazo líder hace que el brazo seguidor refleje sus movimientos en tiempo real. Esta es la mejor manera de recopilar datos de demostración de alta calidad.

Senti la respuesta: El brazo seguidor debe rastrear los movimientos de su líder con un retraso mínimo (<50 ms). Si hay un retraso notable, compruebe si ambos brazos están en buses USB separados (no en un centro compartido) y reduzca la velocidad de control de 500 Hz a 200 Hz.

8 El

Graba el primer episodio de LeRobot

Es hora de grabar tu primera demostración. Establece una tarea simple (por ejemplo, recoger un objeto pequeño) y graba con LeRobot.

Copia# Activar el entorno LeRobot fuente /lerobot_env/bin/activar # Graba un solo episodio lerobot registro \ --robot-type=openarm \ --port=/dev/openarm \ --leader-port=/dev/ttyUSB1 \ --fps=30 \ --task="pick_object" \ --num-episodes=1 \ --output-dir=/datasets/openarm_first_demo # Presione Enter para comenzar a grabar # Realice la tarea con el brazo líder # Presione Enter para dejar de grabar

Grabación de episodio 1/1... Presiona Entrar a la grabación START. [Registro] Cuadro 0... 30... 60... 90... Presiona Entrar a la grabación STOP. Episodio 1 guardado: 127 cuadros (4.2s) a 30fps Dataset guardado a ~/datasets/openarm_first_demo/

Verifique su grabación:

Copia# Visualizar el episodio grabado lerobot visualizar-dataset \ --dataset-path=~/datasets/openarm_first_demo \ --episode=0

Felicidades. Tu primer episodio está grabado.

Se ha pasado de una caja sin abrir a un brazo robótico que trabaja y registra demostraciones de teleoperaciones. Es la parte más difícil que se hace.

9

Los próximos pasos

Tu OpenArm está configurado y grabado.

  1. Registrar 50 episodios de una tarea de pick-and-place siguiendo la guía de arranque rápido de LeRobot
  2. ** Entrenar su primera política de ACT** y ver el brazo realizar la tarea de forma autónoma
  3. Escala a más de 300 episodios para ajuste de VLA con el [tutorial de recopilación de datos]
  4. Afinar OpenVLA en sus datos con la guía de ajuste de VLA

¿Necesitas otro OpenArm?

Construir una instalación de múltiples brazos o equipar un laboratorio?

[Visita la tienda]

Solución de problemas

No se ha encontrado dispositivo /dev/ttyUSB

Verifique si el cable USB-C está firmemente conectado en ambos extremos. Pruebe un puerto USB diferente. Ejecute T1 para ver si el dispositivo fue detectado por el núcleo. Si ve "FTDI" en la salida, el dispositivo se reconoce, pero puede necesitar el controlador T2: T3.

Servo no respondiendo en la prueba de ping

Verifique el cable de cadena de margaritas entre el servo que no responde y su vecino. Reinicie ambos conectores. Si un solo servo no responde, su ID puede haber sido reiniciado.

El brazo se mueve a la posición equivocada

La calibración puede estar apagada. Reactiva T4 para verificar que todos los ID de servo coinciden con la configuración esperada. Compruebe si los límites de la articulación URDF coinciden con su brazo físico.

RViz2 muestra el brazo en la orientación equivocada

Asegúrese de que usted ha obtenido el espacio de trabajo: T5. El URDF puede no ser encontrado si el espacio de trabajo no es de origen. También comprobar que el marco fijo en RViz2 está configurado en T6.

El teleoperatorio del brazo del líder tiene una alta latencia

Asegúrese de que ambos brazos estén en controladores USB separados (no un centro compartido). Reduzca la velocidad de control: añada T7 al comando de lanzamiento. Compruebe el uso de la CPU cierra las aplicaciones innecesarias. En las computadoras portátiles, asegúrese de estar conectado (accesorios de ahorro de energía USB).

Tutoriales relacionados

¿Qué es esto?

LeRobot Quickstart

Graba 50 demostraciones y entrena tu primera política el siguiente paso natural después de este tutorial.

[T14] [

Recopilar datos de entrenamiento de robots

Escala hasta la recopilación de datos de producción con formato RLDS y calificación de calidad.

[T15] [

Guía de configuración de ROS2

Guía de instalación completa de ROS2 si aún no ha configurado su entorno.

[T16]

Preguntas frecuentes

¿Qué es OpenArm y para quién es?

OpenArm es un brazo robótico de código abierto de 6 DOF diseñado específicamente para la recopilación de datos de entrenamiento de IA. Cuenta con un montaje de cámara de muñeca incorporado, soporte para el líder y seguidor para la teleoperatoria y integración nativa de LeRobot.

¿Cuáles son las especificaciones de OpenArm?

OpenArm tiene 6 grados de libertad, un alcance de 550 mm, una capacidad de carga útil de 1 kg, una repetibilidad de 0,1 mm y servos Dynamixel XM430. Se conecta a través de USB-C, pesa 3.2 kg y tira 48W en su punto máximo.

¿Necesito ROS2 para usar OpenArm?

ROS2 es recomendado para el conjunto completo de características (visualización RViz, planificación MoveIt2, interfaz de hardware de control ros2). Sin embargo, OpenArm también funciona directamente con la API Python de LeRobot sin ROS2 se pueden grabar demostraciones y entrenar políticas usando solo LeRobot.

¿Puedo usar OpenArm con LeRobot?

Sí, OpenArm tiene soporte nativo de LeRobot. Se enumera como un robot soportado en la biblioteca de hardware de LeRobot y viene preconfigurado con las configuraciones correctas de YAML. Puede comenzar a grabar demostraciones inmediatamente después de la configuración física.

¿Dónde puedo comprar OpenArm?

OpenArm está disponible en la tienda [RCSV Store] en roboticscenter.ai/store. Se envía en 35 días hábiles dentro de los Estados Unidos.

¿Fue útil este tutorial?

👍 Sí No

Manténgase al frente en robótica

Obtenga las últimas noticias sobre las implementaciones de robots, la recopilación de datos y la IA física entregadas a su bandeja de entrada.