Tutorial de uso de SO-ARM101 + AmazingHand
Este tutorial está orientado a reproducir el flujo completo de teleoperación, recolección de datos y entrenamiento de SO-ARM101 brazo esclavo + mano diestra AmazingHand, basado en LeRobot (versión personalizada del repositorio oficial).
El tutorial está organizado por fases; cada fase constituye un directorio independiente y, en su interior, se divide por sistema operativo en dos documentos: Windows y Linux. Selecciona el documento correspondiente según tu sistema operativo.
Descripción general del hardware y el software
| Dispositivo | Puerto serie (ejemplo, debe reemplazarse) | Modelo de servomotor | Descripción |
|---|---|---|---|
| Brazo maestro (Leader) | COM54 / /dev/ttyACM1 | Modelo mixtosts3125-C001、sts3215-C044、sts3215-C046 | Entrada de teleoperación, conserva la pinza n.º 6 |
| Brazo esclavo (Follower) | COM58 / /dev/ttyACM0 | sts3215-C018 (n.º 1-5) | Extremo de ejecución, se retira la pinza n.º 6 |
| Mano diestra AmazingHand | COM11 / /dev/ttyACM2 | scs0009 (8 unidades, ID 1-8) | Extremo del brazo esclavo, puerto serie independiente |
⚠️ El nombre del puerto serie varía según la máquina: la tabla anterior es solo un ejemplo. El número COM/ruta del dispositivo es distinto en cada computadora; es imprescindible usar
lerobot-find-portpara confirmar los valores reales de tu equipo y reemplazar todos los parámetros de marcador de posición en los comandos.
Los tres dispositivos deben tener cada uno un puerto serie independiente y alimentación independiente. SCS0009 (protocolo 1) y STS3215 (protocolo 0) no son compatibles en el mismo bus.
Estructura del directorio del tutorial
tutorials/robot-arms/so-arm-amazinghand/
├── index.md
├── Linux
│ ├── 01-Environment-Setup-Linux.md
│ ├── 02-Hand-Arm-Calibration-Linux.md
│ ├── 03-Teleoperation-Linux.md
│ ├── 04-Data-Collection-Linux.md
│ ├── 05-Model-Training-Linux.md
│ └── 06-Model-Deployment-Linux.md
└── Windows
├── 01-Environment-Setup-Windows.md
├── 02-Hand-Arm-Calibration-Windows.md
├── 03-Teleoperation-Windows.md
├── 04-Data-Collection-Windows.md
├── 05-Model-Training-Windows.md
└── 06-Model-Deployment-Windows.mdRuta de lectura recomendada
| Paso | Fase | Linux | Windows |
|---|---|---|---|
| 1 | Preparación del entorno | 01-Environment-Setup-Linux.md | 01-Environment-Setup-Windows.md |
| 2 | Calibración | 02-Hand-Arm-Calibration-Linux.md | 02-Hand-Arm-Calibration-Windows.md |
| 3 | Teleoperación | 03-Teleoperation-Linux.md | 03-Teleoperation-Windows.md |
| 4 | Recolección de datos | 04-Data-Collection-Linux.md | 04-Data-Collection-Windows.md |
| 5 | Entrenamiento del modelo | 05-Model-Training-Linux.md | 05-Model-Training-Windows.md |
| 6 | Despliegue y evaluación | 06-Model-Deployment-Linux.md | 06-Model-Deployment-Windows.md |
Consulta rápida de las diferencias clave entre fases
| Aspecto | Linux | Windows |
|---|---|---|
| Entorno de Python | Miniforge + el mismo comando | Miniconda + conda create -n lerobot python=3.12 |
| Nombre del puerto serie | /dev/ttyACM0/1/2 (ejemplo) | COM54 / COM58 / COM11 (ejemplo) |
| Permisos del puerto serie | Requiere sudo chmod 666 /dev/ttyACM* o reglas udev | No requiere configuración especial |
| Invocación de comandos | lerobot-xxx tras activar conda | lerobot-xxx tras activar conda |
| Entrenamiento con CUDA | Soporte oficial, resolución fluida | Requiere instalar manualmente torch con CUDA |
Consideraciones generales
Primero completa la fase uno y luego pasa a las fases siguientes: el entorno es el requisito previo para todos los comandos posteriores.
Cada computadora debe recalibrarse: especialmente los ángulos de la mano (
lerobot-calibrate-amazing-hand); los ángulos del config son los valores predeterminados genéricos oficiales de AmazingHand y solo sirven como respaldo; si existehand_angles.json, se cargan con prioridad los valores medidos en tu equipo.Ubicación de los archivos de calibración:
~/.cache/huggingface/lerobot/calibration/; al cambiar de máquina es necesario migrarlos o recalibrar.En la primera teleoperación verifica siempre la dirección: apertura de la pinza ↔ apertura de la mano, pinzado ↔ cierre de la mano.
Los archivos Windows / Linux de cada fase incluyen consideraciones específicas de esa plataforma; léelos por completo.
Punto de entrada para la solución de problemas
Los documentos de cada fase incluyen tablas de solución de problemas por plataforma. Problemas comunes:
conda no inicializado/comando no encontrado
permisos insuficientes del puerto serie (Linux)
error en el mapeo de dirección mano/brazo
ángulos de la mano sin calibrar que provocan una apertura/cierre anómalos
Consulta los documentos de cada fase para más detalles.

