Attach Meshes

网格可以在视觉和传感器上增加真实性。本教程演示了用户如何用自定义的网格来定义模拟中他们的模型怎么出现。

Attach a Mesh as Visual

对网格最典型的用法是生成一个视觉上更加真实。

1.进入目录:

cd ~/.gazebo/models/my_robot

2.打开model.sdf文件。

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

3.我们将添加视觉给网格。找到名字visual,看起来如下:

    <visual name='visual'>
      <geometry>
        <box>
          <size>.4 .2 .1</size>
        </box>
      </geometry>
    </visual>
4.一个网格可以来自磁盘中的或者其他模式。在这个例子中,我们将用来自pioneer2dx模型的网格。改变视觉单元(保留文件的其余的完整部分)

    <visual name='visual'>
      <geometry>
        <mesh>
          <uri>model://pioneer2dx/meshes/chassis.dae</uri>
        </mesh>
      </geometry>
    </visual>
则model.sdf变成如下:
<pre name="code" class="html"><?xml version='1.0'?>
<sdf version='1.4'>
  <model name="my_robot">
   <static>false</static>
          <link name='chassis'>
            <pose>0 0 .1 0 0 0</pose>

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

    <visual name='visual'>
      <geometry>
        <mesh>
          <uri>model://pioneer2dx/meshes/chassis.dae</uri>
        </mesh>
      </geometry>
    </visual>
          <collision name='caster_collision'>
            <pose>-0.15 0 -0.05 0 0 0</pose>
            <geometry>
                <sphere>
                <radius>.05</radius>
              </sphere>
            </geometry>

            <surface>
              <friction>
                <ode>
                  <mu>0</mu>
                  <mu2>0</mu2>
                  <slip1>1.0</slip1>
                  <slip2>1.0</slip2>
                </ode>
              </friction>
            </surface>
          </collision>

          <visual name='caster_visual'>
            <pose>-0.15 0 -0.05 0 0 0</pose>
            <geometry>
              <sphere>
                <radius>.05</radius>
              </sphere>
            </geometry>
          </visual>


          </link>
      <link name="left_wheel">
        <pose>0.1 0.13 0.1 0 1.5707 1.5707</pose>
        <collision name="collision">
          <geometry>
            <cylinder>
              <radius>.1</radius>
              <length>.05</length>
            </cylinder>
          </geometry>
        </collision>
        <visual name="visual">
          <geometry>
            <cylinder>
              <radius>.1</radius>
              <length>.05</length>
            </cylinder>
          </geometry>
        </visual>
      </link>
      <link name="right_wheel">
        <pose>0.1 -0.13 0.1 0 1.5707 1.5707</pose>
        <collision name="collision">
          <geometry>
            <cylinder>
              <radius>.1</radius>
              <length>.05</length>
            </cylinder>
          </geometry>
        </collision>
        <visual name="visual">
          <geometry>
            <cylinder>
              <radius>.1</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>


 5.查看你的本地缓存模型数据库,看你是否有上边所指的pioneer2dx的模型。 

ls -l ~/.gazebo/models/pioneer2dx/meshes/chassis.dae

6.在gazebo中,拖拽My Robot模型到world中。视觉将看起来像pioneer2dx。

1.对于我们的机器人来说,机箱实在是太多了。所有我们需要标定。

2.用一个比例因子来标定视觉。

    <visual name='visual'>
      <geometry>
        <mesh>
          <uri>model://pioneer2dx/meshes/chassis.dae</uri>
           <scale>0.9 0.5 0.5</scale>
        </mesh>
      </geometry>
    </visual>

视觉也有点太低了(在Z轴上)。通过对视觉指定一个姿势来提高一点。

    <visual name='visual'>
     <pose>0 0 0.05 0 0 0</pose>
      <geometry>
        <mesh>
          <uri>model://pioneer2dx/meshes/chassis.dae</uri>
          <scale>0.9 0.5 0.5</scale>
        </mesh>
      </geometry>
    </visual>

需要主要的是,我们姿势修改了机器人的<visual>元素,所以通过用户界面和基于用户界面的摄像头,深度相机和GPU激光器,使机器人将看起来像pioneer2DX模型。由于我们没有修改<collison>单元,盒子仍然会用物理引擎,用于碰撞动力学和基于CPU的光传感器。

Collada  format -- .dae

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值