本教程将会带你利用webots搭建一个简单的仿真环境,让你快速熟悉webots的用户界面和基本概念。在本教程中,您将创建第一个包含简单环境的模拟:一个有地板和墙壁的竞技场,几个盒子,一个电子冰球机器人以及一个用于机器人运动控制的控制器程序。
一个World是包含像对象是一个信息的文件,比如他们的样式,它们如何相互约束,天空是怎样的,重力是多少,摩擦力,物体的质量等。不同的对象称为“ 节点”,并在“ 场景树”中进行分层组织。因此,一个节点可能包含子节点。World存储在具有.wbt扩展名的文件中。文件格式源自VRML97语言,并且易于阅读。世界文件必须直接存储在名为的目录中worlds。
单击3D视图中的Pause按钮暂停当前模拟,位置如下图。如果主工具栏上的虚拟时间计数器已停止,则模拟将暂停。
依次点击Wizards
->New Project Directory
,该步骤用于创建一个新项目,点击后你应该能看到以下画面:
如果你把界面设置成了中文则为
向导->新项目目录
点击下一步,可以填入指定的项目目录
点击下一步,这里填入仿真文件的名称,这里勾选上最后一栏(默认是不勾选的)
点击下一步,完成,现在应该能看到我们创建好的场景了
如果你成功看到以上画面,恭喜,你刚刚创建了一个Webots世界!这时候您可以使用鼠标在3D视图中移动视点:左按钮(旋转),右按钮(平移)和滚轮(缩放)。
存储在世界文件中的Webots节点构成了场景树。可以在主窗口的两个子窗口中查看场景树:3D视图(在主窗口的中心)是场景树的3D表示,而场景树视图(在左侧)是层次表示。场景树。可以在场景树视图中修改节点和字段。它当前应列出以下节点:
每个节点都有一些称为Fields的可自定义属性。我们可以修改这些字段以更改矩形区域:
双击RectangleArena场景树中的节点。这应该打开节点并显示其字段。
选中floorTileSize
,你应该看到下方会多出一个框,将其值设置0.25 0.25。您应该立即在3D视图中看到效果。
可以通过同样的方法来改变场景中的其他设置,例如墙的高度(wallHeight)
双击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,不受重力影响,因此会悬空在棋盘上方,你需要重新设置质量
对结果满意后,请使用保存按钮保存世界。
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中将其选中,使其再次可见。因为我们不需要它,所以您实际上可以将其关闭。