racecar仿真竞赛经验总结(一)- 前言
racecar仿真竞赛经验总结(一) - 前言
由于疫情原因,今年的十五届恩智浦杯智能车竞赛室外光电组(ROS组别)初赛方式改为线上 rviz + gazebo 仿真的方式,由于是首次采用这个形式进行竞赛,博主遇到了一点问题也积累了一些经验,这个博客系列主要进行一些博主自己的经验分享以及心得总结~
因为官方要求提交源码的缘故,这里也将博主自己的源码包开源啦~
源码包地址放在这里,如果有帮助的话希望顺手给个star~😀 github传送门
(github里README文件列出了包的使用方法和遇到的一些问题的解决方法)
系列博客
- racecar仿真竞赛经验总结(二)- racecar仿真模型介绍
- racecar仿真竞赛经验总结(三)- Navigation导航包
- racecar仿真竞赛经验总结(四)- Pure pursuit纯追踪算法
- racecar仿真竞赛经验总结(五)- AMCL与小车定位
- racecar仿真竞赛经验总结(六)- TF树
仿真概要
博主参考的代码是基于ros组官方提供的代码包进行优化,重写了控制器和路径追踪算法(参考pure_pursuit算法:Ackermann based on MPC 以及 Ackermann only),优化了navigation导航包中的全局路径规划和局部路径规划算法(添加权重值避免遇到道路中间的障碍时反复规划路径),具体的算法以及该代码包的使用方法在github中已给出。
环境及功能包
- ubuntu16.04 ROS-Kinetic(ubuntu18.04 ROS-Melodic 也可以但有一些indigo版本的包无法使用,需要自行更换)
- rf2o_laser_odometry:订阅激光雷达/scan话题进行一级定位
- robot_pose_ekf:整合rf2o和imu进行更精确的定位
- amcl:修正定位误差,实现相对精准的定位
- navigation:实现小车自主导航和避障功能
- 官方提供的小车模型和gazebo环境功能包
环境部署
具体使用步骤参考北邮老哥的博客:智能车仿真 —— 2020室外光电创意组线上仿真赛
模型下载地址
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即可!!!
仿真效果
这里展示一些博主自己比赛的仿真效果,主要是一些rviz和gazebo的截图给大家看一下效果
开始仿真——加载gazebo地图和rviz模型,初始化amcl等相关文件:
仿真进行——发布目标点后小车巡线进行导航及避障:
仿真结束——小车完成:
racecar仿真竞赛经验总结(一)- 前言
http://example.com/2020/07/31/racecar仿真竞赛经验总结(一)- 前言/