Описать сценарий применения Фреймворка для задачи отладки алгоритмов распознавания
Навык: perception
Что есть:
- SQL DB - хранит ссылки на эти файлы и хеши, хранит конфигурацию - что из чего состоит и для чего применяется;
- Assets DB - хранит меши, текстуры, веса и т.д.
- рантайм (с навыками)
- меши
- текстуры хранятся в файлах
- веса нейронной сети
- архитектура нейронной сети
Тезис №1. Для отладки навыка нужно запускать рантайм на разных машинах. Нет смысла запускать рантайм из продакшн машины, чтобы отлаживать алгоритмы в симуляции. Рантайм, который запущен на отдельном сервере. Env_manager применяется по-другому - он запускается для рантаймов, запущенных в облаке в виде отдельных инстансов, а для рантайма, который запущен на проде (действующем роботе), он не применяется.
Тезис №2. Расхождение в итоговом результате симуляторов незначительно, но они отличаются по скорости вычислений.
Конфигурация рантайма:
- Параметры MoveIt
- Параметры Plansys
- Версии Пакетов ROS
UPD 21.11.2023 обсудили с @shalenikol фазы запуска:
- Для автоматической проверки навыков (на примере pose estimation) нужно
-
Фаза параметров рандомизации/fuzzing
- Параметры рандомизации - список параметризируемых функций, генерирующих данные объекты
- меш объекта - mesh(список мешей)
- позиция объекта - spin_around_object(
geometry_msgs/Pose.msg
,x/y/z/w
) - алгоритм распознавания - pose_estimation_algo(список алгоритмов-строк)
- позиция камеры - cam_pose(
geometry_msgs/Pose.msg
) - текстуры - texture_objects([mesh],[texture])
- Параметры рандомизации - список параметризируемых функций, генерирующих данные объекты
-
Фаза заготовки
- Заготовка сцены (исходное состояние) - SDF
- Проверяемый параметр и его тип (Для проверки нужно сравить позицию из SDF с выводом результирующей позиции навыка) - например, позиция объекта -
geometry_msgs/Pose.msg
или время исполненияstd_msgs/Header.msg/time stamp
- Место публикации искомого параметра и определённого навыком параметра - топик ROS
- Способ визуализации позиции - фрейм, который выводится в RViz, или геометрический объект на изображении
- Запускаемый навык как программу
ros2 run pose_estimation_bt
- Кол-во циклов
-
Фаза проверки
- Запуск теста
- Запись результатов, логов (rosbag)
-
Фаза оценки
- Воспроизведение логов
-
Фаза параметров рандомизации/fuzzing
TODO:
Нужно продумать варианты для
- Обучения с подкреплением (RL)
- Обучения с учителем (SL)
Edited by Igor Brylev