Переместите робота Turtlebot Используя действия ROS

Этот пример показывает, как использовать действие /turtlebot_move с роботом Turtlebot. Действие /turtlebot_move берет местоположение в среде робота и попытках переместить робота в то местоположение.

Чтобы запустить сервер действия Turtlebot ROS, эта команда используется на распределении ROS.

roslaunch turtlebot_actions server_turtlebot_move.launch

Соединитесь с сетью ROS. У вас должна быть настройка сервера действия ROS в этой сети. Измените ipaddress на адрес вашей сети ROS.

ipaddress = '192.168.154.131';
rosinit(ipaddress);
Initializing global node /matlab_global_node_10652 with NodeURI http://192.168.154.1:62701/

Просмотрите действия ROS, доступные в сети. Необходимо видеть доступный /turtlebot_move.

rosaction list
/turtlebot_move

Создайте простой клиент действия, чтобы соединиться с сервером действия. Задайте имя действия. goalMsg является целевым сообщением для вас, чтобы задать целевые параметры.

[client,goalMsg] = rosactionclient('/turtlebot_move');
waitForServer(client)

Установите параметры для цели. goalMsg содержит свойства для обоих расстояния поворота и форвард. Задайте, как далеко вперед и какой угол вы хотели бы, чтобы робот повернул. Этот пример перемещает робота прямые 2 метра.

goalMsg.ForwardDistance = 2;
goalMsg.TurnDistance = 0;

Установите функцию обратной связи пустеть, чтобы ничего не иметь вывод во время целевого выполнения. Оставьте FeedbackFcn как значение по умолчанию, чтобы вытащить печать из информации об обратной связи о целевом выполнении.

client.FeedbackFcn = [];

Отправьте целевое сообщение в сервер. Ожидайте его, чтобы выполнить и получить сообщение результата.

[resultMsg,~,~] = sendGoalAndWait(client,goalMsg)
Goal active

resultMsg = 

  ROS TurtlebotMoveResult message with properties:

        MessageType: 'turtlebot_actions/TurtlebotMoveResult'
       TurnDistance: 0
    ForwardDistance: 2.0076

  Use showdetails to show the contents of the message

Отключитесь от сети ROS.

rosshutdown
Shutting down global node /matlab_global_node_10652 with NodeURI http://192.168.154.1:62701/

Смотрите также

| | |

Похожие темы