主要内容

sendGoalAndWait

发送的目标信息,等待结果

描述

例子

resultMsg= sendGoalAndWait (客户端,goalMsg)发送一个消息使用指定的行动目标客户操作的服务器并等待,直到操作服务器返回一个结果消息。新闻Ctrl + C中止等待。

resultMsg= sendGoalAndWait (客户端,goalMsg,超时)将指定超时时间(秒)。如果服务器不返回结果在超时期间,这个函数显示一个错误。

(resultMsg,状态,状态)= sendGoalAndWait (___)返回状态文本相关联的最终目标状态和使用任何以前的语法。的状态包含目标执行成功与否的信息。

请注意

在未来的版本中,这个语法不会显示错误如果服务器超时周期不返回结果。相反,它将返回状态作为“超时”,可以对调用代码。

例子

全部折叠

这个例子展示了如何发送和取消对ROS的行为目标。动作类型必须是事先设置与操作服务器运行。

你必须设置“/斐波那契”动作类型。运行该操作服务器,使用以下命令在活性氧系统:

rosrun actionlib_tutorials fibonacci_server

首先,建立一个客户ROS行动。然后,发送一个目标信息和修改参数。最后,取消你的目标和行动上的所有目标服务器。

连接到一个活性氧与指定的IP地址。创建一个客户机连接到ROS网络使用ROS的行动rosactionclient。指定动作名称。等待客户端连接到服务器。

rosinit (“192.168.203.133”,11311)
初始化全局节点/ matlab_global_node_18287 NodeURI http://192.168.203.1:55284
[actClient, goalMsg] = rosactionclient (“/斐波那契”,“DataFormat”,“结构”);waitForServer (actClient);

发送一个目标信息和修改参数。等待目标完成执行。

goalMsg。订单= int32 (4);[resultMsg, resultState] = sendGoalAndWait (actClient goalMsg)
resultMsg =结构体字段:MessageType:“actionlib_tutorials / FibonacciResult”序列:[0 1 1 2 3]
resultState = '成功'
rosShowDetails (resultMsg)
ans = ' MessageType: actionlib_tutorials / FibonacciResult序列:[0,1,1,2,3]”

发送一个新的目标消息没有等待。

goalMsg。订单= int32 (5);sendGoal (actClient goalMsg)

取消ROS行动上的目标客户,actClient

cancelGoal (actClient)

取消所有服务器上的目标行动actClient连接到。

cancelAllGoals (actClient)

删除操作客户端。

删除(actClient)

断开与ROS的网络。

rosshutdown
关闭全局节点/ matlab_global_node_18287 NodeURI http://192.168.203.1:55284

输入参数

全部折叠

ROS行动客户,指定为一个SimpleActionClient对象句柄。这个简单的行动客户使您能够跟踪一个目标。

ROS行动目标信息,指定为一个消息对象处理或结构。更新这个信息与你的目标的细节并将其发送到ROS操作客户端使用sendGoalsendGoalAndWait

请注意

在未来的版本中,ROS工具箱将使用的消息结构,而不是对象ROS的消息。

现在使用的消息结构,设置“DataFormat”名称-值参数“结构”。有关更多信息,请参见ROS消息结构

超时期限收到结果消息时,指定为一个标量在几秒钟内。如果客户端没有收到一个新的结果消息在那个时期,显示一个错误。

输出参数

全部折叠

结果信息,作为ROS返回消息对象或结构。结果消息包含结果数据服务器发送的行动。这些数据类型取决于行动。

请注意

在未来的版本中,ROS工具箱将使用的消息结构,而不是对象ROS的消息。

现在使用的消息结构,设置“DataFormat”名称-值参数“结构”。有关更多信息,请参见ROS消息结构

最终目标状态,返回以下之一:

  • “等待”——目标是收到了,但尚未被接受或者被拒绝。

  • “活跃”——目标是接受并运行在服务器上。

  • “成功”——目标成功执行。

  • “抢占”——一个动作前,目标客户取消了它执行完成。

  • “失败”——我们的目标是流产之前执行完成。操作服务器通常中止一个目标。

  • “拒绝”——目标后不被接受的“等待”状态。操作服务器通常会触发这个地位。

  • “回忆”——客户取消的目标时“等待”状态。

  • 《迷失》——一个内部错误发生在操作客户端。

状态文本与最终目标相关的服务器状态,作为一个特征向量返回。

扩展功能

版本历史

介绍了R2019b

全部展开