Ros Navgation配置D*Lite算法进行gazebo小车仿真
ROS navgation
学习网站:http://wiki.ros.org/cn/navigation/Tutorials/RobotSetup
下载D* lite算法包,在工作空间下编译
https://blog.youkuaiyun.com/lqzdreamer/article/details/85108310
ctrl+alt+t打开终端,cd进入自己的工作空间内
catkin_make
编译工作空间
报错以及解决方式
出现了如下报错
在对应.cpp文件和.h文件中添加头文件
#include <tf/transform_broadcaster.h>
bash Dstar.cpp dstar_global_planner.cpp Dstar.h dstar_global_planner.h
这四个文件添加头文件后进行编译
出现了如下报错
将报错提示信息中的dstar_global_planner.cpp文件里的tf_prefix_ = tf::getPrefixParam(prefix_nh);
注释掉就可以正常编译了。
修改move_base
在move_base.launch文件中修改
<param name="base_global_planner" value="dstar_global_planner/DStarPlannerROS"/>
要和下载下来的dstar_global_planner-master里的bgp_plugin.xml下的名字一样,如下图
对比仿真实验验证
运行gazebo和Rviz
(绿色线条为生成的轨迹)
D*+DWA算法规划得到的路径如下
move_base默认全局路径规划+DWA局部路径规划得到的路径如下
在仿真实验中的表现来看这两种算法除了生成的轨迹不同外,D*得出轨迹所需的时间明显耗费的时间更久,既就是需要更多的算力。