前言
今天推出了官方的仿真文件,我也參與了部分仿真模型的設計,提供一個簡單的參考思路。
模型下載地址
https://pan.baidu.com/s/1TFBTbCeyQMuKnxemCbyNSw 提取碼: crm5
安裝依賴工具
sudo apt-get install ros-kinetic-controller-manager
sudo apt-get install ros-kinetic-gazebo-ros-control
sudo apt-get install ros-kinetic-effort-controllers
sudo apt-get install ros-kinetic-joint-state-controller
sudo apt-get install ros-kinetic-driver-base
sudo apt-get install ros-kinetic-rtabmap-ros
sudo apt-get install ros-kinetic-ackermann-msgs
sudo apt-get install ros-kinetic-teb-local-planner
如果gazebo打開仿真出現cmd134字眼是gazebo版本太低的原因從7.0.0升級到7.16.0即可!!!
模型使用說明
首先創建工作區間:
mkdir -p smartcar_ws/src
初始化工作區間
cd ~/smartcar_ws/src
catkin_init_workspace
然後導入仿真文件,將百度雲下載的壓縮文件解壓,將其中的racecar_description.7z文件複製到smartcar_ws/src下並提取(如下圖):
將壓縮文件中的smartcar_plane.7z文件提取到.gazebo下的models下,具體操作如下:
- 在home目錄下ctrl + h顯示隱藏文件
- 找到.gazebo文件
- 進入文件中的models文件夾(如果沒有就自己創建一個)
- 將smartcar_plane.7z解壓到models下
在racecar_description文件夾下創建worlds文件夾,然後把百度網盤的world文件放到下面:
修改一下launch文件夾中的racecar.launch文件:
編譯工程:
cd ~/smartcar_ws
catkin_make
使能環境變量:
echo "source ~/smartcar_ws/devel/setup.bash" >> ~/.bashrc
source ~/.bashrc
啓動仿真環境:
roslaunch racecar_description racecar.launch
啓動rviz和gazebo:
roslaunch racecar_description racecar_rviz.launch
仿真任務提示
因爲涉及比賽我就不詳細講解怎麼配置完整的項目,做一些提示:
- 首先車不能動,需要配置運動控制器,參考我的項目:https://github.com/xmy0916/racecar中racecar_control文件夾配置運動控制器
- 官方仿真沒有配置gmapping那些,可以參考我的項目裏面racecar_gazebo下的congig文件配置
- 上述配置完成後可以直接使用teb運動規劃的速度和方向。
- 也可以參考我寫的path_pursuit.py代碼完成純路徑追蹤,這個算法有缺陷我沒有訂閱局部路徑規劃的話題所以只能巡線不能避障。代碼在racecar_gazebo下的srcipts下。
享受比賽~
附件:關於添加錐桶
gazebo是可以直接打開world文件的,命令格式:
gazebo ***.world
官方提供的場地目前沒加錐桶,我們可以自己添加,首先下載gazebo的模型:
鏈接:http://pan.baidu.com/s/1pKaeg0F 密碼:cmxc (來自rosclub.cn)
或是下載https://bitbucket.org/osrf/gazebo_models/downloads/ (ExBot ROS專區,網友提醒)
下載後找到官方的場地world文件,進入那個文件夾:
gazebo racetrack.world
點擊左上角insert插入錐桶:
插入後保存新的world文件,點擊左上角:
選擇save world as替換官方的world即可: