Запуск с Gazebo и моделируемым TurtleBot

В этом примере показано, как настроить механизм симулятора Gazebo ®. Этот пример готовит вас к дальнейшим исследованиям с Gazebo, а также к исследованиям с моделируемым TurtleBot ®.

Gazebo - симулятор, позволяющий тестировать и экспериментировать реалистично с физическими сценариями. Gazebo является полезным инструментом в робототехнике, поскольку позволяет быстро создавать и запускать эксперименты с твердой физикой и хорошей графикой. MATLAB ® соединяется с Gazebo через интерфейс ROS.

Загрузка виртуальной машины

Можно скачать изображение виртуальной машины, в котором уже установлены ROS и Gazebo. Эта виртуальная машина основана на Ubuntu ® Linux ® и предварительно сконфигурирована для поддержки примеров в ROS Toolbox™.

  • Загрузите и установите виртуальную машину ROS.

  • Запустите виртуальную машину.

  • На рабочем столе Ubuntu вы видите несколько скриптов запуска в мире Gazebo, а также другие ярлыки утилиты. Для примеров TurtleBot ® используйте значки Gazebo Empty, Gazebo House, Gazebo Office или Gazebo Sign Follower ROS.

  • Щелкните Gazebo House. Мир открывается.

Примечание: Если экран Gazebo выглядит полностью черным, обновите изображение, минимизируя его и затем максимизируя.

  • Откройте новый терминал в виртуальной машине Ubuntu.

  • Тип ifconfig и вернитесь, чтобы просмотреть сетевую информацию для виртуальной машины.

  • Под eth0, а inet addr отображает IP-адрес виртуальной машины.

  • Для настройки сети необходимо задать два переменных окружения ROS: ROS_MASTER_URI и ROS_IP. Если вы используете демонстрации с рабочего стола виртуальной машины Linux ®, эти переменные обычно автоматически устанавливаются при запуске.

  • (Необязательно) Если вы используете свою собственную виртуальную машину, настройте переменные путем выполнения следующих команд в терминале. Замените IP_OF_VM с IP-адресом, полученным через ifconfig):

echo export ROS_MASTER_URI=http://IP_OF_VM:11311 >> ~/.bashrc
echo export ROS_IP=IP_OF_VM >> ~/.bashrc
  • Проверяйте переменные окружения с помощью echo $ENV_VAR (замена ENV_VAR соответствующего переменного окружения). Вы можете закрыть и снова открыть терминал, чтобы он вступил в эффект.

  • Следующая схема иллюстрирует правильные назначения переменных окружения (с поддельными IP-адресами)

Подключение к существующему симулятору Gazebo

Если Gazebo уже работает на распределении Linux, настройте симулятор так, как описано здесь:

  • На сайте ROS скачайте соответствующие пакеты для TurtleBot.

  • Следуйте инструкциям на веб-сайте ROS, чтобы запустить TurtleBot в моделируемом окружении Gazebo.

  • Убедитесь, что переменные окружения заданы соответствующим образом, и что вы можете пинать назад и вперед между вашим хостом-компьютером и компьютером Gazebo. Существует много способов настроить сеть. Пример «Подключение к сети ROS» содержит советы по проверке соединения между устройствами в сети ROS.

  • Чтобы использовать любые команды ROS в терминалах машин Linux, необходимо настроить окружение терминала, чтобы использовать правильную установку ROS. Перед выполнением каких-либо команд ROS введите в терминал соответствующий скрипт настройки окружения ROS. В ВМ команда: source /opt/ros/melodic/setup.bash

  • Убедитесь, что у вас есть доступ к следующим разделам. В терминале на машине Linux введите rostopic list чтобы просмотреть хотя бы эти доступные темы.

/clock
/cmd_vel
/imu
/odom
/scan
/tf

Хост-компьютер Setup

  • Найдите IP-адрес своего хоста-компьютера в сети. На компьютере с Windows ® в командной строке введите ipconfig. На компьютере с Mac или Linux откройте терминал и введите ifconfig. Пример ipconfig показан.

Примечание: Тип соединения может варьироваться в зависимости от того, как вы подключены к ноутбуку. В этом случае вы используете Ethernet, однако во многих случаях беспроводная связь (wlan) является подходящим соединением.

  • Пинг машины симулятора ping IP_OF_VM. Успешное ping показан первым, за которым следует неудачная ping.

Следующие шаги