Gazebo教程(十)——将钳子添加到机器人上

1、机器人零件

启动gazebo并确认可以加载各个model,打开~/.gazebo/models/my_robot/model.sdf。

gedit ~/.gazebo/models/my_robot/model.sdf

更新文件的内容使得model的主体更大,并且重新定位wheels。

<?xml version='1.0'?>
<sdf version='1.5'>
  <model name="mobile_base">
    <link name='chassis'>
      <pose>0 0 .25 0 0 0</pose>

      <inertial>
        <mass>20.0</mass>
        <pose>-0.1 0 -0.1 0 0 0</pose>
        <inertia>
          <ixx>0.5</ixx>
          <iyy>1.0</iyy>
          <izz>0.1</izz>
        </inertia>
      </inertial>

      <collision name='collision'>
        <geometry>
          <box>
            <size>2 1 0.3</size>
          </box>
        </geometry>
      </collision>

      <visual name='visual'>
        <geometry>
          <box>
            <size>2 1 0.3</size>
          </box>
        </geometry>
      </visual>

      <collision name='caster_collision'>
        <pose>-0.8 0 -0.125 0 0 0</pose>
        <geometry>
          <sphere>
            <radius>.125</radius>
          </sphere>
        </geometry>

        <surface>
          <friction>
            <ode>
              <mu>0</mu>
              <mu2>0</mu2>
            </ode>
          </friction>
        </surface>
      </collision>

      <visual name='caster_visual'>
        <pose>-0.8 0 -0.125 0 0 0</pose>
        <geometry>
          <sphere>
            <radius>.125</radius>
          </sphere>
        </geometry>
      </visual>
    </link>
    <link name="left_wheel">
      <pose>0.8 0.6 0.125 0 1.5707 1.5707</pose>
      <collision name="collision">
        <geometry>
          <cylinder>
            <radius>.125</radius>
            <length>.05</length>
          </cylinder>
        </geometry>
      </collision>
      <visual name="visual">
        <geometry>
          <cylinder>
            <radius>.125</radius>
            <length>.05</length>
          </cylinder>
        </geometry>
      </visual>
    </link>

    <link name="right_wheel">
      <pose>0.8 -0.6 0.125 0 1.5707 1.5707</pose>
      <collision name="collision">
        <geometry>
          <cylinder>
            <radius>.125</radius>
            <length>.05</length>
          </cylinder>
        </geometry>
      </collision>
      <visual name="visual">
        <geometry>
          <cylinder>
            <radius>.125</radius>
            <length>.05</length>
          </cylinder>
        </geometry>
      </visual>
    </link>

    <joint type="revolute" name="left_wheel_hinge">
      <pose>0 0 -0.03 0 0 0</pose>
      <child>left_wheel</child>
      <parent>chassis</parent>
      <axis>
        <xyz>0 1 0</xyz>
      </axis>
    </joint>

    <joint type="revolute" name="right_wheel_hinge">
      <pose>0 0 0.03 0 0 0</pose>
      <child>right_wheel</child>
      <parent>chassis</parent>
      <axis>
        <xyz>0 1 0</xyz>
      </axis>
    </joint>

  </model>
 </sdf>

2、组合成一个复杂的机器人

2.1 创建一个新的model文件夹。

mkdir ~/.gazebo/models/simple_mobile_manipulator

修改model的config文件。

gedit ~/.gazebo/models/simple_mobile_manipulator/model.config
<?xml version="1.0"?>
<model>
  <name>Simple Mobile Manipulator</name>
  <version>1.0</version>
  <sdf version='1.5'>manipulator.sdf</sdf>

  <author>
    <name>My Name</name>
    <email>me@my.email</email>
  </author>

  <description>
    My simple mobile manipulator
  </description>
</model>

2.2 然后创建model的sdf文件。

gedit ~/.gazebo/models/simple_mobile_manipulator/manipulator.sdf
<?xml version="1.0" ?>
<sdf version="1.5">
  <model name="simple_mobile_manipulator">

    <include>
      <uri>model://my_gripper</uri>
      <pose>1.3 0 0.1 0 0 0</pose>
    </include>

    <include>
      <uri>model://my_robot</uri>
      <pose>0 0 0 0 0 0</pose>
    </include>

    <joint name="arm_gripper_joint" type="fixed">
      <parent>mobile_base::chassis</parent>
      <child>simple_gripper::riser</child>
    </joint>

    <!-- attach sensor to the gripper -->
    <include>
      <uri>model://hokuyo</uri>
      <pose>1.3 0 0.3 0 0 0</pose>
    </include>

    <joint name="hokuyo_joint" type="fixed">
      <child>hokuyo::link</child>
      <parent>simple_gripper::palm</parent>
    </joint>

  </model>
</sdf>

2.3 用gazebo验证。

发布者

harifun

小学的时候,说自己要当一名科学家!那时候,看到新闻联播在宣传“四化”,立志要为现代化作出贡献!高中立志要做机器人,本科和硕士学的自动化!毕业进入华为,因为是测试岗位而离开,然后进入创业公司做工业扫地机器人和服务式机器人!A轮完成数千万级融资后因家庭原因离开上海,回武汉进入一家上市公司从事激光雷达设计工作!机器人是我一直以来的追求,希望有一天我能实现我的理想!

发表评论

电子邮件地址不会被公开。 必填项已用*标注