Machine Learning LeRobot avec SO-ARM101 - Legacy
Essai de déploiement sur Windows via WSL2, Docker, et Dev Container
Pour l'instant pas de test satisfaisant pour l'exécution d'un modèle sur le vrai robot. Passer au WSL2 les ports USB où sont connectés les robots et caméras fait crasher le conteneur. Probablement que la communication série n'est pas supporté.
- Cloner https://github.com/huggingface/lerobot dans un conteneur WSL2, par exemple Ubuntu
- Depuis le conteneur Ubuntu, ouvrir un Terminal, se placer dans le répertoire cloné
cd ~/lerobot_devcontainer, et lancer Visual Studio Code en tapantcode . - Ajouter un répertoire
~/lerobot_devcontainer/.devcontaineret un fichier dedans~/lerobot_devcontainer/.devcontainer/devcontainer.jsoncontenant :
{ "build": { // Path is relative to the devcontainer.json file. "dockerfile": "../docker/lerobot-gpu-dev/Dockerfile" }} - Lancer la commande VSCode : Reopen in container
Tentatives pour faire passer le port série à WSL2 :
wsl --shutdown
winget install --interactive --exact dorssel.usbipd-win
usbipd list
wmic diskdrive list brief
wsl --mount \\.\PHYSICALDRIVE1
wsl.exe --version
wsl --mount \\.\PHYSICALDRIVE1 --bare
wsl --mount \\.\PHYSICALDRIVE1 --partition 2 --type ext4
wsl --shutdown
ipconfig
net localgroup docker-users "gauthier.hentz" /ADD
wsl --set-default ubuntu
wsl --shutdown
usbipd list
usbipd bind --busid 1-1
usbipd list
usbipd attach --wsl --busid 1-1
usbipd attach --wsl --busid 2-1
Visualiser et rejouer des DataSets (avant hardware refactor)
- Visualiser un DataSet
python lerobot/scripts/visualize_dataset.py --repo-id lerobot/pusht --root ./my_local_data_dir --local-files-only 1 --episode-index 0
python lerobot/scripts/visualize_dataset_html.py \
--repo-id cadene/act_so100_5_lego_test_080000 \
--local-files-only 1
- Rejouer un DataSet (ou une évaluation de modèle) sur le robot
python lerobot/scripts/control_robot.py \
--robot.type=so101 \
--control.type=replay \
--control.fps=30 \
--control.repo_id=cadene/act_so100_5_lego_test_080000 \
--control.episode=0
- Rejouer la Policy
cadene/act_so100_5_lego_test_080000du modèle ACT pour le SO-ARM101- En sauvegardant l'évaluation dans
outputs/eval/act_so100_5_lego_test_080000_haguenau
- En sauvegardant l'évaluation dans
python lerobot/scripts/control_robot.py \
--robot.type=so101 \
--control.type=record \
--control.fps=30 \
--control.single_task="Grasp a lego block and put it in the bin." \
--control.repo_id=outputs/eval/act_so100_5_lego_test_080000_haguenau \
--control.tags='["tutorial"]' \
--control.warmup_time_s=5 \
--control.episode_time_s=30 \
--control.reset_time_s=30 \
--control.num_episodes=10 \
--control.push_to_hub=false \
--control.policy.path=cadene/act_so100_5_lego_test_080000