前言
基础技能,很重要
接上一篇日志
准备看完后,找一个时间给ROS for LabVIEW 加上Action功能,当前项目中利用ROS中一个Proxy节点,将服务请求转换为动作请求
目录
参考
提示
- 只有一个包或节点是消息,服务,动作的提供者时,在构造描述文件中才需要添加相应的描述语句,如果是接受者,那么不需要提供。
请比较rosaria和rosaria_client构造描述文件的区别
步骤记录
学习actionlib基础知识
定义:用来为预先发布的任务执行提供接口
The actionlib stack provides a standardized interface for interfacing with preemptable tasks.
综述
在ROS中,已经有一种机制,让程序可以向一个节点发送任务请求并收到一次回应,这个机制叫做服务(service),但是在其他很多情况下,如果一个任务需要很长时间完成,用户想要周期性地收到服务器的反馈,这样的机制已经实现,叫做动作,action。
The actionlib package provides tools to create servers that execute long-running goals that can be preempted. It also provides a client interface in order to send requests to the server.
客户端-服务器模型(ROS Action Protocol)
协议建立在ros message机制上。
action的具体消息定义(Action Specification)
Goal
Feedback
Result
.action file
各种消息的具体定义都在这个文件中*.action
构造描述文件
1 | find_package(catkin REQUIRED genmsg actionlib_msgs actionlib) |
1 | <depend package="actionlib"/> |