在使用 Navigation 导航系统中,不能每次都手动设置导航目标点,所以需要编写程序代码实现导航功能。所以需要导航接口,Navigation 有多个导航接口,ROS官方推荐使用 Action 接口实现导航功能。
通过C++实现导航的Action Client 节点。

C++操作步骤:
- 编写节点代码
- 设置编译规则
- 编译节点文件
- 运行节点文件
1. 编写节点代码
在 VSCode 中打开 nav_pkg/src 新建文件 nav_client.cpp 文件:
#include <ros/ros.h>
#include <move_base_msgs/MoveBaseAction.h>
#include <actionlib/client/simple_action_client.h>
先加载3个头文件
第一个是 ros 系统头文件
第二个是 move_base_msgs 的 MoveBaseAction 消息包格式
第三个是actionlib的 SimpleActionClient 头文件
其中 move_base_msgs 的 MoveBaseAction 消息包格式:包括目标、结果
、消息反馈三种消息包类型。
Action 客户端的声明:
typedef actionlib::SimpleActionClient<move_base_msgs::MoveBaseAction> MoveBaseClient;
将前面一长串代码取了个别名“MoveBaseClient”,在生成Action客户端对象时,就可以直接使用该别名。
编写main主函数:
int main(


最低0.47元/天 解锁文章
1563

被折叠的 条评论
为什么被折叠?



