Этот пример показывает, как соединиться с TurtleBot® с помощью интерфейса MATLAB® ROS. Можно использовать этот интерфейс, чтобы соединиться с широким спектром поддерживаемого оборудования ROS из MATLAB. Если вы используете TurtleBot в Gazebo®, обращаются к Запуску с Gazebo и Моделируемым примером TurtleBot.
Следующие шаги используют платформу TurtleBot 2 с основой Kobuki (https://www.turtlebot.com/). Набор идет с ноутбуком, который имеет предварительно установленную копию ROS с соответствующим программным обеспечением TurtleBot. Эта процедура принимает, что вы используете новый TurtleBot подобной настройки. Если вы уже используете TurtleBot и связываетесь с ним через внешний компьютер, не выполняйте эту процедуру.
Распакуйте TurtleBot и полностью заряжайте блокнот.
Убедитесь, что основа TurtleBot полностью заряжена.
Включите основу TurtleBot.
Соедините блокнот с основой TurtleBot (через USB-кабель).
Включите блокнот (во многих случаях username=turtlebot и password=turtlebot, но это зависит от поставщика).
Убедитесь, что у вас есть сеть, настроенная, чтобы соединить хост - компьютер (тот с MATLAB) к блокноту. Используйте беспроводной маршрутизатор или кабель Ethernet.
Откройте терминал на блокноте и запустите ifconfig
. IP-адрес сопоставил с сетью, с которой вы соединились, отображен.
Установите соответствующие переменные окружения на TurtleBot путем выполнения следующих команд. Выполните их команда только однажды.
echo export ROS_HOSTNAME=IP_OF_TURTLEBOT >> ~/.bashrc echo export ROS_MASTER_URI=http://IP_OF_TURTLEBOT:11311 >> ~/.bashrc sudo sh -c 'echo export ROS_HOSTNAME=IP_OF_TURTLEBOT >> /etc/ros/setup.sh'
Убедитесь, что можно проверить с помощью ping-запросов хост-машину от блокнота: ping IP_OF_HOST_COMPUTER
.
Успешный ping
показывают слева. Неудачный ping
показывают справа.
Примечание: Этим переменным окружения нужно было всегда присваивать правильный IP-адрес TurtleBot. Если IP-адрес изменений ноутбука TurtleBot, необходимо также изменить переменные окружения с помощью предыдущих команд.
Вот схема, иллюстрирующая соответствующее присвоение переменных окружения
ROS должен работать на вашем TurtleBot теперь. Если это не вы, может перезапустить ноутбук TurtleBot. ROS запускается автоматически на перезагрузке, и робот будет щебетать. Можно также запустить ROS при помощи значка TurtleBot на правой стороне верхней панели навигации и выбора опции, чтобы запустить TurtleBot.
Если ROS запускается, запустите Kinect®, который смонтирован на TurtleBot.
Если вы используете Gazebo, введите следующую команду в терминале на ноутбуке TurtleBot:
roslaunch turtlebot_bringup 3dsensor.launch
Возможный вывод показывают ниже.
Если у вас есть TurtleBot с различной настройкой от настройки, ранее описанной, прежде, чем попытаться связаться через MATLAB убеждаются, что следующая информация верна:
Вы настроили свою сеть так, чтобы можно было проверить с помощью ping-запросов хост-машину.
У вас есть доступ к следующим темам. На ноутбуке TurtleBot введите rostopic list
, чтобы видеть темы.
/odom /mobile_base/commands/velocity /mobile_base/commands/sound /mobile_base/commands/reset_odometry /mobile_base/sensors/bumper_pointcloud /mobile_base/events/cliff /camera/rgb/image_color/compressed /scan
В сети найдите IP-адрес своего хоста - компьютера. На машине Windows®, в командной строке, ipconfig
типа. На Mac или машине Linux®, откройте терминал и введите ifconfig
. Вот пример ipconfig
:
Убедитесь, что можно проверить с помощью ping-запросов блокнот: ping IP_OF_TURTLEBOT
. Успешный ping
показывает сначала, сопровождает неудачный ping
.
Пакет Поддержки Robotics System Toolbox™ для Роботов TurtleBot®-Based обеспечивает оптимизированный интерфейс к TurtleBot. Это позволяет вам:
Получите данные о датчике и отправьте команды управления, явным образом не вызывая команды ROS
Свяжитесь прозрачно с моделируемым роботом в Gazebo или с физическим TurtleBot
Чтобы установить пакет поддержки, откройтесь, Дополнения> Получают Пакеты Аппаратной поддержки на вкладке MATLAB Home и выбирают "TurtleBot-Based Robots". Также используйте roboticsAddons
команду.
Обратитесь к следующему примеру: Свяжитесь с TurtleBot