机器人模拟器webots初学者入门教程

在这里插入图片描述
Webots GUI由四个主要窗口组成:

  • 显示并允许您与3D模拟进行交互的3D window(3D窗口)
  • 表示当前世界的层次结构的Scene tree(场景树)
  • 允许您编辑源代码的Text editor(文本编辑器)
  • 以及最后,同时显示编译和控制器输出的Console(控制台)

GUI有九个菜单:File, Edit, View, Simulation, Build, Overlays, Tools, Wizards和Help。

在这里插入图片描述

文件菜单(File)

在这里插入图片描述
File (文件)菜单允许您执行常规的文件操作:加载,保存等。

  • New World 新世界菜单项目(和按钮)中只含有模拟窗打开一个新的世界ElevationGrid,显示为10×10平方1米×1米的表面上的棋盘。
  • Open World… 打开世界…”菜单项(和按钮)打开一个文件选择对话框,该对话框允许您选择要加载的“ .wbt”文件。
  • 通过Open Recent World 打开最近的世界”菜单项,可以从子菜单中显示的列表中选择一个最近打开的“
    .wbt”文件,以重新打开该文件。
  • Open Sample World 打开示例世界”菜单项将打开一个对话框,列出所有可用的示例世界,在其中可以通过在搜索字段中输入文件名或其中的一部分来搜索要加载的特定“
    .wbt”文件。
  • Save World 保存世界”菜单项(和按钮)使用当前文件名(显示在主窗口顶部的文件名)保存当前世界。在每个Save.wbt文件的内容上都将被覆盖,Webots不会创建任何备份副本,因此,您应谨慎使用此按钮,并最终手动进行安全副本。
  • Save World As… 另存为…”菜单项(和按钮)使用用户输入的新文件名保存当前世界。请注意,“。wbt”文件应始终保存在Webots项目目录以及“worlds”子目录中,否则将无法重新打开该文件。
  • Reload World 重新加载世界”菜单项(和按钮)从已保存的版本重新加载当前世界,并从头开始重新进行仿真。
  • Reset Simulation 复位仿真菜单项目(和按钮)恢复模拟的初始状态。仿真并没有像重新加载一样完全被破坏和重建,但是所有节点的初始状态都得以恢复,这要快得多。
  • New Text File 新建文本文件”菜单项(和按钮)在文本编辑器中打开一个空文本文件。
  • Open Text File… 打开文本文件…”菜单项(和按钮)打开一个文件选择对话框,该对话框允许您选择要加载的文本文件(例如“ .java”文件)。
  • Save Text File 保存文本文件”菜单项(和按钮)将保存当前文本文件。
  • Save Text File As… 将文本文件另存为…”菜单项(和按钮)使用用户输入的新文件名保存当前文本文件。
  • Save All Text Files 将保存所有文本文件菜单项保存所有打开的和未保存的文本文件。
  • Revert Text File 还原文本文件”菜单项(和按钮)从保存的版本中重新加载文本文件。
  • Print Preview… 打印预览…”菜单项打开一个窗口,可让您管理页面布局,以便从文本编辑器中打印文件。
  • Print… 打印…”菜单项打开一个窗口,使您可以打印文本编辑器的当前文件。
  • Import VRML97… 导入VRML97…菜单项,在现场树的末尾添加VRML97对象。这些对象来自您必须指定的VRML97文件。此功能对于导入在3D建模程序中建模的复杂形状,然后导出到VRML97(以前称为VRML
    2.0)非常有用。大多数3D建模软件,例如3D Studio Max,Maya,AutoCAD,Pro Engineer,AC3D或Art Of Illusion,都包含VRML97(或VRML 2.0)导出功能。请注意,Webots无法以VRML
    1.0格式导入文件。导入后,这些对象将在场景树的底部显示为Group,Transform或Shape节点。然后,您可以将这些对象转换为Webots节点(例如Solid,Robot等),或将它们剪切并粘贴到children现有Webots节点列表中。
  • Export VRML97… 导出VRML97…项目让您当前载入世界保存为“.WRL”的文件,符合VRML97标准。反过来,可以使用任何VRML97查看器和大多数3D建模软件打开此类文件。
  • 使用Take Screenshot…
    “截取屏幕截图…”项可以截取Webots中当前视图的截屏。它会打开一个文件对话框,将当前视图另存为PNG或JPG图像。
  • Make Movie… 制作电影…项允许你创建MPEG电影(Linux和MacOS)或AVI动画(Windows)中。电影录制开始后,将在中更改此项Stop
    Movie…。在录制期间,可以更改运行模式并暂停模拟。但是,仅在Webots步骤期间捕获帧,而在暂停模拟时不捕获。除了选择影片的分辨率和压缩质量外,还可以通过设置动画来以加速模式或慢动作记录模拟。Video
    acceleration弹出对话框中的值。如果视频加速度值小于1,则录制的动画将比模拟慢。最大减慢速度,即最小加速度值,是由模拟的基本时间步长定义的,因为不可能以比模拟更新率更高的帧率进行记录。为了增加最大的减慢速度,您应该减少仿真的基本时间步长。选中视频字幕选项将在电影的右上角显示加速度值。
  • Export HTML5 Model… 导出HTML5模型…”项允许您将当前世界导出为交互式3D“ .html”文件。您可以在本节中获得有关此主题的更多信息。
  • Make HTML5 Animation… 制作HTML5动画…”项使您可以将模拟记录为3D动画并将其发布在HTML5网页上。开始动画录制后,此项目将更改为Stop HTML5
    Animation…,可用于停止动画录制。您可以在本节中获得有关此主题的更多信息。
  • Quit 退出将终止当前的模拟并关闭Webot。

注意:在Windows上,使用“退出”代替“退出”。

编辑菜单(Edit)

在这里插入图片描述

“ 编辑”菜单提供了常用的文本编辑功能,可操纵在“ 文本”编辑器中打开的文件,例如“复制”,“粘贴”,“剪切”等。

查看菜单(View)

在这里插入图片描述
使用“View (查看)”菜单可以控制模拟窗口中的查看。

  • Follow Object (跟随对象)子菜单可固定的(静态)视点和跟随移动对象(通常是一个机器人)的视点之间切换。如果希望视点跟随对象,则首先需要用鼠标选择对象,然后根据所需的以下行为检查子菜单中的一项。

  • 在这里插入图片描述Restore Viewpoint (加载或还原文件)后,“ 还原视点”项会将视点的位置和方向恢复为其初始设置。当您在场景中导航时迷路并想要返回原始视点时,此功能非常方便。
    -在这里插入图片描述 Move viewpoint to object(将视点移至对象)会将视点移至中心并在选定节点上缩放。如果所选项目是字段,则将定位上级父节点。该对象将位于3D视图的中心,并且将完全可见。

  • 在这里插入图片描述Change View (更改视图)子菜单移动视点对准它在任何所选择的对象周围的世界六大对齐轴。如果未选择任何对象,则视点将以世界原点为中心。可用的选项为
    在这里插入图片描述前视图, 在这里插入图片描述后视图, 在这里插入图片描述左视图, 在这里插入图片描述右视图, 在这里插入图片描述顶视图和 在这里插入图片描述底视图。

  • Fullscreen“ (全屏)”项启用和禁用在整个屏幕上显示3D窗口。

  • Virtual Reality Headset(虚拟现实耳机)子菜单允许你使用虚拟现实的耳机,如HTC万岁或Oculus Rift以查看模拟:

  • 将启用选项允许你切换模拟视图耳机。

  • “ 跟踪头戴式耳机位置”和“ 跟踪头戴式耳机方向”项目指定是否应跟踪头戴式耳机的位置和方向并将其应用于视点。

  • “ 查看左眼”,“ 查看右眼”和“
    空视图”单选按钮使您可以选择在模拟视图中应显示的内容。您可以看到左眼图像,右眼图像或什么都看不到。 使用“
    抗锯齿”项可以在两只眼睛的图像上启用抗锯齿(请注意,抗锯齿会降低仿真速度)。

  • 通过“ 投影”单选按钮组,可以在“ 透视投影”(默认)和“ Webots模拟”窗口的“
    正投影”模式之间进行选择。该透视模式对应于天然投影:其中所述更远的对象是从观察者,较小它出现在图像中。使用正交投影时,与查看者的距离不会影响物体的大小。此外,在正交模式下,模型中平行的线在屏幕上平行绘制,因此,此投影有时在建模阶段很有用。在正交模式下不会渲染阴影。

  • “ 渲染”单选按钮组使您可以在“ 普通渲染”(默认)和“ Webots模拟” 的“
    线框”模式之间进行选择。在普通渲染模式下,对象以其几何面,材质,颜色和纹理进行渲染,其方式与通常用眼睛或照相机看到的方式相同。在线框渲染模式下,只有可呈现图元的段被渲染。此模式对于调试网格很有用。如果线框渲染模式和View
    / Optional Rendering / Show All Bounding
    Objects切换按钮均被激活,则仅绘制边界对象(不渲染可渲染图元)。这可用于调试冲突检测问题。

  • 在可选的渲染子菜单,可以显示或隐藏,补充信息。这些渲染仅显示在主渲染中,并隐藏在机器人摄像机中。它们用于更好地了解模拟的行为:

  • 使用“ 显示坐标系”,可以将3D窗口右下角的全局坐标系显示或隐藏为分别代表x,y和z轴的红色,绿色和蓝色箭头。

  • 使用“显示所有边界对象”,可以显示或隐藏所有边界对象(在每个Solid节点的boundingObject字段中定义)。边界对象由白线表示。当发生碰撞时,这些线变为玫瑰,而当实体处于空闲状态(即,它静止不与任何其他活动的实体相互作用)时,这些线变为蓝色。

  • "显示接触点”使您可以显示或隐藏由碰撞检测引擎生成的接触点。没有示出没有产生相应的接触力的接触点。接触力仅对使用物理模拟的对象生成(需要物理节点)。需要考虑此操作的步骤。

  • 使用显示连接器轴可以显示或隐藏连接器轴。旋转对齐方式显示为黑色,而y和z轴分别显示为绿色和蓝色。

  • 使用“ 显示关节轴”可以显示或隐藏关节轴。关节轴用黑线表示。

  • 所述显示测距仪平截头体,可以显示或隐藏,OpenGL的平截头体剔除和场景中的每个测距仪所记录的图像,使用黄色线框。如果测距仪设备被禁用或第一张图像尚不可用,则视锥将以灰色绘制。OpenGL剔除视锥是与测距仪视场相对应的截顶金字塔。记录的图像显示在视锥台所描述的平面上,其距离对应于距设备中心的测距仪的最小范围。有关此概念的更多信息,请参见OpenGL文档。

  • 使用“显示激光雷达路径”,您可以使用青色线框显示或隐藏场景中每个激光雷达的图层(激光射线路径)。如果禁用了激光雷达设备或尚无法进行第一次测量,则将这些层绘制为灰色。

  • 该展会激光雷达点云,可以显示或隐藏,对于每一个激光雷达点云点云模式下启用的场景。点云由这些点本身的位置以及从激光雷达原点到这些点的光线(从蓝色(顶层)到红色(底层)的渐变)表示。这种可选的渲染在计算上很昂贵,因此会大大降低仿真速度。请注意,如果点云包含超过2500个点,则不会显示从激光雷达原点到该点的射线。

  • “显示摄像机视锥”允许您使用洋红色线框显示或隐藏场景中每个摄像机的OpenGL消隐视锥和记录的图像。如果禁用了相机设备或第一张图像尚不可用,则视锥将以灰色绘制。OpenGL剔除视锥是与摄像机视场相对应的截顶金字塔。由于远端平面设置为无穷大,因此未显示金字塔的背面。记录的图像显示在相机的近平面上。有关此概念的更多信息,请参见OpenGL文档。

  • 所述显示DistanceSensor射线,可以显示或隐藏,光线由距离传感器设备铸造。这些光线绘制为红线(在碰撞点之外变为绿色)。它们的长度对应于设备的最大范围。如果距离传感器设备被禁用或尚无法进行第一次测量,则光线将以灰色绘制。

  • Show Light Positions(显示LightSensor射线),可以显示或隐藏,光线铸造由光传感器装置。这些射线绘制为黄线。如果禁用了光传感器设备或尚无法进行第一次测量,则光线将以灰色绘制。

  • Show Pen Painting Rays (显示光位置)”允许您显示或隐藏PointLight和SpotLight灯的位置。 没有显示DirectionalLight节点。
    PointLight和SpotLight节点由被耀斑围绕的彩色圆圈表示。

  • “ 显示笔绘画射线”使您可以显示或隐藏笔设备绘画的射线。如果启用绘画,这些光线将绘制为紫线,否则绘制为灰线。

  • Show Radar Frustum(显示雷达视锥)”允许您显示或隐藏雷达视锥。如果启用了雷达设备,则视锥表将显示为蓝色,否则,如果禁用了雷达或尚无法进行首次测量,则视锥表将显示为灰色。雷达视锥表代表雷达可以在其中检测目标的体积。

  • Show Center Of Mass (显示重心)”使您可以显示或隐藏具有非NULL 物理节点的选定实体的全局重心。重心呈深蓝色。

  • Show Center Of Buoyancy(显示浮力中心)”使您可以显示或隐藏具有非NULL 物理节点的选定实体的整体浮力中心。浮力中心以紫色渲染。

  • Show Support Polygon(使用显示支撑多边形),可以显示或隐藏具有非NULL
    物理节点的选定实体的支撑多边形。所谓支撑多边形,是指实体的接触点的凸包在水平平面上的投影,该平面包含最低的多边形。此外,如果质心在后面的平面中的投影位于支撑多边形内(静态平衡),则呈绿色,否则呈红色。此渲染选项仅可用于顶部没有其他实体的实体。

  • 如果启用了Disable selection (禁用选择)选项,则它会阻止您在单击3D窗口时更改所选的实体节点。当您要更改视点而不修改场景树中的可见字段和选定字段时,这在建模阶段特别有用。

  • 如果启用了Lock Viewpoint“ (锁定视点)”选项,则可以阻止您在3D窗口上拖动鼠标或移动鼠标滚轮时更改“
    视点”节点的位置和方向。当您不想意外更改视点的位置和方向时,此功能特别有用。

注意:“按对象”,“按对象和旋转”,“ 投影”,“ 渲染”,“ 可选渲染项目”,“ 禁用选择”和“ 锁定视点”选项按每个世界保存,而其他选项为全局。

模拟菜单(Simulation)

该模拟菜单用于控制模拟模式。

  • 在这里插入图片描述在暂停Pause菜单项(和按钮)暂停仿真。
  • 在这里插入图片描述“步骤Step”菜单项(和按钮)执行模拟的一个基本时间步。该步骤的持续时间在WorldInfo节点的basicTimeStep字段中定义,可以在场景树窗口中进行调整以满足您的需求。
  • 在这里插入图片描述该实时菜单项Real-time(和按钮),直到它被中断运行在实时仿真Pause或Step。在运行模式下,场景的3D显示每n个基本时间步刷新一次,其中ndisplayRefresh在WorldInfo节点的字段中定义。
  • 在这里插入图片描述“运行Run”菜单项(和按钮)类似于Real-time,除了它运行得尽可能快。
  • Fast(和按钮)是一样Run,不同的是没有图形渲染被执行。由于禁用了图形渲染(黑屏),因此可以加快仿真速度,因此非常适合CPU密集型仿真(遗传算法,视觉,学习等)。

构建菜单(Build)

Build 菜单提供的功能,以编译(或交叉编译)控制器的代码。此处将更详细地描述构建菜单。

叠加菜单(Overlays)

“ 覆盖”菜单提供特定于渲染设备覆盖的操作(“ 相机”,“ 显示”,“” Rangefinder)。仅当在3D窗口中选择了机械手或模拟中只有一个机械手时,此菜单的某些操作才有效:

  • Camera Devices (摄像机设备)”子菜单包含所选机器人及其后代机器人的所有摄像机设备的列表,并允许用户通过选中或取消选中相应项目来显示或隐藏单个摄像机覆盖图像。相机覆盖层与显示覆盖层不同,因为它们具有洋红色边框。请注意,如果Hide All Camera Overlays选中该项目,则与Camera Devices菜单项的状态无关,摄像头设备的叠加层在3D视图中将不可见。Camera Devices,如果在外部窗口通过双击它显示的叠加层的纹理菜单项将被禁用。
  • RangeFinder Devices (测距仪设备) 子菜单包含所有选定的机器人的测距仪设备和其后代机器人的列表,并让用户显示或隐藏由选中或取消选中相应的项的单测距仪的叠加图像。测距仪叠加层与照相机叠加层不同,因为它们具有黄色边框。请注意,如果Hide All RangeFinder Overlays选中该项目,则与RangeFinder Devices菜单项的状态无关,在3D视图中将不会显示测距仪设备覆盖图。RangeFinder Devices,如果在外部窗口通过双击它显示的叠加层的纹理菜单项将被禁用。
  • Display Devices (显示设备)的子菜单包含所选机器人的所有的显示设备和其后代机器人的列表,并让通过检查或取消选中相应的项目的用户显示或隐藏单个显示叠加图像。显示覆盖图与相机覆盖图不同,因为其青色边框。请注意,如果Hide All Display Overlays选中该项目,则显示设备覆盖图在3D视图中将不可见,而与Display Devices菜单项的状态无关,Display Devices,如果在外部窗口通过双击它显示的叠加层的纹理菜单项将被禁用。

另一方面,以下各项始终处于活动状态,并适用于世界上所有的机器人:

  • Hide All Camera Overlays (隐藏所有摄像机覆盖物)”选项可独立于Camera Devices子菜单中设置的特定机器人设备选项,在3D视图中隐藏所有摄像机设备覆盖物。
  • Hide All RangeFinder Overlays (隐藏所有RangeFinder叠加层)”选项独立于RangeFinder Devices子菜单中设置的特定机器人的设备选项,在3D视图中隐藏所有相机设备的叠加层。
  • “Hide All Display Overlays (隐藏所有显示覆盖图)”选项可独立于Display Devices子菜单中设置的特定机器人的设备选项,隐藏3D视图中的所有显示设备覆盖图。

工具菜单(Tools)

“ 工具”菜单允许您打开各种Webots窗口。
3D View 3D视图菜单项显示或隐藏3D窗口,并允许您与3D模拟互动。
Scene Tree 场景树菜单项打开Scene Tree,可以在其中编辑虚拟世界的窗口。或者,也可以双击主窗口中的某些对象:这将自动打开“场景树”,并选择相应的对象。
Text Editor 文本编辑器菜单项打开Webots文本编辑器。该编辑器可用于编辑和编译控制器源代码。
Console 控制台”菜单项将打开“ Webots控制台”,这是一个只读控制台,用于显示Webots错误消息和控制器输出。
Documentation 文档”菜单项显示或隐藏脱机“ Webots”文档窗口。
Restore Layout 还原布局”菜单项可还原主窗口面板的出厂布局。
Clear Console 清除控制台菜单项清除控制台。
Edit Physics Plugin 编辑物理插件”菜单项将在文本编辑器中打开物理插件的源代码。
Preferences 首选项”项将弹出本节中描述的窗口。

向导菜单(Wizards)

该向导菜单可以更容易地创建新的项目和新的控制器。

  • New Project Directory… (新建项目目录…)”菜单项首先提示您选择文件系统位置,然后创建一个项目目录。项目目录包含几个子目录,这些子目录用于存储与特定Webots项目相关的文件,即世界文件,控制器文件,数据文件,插件等。Webots会记住当前项目目录,并自动从中打开并保存任何类型的文件。当前项目目录的相应子目录。
  • New Robot Controller …”菜单项允许您创建新的控制器程序。首先将提示您在C,C++,Java,Python或MATLAB TM控制器之间进行选择。如果您在Windows上选择C或C ++,Webots将为您提供创建Makefile / gcc项目或Visual Studio项目的可能性。然后,Webots将要求您输入控制器的名称,最后它将在当前项目目录中创建所有必需的文件(包括模板源代码文件)。
  • New Physics Plugin… (新建物理插件…)”菜单项将使您可以为项目创建新的物理插件。Webots要求您选择一种编程语言(C或C
    ++)和新的物理插件的名称。然后,它将在当前项目中创建目录,模板源代码文件和Makefile。

帮助菜单(Help)

使用“ 帮助”菜单可以更轻松地访问文档,支持和常规信息
关于…”( About…)项将打开一个About…显示许可证信息的窗口。
Webots导览…”(Webots Guided Tour… )菜单项启动了一个导览,通过一系列示例演示了Webots的功能。
检查更新…”(Check for updates…)项会弹出一个窗口,通知正在使用的Webots版本是否为最新版本,并在需要时提供下载最新版本的链接。
OpenGL的信息… (OpenGL Information… )菜单项,为您提供有关当前OpenGL硬件和驱动程序的信息。它可以用于诊断渲染问题。
其余菜单项以HTML页面,PDF文档等形式显示各种信息。

主工具栏

主工具栏包含用于添加新节点对世界的按钮,速度表(见本节)和快捷方式的项目FileSimulationView菜单。

  • 在这里插入图片描述隐藏/显示场景树:显示或隐藏场景树,并因此调整3D窗口的大小。
  • Alt添加:添加节点或对象。对于节点,这会触发一个对话框,使您可以从列表中选择节点类型。将使用默认值创建新节点,之后可以对其进行修改。您只能插入适合相应字段的节点。该对话框还可以通过单击 导入… 按钮来加载先前导出的节点。

速度表和虚拟时间

速度计(请参见下图)指示计算机上模拟的速度。它显示在主工具栏上,并指示仿真与实时相比运行的速度。换句话说,它代表虚拟时间的速度。如果速度计的值为2,则意味着您的计算机仿真的运行速度是相应真实机器人的两倍。此信息在Run模式和Fast模式下均有效。注意:在逐步模式下运行模拟时,不会显示模拟速度(N/A而是显示)。
在这里插入图片描述
在速度表的左侧,使用以下格式显示虚拟时间:

H:MM:SS:MMM

其中H是小时数(可以是几位数字),MM是分钟数,SS是秒数,MMM是毫秒数(请参见此图)。如果车速表的值大于1,则虚拟时间的进度要快于实时时间。
可以在场景树窗口basicTimeStepWorldInfo节点的字段中设置模拟的基本时间步长。它以虚拟时间毫秒表示。该时间步长的值定义了在Step模式期间执行的时间步长。此步骤乘以displayRefresh同一WorldInfo节点的字段,以定义刷新显示的频率。
在这里插入图片描述

发布了29 篇原创文章 · 获赞 14 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/ben_xiao_hai_123/article/details/103722502