以Tianbot为例子,开源代码如下:
https://github.com/tianbot/tianbot_mini
GitHub - tianbot/abc_swarm: Ant Bee Cooperative Swarm, indicating air-ground cooperation. This repository is for Tianbot Mini and RoboMaster TT swarm kit.
1.在仿真地图中加载机器人
roslaunch abc_swarm demo_sim_leader_follower.launch //这一步是在gazebo仿真地图中加载三台车
2.开启轨迹规划
rosrun abc_swarm path_planning.py
这一步是对领航车进行轨迹规划,通过使用在rviz中添加目标点,用三样条曲线规划出轨迹
通过订阅/clicked_point ,从而发布way_points 进而生成global_plan供path_tracking调用
3.进行轨迹跟踪
roslaunch abc_swarm path_tracking.launch robot_name:=tbmn_01
这一步是对领航车而言跟踪之前规划好的轨迹(path),使用的是pure pursuit算法
通过调用global_plan 计算生成相应角度等,发布cmd_vel
对于这种运动框架而言就脱离了move_base,以往以move_base功能包进行导航,通过再move_base这个框架下进行,开启全局路径规划和局部路径规划。
但是在自己写这种运动框架过程中要注意命名空间的问题,注意cmd_vel是在哪个命名空间之下,和发布的global_plan是在哪个命名空间下,防止在轨迹跟踪过程中订阅不到话题。