Grabar y reproducir las primeras poses
Resultado: reproducir un recorrido breve repasado y comprender el estado motor final. Necesita la extensión v9, calibración y un perfil para cada motor. No ejecute un brazo completo usando un ejemplo de un perfil.
1. Verifique el hardware estacionario
Apoye el brazo y mantenga la torsión apagada. Estos comandos leen hardware; no agregue --include-writes:
macOS / Linux
npm run bus-benchmark -- --port "$SERVO_PORT" --ids 1,2,3,4,5,6 --repetitions 100
Windows PowerShell
npm.cmd run bus-benchmark -- --port "$env:SERVO_PORT" --ids 1,2,3,4,5,6 --repetitions 100
macOS / Linux
npm run telemetry -- --port "$SERVO_PORT" --ids 1,2,3,4,5,6 --samples 1000 --interval-ms 20 --output tools/diagnostics/results/first-check
Windows PowerShell
npm.cmd run telemetry -- --port "$env:SERVO_PORT" --ids 1,2,3,4,5,6 --samples 1000 --interval-ms 20 --output tools/diagnostics/results/first-check
Utilice las identificaciones reales. Elija un nuevo directorio de salida de telemetría para otra ejecución. Las comprobaciones de voltaje están predeterminadas en 8–16 V; si eso no es apropiado, configure --voltage-min y --voltage-max en el rango esperado del hardware.
Verificar: investigar fallas de comunicación, alarmas y lecturas marcadas. Un archivo de informe por sí solo no significa que se aprobó la verificación. No sustituya el conjunto completo de hardware-diff: puede mover motores y reemplazar configuraciones.
2. Graba dos poses cercanas.
Ejecute la grabadora en una terminal interactiva:
macOS / Linux
npm run record-poses -- --port "$SERVO_PORT" --ids 1,2,3,4,5,6
Windows PowerShell
npm.cmd run record-poses -- --port "$env:SERVO_PORT" --ids 1,2,3,4,5,6
- Apoye el mecanismo y presione Enter para confirmar la liberación del torque.
- Espere a que
Torque off verified. - Elija una pose admitida dentro de los límites del viaje, manténgala quieta e ingrese
start. - Haz un pequeño movimiento manual revisado, mantén la nueva pose e ingresa
nearby. - Ingrese
doney mantenga la ruta JSON impresa.
Una pose es una instantánea secuencial de motores estacionarios, no una grabación de movimiento sincronizada. El par permanece apagado. Los archivos se guardan en tools/poses/recordings/; no contienen ninguna instantánea de calibración y no pueden detectar cambios de compensación posteriores.
3. Verifique la configuración y la ruta completa.
Cree tools/poses/controller.local.json usando la guía de configuración. Incluya cada motor registrado, su perfil y el puerto correcto. El bus de comunicación debe contener exactamente esos motores. Si su mecanismo requiere un modelo de gravedad validado como soporte, configúrelo antes de comenzar; un ejemplo de compensación cero no establece la idoneidad para su carga.
Reemplace POSES.json con la ruta registrada y cite las rutas que contengan espacios. La vista previa se conecta al hardware, lo lee y verifica los objetivos y los límites configurados durante toda la grabación sin cambiar la configuración ni iniciar el movimiento. No comprueba colisiones, holguras ni el recorrido físico de los enlaces:
macOS / Linux
npm run replay -- tools/poses/controller.local.json POSES.json
Windows PowerShell
npm.cmd run replay -- tools/poses/controller.local.json POSES.json
Compruebe: los ID y el puerto son correctos, el recuento de fotogramas coincide con la grabación y se esperan objetivos y velocidades. cappedTargets informa objetivos recortados a los límites actuales. Investigue cualquier recorte antes de la primera ejecución en lugar de asumir que la ruta modificada coincide con la grabación.
4. Iniciar movimiento
Verifique el camino claro desde la posición actual hasta la primera pose, así como entre las poses grabadas. Mantenga las manos fuera del área de viaje y conserve el acceso a la desconexión de energía del motor. Este comando habilita el control y el movimiento:
macOS / Linux
npm run replay -- tools/poses/controller.local.json POSES.json --run
Windows PowerShell
npm.cmd run replay -- tools/poses/controller.local.json POSES.json --run
Una nueva sesión o perfiles modificados pueden liberar brevemente el torque durante el inicio. Asegure o apoye de forma segura el mecanismo de antemano. Las velocidades conjuntas aumentan con la distancia recorrida, pero cada servo planifica su propia curva en S: no se garantiza la llegada simultánea exacta. Los waypoints se visitan con paradas en lugar de combinarse en una trayectoria continua.
Comprobación: el programa se completa sin errores, las posiciones alcanzan la tolerancia configurada y se guarda un registro en logs/motion/. La finalización exitosa no es una medida de la precisión absoluta del punto final.
5. Termina la sesión
Al finalizar normalmente la reproducción en modo Extension, los motores siguen alimentados y mantienen el último objetivo. Ctrl+C detiene el envío de nuevos objetivos; no detiene el movimiento de inmediato. Con un modelo de gravedad, el controlador atiende el movimiento pendiente y espera al reposo antes de salir. Sin ese modelo, puede salir mientras el motor sigue hacia el último objetivo. Si se configura la gravedad, permanece la última contribución de compensación, pero el ordenador deja de actualizarla al salir.
Para liberar el torque después de que finalice el proceso, sostenga el brazo, ejecute el comando de grabación del paso 2, confirme la liberación, espere Torque off verified y luego ingrese done. Esto crea una grabación vacía no utilizada. Si se pierde la comunicación, este procedimiento puede fallar; Aún es necesaria una desconexión de alimentación del motor accesible.
Continúe según sea necesario: gravedad, teleoperación, tuning o visualización de registros. Consulte la referencia de sesión para conocer las diferencias entre el comportamiento de detención de la herramienta.
Inicio de la documentación · Revisión de la fuente: a995f77. Extensión 9.0.