Skip to content

dpaleyev/LerobotHack-VLA

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Воркшоп на ВСОШ

Мастер-класс посвящён робототехнике и предполагает работу с манипулятором LeRobot. Участники получат практический опыт работы с симулятором Mujoco, познакомятся с основными модулями управления робо-руки и нейросетевой моделью, которая обеспечивает работу системы. В ходе мастер-класса школьники узнают, как записывать траектории движения манипулятора для сбора объектов, и увидят, как эти траектории использовались для обучения нейросетевой модели.

Параметры мастер-класса:

  1. количество участников: 15 человек;
  2. длительность: 90 минут;
  3. кураторы: ведущий и два ассистента.

Установка

Важно: requirements.txt тянет актуальный lerobot из huggingface/lerobot@main.
Устанавливайте зависимости только через ./install.sh или pip install -r requirements.txt.

./install.sh

После установки активируйте окружение:

source .venv/bin/activate

Если окружение уже было создано до обновления зависимостей, выполните:

pip install -r requirements.txt

Структура проекта

.
├── README.md
├── requirements.txt
├── 1.collect_data_ru_master.ipynb   # Сбор данных через телеоперацию в MuJoCo (SO-101)
├── 2.visualize_data_ru_so101.ipynb  # Визуализация собранных траекторий
├── master_arm_control.py            # Мост между реальной мастер-рукой SO-101 и MuJoCo
├── mujoco_env/                      # Окружение MuJoCo-симулятора
│   ├── y_env.py                     # Основная среда (SO-101, 5-DOF + gripper)
│   ├── y_env2.py                    # Среда с 2 кружками + языковые инструкции
│   ├── mujoco_parser.py             # Парсер и визуализатор MuJoCo
│   ├── ik.py                        # Обратная кинематика
│   ├── transforms.py                # Преобразования координат
│   └── utils.py                     # Утилиты
├── asset.zip                        # 3D-модели (распаковывается install.sh)
└── asset/                           # 3D-модели SO-101 и объектов (после распаковки)
    └── so101/                       # URDF/XML модели манипулятора SO-101

План мастер-класса

  1. Подключаем роботов к ноутбукам lerobot-find-port
  2. Калибруем leader и follower lerobot-calibrate
  3. Пробуем телеоперацию lerobot-teleoperate
  4. Даём 5-10 минут порадоваться и доделать отстающим
  5. Коротко рассказываем что вот есть imitation learning и VLA модели и не обязательно быть ML-щиком, но нужен датасет
  6. Рассказываем про формат датасета (v3), показываем формат
  7. Записываем датасет с кубиком через lerobot-record
  8. Даем 10-15 минут попробовать пособирать и понять что это не просто
  9. Объясняем что в том числе используются симуляторы для сбора датасетов
  10. Перетаскиваем кружки в MuJoCo и записываем это — открываем 1.collect_data_ru_master.ipynb

Управление в симуляторе (клавиатура)

Управление по суставам SO-101:

Клавиши Действие
Q / A shoulder_pan (основание) ±
W / S shoulder_lift (плечо) ±
E / D elbow_flex (локоть) ±
I / K wrist_flex (запястье) ±
O / L wrist_roll (вращение запястья) ±
Пробел Переключить захват
Z Сброс эпизода

Актуальный пайплайн

  • Симулятор теперь сразу пишет датасеты в real-совместимом формате: so_follower, 10 fps, камеры observation.images.front / observation.images.side, видео h264.
  • Канонический numeric-контракт (как в lerobot-record для so_follower): observation.state и action это одни и те же 6 joint-каналов *.pos (shoulder_pan ... gripper), где суставы в градусах, а gripper в шкале 0..100.
  • Актуальный merged train-датасет: final-dataset/.
  • run_official_smolvla_train_cached.sh теперь сам добавляет нужные train-флаги для final-dataset: rename_map, policy.empty_cameras=1, dataset.video_backend=pyav, policy.push_to_hub=false.
  • Для запуска обучения на A100 с mixed precision используйте run_official_smolvla_train_cached_amp.sh.
  • Устаревшие маршруты конвертации state-контракта перечислены в DATASET_FORMAT_DEPRECATIONS.md.

Ссылки

About

...

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Python 89.0%
  • Jupyter Notebook 8.6%
  • Shell 1.9%
  • Dockerfile 0.5%