用urdf檔新建robot - tychien/gazebo_tutorial_zh GitHub Wiki

$ cd $HOME/catkin_ws/src
$ catkin_create_pkg my_robot_description
$ cd my_robot_description
$ mkdir launch urdf
$ cd urdf/
$ touch robot.urdf

編輯robot.urdf檔 $ vim robot.urdf

<?xml version="1.0" ?>
<robot name="my_robot" xmlns:xacro="http://www.ros.org/wiki/xacro">

     <!-- 1st link -->
  <link name="link_chassis">
    <pose>0 0 0.1 0 0 0</pose>
    
    <inertial>
      <mass value="5"/>
      <origin rpy="0 0 0" xyz="0 0 0.1"/>
      <inertia ixx="0.0395416666667" ixy="0" ixz="0" iyy="0.106208333333" iyz="0" izz="0.106208333333"/>
    </inertial>

    <collision name="collision_chassis">
      <geometry>
        <box size="2 2 1"/>
      </geometry>
    </collision>

    <visual>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <box size="2 2 1"/>
      </geometry>
    </visual>

  </link>
</robot>

launch資料夾新增launch file

$ cd launch
$ vim spawn.launch
<?xml version="1.0" encoding="UTF-8"?>
<launch>
    <param name="robot_description" command="$(find xacro)/xacro --inorder '$(find my_robot_description)/urdf/robot.urdf'" />

    <arg name="x" default="0"/>
    <arg name="y" default="0"/>
    <arg name="z" default="0.5"/>

    <node name="my_robot_spawn" pkg="gazebo_ros" type="spawn_model" output="screen"
          args="-urdf -param robot_description -model my_robot -x $(arg x) -y $(arg y) -z $(arg z)" />

</launch>

編譯、執行

$ cd $HOME/catkin_ws
$ catkin_make
$ source devel/setup.bash
$ roslaunch my_robot_description spawn.launch
⚠️ **GitHub.com Fallback** ⚠️