一、代码
在GitHub上搞到一份可以参考的:github项目
- 项目基于ROS操作系统,在gazebo上进行的一个运动规划的仿真实验。
- 路径规划算法使用的是:Astar和dijkstra算法。
- 项目依赖与xacro, robot state publisher等一些功能包。
- 需要额外安装gazebo。
二、编译及出错处理
- 将代码放在工作空间的src文件夹下
- catkin_make编译出错
- 下载mapserver,但问题仍然存在
- 求助老师!!鼓捣一下午
发现是因为代码中一个.h文件引用的头文件和我的版本不符。注释掉就好啦
三、运行
- 先启动ROS Master
- 输入
roslaunch car_gazebo car_gazebo.launch
启动 - 发现出错!原来是环境变量问题:参考教程
- 先
source ~/catkin_ws/devel/setup.bash
再进行2,就可以了
- 再加载地图,运行
roslaunch car_planning planningNode.launch
- 又报个小错
。。。过了很久 - 发现前一个launch虽然运行起来了但是有报错
- 解决问题!
ERROR: cannot launch node of type [map_server/map_server]: map_server
参考博客!
sudo apt-get install -y ros-noetic-map-server
- 第二个launch就神奇的好了!成功运行
四、使用
- 使用RVIZ界面上“2D Nav Goal”给小车指定一个目标,小车便会向目标开始移动;
- 绿色路径dijkstra算法寻路结果,蓝色路径为A* 算法寻路结果;
- 可在小车运动过程指定新的目标点。