Saltar al contenido principal
Etapa 2 · Capítulo 6 · Práctica

6. Configurar motores y ensamblar los brazos

Capítulo 6 del curso para principiantes de SO-ARM Physical AI — imprime las piezas en 3D, cablea y alimenta el bus de servos, graba IDs y baud rates con lerobot-setup-motors, y luego ensambla los brazos líder y seguidor paso a paso.

⚠️
Aviso de seguridad: despeja el espacio de trabajo del brazo antes de ejecutar programas de movimiento

Antes de ejecutar cualquier programa que pueda mover el brazo, retira objetos de valor, frágiles, herramientas, cables y elementos ajenos a menos de 1 metro del espacio de trabajo. Durante la depuración y operación, mantén a las personas alejadas del rango de movimiento del brazo.

  • No toques articulaciones, motores, eslabones, la pinza o herramientas del extremo con el brazo encendido.
  • Antes de configurar servos, calibrar, teleoperar, grabar datos, reproducir o evaluar políticas, asegúrate de que el brazo esté bien fijado.
  • Mantén al menos 1 metro de distancia de seguridad y asegúrate de que los presentes sepan que el brazo puede moverse repentinamente.
  • Si hay movimiento anormal, ruido, vibración, cables sueltos, mal contacto de alimentación o pérdida de comunicación, detén el programa inmediatamente y apaga antes de revisar.
  • Apaga antes de conectar o desconectar cables de servo, USB, conectores de corriente o cables de la placa de control.
tip

Si compraste un brazo robótico pre-ensamblado, sáltate este capítulo y ve directamente al Capítulo 10 (calibración del brazo completo).

6.1 Guía de impresión 3D (versión kit)​

Impresión 3D

6.1 Guía de impresión 3D (versión kit)

Si compraste la versión kit (servos y hardware sin piezas impresas), imprime primero la estructura. Los archivos STL se imprimen en impresoras FDM corrientes:

  • Material: PLA+
  • Boquilla / altura de capa: boquilla 0.4mm con capa de 0.2mm, o boquilla 0.6mm con capa de 0.4mm
  • Relleno: 15%
  • Soportes: en todas partes, ignorando pendientes superiores a 45° respecto a la horizontal; sin soportes en los agujeros de tornillo horizontales

Todas las piezas del líder o del seguidor vienen en un único STL, ya orientadas con z hacia arriba para minimizar soportes:

precaución

Tras la actualización oficial de SO101, los archivos fuente de SO100 ya no se mantienen, pero siguen disponibles en nuestro Makerworld. Para quienes compraron SO100, los tutoriales y métodos de instalación siguen siendo compatibles — la impresión de SO101 es totalmente compatible con la instalación del kit de motores de SO100.

Opcional: imprime una pinza suave (dedos de TPU, piezas PLA) para objetos blandos, frágiles o irregulares, y el inserto del soporte de cámara si necesitas montar una. Los archivos están en el repositorio soarm_soft_gripper.

6.2 Planificar los motores: etiquetas, IDs y relaciones​

Preparación

6.2 Planificar los motores: etiquetas, IDs y relaciones

Designa un adaptador de bus y 6 motores para el brazo líder, y otro adaptador y 6 motores para el seguidor. Etiqueta cada motor F1–F6 (articulaciones 1–6 del seguidor) o L1–L6 (articulaciones 1–6 del líder) — escribirlo en la carcasa del servo ahorra horas de depuración.

Modelo de servoRelaciónArticulaciones
ST-3215-C044 (7.4V)1:191L1
ST-3215-C001 (7.4V)1:345L2
ST-3215-C044 (7.4V)1:191L3
ST-3215-C046 (7.4V)1:147L4–L6
ST-3215-C001 (7.4V) / C018 (12V) / C047 (12V)1:345F1–F6
peligro

Alimenta el bus de motores con la fuente que coincida: 5V para los STS3215 de 7.4V y 12V para los de 12V. El brazo líder siempre usa motores de 7.4V — revisa el adaptador antes de conectar si tienes ambos tipos, ¡o podrías quemar los motores! El cable USB no alimenta: la fuente y el USB deben estar ambos conectados.

Todos los motores conectados al bus
tip

El proceso de calibración e inicialización de servos del SO-ARM101 es idéntico al del SO-ARM100 en método y código — pero las relaciones de las tres primeras articulaciones del líder de SO-ARM101 difieren de las de SO-ARM100, así que distínguelas y configúralas con cuidado.

6.3 Encontrar los puertos USB​

Puertos

6.3 Encontrar los puertos USB

Ejecuta la utilidad para averiguar qué puerto serie ocupa la placa de cada brazo:

lerobot-find-port

Ejemplo de salida:

Finding all available ports for the MotorBus.
['/dev/ttyACM0', '/dev/ttyACM1']
Remove the usb cable from your MotorsBus and press Enter when done.

[...Disconnect corresponding leader or follower arm and press Enter...]

The port of this MotorsBus is /dev/ttyACM1
Reconnect the USB cable.

Consejos que ahorran tiempo:

  • Recuerda retirar realmente el USB cuando se te pida, de lo contrario no se detecta la interfaz.
  • En Linux y Jetson, el primer dispositivo conectado se mapea a ttyACM0 (normalmente el seguidor), el segundo a ttyACM1 (líder).
  • Si LeRobot luego reporta Could not connect on port '/dev/ttyACM0', concede permisos y revisa:
sudo chmod 666 /dev/ttyACM*

6.4 Configurar IDs y baud rates​

Configuración

6.4 Configurar IDs y baud rates

La herramienta graba el ID y baud rate correctos en cada servo, de a un servo por vez (el Capítulo 4 explicó por qué: todos comparten el bus y un ID duplicado se reescribiría en todos).

Usa estas fotos de referencia para la postura estándar de cableado de cada articulación antes de calibrar:

Imágenes de referencia para la calibración de servos del líder

Articulación 6Articulación 5Articulación 4Articulación 3Articulación 2Articulación 1
fig1fig2fig3fig4fig5fig6

Imágenes de referencia para la calibración de servos del seguidor

Articulación 6Articulación 5Articulación 4Articulación 3Articulación 2Articulación 1
fig1fig2fig3fig4fig5fig6

Calibrar los servos del seguidor. Conecta el cable USB y la alimentación a la placa del seguidor y ejecuta:

lerobot-setup-motors \
--robot.type=so101_follower \
--robot.port=/dev/ttyACM0 # <- pega aquí el puerto del paso anterior

La herramienta te guía articulación por articulación:

Connect the controller board to the 'gripper' motor only and press enter.

Conecta únicamente el motor de la pinza (F6) a la placa, pulsa Enter, y el script fija su ID y baud rate automáticamente:

'gripper' motor id set to 6

Luego:

Connect the controller board to the 'wrist_roll' motor only and press enter.

Puedes dejar el cable de 3 hilos anterior conectado al motor de la pinza en su extremo; añade un nuevo cable al motor de rotación de muñeca y conecta solo ese a la placa. Repite para cada motor como se indique — siempre exactamente uno conectado.

tip

Revisa el cableado antes de cada Enter — el cable de alimentación tiende a soltarse mientras manipulas la placa.

Cuando el script termina, encadena los motores: conecta el cable de 3 hilos de cada motor al siguiente, y el del primer motor (rotación de hombro, ID 1) a la placa, que ya puede fijarse a la base del brazo.

Calibrar los servos del líder igual:

lerobot-setup-motors \
--teleop.type=so101_leader \
--teleop.port=/dev/ttyACM0 # <- pega aquí el puerto del paso anterior
tip

Usuarios de SO100: los códigos de SO100 y SO101 son compatibles — usad los mismos tipos so101_leader / so101_follower y parámetros.

6.5 Ensamblaje​

Ensamblaje

6.5 Ensamblaje

tip

El ensamblaje de doble brazo del SO-ARM101 es igual al del SO-ARM100 — las únicas diferencias son los clips de cable del SO-ARM101 y las relaciones distintas de los servos del líder. Tanto SO100 como SO101 pueden ensamblarse con los pasos siguientes. Antes de ensamblar, revisa de nuevo modelos de motor, relaciones y voltaje contra la tabla de la sección 6.2.

Ensamblar el brazo líder

Paso 1Paso 2Paso 3Paso 4Paso 5Paso 6
fig1fig2fig3fig4fig5fig6
Paso 7Paso 8Paso 9Paso 10Paso 11Paso 12
fig1fig2fig3fig4fig5fig6
Paso 13Paso 14Paso 15Paso 16Paso 17Paso 18
fig1fig2fig3fig4fig5fig6
Paso 19Paso 20
fig1fig2

Ensamblar el brazo seguidor

tip

El ensamblaje del seguidor es en general igual al del líder. La única diferencia es la instalación del efector final (pinza y mango) tras el paso 12.

Paso 1Paso 2Paso 3Paso 4Paso 5Paso 6
fig1fig2fig3fig4fig5fig6
Paso 7Paso 8Paso 9Paso 10Paso 11Paso 12
fig1fig2fig3fig4fig5fig6
Paso 13Paso 14Paso 15Paso 16Paso 17
fig1fig2fig3fig4fig5

6.6 Lista de verificación antes de continuar​

Lista de verificación

6.6 Lista de verificación antes de continuar

  • Ambos brazos ensamblados; cada servo responde con su ID esperado (verifícalo con la herramienta del Capítulo 7);
  • Los voltajes coinciden con las reglas de la edición (Standard: ambos 5V; Pro: líder 5V, seguidor 12V);
  • Ambas placas aparecen como /dev/ttyACM0 y /dev/ttyACM1;
  • Cables bien asentados, sin dobleces agudos y fuera del rango de movimiento de las articulaciones.

Si algunos servos no se detectan, los IDs parecen duplicados o el neutro se ve mal, la herramienta de depuración del próximo capítulo resuelve exactamente estos problemas.

Loading Comments...