Webots用户界面

时间:2024-04-03 19:08:51


Webots GUI由四个主要窗口组成:显示并允许您与3D模拟进行交互的3D窗口,表示当前世界的层次结构的“ 场景”树,允许您编辑源代码的“ 文本”编辑器以及最后,同时显示编译和控制器输出的控制台。

Webots用户界面

文件(File)

**新世界(New World)**只含有模拟窗打开一个新的世界ElevationGrid,显示为10×10平方1米×1米的表面上的棋盘。
打开世界(Open World) 打开一个文件选择对话框,您可以选择一个“ .wbt”文件进行加载。
通过“ 打开最近的世界”菜单项,可以从子菜单中显示的列表中选择一个最近打开的“ .wbt”文件,以重新打开该文件。
打开示例世界”菜单项将打开一个对话框,列出所有可用的示例世界,在其中可以通过在搜索字段中输入文件名或其中的一部分来搜索要加载的特定“ .wbt”文件。
保存世界”菜单项(和按钮)使用当前文件名(显示在主窗口顶部的文件名)保存当前世界。

在每个Save.wbt文件的内容上,Webots均不会创建任何备份副本,因此,应谨慎使用此按钮,并最终手动进行安全复制。

另存为…”菜单项(和按钮)使用用户输入的新文件名保存当前世界。请注意,“。

wbt”文件应始终保存在Webots项目目录以及“ worlds”子目录中,否则将无法重新打开该文件。

重新加载世界(Reload World)”菜单项(和按钮)从已保存的版本重新加载当前世界,并从头开始重新进行仿真。

注意:打开(或重新加载)世界时,如果该世界花费2秒钟以上的时间来加载,则会弹出一个窗口并显示进度。使用此窗口可以取消加载世界,在这种情况下,将打开空白世界。

新建文本文件”菜单项(和按钮)在文本编辑器中打开一个空文本文件。
打开文本文件”菜单项(和按钮)打开一个文件选择对话框,该对话框允许您选择文本文件(例如“ .java”文件)装载。
恢复文本文件”菜单项(和按钮)从保存的版本中重新加载文本文件。
打印预览”菜单项将打开一个窗口,可让您管理页面布局,以便从文本编辑器中打印文件。
打印”菜单项打开一个窗口,使您可以打印文本编辑器的当前文件。
截取屏幕截图(Take Screenshot)”项目可以截取Webots中当前视图的截屏。它打开一个文件对话框,将当前视图另存为PNG或JPG图像。
制作电影(Make Movie)”项目使您可以创建MPEG电影(Linux和macOS)或AVI电影(Windows)。电影录制开始后,将在中更改此项Stop Movie…。在录制期间,可以更改运行模式并暂停模拟。但是,仅在Webots步骤期间捕获帧,而不是在暂停模拟时捕获帧。除了选择影片的分辨率和压缩质量外,还可以通过设置动画来以加速模式或慢动作录制模拟。Video acceleration弹出对话框中的值。如果视频加速度值小于1,则录制的电影将比模拟运行慢。最大减慢速度,即最小加速度值,是由模拟的基本时间步长定义的,因为不可能以比模拟更新率更高的帧率进行记录。为了增加最大的减慢速度,您应该减少仿真的基本时间步长。选中视频字幕选项将在电影的右上角显示加速度值。
出口HTML5模式(Export HTML5 Model)…选项允许你对当前世界导出为交互式3D“的.html”文件。
制作HTML5动画(Make HTML5 Animatinon)”项目使您可以将模拟记录为3D动画,并将其发布在HTML5网页上。开始动画录制后,此项目将更改为Stop HTML5 Animation…并可以用于停止动画录制。
退出将终止当前模拟并关闭Webot。

编辑(Edit)

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

查看(View)

使用“ 查看”菜单可以控制模拟窗口中的查看。
**跟随对象(Follow Object)**子菜单可固定的(静态)视点和跟随移动对象(通常是一个机器人)的视点之间切换。如果希望视点跟随对象,则首先需要用鼠标选择对象,然后根据所需的以下行为检查子菜单中的一项。
恢复视角(Restore Viewpoint)”项将在加载或还原文件时将视点的位置和方向恢复为其初始设置。当您在场景中导航时迷路并想要返回原始视点时,此功能非常方便。
将视点移至对象将视点(Move Viewpoint to Object)。移至中心并缩放所选节点,如果所选项目是字段,则将定位上一级父节点。该对象将位于3D视图的中心,并且将完全可见。
更改视图(Change View)子菜单移动视点,以将视点与围绕选定对象的六个世界对齐轴上的任何一个对齐。如果未选择任何对象,则视点将以世界原点为中心。
全屏选项允许和禁用显示在整个屏幕上的3D窗口。
可以在“ 透视投影”(默认)和“ Webots模拟”窗口的“ 正投影”模式之间进行选择。该透视模式对应于天然投影:其中所述更远的对象是从观察者,较小它出现在图像中。使用正交投影时,与查看者的距离不会影响物体出现的大小。此外,在正交模式下,模型中平行的线在屏幕上平行绘制,因此,此投影有时在建模阶段很有用。在正交模式下不会渲染阴影。
可选显示
,可以显示或隐藏,补充信息。这些渲染仅显示在主渲染中,并隐藏在机器人摄像机中。它们用于更好地了解模拟的行为:

  1. 使用“ 显示坐标系”,可以显示或隐藏3D窗口右下角的全局坐标系,分别为分别代表x,y和z轴的红色,绿色和蓝色箭头。
  2. 使用“ 显示所有绑定对象”可以显示或隐藏所有边界对象(在每个Solid节点的boundingObject字段中定义)。边界对象由白线表示。当发生碰撞时,这些线变为玫瑰,而当实体处于空闲状态(即,它静止不与任何其他活动的实体相互作用)时,这些线变为蓝色。
  3. 显示接触点”使您可以显示或隐藏由碰撞检测引擎生成的接触点。没有示出没有产生相应的接触力的接触点。仅对使用物理模拟的对象(需要“ 物理”节点)生成接触力。需要考虑此操作的步骤。
  4. 显示连接器轴可以显示或隐藏连接器轴。旋转对齐方式以黑色表示,而y和z轴分别以绿色和蓝色表示。
  5. 显示关节轴”可以显示或隐藏关节轴。关节轴用黑线表示。
  6. 显示测距仪平截头体,可以显示或隐藏,OpenGL的平截头体剔除和场景中的每个测距仪所记录的图像,使用黄色线框。如果测距仪设备被禁用或第一张图像尚不可用,则视锥将以灰色绘制。OpenGL剔除视锥是与测距仪视场相对应的截顶金字塔。记录的图像显示在视锥台所描述的平面上,其距离与从设备中心到测距仪的最小范围相对应。有关此概念的更多信息,请参见OpenGL文档。

模拟(Simulation)

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

生成(Build)

Webots源代码编辑器是一种多选项卡文本编辑器,特别适合于开发Webots控制器。通常建议使用此编辑器,因为它使编译变得简单。该编辑器具有针对Webots支持的语言(C / C ++,Java,Python和MATLAB TM)的语法突出显示功能以及针对Webots C API的自动完成功能。

源代码编辑器可用于将C / C ++或Java源文件编译为可在模拟中执行的二进制可执行文件或字节码(Java)文件。编译输出将打印到Webots控制台。错误和警告显示为红色。如果双击错误消息,Webots将在编辑器中突出显示相应的源代码行。
请注意,要编译源代码,必须安装适当的开发工具。

生成(Build)”按钮通过调用make所选文件的目录来构建整个项目。使用C / C ++,Build按钮可以编译整个项目并将其链接到一个可执行文件中。C / C ++源文件依赖关系会在必要时自动生成和更新。使用Java,该Build按钮会将整个项目编译为字节码(.class文件)。
清理(Clean)”按钮将调用make clean以删除当前文件目录中的中间编译文件。源文件保持不变。
生成JAR文件(Make JAR File)的菜单项重建整个项目,并包在一个“的.jar”所有的.class。这是一项便捷功能,可用于打包完整的控制器,然后再将其上传到我们的在线竞赛网站之一。
交叉编译
菜单项允许交叉编译当前的文本编辑器的文件。请注意,控制器目录中需要特定的Makefile才能执行此操作。对于e-puck机器人,此Makefile必须命名为“ Makefile.e-puck”。
交叉编译清理的菜单项允许你清理交叉编译的文件。请注意,控制器目录中需要特定的Makefile才能执行此操作。对于e-puck机器人,此Makefile必须命名为“ Makefile.e-puck”。

工具(Tool)

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

Webots用户界面

  1. 语言选项允许您选择Webots用户界面(需要重新启动)的语言。
  2. 启动模式,您可以选择模拟的状态时Webots开始(暂停,实时,运行速度快;看到Simulation菜单)。
  3. 所述编辑器的字体定义中Webots文本编辑器,并在控制台将要使用的字体。建议选择固定宽度的字体,以更好地显示源代码。此首选项的默认值为Windows上的“ Consolas,10”,Mac上的“ Courier,14”和linux上的“ Monospace”。
  4. 线程数确定有多少线程可以通过Webots最大创建。推荐值与计算机处理器的逻辑核心数匹配。在某些特定情况下(例如,当另一个进程需要大量其他内核时)降低此值可能很有趣。目前,该值仅影响物理引擎速度和控制器编译速度。请注意,这是允许的最大线程数,但是实际使用的线程数是WorldInfo节点的optimalThreadCount字段中定义的数量。
  5. Python命令由Webots开始一个Python控制器时调用定义。默认值为python。假设它python已安装并且可以从命令行使用,那么它应该可以在大多数系统上工作。在某些系统上,python3.7例如,如果要使用此特定版本的Python启动控制器,将其设置为有用。请记住,此值可能会被runtime.iniPython控制器文件的内容所覆盖,该文件可能会重新定义启动该控制器的特定Python命令。
  6. 额外项目的路径定义了类似的用户文件夹的路径WEBOTS_HOME/projects文件夹。该用户文件夹应包含可在当前项目中使用的项目资源(例如PROTO节点,控制器,纹理等)。它可能包含多个子文件夹,每个子文件夹都与一个子项目相关联(应该遵守一个项目的标准文件层次结构)。该文件夹还可以包含一个default项目,可用于定义通用控制器,纹理,声音等。
  7. 警告:显示仅保存场景树编辑警告显示任何警告对话框窗口,当你退出,重新加载或当前世界被要么改变观点,拖动,旋转,施加力或修改后装入新的世界复选框防止Webots施加到物体上的扭矩,或通过控制器修改世界。但是,如果从场景树修改了世界,它将仍然显示警告。
  8. 遥测:发送技术资料Webots developpers复选框允许Webots,以便发送匿名的技术数据Webots developpers以帮助改进软件。此处提供了所有发送数据的完整说明。
  9. 更新策略:检查Webots更新在启动时复选框允许Webots以检查是否有新版本可供下载在每次启动。如果可用,对话框窗口将通知您。

Webots用户界面
在OpenGL的选项卡包含有关设置的3D渲染能力的偏好。这些设置的默认参数可能会因系统的硬件和OpenGL功能而从一台计算机到另一台计算机。

  1. 使用“ 环境光遮挡”选项可以启用GTAO,这是3D视图上屏幕空间环境光遮挡的一种现代形式。此选项可在场景中实现更高水平的真实感,但性能成本不可忽略。为了减轻这种情况,默认情况下将其设置为“中等”质量。超高品质可提供最佳结果,但性能最高。
  2. **Texture Quality(纹理质量)**选项可让您降低场景中所有纹理的分辨率,以节省GPU内存。如果设置为high最大可用分辨率(即原始分辨率),将使用。如果设置为medium,则将大于或等于1024的图像分辨率除以2(分别考虑宽度和高度)。如果设置为low,则将大于或等于512的图像分辨率除以4。
  3. 禁用阴影”选项使您可以完全禁用3D视图和“ 摄影机”渲染中的阴影,无论Light.castShadows字段的值如何。在全球范围内,可以通过禁用此功能来提高性能,但另一方面,渲染更难于理解且不够美观。
  4. 禁用抗锯齿选项,可以禁止在3D视图和抗锯齿相机渲染。Webots使用的抗锯齿算法是SMAA 1x。我们观察到一些旧的图形硬件不支持有关抗锯齿的OpenGL功能。在这种情况下,最好禁用抗锯齿功能。否则,禁用抗锯齿功能可能会导致性能略有提高,但会降低图形保真度。
    网络”选项卡允许您手动配置HTTP代理,Webots将使用该HTTP代理通过Internet访问其许可证服务器。

向导(Wizard)

该向导菜单可以更容易地创建新的项目和新的控制器。
新建项目目录(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。