上一节玩了 exbot 在RViz里的仿真控制,这里我们用urdf文件写个自己的小车模型,ref: http://blog.csdn.net/hcx25909/article/details/8904292
(待修正)
1. 创建一个package: smartcar_description
创建一个package: smartcar_description urdf ,依赖:urdf
$ catkin_create_pkg smartcar_description urdf
2. SmartCar 尺寸数据
因为建立的是一个非常简单的机器人,所以我们尽量使用简单的元素:使用长方体代替车模,使用圆柱代替车轮,具体尺寸如下:
3. 创建智能车的描述文件smartcar.urdf
在smartcar_description文件夹下建立urdf文件夹,创建智能车的描述文件smartcar.urdf,描述代码如下:
4. 创建launch文件
<launch> <arg name="model" /> <arg name="gui" default="False" /> <param name="robot_description" textfile="$(find smartcar_description)/urdf/smartcar.urdf" /> <param name="use_gui" value="$(arg gui)"/> <node name="joint_state_publisher" pkg="joint_state_publisher" type="joint_state_publisher" ></node> <node name="robot_state_publisher" pkg="robot_state_publisher" type="state_publisher" /> <node name="rviz" pkg="rviz" type="rviz" args="-d $(find urdf_tutorial)/urdf.rviz" /> </launch>
5. 效果演示
在Terminal中输入演示命令:
$ roslaunch smartcar_description base.urdf.rviz.launch gui:=true
这里我们遇到了一个错误,
我想原因是来源网页作者使用了Groovy版本的ROS(相对本系列使用的Hydro要老),所以我的计划是先完成urdf的学习再来进行此例程:http://wiki.ros.org/urdf
在完成urdf之前,关于ros_tf的学习应该是基础,所以接下来先进行ros tf(transform)的学习。
在学习tf过程中,发现运行多个节点需要用到launch文件,所以launch文件的学习应该是最前的。
launch file >> tf >> urdf