🧪 De nouveaux tutoriels arrivent — du bras robotique au capteur
Aller au contenu

Introduction à l'intelligence incarnée (LeRobot)

Pour les développeurs qui abordent pour la première fois l'« apprentissage robotique ». Avec HuggingFace LeRobot + le bras robotique JUXI SO-ARM101 : parcours complet collecte → entraînement → évaluation.

1. Qu'est-ce que l'intelligence incarnée ?

L'intelligence incarnée (Embodied AI) permet à un agent d'interagir avec le monde physique via les capteurs du corps. L'apprentissage par imitation robotique en est une ligne majeure : démonstrations téléopérées → collecte de données → entraînement d'un modèle de politique → le robot reproduit les actions.

Pourquoi c'est important : la programmation classique ne couvre pas les tâches complexes (visser, plier des vêtements) ; l'apprentissage par imitation n'a besoin que de « démo + entraînement ».

2. Configuration matérielle

ComposantRecommandationDescription
Bras robotiqueSO-ARM101 (leader + follower)Téléopération bimanuelle, 6 DOF
CalculJetson Orin NX Super / PC 4090entraînement à forte puissance, inférence sur Jetson
VisionRealSense / caméra USBcapture de l'environnement en téléopération

3. Installation de l'environnement

bash
# Cloner (fork stable JUXI)
git clone https://github.com/Juxi-Technology/lerobot.git
cd lerobot
pip install -e ".[feetech]"        # SO-ARM utilise des servos Feetech
# Utilisateurs Jetson : vérifier d'abord PyTorch
python3 -c "import torch; print(torch.cuda.is_available())"

4. Collecte de données (téléopération)

bash
# Calibrer le bras (première fois)
lerobot-calibrate \
  --robot.type=so101_follower --robot.port=/dev/ttyACM0 --robot.id=my_arm
# Collecter les données
lerobot-record \
  --robot.type=so101_follower --robot.port=/dev/ttyACM0 \
  --teleop.type=so101_leader --teleop.port=/dev/ttyACM1 \
  --dataset.repo_id=juxi/pick_cube \
  --dataset.num_episodes=50 \
  --dataset.single_task="Pick the red cube" \
  --dataset.episode_time_s=30

Conseils de collecte :

  • ≥50 épisodes par tâche, varier positions/techniques
  • Caméra fixe, objet visible de manière cohérente
  • Style de démonstration constant (même démonstrateur)

5. Entraînement

bash
# Politique ACT (recommandée aux débutants)
lerobot-train \
  --dataset.repo_id=juxi/pick_cube \
  --policy.type=act \
  --output_dir=outputs/train/act_pick \
  --steps=300000 \
  --policy.device=cuda

Choix de la politique :

PolitiqueAvantagesUsage
ACTstable même avec peu de données, accessibletâches uniques, peu de données
Politique de diffusionmouvements multimodaux complexesmanipulation fine
SmolVLA / modèles de fondationgénéralisation zero/few-shotmulti-tâches

6. Évaluation

bash
# Rejouer le dataset (vérifier la qualité)
lerobot-dataset-viz --repo-id juxi/pick_cube
# Évaluer la politique
lerobot-record \
  --robot.type=so101_follower --robot.port=/dev/ttyACM0 \
  --policy.path=outputs/train/act_pick/checkpoints/last/pretrained_model \
  --dataset.repo_id=juxi/eval_pick \
  --policy.device=cuda
MétriqueDescription
Taux de réussiteproportion de tâches terminées
Lissité de trajectoiretremblements ou non
Généralisationsuccès aussi avec d'autres objets/positions

7. Questions fréquentes

Q : L'entraînement est lent ? Quantité de données, steps et puissance sont proportionnels. Commencer avec 50 épisodes / 100k steps, valider le flux, puis passer à l'échelle.

Q : La politique ne fait qu'une seule action ? L'entraînement mono-tâche nécessite un dataset de tâche ; les modèles de fondation GR00T/Pi0 peuvent être affinés en multi-tâches avec peu de données.

Q : Les mouvements tremblent après l'entraînement ? Vérifier la qualité des données (démos stables), ajouter un filtre de lissage, réduire la fréquence de contrôle.

Q : Mémoire/VRAM insuffisante ? Réduire batch_size, résolution d'image ; sur Jetson utiliser la version 16 Go.


Liens connexes

Support technique