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

依赖安装

  • 这里需要注意一些依赖的安装要到位,防止踩坑(上文博客里都有~)

包括但不仅限于:

  1. sudo apt-get install ros-kinetic-controller-manager
  2. sudo apt-get install ros-kinetic-gazebo-ros-control
  3. sudo apt-get install ros-kinetic-effort-controllers
  4. sudo apt-get install ros-kinetic-joint-state-controller
  5. sudo apt-get install ros-kinetic-driver-base
  6. sudo apt-get install ros-kinetic-rtabmap-ros
  7. sudo apt-get install ros-kinetic-ackermann-msgs
  8. sudo apt-get install ros-kinetic-teb-local-planner

如果GAZEBO打开仿真出现CMD134字眼是GAZEBO版本太低的原因从7.0.0升级到7.16.0即可!!!


仿真效果

这里展示一些博主自己比赛的仿真效果,主要是一些rviz和gazebo的截图给大家看一下效果

  • 开始仿真——加载gazebo地图和rviz模型,初始化amcl等相关文件:

    ros1

  • 仿真进行——发布目标点后小车巡线进行导航及避障:

    ros3

  • 仿真结束——小车完成:ros2


racecar仿真竞赛经验总结(一)- 前言
http://example.com/2020/07/31/racecar仿真竞赛经验总结(一)- 前言/
Author
Zachary Deng
Posted on
July 31, 2020
Licensed under