ROS Action接口
实现自主导航是使用Action接口的主要目的
在实际使用navigation导航系统的时候,机器人需要自主进行导航。不能每次都手动设置导航的目标点。所以需要编写程序代码来实现导航控制。这就需要使用到navigation的导航接口。Navigation的这个导航接口有好几个。Rose官方推荐使用action接口来实现这个功能。
Action 是通过一次请求能获得连续返回信息的模式。
这是Action通讯和Topic通讯的最大区别 。其他区别如下
在topic话题通讯中,消息包的传输是单向的,只能从发布的节点发送到定位的节点。
而在action通讯中,消息包的传输是双向。
Action工作过程
client向server发送导航请求
编写一个client节点,向base这个server发送导航请求(包含了导航目标点的坐标值和期望的姿态。)
Server能够实时反馈导航的进程
server部分接收到这个导航请求后,实时反馈导航的进程。
在导航结束的时候,会给Client的节点返回导航完成的消息,即使导入失败,也会返回相应的失败消息。
ROS导航系统 | Action 编程接口_哔哩哔哩_bilibili