Моделирование датчиков в Gazebo (часть 2)

Материал из RoboWiki
Перейти к навигации Перейти к поиску

Робот, для эффективного взаимодействия с окружающей средой, нуждается в трех базовых блоках:

  • датчиков для получения информации об окружающей среде
  • планирования дальнейших действий
  • приводов, обеспечивающих движение робота

Мы покажем, как добавить датчики к нашей базовой модели робота с дифференциальным приводом. После оснащения датчиками наш робот будет достаточно оснащен для использования стека навигации ROS, что позволит ему двигаться самостоятельно!


Обзор: моделирование датчиков

Цели: 1. Добавить экстероцептивные датчики (окружающей среды) к нашей модели робота с дифференциальным приводом

2. Добавить алгоритмы, которые опираются на восприятие окружающей среды (автономная навигация !!).

Ссылки:

Код репозитория (хранилища):

git clone -b base_sensors https://github.com/richardw05/mybot_ws.git

Видео-мануал

Моделирование камеры

Необходимо добавить всего два блока кода.

  • mybot_description/urdf/mybot.xacro - Add the camera model
  • mybot_description/urdf/mybot.gazebo - Add the camera plugin

Запустим модель в Gazebo.

roslaunch mybot_gazebo mybot_world.launch

Запустим ноду, чтоб просматривать данные с камеры.

rosrun image_view image_view image:=/mybot/camera1/image_raw

Вставим объект в симулятор Gazebo, чтобы убедиться, что он отображается на виде с камеры. Запустим rviz.

roslaunch mybot_description mybot_rviz.launch

Убедимся, что данные с камеры можно прочитать в rviz с топиком: /mybot/camera1/image_raw

Моделирование лазера

Опять, необходимо добавить всего два блока кода:

  • mybot_description/urdf/mybot.xacro - Добавление модели лазера
  • mybot_description/urdf/mybot.gazebo - Добавление плагина лазера
  • mybot_description/meshes/hokuyo.dae (опционально) - Модель популярного лазера hokuyo

Запустите Gazebo и rviz для проверки Примечание: многие сообщают, что лазерное сканирование ничего не обнаруживает. В этом случае в mybot.gazebo рассмотрите возможность переключения libgazebo_ros_gpu_laser.so на libgazebo_ros_laser.so