ROS(Robot Operating System)
1.使用launch file在gazebo中生成urdf机器人
最近接触了ROS(Robot Operating System),发现单单学习官网http://wiki.ros.org/上的教程,在实际操作过程中仍然会遭遇许多困难。这一系列关于ROS的文章记录了ROS学习过程中可能遇到的问题,巩固自己的记忆,也希望给大家带来一点帮助。这些文章的环境都是基于Ubuntu linux 的 ROS开发。
本篇的主题是如何使用launch file 在Gazebo中生成一个urdf描述的机器人模型。
首先附上launch file 全部代码 :
<?xml version="1.0" encoding="UTF-8"?><launch><include file="$(find gazebo_ros)/launch/empty_world.launch"><arg name="world_name" value="worlds/road.world"/></include><param name="robot_description" command="cat $(find part2_robot_descriptions)/urdf/robot1.urdf"/><node name="urdf_spawner" pkg="gazebo_ros" type="spawn_model" output="screen"args="-urdf -param robot_description -model robot1"/></launch>
这个launch file 所执行的操作很简单,下面我们分段解释一下这些操作
- 使用gazebo_ros导入一个world文件,机器人模拟所用的环境。
<include file="$(find gazebo_ros)/launch/empty_world.launch"><arg name="world_name" value="worlds/road.world"/> </include>
使用include导入gawebo_ros中的launch file,通过修改参数world_name,可以生成不同的世界。
例如这里我们使用了road.world。在usr/share/gazebo-7/worlds 中可以查看我们可用的world。
- 代码的另外一部分,用于在gazebo中生成urdf描述的机器人。参数 robot_description command的值是想要生成的urdf文件的绝对路径。
<param name="robot_description" command="cat $(find part2_robot_descriptions)/urdf/robot1.urdf"/><node name="urdf_spawner" pkg="gazebo_ros" type="spawn_model" output="screen"args="-urdf -param robot_description -model robot1"/>
通过这两部分代码,就可以在gazebo中生成一个特定的world,并在world中生成相对应的机器人。