【Gazebo入门教程】第二讲 模型库导入与可视化机器人建模(模型编辑器)

【Gazebo入门教程】第二讲 模型库导入与可视化机器人建模(模型编辑器)

【Gazebo入门教程】第二讲 模型库导入与可视化机器人建模(模型编辑器)_第1张图片

文章目录

  • 【Gazebo入门教程】第二讲 模型库导入与可视化机器人建模(模型编辑器)
    • 一、模型库导入
    • 二、模型编辑器(以轮式车辆构造为例)
      • 1. 用户界面介绍
      • 2. 轮式车辆实例分析
  • 总结

一、模型库导入

  • 1.1 下载模型文件

此处的模型文件可以自行寻找下载,这里提供一个链接供大家参考,此文件包含许多常用模型,使用时下载为压缩包格式即可,Ubuntu下解压缩、移动文件的指令链接博客:Ubuntu常见指令 ,下载链接如下:

	https://github.com/osrf/gazebo_models
  • 1.2 创建models文件夹

\qquad 指令如下:此处需要注意,gazebo文件夹为隐藏文件,需要Ctrl + H解除隐藏

	cd /usr/share/gazebo-11
	mkdir -p models

\qquad 此处的gazebo文件夹路径常为/usr/share/gazebo-11等

  • 1.3 拷贝模型文件
  1. 将压缩包移动到models文件夹下:
sudo mv /home/zhaoxu/Downloads/gazebo_models_master.zip /usr/share/gazebo-11/models
  1. 解压压缩包:转移到指定目录下,使用如下解压指令
sudo unzip gazebo_models_master.zip
  • 1.4 测试

\qquad 打开gazebo,在INSERT面板中选择模型导入(需要增加对应路径),效果如下:

【Gazebo入门教程】第二讲 模型库导入与可视化机器人建模(模型编辑器)_第2张图片


二、模型编辑器(以轮式车辆构造为例)


1. 用户界面介绍

  • 进入模型编辑器:
  1. 顶部菜单栏点击Edit,选择Model Editor
  2. 使用热键Ctrl + M

\qquad 注意:进入模型编辑器后主界面仿真将会暂停,底部工具栏会隐藏,其余与主界面很相似,具体如下

【Gazebo入门教程】第二讲 模型库导入与可视化机器人建模(模型编辑器)_第3张图片

① 工具栏:编辑模型的工具

\qquad 工具包含与场景对象交互的工具,从左到右分别是:

平移、缩放、旋转、撤销与重做、复制和粘贴、对齐、捕捉、视图调整及联合创建


② 调色板:左面板

\qquad 左面板具体包含INSERT选项卡和MODEL选项卡,具体介绍如下


\qquad (1)INSERT选项卡

  • 基本功能:将新零件(链接和模型)添加到模型编辑器,具体部分如下;
  1. 简单形状:基本几何形状,在模型中形成链接;
  2. 自定义形状:从模型链接中导入自定义网格,支持COLLADA(.dae),3D Systems(.stl),Wavefront(.obj)和W3C SVG(.svg)文件
  3. 模型数据库:模型列表,可按与简单形状相同方式插入;

\qquad (2)MODEL选项卡

  • 基本功能:设置模型名称和基本参数,显示模型中的链接、关节、模型约束和插件

\qquad 注意:修改参数使用Link Inspector,打开方式如下,具体内部界面在实例中解释:

  1. 双击模型列表中的项目;
  2. 右键单击列表中的项目,选择Open Link Inspector;
  3. 双击场景中的项目;
  4. 右键单击场景中的项目,选择Open Link Inspector;

③ 可视化建模的缺陷:需要通过SDF文件完成

  1. 无法编辑嵌套模型及其中的链接;
  2. 无法添加和编辑类似于“平面、折线”等几何图形;
  3. 不支持高度图、CAD等功能;

2. 轮式车辆实例分析


(1)底盘

\qquad ① 创建底盘(INSERT)

\qquad 左侧面板的INSERT选项卡,单击box图标,拖动移到场景中的目标位置,单击释放:

【Gazebo入门教程】第二讲 模型库导入与可视化机器人建模(模型编辑器)_第4张图片

\qquad ② 调整底盘尺寸(工具栏缩放)

\qquad 首先选中缩放工具,然后在主界面选中底盘,出现RGB标记,红色标记代表X轴,绿色代表Y,蓝色代表Z,单击拖动对应标记缩放底盘,目标2m长(地面网格单位1m),高度为原本一半;

【Gazebo入门教程】第二讲 模型库导入与可视化机器人建模(模型编辑器)_第5张图片

\qquad ③ 修改底盘位置(Link Inspector

\qquad 打开底盘对应的关节检查器,其中Link负责设置质量惯性密度等特性,Visual负责设置形状尺寸,Collision负责设置碰撞边界,此处需要修改Link选项卡中的Pose参数,修改Z = 0.4m,然后选择OK保存更改并退出

【Gazebo入门教程】第二讲 模型库导入与可视化机器人建模(模型编辑器)_第6张图片

(2)前轮

\qquad ① 插入并修改轮子(INSERT&Link Inspector)

\qquad 首先从INSERT选项卡中插入圆柱体(最左侧简单形状),紧接着使用Link Inspector进行修改,将Pose中的Roll角调整为1.5707rad即90°,然后打开Visual栏,展开可视项,将Geometry中的Radius和Length分别调整为0.3m和0.25m,同样打开Collision栏,重复Visual中的操作,保存并关闭

【Gazebo入门教程】第二讲 模型库导入与可视化机器人建模(模型编辑器)_第7张图片

注意:第一步是为了旋转圆柱,第二步是为了调整视觉尺寸,第三步是调整碰撞模拟尺寸
\qquad (如果visual和collision有差别,会出现圆柱内套圆柱即穿模的情况)

\qquad ② 复制轮子并构建关节联系(Create Joint

\qquad 首先,选中轮子后,选中工具栏中的复制图标,然后单击粘贴图标在场景中插入复制轮:

【Gazebo入门教程】第二讲 模型库导入与可视化机器人建模(模型编辑器)_第8张图片
\qquad 给车轮和底盘间添加关节,单击工具栏上的Joint图标,进入Create Joint框:单击底盘将其设置为父代,单击轮子设置为子代,Joint Types选择为Revolute(旋转关节)

【Gazebo入门教程】第二讲 模型库导入与可视化机器人建模(模型编辑器)_第9张图片
\qquad 配置旋转轴:将Joint axis修改为Z(0,0,1);对齐车轮与底盘:使用Joint Creation中的Align links,单击X Align Max(x栏的第三个),单击Y Align Max(Y栏的第三个),并选中右侧Reverse,将轮子的最小值(最大值的反方向)与底盘的最大值对齐,完成后将另一个轮子重复操作(此时Y Align Max应选第一个)

【Gazebo入门教程】第二讲 模型库导入与可视化机器人建模(模型编辑器)_第10张图片

注意:为位置标准化,可将底盘位置设置为(2.0,0.787,0.332),设置好关节后将两个前轮高度设为0.3m


(3)万向轮

\qquad 首先插入一个球体,设置球体半径为0.2m,紧接着创建关节,注意:Joint types需为Ball,x轴最小对齐,y轴居中对齐,最后将小球的Z调整为0.2m即可(可从model栏中选中小球)

【Gazebo入门教程】第二讲 模型库导入与可视化机器人建模(模型编辑器)_第11张图片

(4)传感器

\qquad 在INSERT中Model Database找到已有库,添加深度相机(Depth Camera),平移放置在大概y轴中间、小车上方,紧接着创建固定关节,令Joint typesFixed即可,图示如下:

【Gazebo入门教程】第二讲 模型库导入与可视化机器人建模(模型编辑器)_第12张图片


(5)插件(增强模型)

\qquad 在左侧栏中MODEL选项卡,在Model Plugins下单击Add按钮,进入Model Plugin Inspector界面,按照下图所示添加插件并保存即可:

【Gazebo入门教程】第二讲 模型库导入与可视化机器人建模(模型编辑器)_第13张图片

注意:Filename对应于本地计算机上存储的插件库的实际文件名。它以动态链接的共享库的形式存在,因此具有命名约定和扩展名.so(在Linux上),且由于Innerxml字段留空,在使用follower插件的情况下,它会对其附加的模型类型做出许多假设,并尝试自动找到关节和传感器


(6)保存模型

\qquad File菜单中选择Save As来保存模型,保存后再次进入 File菜单中选择Exit Model Editor退出模型编辑器回归仿真界面,可以通过插入其他物体开启播放观察汽车移动,编辑模型则需要右键单击小车并选择Edit Model

【Gazebo入门教程】第二讲 模型库导入与可视化机器人建模(模型编辑器)_第14张图片


总结

  • 内容分析:本篇博客主要介绍了在Gazebo中如何导入已有的模型库,并根据一个轮式小车的详细实例对Gazebo中的模型编辑器进行了深入详细研究,通过图形化方式创建关节连杆,并通过设置关节等完成机器人连接,最后添加相应传感器和插件实现机器人的运动和其他功能,下节博客将会讲述如何使用SDF文件在Gazebo中建立机器人模型并完成仿真,敬请期待。

在这里插入图片描述

  • 注意:本文参考了Gazebo官方网站以及古月居中的Gazebo有关教程,主要目的是方便自行查询知识,巩固学习经验,无任何商业用途

你可能感兴趣的:(Gazebo入门教程,编辑器,ubuntu,linux,自动驾驶,人工智能)