Configurar el control de líder/seguidor
Unidad 2 de la ruta de aprendizaje bimanual DK1. Instala el DK1 SDK, configure el emparejamiento líder/seguidor, ejecuta pruebas de conexión Python para ambos brazos y verifique la sincronización. ~ 2 horas.
Unidad 2 de 6 · Configuración de Líderes/Followers · ~ 2 horas
Instale el DK1 SDK, configure el emparejamiento líder/seguidor y ejecute pruebas de conexión Python para ambos brazos. Al final de esta unidad, mover el brazo líder produce una respuesta sincronizada instantánea en ambos brazos seguidores.
La referencia completa de la instalación de SDK se encuentra en hardware/dk1/software. Esta unidad cubre los pasos de configuración específicos de un bimanual que van más allá de la instalación de un solo SDK que puede haber hecho para OpenArm.
Instalar el SDK DK1
El DK1 SDK es separado del OpenArm SDK. No intente ejecutar los brazos DK1 con el paquete OpenArm
# Crea un entorno virtual aislado para DK1 trabajo python3 -m venv ~/dk1-env fuente ~/dk1-env/bin/activar # Instala el DK1 SDK y las extensiones bimanual pip instalación dk1-sdk[bimanual] # Verifique la instalación python -c "importar dk1; imprimir(dk1.__versión__) " # Se espera: 0.4.0 o superior
Configurar el emparejamiento líder/seguidor
El SDK lee un archivo de configuración YAML que le dice qué dispositivo en serie es el líder y qué dispositivos son los dos brazos seguidores. Debes especificar los caminos del dispositivo en el orden correcto.
# Generar el archivo de configuración bimanual predeterminado dk1-config generar --modo bimanual --output ~/dk1-config.yaml # Abre y edita la configuración
Los campos clave en
líder: dispositivo: /dev/ttyUSB2 # el control de liderazgo brazo baudrate: 1000000 seguidor_izquierda: dispositivo: /dev/ttyUSB0 # brazo de seguidor izquierdo baudrate: 1000000 seguidor_derecha: dispositivo: /dev/ttyUSB1 # brazo de seguidor derecho baudrate: 1000000 sincronización: frecuencia_hz: 50 # velocidad de sincronización de estado conjunto latencia_tolerancia_ms: 5 # máximo permitido retraso de sincronización
** asignación de la ruta del dispositivo:** La asignación del brazo físico a
Prueba de conexión de Python Ambos brazos
Después de editar la configuración, ejecuta una prueba de conexión que ejerce los tres dispositivos simultáneamente:
de dk1 importar BimanualRobot robot = BimanualRobot(config_path="~/dk1-config.yaml") robot.connect() # Imprimir estados conjuntos para ambos brazos
Una ejecución exitosa imprime 10 pares de matrices de estado conjunto con valores constantes y estables. Si ve valores NaN, un error de tiempo de espera o menos de 6 valores conjuntos por brazo, revise las asignaciones de la ruta del dispositivo en su archivo de configuración.
Verificación de sincronización
La comprobación más importante en esta unidad es verificar que el movimiento del líder produce una respuesta sincronizada del seguidor sin retraso perceptible:
Importar de dk1 BimanualRobot, LeaderFollowerSession robot = BimanualRobot(config_path="~/dk1-config.yaml") sesión = LeaderFollowerSession(robot) # Empiezar el bucle de sincronización líder/seguidor # Mover el brazo líder lentamente
Mueve el brazo líder lentamente a través de un arco de 30° en una sola articulación. Ambos brazos del seguidor deben moverse al unísono sin retraso visible. Si un seguidor se retrasa más de medio segundo detrás del otro, revise la configuración
Errores y soluciones comunes
| Error | Cause | Fix |
|---|---|---|
SerialException: device not found |
Wrong device path in config, or USB not connected | Run ls /dev/ttyUSB* and update config paths. Check physical USB connections. |
SyncTimeoutError: follower_right |
Right follower arm not responding within latency tolerance | Increase latency_tolerance_ms to 10, or try a different USB port. Check cable for damage. |
| Joint states all zeros after connect | Servos not enabled — arm is in standby mode | Call robot.enable_servos() before reading joint states, or enable via the web UI first. |
| One follower mirrors, other is stationary | Leader is paired only to one follower in config | Verify both follower_left and follower_right are set in the YAML config. |
Unidad 2 completa cuando...
El DK1 SDK se instala y
[← Regreso a la visión general del camino]







