【webots教程】你在webots搭建的第一个仿真环境

系列文章目录

【webots教程】简介与软硬件要求

【webots教程】安装

【webots教程】关于webots的超详细介绍

【webots教程】你在webots搭建的第一个仿真环境

【webots教程】编写你的第一个控制器

【webots教程】简单的避障机器人

一、创建一个新的World

一个World是包含像对象是一个信息的文件,比如他们的样式,它们如何相互约束,天空是怎样的,重力是多少,摩擦力,物体的质量等。不同的对象称为“ 节点”,并在“ 场景树”中进行分层组织。因此,一个节点可能包含子节点。World存储在具有.wbt扩展名的文件中。文件格式源自VRML97语言,并且易于阅读。世界文件必须直接存储在名为的目录中worlds。

1、场景

单击3D视图中的Pause按钮暂停当前​​模拟,位置如下图。如果主工具栏上的虚拟时间计数器已停止,则模拟将暂停。

在这里插入图片描述
依次点击Wizards->New Project Directory,该步骤用于创建一个新项目,点击后你应该能看到以下画面:

如果你把界面设置成了中文则为 向导->新项目目录

在这里插入图片描述
点击下一步,可以填入指定的项目目录
在这里插入图片描述
点击下一步,这里填入仿真文件的名称,这里勾选上最后一栏(默认是不勾选的)
在这里插入图片描述

点击下一步,完成,现在应该能看到我们创建好的场景了

在这里插入图片描述

2、修改场景

如果你成功看到以上画面,恭喜,你刚刚创建了一个Webots世界!这时候您可以使用鼠标在3D视图中移动视点:左按钮(旋转),右按钮(平移)和滚轮(缩放)

存储在世界文件中的Webots节点构成了场景树。可以在主窗口的两个子窗口中查看场景树:3D视图(在主窗口的中心)是场景树的3D表示,而场景树视图(在左侧)是层次表示。场景树。可以在场景树视图中修改节点和字段。它当前应列出以下节点:

  • WorldInfo:包含模拟的全局参数。
  • Viewpoint:定义主要视点相机参数。
  • TexturedBackground:定义场景的背景(如果稍微旋转视点,您应该看到远处的山)
  • TexturedBackroundLight:定义与上述背景关联的光。
  • RectangleArena:定义到目前为止您在该场景中看到的唯一对象。

在这里插入图片描述
每个节点都有一些称为Fields的可自定义属性。我们可以修改这些字段以更改矩形区域:

双击RectangleArena场景树中的节点。这应该打开节点并显示其字段。

在这里插入图片描述

选中floorTileSize,你应该看到下方会多出一个框,将其值设置0.25 0.25。您应该立即在3D视图中看到效果。
在这里插入图片描述

可以通过同样的方法来改变场景中的其他设置,例如墙的高度(wallHeight)

3、添加物体

双击RectangleArena场景树中的将其关闭并选择它。单击场景树顶部的Add按钮。在打开的对话框中,

在这里插入图片描述

依次选择PROTO nodes (Webots Projects) / objects / factory / containers / WoodenBox (Solid)。一个大盒子应该出现在舞台中央。

在这里插入图片描述

在场景树中双击它以打开其字段。将其更改size为0.1 0.1 0.1。
将其更改translation为0 0.05 0。或者,您可以使用3D视图中显示的绿色箭头来调整其translation.y字段。

在这里插入图片描述
你可以在3D视图中按住键盘Shift键并左击对象并拖动该框,将其移动到舞台的某个角落。

shift+左键为平移

在这里插入图片描述

选择3D场景中的木箱子,然后按Ctrl-C,Ctrl-V(Windows,Linux)或Cmd-C,Cmd-V(macOS)进行复制和粘贴。按住Shift并单击并拖动新框,将其移到其他位置。用同样的方法创建第三个木箱。移动这些木箱,尽量让其分散且不会位于竞技场的中心。您也可以使用绿色的旋转箭头沿垂直轴旋转框。也可以通过按住Shift并用鼠标右键拖动来完成。或者,您可以更改场景树中节点的rotation视场角度WoodenBox。

shift+右键为旋转

在这里插入图片描述

需要注意的是,木箱子默认mass为0,不受重力影响,因此会悬空在棋盘上方,你需要重新设置质量

对结果满意后,请使用保存按钮保存世界。

4、添加e-puck机器人

e-puck是一款小型机器人,带有差速轮,10个LED和几个传感器,其中包括8个DistanceSensors和一个Camera。在本教程中,我们仅对使用其轮子感兴趣。在接下来的教程中,我们将学习如何使用其他功能。

现在,我们将向世界添加一e-puck机器人模型。确保模拟已暂停并且仿真为0。如果不是这种情况,请使用Reset按钮重置模拟。

当修改Webots世界以进行保存时,首先要暂停模拟并将其重新加载到其初始状态,这是基本的要求,即主工具栏上的虚拟计时器应显示0:00:00:000。否则,每次保存时,每个3D对象的位置都会累积错误。因此,对世界的任何修改都应按以下顺序执行:暂停,重置,修改和保存仿真。

我们不需要从头开始创建e-puck机器人,只需要导入一个E-puck节点即可。这个节点实际上是一个PROTO节点,就像我们之前介绍的RectangleArena或WoodenBox一样。原型制作允许您创建自定义对象并重用它们。

选择WoodenBox场景树视图的最后一个节点。单击场景树视图顶部的Add按钮。在对话框中,选择PROTO nodes (Webots Projects) / robots / gctronic / e-puck / E-puck (Robot)。电子冰球机器人应该出现在舞台中央。移动和旋转此机器人,就像处理盒子一样。保存模拟并按下Run real-time按钮。

在这里插入图片描述

开始仿真后机器人应该会移动,LED闪烁,并且主动避免障碍物。这是因为它已经具备默认的控制器。你可能已经注意到3D视图的左上角出现了一个黑色的小窗口。它显示了电子冰球机器人的相机拍摄的图像。该图像将保持黑色,直到由机器人的控制器明确启用相机为止。可以通过拖动来移动该小图像窗口。也可以通过拖动右下角来调整其大小。最后,可以通过单击右上角的“ x”将其关闭。您可以通过在Overlays菜单中的Camera Devices中将其选中,使其再次可见。因为我们不需要它,所以您实际上可以将其关闭。


如果觉得ok,点个赞,点个关注,也欢迎给个打赏支持一下编者的工作
相关推荐
©️2020 CSDN 皮肤主题: 技术黑板 设计师:CSDN官方博客 返回首页