大学生智能车大赛室外光电组,在ROS下搭建仿真模拟环境
一、前言
操作系统:ubuntu16.04
ROS版本:kinetic
Gazebo版本:7.0.0
二、效果图
三、准备工作
1.在Ubuntu上安装ROS Kinetic
2.创建ROS工作区间
①1创建racecar_ws和src文件夹
mkdir -p ~/racecar_ws/src
②初始化工作空间
cd ~/racecar_ws/src
catkin_init_workspace
③下载racecar源代码包,并编译工程
git clone https://github.com/xmy0916/racecar.git
cd ..
catkin_make
创建成功如下:
四、启动仿真
1.设置环境变量
echo "source ~/racecar_ws/devel/setup.bash" >> ~/.bashrc
source ~/.bashrc
2.启动地图
roslaunch racecar_gazebo racecar_runway.launch
五、建图
1.启动slam和rviz
新建终端
cd racecar_ws/
roslaunch racecar_gazebo slam_gmapping.launch
2 控制车辆(左侧有个控制窗口),WASD控制前左后右的运动就可以建图了:
原图:
成果图:
3.新建终端保存地图
保存地图的路径:/racecar_ws/src/racecar/racecar_gazebo/map
cd ~/racecar_ws/src/racecar/racecar_gazebo/map
rosrun map_server map_saver -f map_racecar
分析:在控制小车运动时,小车很容易翻车。不过最终能运行完地图。
六、自主定位导航
1.启动导航和环境地图:
新建终端
cd racecar_ws/
roslaunch racecar_gazebo racecar_runway_navigation.launch
2.启动rviz:
新建终端:
cd racecar_ws/
roslaunch racecar_gazebo racecar_rviz.launch
3.用2D Nav Goal发布目标:
4.启动导航脚本
新建终端
cd racecar_ws/
rosrun racecar_gazebo path_pursuit.py
上图,对比发现小车确实打导航定位成功。