Робот-собака МОРС
  • Общая информация
  • Технические характеристики
  • Комплект поставки
  • Безопасность
  • Быстрый старт
  • Полезные ссылки
  • Обозначения
  • Настройка и обслуживание
    • Джойстик RadioLink T8S
    • Зарядка батареи
    • Выключение робота
    • Подключение к роботу по сети
      • Параметры точки доступа
      • Подключение через SSH
      • Подключение через Remote Desktop Protocol (RDP)
      • Подключение через SFTP
      • Настройка VSCode
    • Подключение робота к Интернету
    • Подключение к ROS на роботе
    • Установка ПО
    • Графический интерфейс
    • Ubuntu-сервис
    • Смена пароля пользователя
    • Обновление дампа памяти BLDC драйвера 10А
    • Замена приводного ремня
    • Переинициализация приводов
    • Подключение дополнительных устройств
      • Подключение головы VBRoboHead
      • Подключение видеокамеры Intel Realsense D435i
      • Подключение видеокамеры Luxonis OAK-D Lite
      • Подключение лидара RPLIDAR A1M8-R5
    • Обновление управляющего ПО
    • Возврат к заводским настройкам
    • Устранение неполадок
  • Симуляция
    • Описание имитационной модели
    • Параметры файла bringup_sim.launch
    • Подключение джойстиков к ПК
    • ROS-параметры
    • OpenAI Gymnasium
  • Устройство робота
    • Электроника
    • Программное обеспечение
    • Файлы и папки в системе
    • Советы по разработке собственного ПО
    • Примеры
    • ROS-пакеты
      • mors_hardware
        • bhi360_imu_node
        • ds4_teleop
        • power_bridge
        • radiolink_teleop
        • status_tracker
      • mors_base
        • champ_msgs
        • cmd_commutator
        • joy_converter
        • locomotion_controller
        • log_writer
        • mors
        • servo_state_lcm2ros
        • servo_cmd_ros2lcm
      • mors_pc
        • robogui
        • mors_sim
    • ROS-топики
    • ROS-сервисы
      • robot_mode
      • robot_action
      • stride_height
      • joints_kp
      • joints_kd
    • LCM-каналы
Powered by GitBook
On this page
  1. Симуляция

Описание имитационной модели

PreviousУстранение неполадокNextПараметры файла bringup_sim.launch

Last updated 7 months ago

В комплект поставки ПО робота входит имитационная модель, сделанная в физическом симуляторе PyBullet. Её удобно использовать для того, чтобы в первом приближении протестировать ваш собственный алгоритм. Модель сделана в виде ROS-пакета.

Как установить пакет симуляции робота и все необходимые библиотеки, смотрите в разделе .

Модель робота выполнена в виде . В нём описаны кинематическая схема робота, динамические характеристики звеньев и звенья, имитирующие периферийные устройства (imu, lidar, камера, голова). Если вы хотите убрать/добавить какое либо устройство, например голову, то закомментируйте/раскомментируйте соответствующий блок в файле. После этого обязательно нужно сконвертировать xacro-файл в urdf. Для этого введите в терминале:

cd ~/mors_ws/src/mors_pc/mors_sim/urdf
rosrun xacro xacro mors.xacro > mors.urdf

Взаимодействие с моделью идет по такому же протоколу, что и с аппаратной платформой. Она использует те же самые топики, сервисы и lcm-каналы. Таким образом, если какая-то определенная нода работает на модели, то она с большой вероятностью заработает на роботе. Проблемы могут встретиться только на уровне динамики робота (динамические характеристики, такие как масса, инерция и ЦМ звеньев слегка отличаются) и задержек при передаче данных. В большинстве случаев это не критично, кроме обучения с подкреплением (RL). Если вы захотите использовать RL для контроллера управления ходьбой, то вам придется самостоятельно доработать существующую модель.

Запуск модели

Для работы симулятора, необходимо, чтобы в файле .bashrc не было информации об удаленном подключении к ROS-мастеру. Откройте файл .bashrc командой nano ~/.bashrc и проверьте наличие строк:

export ROS_MASTER_URI=http://10.42.0.1:11311/
export ROS_HOSTNAME=<IP-адрес компьютера>

Если их нет, то всё в порядке. Если строчки есть, то просто закомментируйте их или в качестве ROS_MASTER_URI поставьте IP-адрес вашего компьютера.

После изменения файла ~/.bashrc перезапустите терминал.

Запустить модель можно четырьмя способами:

  • Через launch-файл пакета mors:

roslaunch mors bringup_sim.launch

При вводе команды запустит симуляцию в pybullet, подгружает config-файл из пакета mors и загрузит все модули для управления ходьбой. Вы можете использовать различные аргументы для изменения параметров загрузки пакетов. Подробнее об этом в разделе Параметры файла bringup_sim.launch.

  • Через launch-файл пакета mors_sim:

roslaunch mors_sim mors_pybullet.launch

Команда запускает только симуляцию в pybullet и подтягивает config-файл из пакета mors_sim

  • Запустить напрямую через rosrun:

rosrun mors_sim mors_pybullet.py

Команда запустит только симуляцию. Загрузится та конфигурация, которая стоит по умолчанию.

  • через launch-файл, который откроет 3d-модель робота в Rviz

roslaunch mors_sim mors_rviz.launch

По этой команде откроется только rviz. Такой способ запуска удобен, когда вы работаете только с xacro-файлом (например, добавляете новое устройство).

Установка ПО
xacro-файла