官网教程链接:http://gazebosim.org/tutorials/?tut=attach_meshes
概述
先决条件:创建一个移动机器人
网格可以在视觉上和传感器上增加模型的真实感。本教程演示了用户如何使用自定义网格来定义他们的模型在模拟中的显示方式。
1.附加一个网格作为视觉
网格最常见的用途是创建一个逼真的视觉效果。
1.切换到my_robot目录
cd ~/.gazebo/models/my_robot
2.用你最喜欢的编辑器打开model.sdf文件
gedit ~/.gazebo/models/my_robot/model.sdf
3.我们将添加一个网格到底盘视觉。找到带有name=visual
的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>
5.查看你的本地缓存模型数据库,看看你是否有上述<mesh>
块引用的pioneer2dx
模型:
ls -l ~/.gazebo/models/pioneer2dx/meshes/chassis.dae
如果网格文件不存在,让Gazebo从模型数据库中拉出模型至少一次,通过在Gazebo中生成pioneer2dx
模型(在Insert->http://gazebosim.org/models下)。
或者手动下载模型文件到本地缓存:
cd ~/.gazebo/models
wget -q -R *index.html*,*.tar.gz --no-parent -r -x -nH http:
6.在Gazebo中,在世界中拖动My Robot模型。底盘的外观看起来像一个pioneer2dx。
7.对于我们的机器人来说,底盘显然太大了,所以我们需要缩放视觉。
8.修改视觉,使其具有缩放因子。
<visual name='visual'>
<geometry>
<mesh>
<uri>model://pioneer2dx/meshes/chassis.dae</uri>
<scale>0.9 0.5 0.5</scale>
</mesh>
</geometry>
</visual>
9.视觉效果也有点低(沿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>
元素,所以机器人看起来像缩小版的pioneer2dx模型,通过GUI和基于GPU的传感器,如摄像头,深度摄像头和GPU激光器。因为我们没有修改这个模型中的<collision>
元素,盒子的几何形状仍然会被碰撞动力学的物理引擎和基于CPU的射线传感器使用。
进一步的阅读
当创建一个新的机器人时,您可能需要使用自己的mesh文件。导入网格教程描述了如何将一个网格导入到适合Gazebo的格式中。
自我尝试
1.在3D仓库上找到并下载一个新的网格。确保网格是Collada (.dae)格式。
2.把网格放在~/.gazebo/models/my_robot/meshes
,如果有必要的话创建meshes子目录。
3.在机器人上使用您的新网格,要么作为底盘的替换,要么作为附加的<visual>
。
注意:材料(如扩展名为.png或.jpg的纹理文件),应该放在~/.gazebo/models/my_robot/materials/textures
。
Next
Next: Add a Sensor to a Robot
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)