IA robotique - Architectures pour l'apprentissage profond
Le contrôle d'un robot pour une application donnée au moyen d'un modèle de réseaux de neurones nécessite de fournir une quantité importante de données d'apprentissage. Ces données doivent permettre de comprendre comment résoudre la tâche, par exemple pour une tâche de saisie et dépose d'un objet (Pick and Place) elles doivent donc comporter :
- Comment bouge le robot et chacun de ses moteurs
- Comment bouge la pince
- Où sont placés les objets au début "problème"
- Où sont placé les objets à la fin "solution"
L'approche la plus répandue pour générer ces données d'apprentissage est la démonstration : le robot est "téléguidé" par un opérateur. On enregistre la trajectoire des servomoteurs ainsi qu'une ou plusieurs vidéos filmant les objets et le robot.
Bancs matériel de Machine Learning
Koch
LeRobot SO-ARM10X
Aloha Solo
Base : $9,899.95
- WidowX Leader Arm ($4,949.95)
- ViperX Follower Arm ($7,149.95)
- 2x Intel RealSense D405 Cameras
- Portable Touchscreen Monitor
- Tripod, Cables, Accessories
https://www.youtube.com/watch?v=hFqZJZ666Cw
https://www.trossenrobotics.com/aloha-solo
Aloha Stationary
Without Laptop : $30,799.98
Environnement logiciel de collecte de données
Hugging Face LeRobot - Python
Visualisation des DataSet : https://huggingface.co/spaces/lerobot/visualize_dataset
On note qu'il y a beaucoup de tests avec le SO-ARM10X. Mais pas d'homogénéité dans la collecte de données : les caméras sont placées la plupart du temps devant le robot, parfois sur la pince, et quasiment jamais avec le setup recommandé.
Rechercher des DataSet qui ont servi à entrainer des modèles disponibles publiés :
- https://huggingface.co/models?pipeline_tag=robotics&sort=trending
- Dans le panneau de droite > Sélectionner le filtre Reinforcement Learning > Robotics
- Beaucoup de DataSets sont uploadés mais peu de modèles entrainés le sont
- Par exemple on recherche les travaux de Rémi Cadene
- Modèles : il y en a 4 https://huggingface.co/models?pipeline_tag=robotics&sort=trending&search=cadene
- DataSets : Il y en a beaucoup https://huggingface.co/datasets?task_categories=task_categories:robotics&sort=trending&search=cadene
- Les Modèles entrainés avec le SO-ARM10 concernent la manipulation de Lego, par exemple le plus récent :
- Modèle : https://huggingface.co/cadene/act_so100_5_lego_test_080000
- DataSet pour le training : https://huggingface.co/datasets/cadene/so100_5_lego_test
- DataSet pour l'évaluation du modèle : https://huggingface.co/datasets/cadene/eval_act_so100_5_lego_test_080000
Setup similaires à celui du SO-ARM10X simple :
- Robot Koch : /lerobot/koch_pick_place_1_lego
Télécharger un DataSet : https://github.com/huggingface/lerobot/blob/a1daeaf0c4ae345df9b2f5b862f091ce158e4446/examples/1_load_lerobot_dataset.py
Rejouer les épisodes d'un DataSet : https://github.com/huggingface/lerobot/blob/a1daeaf0c4ae345df9b2f5b862f091ce158e4446/examples/12_use_so101.md#replay-an-episode
Evaluer un modèle pré-entrainé : https://github.com/huggingface/lerobot/blob/a1daeaf0c4ae345df9b2f5b862f091ce158e4446/examples/2_evaluate_pretrained_policy.py