“向前的人,”
本节简介
本节实现,创建功能包,添加依赖,写launch文件,运行launch文件来启动gazebo的简单流程,urdf文件,沿用上一节的矩形文件。
- 延用工作空间test2_ws;
- 功能包demo4_urdf_gazebo存放代码;
- urdf的代码放在demo4_urdf_gazebo/urdf/urdf/urdf_gazebo_1helloworld.urdf;
- launch文件存放在demo4_urdf_gazebo/launch/urdf_gazebo_1helloworld.launch;
流程
1.创建功能包,
打开和demo3同级的src目录,终端键入:
catkin_create_pkg demo4_urdf_gazebo urdf xacro gazebo_ros gazebo_ros_control gazebo_plugins
设置几个子文件夹以及创建urdf文件和launch文件(使用了tree工具,蓝色代表文件夹)如下:
2. urdf文件
源码如下,命名如上:
<robot name="robot">
<link name="base_link">
<visual>
<geometry>
<box size="0.5 0.3 0.1" />
</geometry>
<origin xyz="0 0 0" rpy="0 0 0" />
<material name="yellow" >
<color rgba="0.5 0.3 0 0 0.5" />
</material>
</visual>
<collision>
<geometry>
<box size="0.5 0.3 0.1" />
</geometry>
<origin xyz="0 0 0" rpy="0 0 0" />
</collision>
<inertial>
<origin xyz="0 0 0" rpy="0 0 0" />
<mass value="2" />
<inertia ixx="1" ixy="0" ixz="0" iyy="1" iyz="0" izz="1" />
</inertial>
</link>
<gazebo reference="base_link">
<material>Gazebo/Red</material>
</gazebo>
</robot>
3.launch文件
源码如下,命名如上:
<launch>
<!-- 将 Urdf 文件的内容加载到参数服务器 -->
<param name="robot_description" textfile="$(find demo4_urdf_gazebo)/urdf/urdf/urdf_gazebo_1helloworld.urdf" />
<!-- 启动 gazebo的仿真世界环境 -->
<include file="$(find gazebo_ros)/launch/empty_world.launch" />
<!-- 在 gazebo 中显示机器人模型 -->
<node pkg="gazebo_ros" type="spawn_model" name="model" args="-urdf -model mycar -param robot_description" />
</launch>
- 第一句,加载参数服务器;
- 第二句,调用roslaunch gazebo_ros empty_world.launch创建一个初始环境;
- 第三句,实际上是rosrun gazebo_ros spawn_model -urdf…显示机器人模型。
效果展示
运行launch文件即可看到如下效果: