Instructions to use FlipiFlopi007/act_tumbada with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- LeRobot
How to use FlipiFlopi007/act_tumbada with LeRobot:
# No code snippets available yet for this library. # To use this model, check the repository files and the library's documentation. # Want to help? PRs adding snippets are welcome at: # https://github.com/huggingface/huggingface.js
- Notebooks
- Google Colab
- Kaggle
ACT · SO-101 coge una linterna tumbada (act_tumbada)
Política ACT (Action Chunking Transformer) que hace que un brazo SO-101 coja una linterna tumbada sobre la mesa y la levante. Es la fase 1 del proyecto del hackathon. En la fase 2, con la linterna ya cogida, el robot ilumina un punto de una PCB señalado con un boli, con control visual (IBVS) desde la cámara de arriba, y esquiva los obstáculos que tapan el haz.
- Dataset: FlipiFlopi007/so101_tumbada_full (54 episodios, 20.770 frames)
- Código: flipiflopi/Hackaton_Robotekin_SO-101_MSN (demo completa con órdenes de voz:
hackaton_demo_rev.py)
Entrada / salida
- Entrada:
observation.state(6 articulaciones) y dos cámaras 640×480:wrist(en la pinza) ytop(fija, diagonal sobre la mesa). - Salida:
action(6 posiciones de articulación), en chunks de 100 pasos.
Entrenamiento
| Checkpoint publicado | paso 18.000 (entrenamiento planificado a 20.000; parado en 18.000) |
| Batch / lr | 4 / 1e-5 (backbone 1e-5) |
| Arquitectura | ACT: ResNet-18 (ImageNet), dim 512, 8 cabezas, 4 capas encoder / 1 decoder, VAE (latente 32, kl 10) |
| Chunk | 100 |
| Augmentation | image_transforms de LeRobot al vuelo (hasta 4: brillo, contraste, saturación, tono, nitidez, afín ±5°/±5 %) |
| Validación | últimos 5 episodios (eval_split=0.08) |
| Hardware | RTX 3050 Laptop 4 GB, |
| Software | LeRobot 0.6.1, PyTorch 2.11.0+cu128, Python 3.12 |
lerobot-train --dataset.repo_id=FlipiFlopi007/so101_tumbada_full --dataset.image_transforms.enable=true --dataset.image_transforms.max_num_transforms=4 --dataset.eval_split=0.08 --policy.type=act --policy.device=cuda --batch_size=4 --steps=20000 --save_freq=2000 --output_dir=outputs/train/act_tumbada --job_name=act_tumbada
Pérdida de validación (L1): se queda plana desde el paso 6.000 (0,255–0,268; la mejor, 0,255 en el paso 8.000), mientras la de entrenamiento sigue bajando (0,137 en el paso 14.000). Es decir, memoriza. En este proyecto la validación no predijo el comportamiento en el robot, así que el checkpoint se eligió probándolo en el robot.
Cómo usarlo
Pon el brazo en la postura de inicio de las demos, [0.4, -103.1, 96.2, 53.4, -7.5, 0.6], y lanza:
lerobot-rollout --strategy.type=base --policy.path=FlipiFlopi007/act_tumbada --policy.n_action_steps=60 "--robot.max_relative_target={shoulder_pan: 10, shoulder_lift: 10, elbow_flex: 10, wrist_flex: 10, wrist_roll: 10, gripper: 3}" --robot.type=so101_follower --robot.port=COM13 --robot.id=mi_follower --robot.cameras="{ wrist: {type: opencv, index_or_path: 0, width: 640, height: 480, fps: 30}, top: {type: opencv, index_or_path: 1, width: 640, height: 480, fps: 30} }" --task="Coger la linterna tumbada" --duration=15
Ajustes que mejor funcionaron en el robot:
n_action_steps=60: recalcula cada 2 s, sin temporal ensembling.- Duración de 15 s: con 20 s, al acabar el agarre se queda arriba temblando, algo que casi no aparece en las demos.
- Límite de la pinza a 3 por orden: con 10, la pinza aprieta tanto la linterna que el motor 6 entra en protección por sobrecarga.
Resultados en el robot
- Checkpoint 14.000: 2 de 2 agarres. En uno, la linterna rodó dentro de la pinza.
- Checkpoint 18.000 (el publicado): cogió la linterna en todas las ejecuciones de la demo completa del 24–25/10. No se llevó un recuento formal de aciertos.
Limitaciones
- Depende de la escena: la cámara top tiene que estar exactamente donde se grabaron las demos. Si se mueve, el brazo sube y baja sin llegar a coger.
- Hay que arrancar en la postura de inicio de las demos.
- Solo funciona con la linterna tumbada, con la misma orientación y en la zona de agarre de las demos.
- Calibración: la de los brazos usados está en el repo de GitHub. Con otros SO-101 hay que calibrarlos con el mismo criterio.
- Downloads last month
- -