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中生成相對應的機器人。