Описание имитационной модели
Last updated
Last updated
В комплект поставки ПО робота входит имитационная модель, сделанная в физическом симуляторе PyBullet. Её удобно использовать для того, чтобы в первом приближении протестировать ваш собственный алгоритм. Модель сделана в виде ROS-пакета.
Как установить пакет симуляции робота и все необходимые библиотеки, смотрите в разделе Установка ПО.
Модель робота выполнена в виде xacro-файла. В нём описаны кинематическая схема робота, динамические характеристики звеньев и звенья, имитирующие периферийные устройства (imu, lidar, камера, голова). Если вы хотите убрать/добавить какое либо устройство, например голову, то закомментируйте/раскомментируйте соответствующий блок в файле. После этого обязательно нужно сконвертировать xacro-файл в urdf. Для этого введите в терминале:
Взаимодействие с моделью идет по такому же протоколу, что и с аппаратной платформой. Она использует те же самые топики, сервисы и lcm-каналы. Таким образом, если какая-то определенная нода работает на модели, то она с большой вероятностью заработает на роботе. Проблемы могут встретиться только на уровне динамики робота (динамические характеристики, такие как масса, инерция и ЦМ звеньев слегка отличаются) и задержек при передаче данных. В большинстве случаев это не критично, кроме обучения с подкреплением (RL). Если вы захотите использовать RL для контроллера управления ходьбой, то вам придется самостоятельно доработать существующую модель.
Для работы симулятора, необходимо, чтобы в файле .bashrc не было информации об удаленном подключении к ROS-мастеру. Откройте файл .bashrc командой nano ~/.bashrc
и проверьте наличие строк:
Если их нет, то всё в порядке. Если строчки есть, то просто закомментируйте их или в качестве ROS_MASTER_URI поставьте IP-адрес вашего компьютера.
После изменения файла ~/.bashrc перезапустите терминал.
Запустить модель можно четырьмя способами:
Через launch-файл пакета mors:
При вводе команды запустит симуляцию в pybullet, подгружает config-файл из пакета mors и загрузит все модули для управления ходьбой. Вы можете использовать различные аргументы для изменения параметров загрузки пакетов. Подробнее об этом в разделе Параметры файла bringup_sim.launch.
Через launch-файл пакета mors_sim:
Команда запускает только симуляцию в pybullet и подтягивает config-файл из пакета mors_sim
Запустить напрямую через rosrun:
Команда запустит только симуляцию. Загрузится та конфигурация, которая стоит по умолчанию.
через launch-файл, который откроет 3d-модель робота в Rviz
По этой команде откроется только rviz. Такой способ запуска удобен, когда вы работаете только с xacro-файлом (например, добавляете новое устройство).