Gazebo教程(四)如何制作model

之前还有一个教程是关于如何上传model的,由于我没有这个需求也没有bitbucket的帐号所以就不做了。

简介

这个教程会教关于模型SDF的一些细节。
SDF模型从简单到难都可以做,它取决于<model>的SDF标记,它本质上就是一个关于链接、关节、碰撞目标、视觉以及插件的收集。生成一个模型文件可能很困难,取决于你想要的模型的复杂程度。

SDF模型的组成部分

links:链接包括模型的物理性能,可以是轮子或者链子,每个link都要包括碰撞以及视觉属性。减少link的数量可以改善模型的表现和稳定度。比如,1个桌子模型包括5个link(四条腿和一个板)通过关节来进行链接,但是这样太复杂了,特别是这些关节从来不动,所以我们可以只用1个link和5个元素来组成这个桌子。
Collision:一个碰撞单元包括来一个用来进行碰撞检测的几何形状。最好是一个简单的形状,或者是一个三角网格(这会花费更多的资源)。一个link当中可能会包含很多碰撞元素。
Visual:一个视觉元素用来使link可视化,一个link可以包括0个或者更多。
Inertial:惯性元素表示link的运动性能,比如转动惯量矩阵和质量等。
Sensor:传感器通过插件收集世界当中的数据,一个link当中可以包括0个或者更多。
Light:一个光元素卡亚描述link的光资源,同上0个或更多。

Joints:一个关节用来链接两个link,一个类似于父母和孩子的关系被建立,其中的参数包括旋转轴的位置以及转轴限制。

Plugins:插件是一个由第三方写好用来控制模型的共享程序库。

建立模型

  1. 第一步 收集网格
    这个步骤包括收集所有你建立模型时需要的3Dmesh。Gazebo提供了一个简单的形状,方块/球/圆柱体。如果你的程序需要更复杂的,继续往下看。
    你可以从许多地方获取网格文件,Google's 3D warehouse这是谷歌的一个库,或者你已经有了必要的文件,可以自己通过Blender或者Sketchup制作mesh。
    在gazebo当中的mesh文件必须以使用STL/Collada/OBJ的格式。Collada或者OBJ更受欢迎。

tips:
1.使用你的3D建模软件移动mesh使其定位在中间,这种放置方式可以使模型在gazebo中的放置更加容易。
2.Collda和OBJ文件格式可以让你把材料固定在网格上,可以使用这种方式来改善你网格的视觉效果。
3.尽量保持网格的简单,这个特别重要如果你要把它当作碰撞单元。普通的联系可以使用边较少的多边形作为碰撞单元,多的多边形作为视觉效果。更好的尝试可以使用内置的形状作为碰撞单元进行测试。

第二步:制作模型的SDF文件
从一个简单的模型文件或者copy别人的文件开始,这里的捷径就是找一个你已经知道或者是可以简单调试的项目。
这里有个基础的小盒子模型可以作为碰撞模型,其中包括了视觉以及惯性部分。
首先制造一个box.sdf文件,然后把下面的程序拷贝到里面。

<?xml version='1.0'?>
<sdf version="1.4">
<model name="my_model">
  <pose>0 0 0.5 0 0 0</pose>
  <static>true</static>
    <link name="link">
      <inertial>
        <mass>1.0</mass>
        <inertia> <!-- inertias are tricky to compute -->
          <!-- http://gazebosim.org/tutorials?tut=inertia&cat=build_robot -->
          <ixx>0.083</ixx>       <!-- for a box: ixx = 0.083 * mass * (y*y + z*z) -->
          <ixy>0.0</ixy>         <!-- for a box: ixy = 0 -->
          <ixz>0.0</ixz>         <!-- for a box: ixz = 0 -->
          <iyy>0.083</iyy>       <!-- for a box: iyy = 0.083 * mass * (x*x + z*z) -->
          <iyz>0.0</iyz>         <!-- for a box: iyz = 0 -->
          <izz>0.083</izz>       <!-- for a box: izz = 0.083 * mass * (x*x + y*y) -->
        </inertia>
      </inertial>
      <collision name="collision">
        <geometry>
          <box>
            <size>1 1 1</size>
          </box>
        </geometry>
      </collision>
      <visual name="visual">
        <geometry>
          <box>
            <size>1 1 1</size>
          </box>
        </geometry>
      </visual>
    </link>
  </model>
</sdf>

记得盒子的中心要与其几何中心重合,为了让盒子的底部在地板上,我们要出初始化<pose>0 0 0.5 0 0 0</pose>这一行是让盒子在地板之上。
tips:上面制作的这个简单小盒子是静态的,所以不能移动,这是一个在建图当中很有用的特征(有些东西不能动比如墙)。当你完成了你的模型,设定<static>标识变成flase如果你想让模型移动。

第三步:加入模型的<sdf>文件
当你完成了sdf文件的创建,你可以慢慢增加复杂性,随着更多特性的增加使你的模型更加逼真。

以下是一个比较好的增加特性的顺序:
1.加一个link
2.设置一个碰撞元素
3.设置一个视觉元素
4.设置一个惯性属性
5.返回1制作完所有link
6.加入关节
7.加入插件

源网页:http://gazebosim.org/tutorials?tut=build_model&cat=build_robot

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,658评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,482评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,213评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,395评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,487评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,523评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,525评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,300评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,753评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,048评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,223评论 1 343
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,905评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,541评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,168评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,417评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,094评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,088评论 2 352

推荐阅读更多精彩内容