ros通信编程(二)
动作编程
什么是动作(action)?
1.一种问答通信机制;
2.带有连续反馈;
3.可以在任务过程中中止运行;
4.基于ros的消息机制实现。
Action的接口:
1. goal:发布任务目标;
2.cancel:请求取消任务;
3.status:通知客服端当前的状态;
4.feedback:周期反馈任务运行的监控数据;
5.result:向客户端发送任务的执行结果,只发布一次。
如何自定义动作消息:
1.定义action文件;
2.在package.xml中添加功能包依赖;
3.在cmakelists.txt添加编译选项。
如何实现一个动作服务器:
1.初始化ros节点;
2.创建动作服务器实例;
3.启动服务器,等待动作请求;
4.在回调函数中完成动作服务功能的处理,并反馈进度信息;
5.动作完成,发送结束信息。
如何实现一个动作客服端:
1.初始化ros节点;
2.创建动作客户端实例;
3.链接动作服务器;
4.发送动作目标;
5.根据不同类型的服务端反馈处理回调函数。
如何编译代码:
1. 设置需要编译的代码和生成的可执行文件;
2.设置链接库;
3.设置依赖。