0.前言
在前一章节我们基于开源的模型成功在Rviz中显示了基于阿克曼底盘模型的无人车,学识渊博的大家肯定发现这不就是别人开源的代码吗?但是在实际按照开源的简短教程对新手并不是很友好,同时在Ros包中的一些代码比较冗余,以及运行时会出现一些Bug,我将会对这部分进行代码更改和简化并解析其中的关键部分,帮助大家快速理解。另外我们学习ROS无人车更加关注的是如何能够快速进行上层应用的开发,如建图、定位、导航及目标检测与跟踪等等。所以,在后续的篇章中,我们将更加关注功能应用的开发帮助大家能够更快、更全面的学习并快速上手应用ROS无人车算法的开发中!
1.配置Config文件
接下来我们通过在Gazebo仿真环境中加载模型,为了简化代码,我们将上一章节中下载到的源码中的部分移动到我们的工作空间中:
cp -r /home/yours_name/neor_mini/mini_sim18_ws/src/steer_mini_gazebo/mini_control/config/* /home/yours_name/Ackerman/src/neor_mini/config/
此时,在你的neor_mini/config文件夹下会显示下面这五个yaml文件:
关于yaml配置文件的具体作用将会在后续章节中进行详细解答
2.修改launch文件
打开neor_mini/launch文件夹,将display_gazebo_sensors.launch文件中的内容替换为下列代码:
<launch>
<arg name="x" default="0.0"/>
<arg name="y" default="0.0"/>
<arg name="z" default="0.0" />
<arg name="roll" default="0.0"/>
<arg name="pitch" default="0.0"/>
<arg name="yaw" default="0.0"/>
<include file="$(find gazebo_ros)/launch/empty_world.launch" >
</inc