Оценка моделирования

Всегда сначала оценивайте результаты моделирования, даже если у вас настоящий робот. Оценка симуляции выполняется быстро, безопасно и дает воспроизводимый базовый показатель, с которым можно сравнить после переобучения.

источник ~/lerobot-env/bin/activate # Evaluate your best checkpoint (replace step_050000 with your checkpoint step) python -m lerobot.scripts.eval \ --pretrained-policy-name-or-path \ ~/lerobot-policies/pick-place-v1/checkpoints/step_050000 \ --env.name Gym_pusht/PushT-v0 \ --eval.n-épizody 20 \ --eval.use-async-envs false # Outputs: success_rate, mean_reward, episode_videos/
Чего ожидать: Хорошо обученная политика проведения 50 симуляционных демонстраций должна обеспечить 60–85% успеха в MuJoCo. Уровень ниже 40 % указывает на проблему с качеством набора данных. Значение выше 85 % означает, что задача слишком проста или среда симуляции слишком щадящая — попробуйте более сложный вариант.

Контрольный список безопасности настоящего робота

Если вы проводите оценку на реальном роботе, просмотрите этот контрольный список перед первым развертыванием. Непроверенная политика может развиваться неожиданным образом.

  • Очистите рабочее пространство от любых объектов, не входящих в задачу. Политика научилась действовать в определенном визуальном контексте — неожиданные объекты могут вызвать нестабильное поведение.
  • Оставайтесь на аварийной остановке (аварийной остановке) или будьте готовы нажать Ctrl+C на протяжении всего сеанса оценки. Не уходите от действующей политики.
  • Начните со скорости, ограниченной максимумом на 50%. Уменьшите до 30 %, если первое испытание выглядит прерывистым или неточным.
  • Располагайте объекты так, чтобы они точно соответствовали настройке вашего рабочего пространства. Используйте тот же ракурс камеры, то же освещение, те же цвета объектов. Сдвиг в распределении является наиболее распространенной причиной нулевого реального успеха.
  • Никогда не превышайте пределы физической остановки суставов вашего робота. Проверьте это в конфигурации вашего робота перед первым запуском.

Протокол оценки реального робота

Проведите ровно 20 испытаний. Это дает вам достаточно выборок для надежной оценки вероятности успеха (±10% при уровне достоверности 95%). Записывайте каждое испытание на видео — запись понадобится вам для диагностики режимов отказа.

# Run the policy on your real robot python -m lerobot.scripts.control_robot \ --robot-path lerobot/configs/robot/so100.yaml \ --control-mode оценка \ --pretrained-policy-имя-или-путь \ ~/lerobot-policies/pick-place-v1/checkpoints/step_050000 \ --eval.n-эпизоды 20 \ --запись-видео 1

После каждой попытки вручную оцените ее: 1 за полное выполнение задания, 0 за любую неудачу (частичное схватывание, падение, промах). Ваш успех равен сумме, разделенной на 20.

Диагностика режимов отказа

Посмотрите свои видеозаписи и классифицируйте неудачи. Большинство неудач попадают в одну из трех категорий:

Качество данных

Непоследовательная траектория подхода — рука никогда полностью не захватывает

Эта политика усредняет данные по нескольким стратегиям захвата ваших обучающих данных. Это происходит, когда некоторые демонстрационные объекты приближаются слева, а другие справа, или когда время закрытия захвата несовместимо. Исправление: перезапись с единой продуманной стратегией на протяжении всех демонстраций.

Мощность модели

Траектория выглядит разумной, но точность постоянно отклоняется на 1–2 см.

Модель учится правильному поведению, но ей не хватает точности. Это происходит, когда chunk_size слишком мал (недостаточно горизонта планирования) или когда dim_feedforward слишком мал. Исправлено: увеличьте chunk_size до 150, переобучите. Или добавьте больше разнообразных демонстраций, чтобы упорядочить сеть.

Сдвиг распределения

В одних позициях работает идеально, в других совершенно не работает.

Положения объектов во время оценки находятся за пределами распределения ваших обучающих данных. Политик еще не видел таких позиций. Решение: соберите больше демонстраций с более разнообразными положениями объектов или ограничьте оценку позициями, которые хорошо представлены в ваших обучающих данных.

Глава 5 завершена, когда...

Вы провели 20 оценочных испытаний (на симуляторе или на реальном роботе) и измерили уровень успеха. Вы просмотрели все видеоролики о сбоях и определили, связана ли основная ошибка с качеством данных, емкостью модели или сдвигом распределения. Этот диагноз у вас записан — вы будете использовать его для сбора данных в Блоке 6.