Gazebo创建机器人教程(一,二)

教程一:创建一个模型

一.简述

该教程主要讲述SDF文件的细节.

二.SDF模型的组成部分

links:它描述了一个模型的的一部分身体的物理属性.每一个link都可能包含许多个collision和visual属性.减少links的数量能够提升模型的稳定性.

    collision:它封装了geometry属性来用于碰撞检测.一个link可能由多个collision元素.

    visual:它用于可视化link的各个部分.一个link可能包含0个或多个visual元素.

    inertial:它描述了link的动态属性,例如质量和转动惯量矩阵.

    sensor:它为插件收集外界数据.一个link可能包含0个或多个sensors.

    light:它描述光源.一个link可能包含0个或多个lights.

joints:它连接两个link.

plugins:它是由第三方为了控制模型建立的共享库.

三.建立一个模型

第一步:收集meshes(网格)

这一步包括获取你所需要的所有三维mesh文件.Gazebo提供了一些简单的形状:方形,圆形,圆柱.如果需要更复杂的形状,继续往下读.

Meshes可以从许多地方获得.Google's 3D warehouse是一个获取3D模型的不错的库.或者如果你已经有了必要的文件的话,可以通过Blender或Sketchup建立一个自己的mesh.

Gazebo要求mesh文件以STL,Collada或OBJ格式存储,后两者是首选.

第二步:为你的模型建立SDF文件

最好以一个简单的模型开始,或者复制已有的模型文件来开始.这样的好处是不用从头开始且便于调试.

现在有一个非常基础的小盒子模型文件.

创建 box.sdf 模型文件

    gedit box.sdf

复制下列内容到 box.sdf 文件中

  0 0 0.5 0 0 0

  true

   

     

        1.0

       

         

          0.083     

          0.0       

          0.0       

          0.083     

          0.0       

          0.083     

       

     

     

       

         

            1 1 1

         

       

     

     

       

         

            1 1 1

         

       

     

   

 


要注意这个物体的原点在盒子的几何中心,所以为了把它放在地面上,设置0 0 0.5 0 0 0

Tip:在建立模型时设置为不可移动是很有用的.一旦那你完成了模型的建立,可以设置属性为false来使模型能够移动.

第三步:向SDF文件中添加属性

添加特征的一个比较好的顺序是:

1.添加一个link

2.设置collision标签

3.设置visual标签

4.设置inertial属性

5.回到步骤1直到所有links都被添加

6.添加所有的joints(如果有)

7.添加所有的plugins(如果有)



教程二:创建一个移动机器人

一.创建你的model文件夹

1.创建model文件夹

mkdir -p ~/.gazebo/models/my_robot

2.创建一个model config文件

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

3.复制以下内容

  My Robot

  1.0

  model.sdf

 

  My Name

  [email protected]

 

 

    My awesome robot.

 

4.在该路径~/.gazebo/models/my_robot/下创建model.sdf文件

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

5.复制以下内容

 

 

通过这一部分内容我们已经拥有了模型的一些基础内容.model.config文件描述了这个机器人的一些额外的属性.model.sdf文件包含了必要的标签,来实例化名为my_robot的模型.

二.建立模型框架

这一步将建立一个带两个轮子的长方体模型

第一步是布局模型的基本形状.为了完成这个我们需要使模型固定.

1.在 ~/.gazebo/models/my_robot/model.sdf中通过true使模型固定.


2.添加长方体


这里建立了一个0.4x0.2x0.1米的长方体.在大多数情况下,collision和visual元素是相同的.

3.运行Gazebo查看你的模型,通过Insert Model插入模型并显示.

gazebo

你会看到一个白的漂浮的长方体.在地面上方1m处.

4.现在我们可以添加一些附属物.比如一个没有摩擦的球体.这种方法比添入一个带关节的车轮好,因为他带来的限制更少.


确认它在模型中出现了.(不需要重启Gazebo)

5.现在我们添加一个左轮.在上面的程序中添加如下代码


再次确认.

6.我们可以复制左轮然后调整他的位姿来作为右轮.继续添加如下代码


7.设置为false使模型能够移动,并添加为左右轮各添加一个合页


这两个关节绕y轴旋转0 1 0,并连接车轮和车身.

8.启动Gazebo,并插入模型.然后拖拽屏幕右边的小点.

9.这样会出现一个包含各个关节不同类型控制器的窗口.

10.在Force栏下,给每个关节添加一个0.1N/m的力,这个机器人会向前移动.



你可能感兴趣的:(Gazebo创建机器人教程(一,二))