ROS | 您所在的位置:网站首页 › ScionxA小车 › ROS |
文章目录
1. 教程描述2. 准备工作2.1 创建工作空间2.2 创建ROS硬件描述包
3. 小车模型示意图4. 创建urdf描述文件5. 创建launch文件6. rviz模型展示6.1 添加Displays6.2 修改参数
7. 可能遇到的问题7.1 No transform from [base_link] to [map].
参考文献:
1. 教程描述
本教程参考古月前辈的SmartCar教程,教程写的非常全面,对自己的ROS学习有很大的帮助,在此先谢过。在学习的过程中发现他的教程比较精简,而且使用的ROS版本比较旧,因此在看着教程复现的过程中会出现一些麻烦,因此便想着在他教程的基础上丰富下内容,增加一些个人的见解,同时将学习过程中遇到的问题、问题的解决方法一并写出来,供其他新学者参考,若有问题之处还望大家指出,以便可以即使纠正。 主要实现内容为在ROS环境下基于Gazebo仿真软件创建一个四轮小车,并实现小车的控制,如下图所示,接下来教程将会进行详细解释。 2. 准备工作 2.1 创建工作空间创建ROS工作空间,命名为SmartCar,并在该工作空间中创建src文件夹。 mkdir -p /SmartCar/src初始化工作空间 cd /SmartCar catkin_init_workspace 2.2 创建ROS硬件描述包 cd /src roscreate-pkg smartcar_description urdf 3. 小车模型示意图小车的车体主要由以下两部分构成:25cm x 16cm x 5cm的长方体作为小车的车体,直径5cm、高2cm的圆柱作为小车的轮子,四个轮子尺寸一样,只是安装位置不同。 4. 创建urdf描述文件在smartcar_description文件夹下创建urdf文件夹,并创建智能车的描述文件smartcar.urdf,写入下述代码: .urdf文件主要有两部分构成:和,两者的关系如下图所示。 其中...主要描述模型硬件结构的属性信息,里面对轮子的形状、颜色、质量、惯性等信息进行了语言描述;...可以理解为两个...之间的连接间,如图中蓝色框所示,主要描述两个…之间的位置等固定连接信息。 文中的结构可以简化为下面的格式,定义一个robot标签,在标签中定义base_link和right_front_wheel两个标签,两个标签的后面跟着描述base_link和right_front_wheel关系的joint ... ... ...在link中定义了小车的外观,以base_link为例。 在每个信息标签中除了上述的类型外还有其他的信息可以增加,需要的请自行查阅。 在joint中定义两个link的连接信息,以right_front_wheel_joint为例。 对上述信息不太清楚的朋友可以再查阅相关资料,或者自己动手修改参数试试便知。 5. 创建launch文件在/smartcar_description文件夹下建立launch文件夹,并创建智能车的launch文件 base.urdf.rviz.launch,描述代码如下: 在旧版本ROS中使用该语句启动rviz 在旧版本ROS中使用该语句启动rviz 6. rviz模型展示在工作空间/SmartCar路径下,先source下工作空间的路径 source devel/setup.bash然后运行.launch文件 roslaunch servo_description base.urdf.rviz.launch这时候你会发现rviz会自动打开,rviz的配置如下: 6.1 添加Displays自动打开的rviz如下图所示,需要我们自己添加现实的内容,从而显示出小车 点击左下角的Add添加显示内容到Display 选择RobotModel,并点击确认添加到Display 6.2 修改参数添加过RobotModel后rviz显示如下图,这时候还不可以正常显示小车,可以点击Display中“RobotModel”选项,并点击“Status:Error”查看详细错误提示,提示为“No transform from [base_link] to [map].”类型,这是需要修改Fixed Frame选项。 修改Fixed Frame为base_link即可正常显示,如下图。 7. 可能遇到的问题 7.1 No transform from [base_link] to [map]. 没有修改Fixed Frame,详情请看6.2章节。.urdf文件有误,可以使用下述语句查看 check_urdf smartcar.urdf 参考文献:古月老师博客 |
CopyRight 2018-2019 实验室设备网 版权所有 |