大學生智能車大賽室外光電組,在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
上圖,對比發現小車確實打導航定位成功。