前言
今天推出了官方的仿真文件,我也参与了部分仿真模型的设计,提供一个简单的参考思路。
模型下载地址
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即可: