前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Gazebo之创建一个小车

Gazebo之创建一个小车

作者头像
用户1696846
发布2020-01-15 15:27:25
1.4K0
发布2020-01-15 15:27:25
举报
文章被收录于专栏:Android自学Android自学

背景:在一台已经搭建好gazebo的ubuntu系统。(此文是窗口操作,所有操作在终端中也可完成,终端操作方式不再叙述)

找到Home/.gazebo/models 目录,发现下面有好多内置的模型文件夹,里面内置了各种描述模型的文件,这些文件都是可以参考和学习的文件。

注意:.gazebo是隐藏文件夹,需要ctrl+H强制显示,才可以在ubuntu的文件管理器中看到。

step1

在models文件夹下面,我们新建一个名为my_robot的文件夹。

step2

进入到my_robot文件夹中,右键新建一个model.config的空白文档。

并编辑此文件,输入以下代码,保存退出。

此段代码用来描述我们新建的仿真模型,具体含义挺通俗易懂的,不再具体解释。

代码语言:javascript
复制
<?xml version="1.0"?>
<model>
  <name>My Robot</name>
  <version>1.0</version>
  <sdf version='1.4'>model.sdf</sdf>
 
  <author>
   <name>My Name</name>
   <email>me@my.email</email>
  </author>
 
  <description>
    My awesome robot.
  </description>
</model>

step3

在my_robot文件夹中,右键新建一个model.sdf的空白文档。这个是重点的模型文件。

在其中输入以下代码并保存退出。解释在代码中注释过了,可以看一下。

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<sdf version="1.4"> 
  <model name="my_robot"> 
    <!--官方文档地址:http://sdformat.org/tutorials?cat=specification&-->
    <static>true</static>  
    <!--添加长方形底座。
    创建的是一个0.4*0.2*0.1米的盒子,由于盒子高为0.2,以盒子的中心点为坐标系,
    故需要<pose>0 0 .1 0 0 0</pose>,碰撞元素(collision)指定了所使用的碰
    撞检测引擎的形状,视觉元素(visual)指定了视图引擎的形状,大部分的例子中,
    collision和visual是相同的,最常见的使用不同collision和visual元素是为了
    搭配一个使用了复杂网格的视觉元素而简化了碰撞元素,这有利于提高性能。-->
    <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> 
          <box> 
            <size>.4 .2 .1</size> 
          </box> 
        </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> 
  </model> 
</sdf>

保存退出。

至此我们的模型文件夹目录下文件结构如下。

step4

测试我们新建的机器人。

终端中输入gazebo并回车,打开gazebo软件。

我们在左侧选项卡Insert中,往下翻,会找到一个名为My Robot的模型,点击此模型名字,然后在右方地图中合适位置,单击鼠标左键,即可在地图中添加我们新建的机器人小车。

至此,我们的小车模型可以正常在gazebo软件中显示,说明我们的sdf文件没有问题。

其他

SDF官方文档地址:http://sdformat.org/tutorials?cat=specification&

官方网址http://sdformat.org也可以下载SDFFormat软件源码,下载速度挺快的,就不放网盘了。

gazebo地图操作技巧  : 缩放地图:鼠标滚轮在地图上滚动 旋转角度:shift键+鼠标左键按住 上下左右拖拽即可旋转地图视角。 左键选中模型,在上面右键,可以移动或者删除等。

Download as PDF

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • step1
  • step2
  • step3
  • step4
  • 其他
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档