cancelGoal

Отменить последнюю цель, отправленную клиентом

Синтаксис

Описание

пример

cancelGoal(client) отправляет запрос на отмену отслеживаемой цели, который является последним, отправленным на сервер действий. Указанный клиент отправляет запрос.

Если цель в 'active' состояние, сервер прерывает выполнение цели. Если цель 'pending', вспоминается. Если этот клиент не отправил цель, или если предыдущая цель была достигнута, эта функция немедленно возвращается.

Примеры

свернуть все

В этом примере показано, как отправить и отменить цели для действий ROS. Типы действий должны быть установлены заранее, когда работает сервер действий.

Вы должны были настроить '/fibonacci' тип действия. Чтобы запустить этот сервер действий, используйте следующую команду в системе ROS:

rosrun actionlib_tutorials fibonacci_server

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

Подключиться к сети ROS с заданным IP-адресом. Создайте клиент действия ROS, подключенный к сети ROS с помощью rosactionclient. Задайте имя действия. Дождитесь подключения клиента к серверу.

rosinit('192.168.203.133',11311)
Initializing global node /matlab_global_node_18287 with NodeURI http://192.168.203.1:55284/
[actClient,goalMsg] = rosactionclient('/fibonacci','DataFormat','struct');
waitForServer(actClient);

Отправьте сообщение цели с измененными параметрами. Дождитесь завершения выполнения цели.

goalMsg.Order = int32(4);
[resultMsg,resultState] = sendGoalAndWait(actClient,goalMsg)
resultMsg = struct with fields:
    MessageType: 'actionlib_tutorials/FibonacciResult'
       Sequence: [0 1 1 2 3]

resultState = 
'succeeded'
rosShowDetails(resultMsg)
ans = 
    '
       MessageType :  actionlib_tutorials/FibonacciResult
       Sequence    :  [0, 1, 1, 2, 3]'

Отправьте новое сообщение о цели, не дожидаясь.

goalMsg.Order = int32(5);
sendGoal(actClient,goalMsg)

Отмена цели на клиенте действий ROS, actClient.

cancelGoal(actClient)

Отмена всех целей на сервере действий, который actClient соединяется с.

cancelAllGoals(actClient)

Удалите клиент действий.

delete(actClient)

Отсоединитесь от сети ROS.

rosshutdown
Shutting down global node /matlab_global_node_18287 with NodeURI http://192.168.203.1:55284/

Входные параметры

свернуть все

Клиент действия ROS, заданный как SimpleActionClient указатель на объект. Этот простой клиент действий позволяет вам отслеживать одну цель за раз.

Введенный в R2019b