ros action学习笔记一

这篇博客介绍了如何在ROS中使用SimpleActionClient库创建action客户端。内容包括了action客户端的构造,需要服务器名称和是否开启线程的选项,以及如何初始化节点并创建目标goal,发送到action服务器以获取反馈结果。

参考网址: http://wiki.ros.org/actionlib_tutorials/Tutorials

编写简单的action客户端,含有两步

(1)使用SimpleActionClient库创建action客户端

import actionlib_tutorials.msg//导入生成的消息,action会生成用于发送目标,接受反馈的消息
client = actionlib.SimpleActionClient('fibonacci', actionlib_tutorials.msg.FibonacciAction)
//创建action客户端,action客户端和action服务器端利用一系列主题(在actionlib协议描述)交流,action名称描述了包含这些主题的命名空间,并且action规范消息描述了这些主题应该传递什么信息

action客户端依照action模板定义的消息类型与action服务器进行通讯

action客户端构造器需要提供两个参数:服务器名称和boolean选项(是否打开线程)

(2)使用action客户端创建目标goal,并发送到action服务器端,并获取反馈结果

# Creates a goal to send to the action server.
goal = actionlib_tutorials.msg.FibonacciGoal(order=20)

# Sends the goal to the action server.
client.send_goal(goal)

# Waits for the server to finish performing the action.
client.wait_for_result()#等待action服务器端完成运算

# Prints out the result of executing the action
return client.get_result()  # A FibonacciResult,取得反馈的结果。

 

 

1.初始化节点,两种方式

rospy.init_node('my_node_name')

rospy.init_node('my_node_name', anonymous=True)

init_node()函数需要提供一个节点名,必须要是唯一的节点名称,如果不太关心系欸但的唯一性情况下,可以设置anonymous=True,函数定义

rospy.init_node(name, anonymous=False, log_level=rospy.INFO, disable_signals=False) 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值