基于gazebo的多无人车自主导航编队仿真学习

基于gazebo的多无人车自主导航编队仿真学习
最近正在研究多车编队,多车协同自主导航,参考古月居 、githua
链接: https://www.guyuehome.com/8915.
链接: [https://github.com/SantoshBanisetty/master-slave.git](https://github.com/Santos

hBanisetty/master-slave.git).
以及相关gitee上面的代码进行了初步学习 multirobot_formation进行了相关实际验证和代码消化,发现原始代码和博客之间还是有些细节需要注意的
问题1:首先按照博主介绍,先进行gazebo环境加载多机器人,并可以采用按键进行机器人控制

 roslaunch ares_gazebo ares_playground.launch
 rosrun ares_teleop ares_teleop.py 

运行上述两个指令后,发现采用按键不能实现对ares1/cmd_vel的控制,后来,发现rosrun ares_teleop ares_teleop.py 发布的话题为cmd_vel,故将此文件中发布的话题改成ares1订阅的话题ares1/cmd_vel

问题2:采用按键控制,实现master和slaver的编队仿真,
此时有时候程序不能正常跟随,后来经查发现是原代码相关abs函数的问题,将abs()函数修改成fabs

 roslaunch stage_first OnYourMarkGetSetGo.launch

现象,当运行上述三条指令后,无人小车开始有速度的编队运行

问题3
在rviz中进行多机器人导航仿真中,需要运行

 roslaunch ares_navigation navigation_demo.launch

发现小车程序启动后,领航车不按照导航路线进行行驶,而是采用固有速度和转角,一直撞墙,经分析,认定,与上述roslaunch stage_first OnYourMarkGetSetGo.launch启动的master节点有关,在自主导航模式下,领航者订阅move_base节点发布的话题ares1/cmd_vel,故而不需要再次启动master节点,将 roslaunch stage_first OnYourMarkGetSetGo.launch中的maser节点注释掉即可。

你可能感兴趣的:(学习)