ros通信编程(二)

动作编程

什么是动作(action)?

1.一种问答通信机制;

2.带有连续反馈;

3.可以在任务过程中中止运行;

4.基于ros的消息机制实现。

Action的接口:

1. goal:发布任务目标;

2.cancel:请求取消任务;

3.status:通知客服端当前的状态;

4.feedback:周期反馈任务运行的监控数据;

5.result:向客户端发送任务的执行结果,只发布一次。

ros通信编程(二)

ros通信编程(二)

ros通信编程(二)

如何自定义动作消息:

1.定义action文件;

2.在package.xml中添加功能包依赖;

3.在cmakelists.txt添加编译选项。

如何实现一个动作服务器:

1.初始化ros节点;

2.创建动作服务器实例;

3.启动服务器,等待动作请求;

4.在回调函数中完成动作服务功能的处理,并反馈进度信息;

5.动作完成,发送结束信息。

如何实现一个动作客服端:

1.初始化ros节点;

2.创建动作客户端实例;

3.链接动作服务器;

4.发送动作目标;

5.根据不同类型的服务端反馈处理回调函数。

如何编译代码:

1. 设置需要编译的代码和生成的可执行文件;

2.设置链接库;

3.设置依赖。

ros通信编程(二)