Этот пример показывает, как настроить механизм средства моделирования Gazebo®. Этот пример готовит вас к дальнейшему исследованию с Gazebo и также для исследования с моделируемым TurtleBot®.
Gazebo является средством моделирования, которое позволяет вам тестировать и экспериментировать реалистично с физическими сценариями. Gazebo является полезным инструментом в робототехнике, потому что это позволяет вам создавать и запускать эксперименты быстро с физикой твердого тела и хорошей графикой. MATLAB® соединяется с Gazebo через интерфейс ROS.
Можно загрузить изображение виртуальной машины, которому уже установили ROS и Gazebo. Эта виртуальная машина основана на Ubuntu® Linux® и предварительно сконфигурирована, чтобы поддержать примеры ROS в Robotics System Toolbox™.
Загрузите и установите виртуальную машину, как описано в https://www.mathworks.com/robotics/v3/ros_vm_install
Запустите виртуальную машину
На рабочем столе Ubuntu вы видите три значка мира Gazebo. В примерах Gazebo используйте "Gazebo Пустая" и "Детская площадка Gazebo". Для примеров TurtleBot® используйте "Мир Gazebo TurtleBot".
Нажмите Gazebo Playground. Мир открывается.
Примечание: Если экран Gazebo выглядит совершенно черным, обновите изображение путем минимизации его и затем максимизации его.
Откройте новый терминал в виртуальной машине Ubuntu.
Введите ifconfig
и возвратитесь, чтобы видеть сетевую информацию для виртуальной машины.
Под eth0
inet addr
отображает IP-адрес для виртуальной машины.
Две переменные окружения ROS должны собираться настроить сеть: ROS_MASTER_URI и ROS_HOSTNAME. Если вы используете демонстрации с рабочего стола виртуальной машины Linux®, эти переменные обычно автоматически устанавливаются при запуске.
(Необязательно), Если вы используете свою собственную виртуальную машину, настраивает переменные путем выполнения следующих команд в терминале. Замените IP_OF_VM
на IP-адрес, полученный через ifconfig
):
echo export ROS_MASTER_URI=http://IP_OF_VM:11311 >> ~/.bashrc echo export ROS_HOSTNAME=IP_OF_VM >> ~/.bashrc
Проверяйте переменные окружения с помощью echo $ENV_VAR
(заменяющий ENV_VAR на соответствующую переменную окружения). Можно закрыть и вновь открыть терминал для него, чтобы вступить в силу.
Следующая схема иллюстрирует правильные присвоения переменной окружения (с поддельными IP-адресами)
Если вы уже имеете Gazebo, работающий на дистрибутиве Linux, настраиваете средство моделирования, как описано здесь:
На веб-сайте ROS загрузите соответствующие пакеты для TurtleBot.
Следуйте инструкциям на веб-сайте ROS, чтобы получить TurtleBot, запускающийся в моделируемой среде Gazebo.
Убедитесь, что переменные окружения соответственно установлены и что можно проверить с помощью ping-запросов назад и вперед между хостом - компьютером и компьютером Gazebo. Существует много способов настроить сеть. Подключение к примеру Сети ROS содержит советы о том, как проверить возможность соединения между устройствами в сети ROS.
Убедитесь, что у вас есть доступ к следующим темам. В терминале на машине Linux введите rostopic list
, чтобы видеть доступные темы.
/odom /mobile_base/commands/velocity /mobile_base/commands/reset_odometry /mobile_base/sensors/bumper_pointcloud /mobile_base/events/cliff /camera/rgb/image_raw /scan
Найдите IP-адрес своего хоста - компьютера в сети. На машине Windows®, в командной строке, ipconfig
типа. На машине Mac или Linux откройте терминал и введите ifconfig
. Пример ipconfig
показывают.
Примечание: тип подключения может отличаться в зависимости от того, как вы соединяетесь с ноутбуком. В этом случае вы используете Ethernet, однако, во многих случаях беспроводная связь (wlan) является соответствующей связью.
Проверьте с помощью ping-запросов машину средства моделирования ping IP_OF_VM
. Успешный ping
показывает сначала, сопровождает неудачный ping
.
Для большего количества примеров Gazebo обратитесь к: Считайте Свойства Модели и Симуляции из Gazebo
Для примеров TurtleBot обратитесь к: Свяжитесь с TurtleBot