< >
Home » ROS2与Gazebo11入门教程 » ROS2与Gazebo11入门教程-构建仿真世界

ROS2与Gazebo11入门教程-构建仿真世界

说明:

  • 介绍如何创建机器人可以在其中进行仿真的环境即仿真世界

术语

  • 世界(World):该术语用于描述机器人和物体(例如建筑物、桌子和灯光等)以及包括天空、环境光等全局参数和物理属性的一个集合

  • 静态(Static):标记为静态的实体(即在SDF中具有 true 元素的实体)是只有碰撞几何体的物体。所有不打算让其移动的物体都应标记为静态,这有助于提升性能

  • 动态(Dynamic):标记为动态的实体(即缺少元素或者在SDF中将元素设置为false的实体)是同时具有惯性几何体和碰撞几何体的物体

设置

  • 确保已经安装好了Gazebo软件

  • 启动Gazebo后,就应该可以看见一个只有地平面的仿真世界

$ gazebo

请输入图片描述

添加物体

  • Gazebo软件有两种将物体添加到Gazebo中的机制:

  • 第一种机制是 一组简单的形状,可以直接通过渲染窗口上方的3个按钮添加形状为长方体、球体和圆柱体的物体(见下图)

请输入图片描述

  • 第二种机制是通过模型数据库来添加其它形状的物体,这是通过选择Gazebo中左侧面板上方的“插入(Insert)”选项卡来获得想要添加的物体(即模型)的

请输入图片描述

  • 添加简单形状

  • 通过单击渲染窗口上方的相应图标,可以将长方体(方盒)、球体和圆柱体添加到仿真世界中。每种形状的尺寸均为单位大小:

  • 方盒:1×1×1米

  • 球体:直径1米

  • 圆柱体:直径1米,长1米

  • 选中方盒图标,然后将鼠标移到渲染窗口上。您就会看到一个随鼠标移动的方盒。当对方盒的位置感到满意时,请单击鼠标左键,这样方盒就会放置在该位置上。

  • 对球体和圆柱体重复这个相同的过程,就应该会有一个如下图所示的仿真世界:

请输入图片描述

  • 从模型数据库中添加模型

  • Gazebo的模型数据库是一个包含机器人、桌子和建筑物等各种模型的存储库。

  • 选择左上角的“插入(Insert)”选项卡来访问模型数据库。

  • 模型列表会根据这些模型当前所处位置被分成几个部分。每个部分都标有相应的路径或URI。选择位于远程服务器上的某个物体将会下载该模型并将其存储在本地计算机的〜/.gazebo/models目录中。

  • 尝试向仿真世界中添加各种模型。下载模型时请耐心等待,因为其中一些模型可能很大,需要花费一定时间来下载。

  • 取决于您决定添加的模型,最终应会得到下图所示的仿真世界:

请输入图片描述

放置模型

  • 每个模型的位姿(pose)都可以通过平移和旋转工具进行更改(见下图)。

请输入图片描述

平移

  • 平移工具使您可以沿x,y和z轴移动物体。现在选择此工具(或按下t键)并单击要移动的物体。一个三轴视觉标记将会出现在物体上,通过该视觉标记就可以在x,y和z轴方向上移动该物体。

  • 也可以单击物体本身并将其拖动以在x-y平面上移动。可以通过在拖动物体的同时按住x,y或z键来控制物体沿哪个轴移动。

  • 可以按住Ctrl键将移动捕捉到1米的网格上。

  • 如果物体没有与仿真世界对齐(例如,在使用下面要说明的旋转工具之后),则可以按住Shift键,以便视觉标记显示与仿真世界的对齐情况,这样您就可以在仿真世界坐标中进行平移。

  • 现在尝试将物体四处移动到不同的位姿中。

旋转

  • 旋转工具可让您围绕x,y和z轴对模型进行旋转定向。现在选择此工具(或按下r键)并单击要旋转的物体。三个环形视觉标记将会出现在物体上,使您可以绕x,y和z轴旋转该物体。

  • 也可以单击物体本身并在拖动物体的同时按住x,y或z键,以将旋转限制在这三个轴中的一个轴上。

  • 可以按住Ctrl键将旋转捕捉到45度的增量上。

  • 如果对象没有与仿真世界对齐,则可以按住Shift键,以便视觉标记显示与仿真世界的对齐情况,这样您就可以绕仿真世界坐标轴旋转该物体。

  • 尝试将物体旋转到不同的位姿中。

缩放

  • 缩放工具可让您在x,y和z轴方向上调整模型的尺寸。当前,缩放工具仅适用于简单形状,即方盒、圆柱体和球形。现在选择此工具(或按下s键)并单击一个简单形状。三轴视觉标记将会出现在该物体上,使您可以缩放该物体在x,y和z轴方向上的尺寸。

  • 也可以单击物体本身并在拖动该物体的同时按住x,y或z键,以将缩放比例限制在这三个轴中的一个轴上。

  • 可以按住Ctrl键以1米为增量进行缩放。

  • 尝试将简单形状缩放成不同的尺寸。

删除模型

  • 也可以通过选中模型并点击Delete键来删除模型,或者通过右键单击模型并选择“删除(Delete)”菜单项来删除模型。

  • 尝试删除一些模型。

保存仿真世界

  • 一旦对仿真世界感到满意,就可以通过“文件(File)”菜单进行保存。

  • 现在请选择“文件(File)”菜单并选择其中的“将世界另存为(Save World As)”菜单项。

  • 这样就会出现一个弹出窗口,要求您输入新的文件名。输入my_world.sdf并单击“确定(Okay)”按钮就会保存仿真世界文件。

加载仿真世界

  • 可以在命令行中加载已保存的世界文件,命令为:
gazebo my_world.sdf
  • 该仿真世界文件名必须在当前工作目录中,否则就必须指定该世界文件的完整路径。

参考: 

纠错,疑问,交流: 请进入讨论区点击加入Q群

获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号


标签: ros2与gazebo11入门教程