2、了解Webots的窗口 您所在的位置:网站首页 wbt插件 2、了解Webots的窗口

2、了解Webots的窗口

2024-01-21 02:00| 来源: 网络整理| 查看: 265

一、介绍Webots

1、Webots是什么?

Webots是一个专业的移动机器人仿真软件包。它提供了一个快速原型设计环境,允许用户创建具有质量、关节、摩擦系数等物理特性的3D虚拟世界。用户可以添加简单的被动对象或称为移动机器人的主动对象。这些机器人可以有不同的运动方案(轮式机器人、腿式机器人或飞行机器人)。此外,它们可以配备许多传感器和致动器设备,例如距离传感器、驱动轮、相机、电机、触摸传感器、发射器、接收器等。最后,用户可以单独地对每个机器人进行编程,以表现出期望的行为。Webots包含大量机器人模型和控制器程序示例,以帮助用户入门。

2、使用Webots可以做什么?

Webots非常适合与移动机器人相关的研究和教育项目。多年来,许多移动机器人项目在以下领域都依赖Webots:移动机器人原型(学术研究、汽车行业、航空、吸尘器行业、玩具行业、爱好者等)机器人运动研究(腿机器人、类人机器人、四足机器人等)多智能体研究(群体智能、协作移动机器人群体等)自适应行为研究(遗传算法、神经网络、人工智能等)。机器人教学(机器人讲座、C/C++/Java/Python编程讲座等)机器人竞赛(例如Robotstadium或Rat's Life)

3、为了使用Webots,我需要知道什么?

您需要最少的技术知识来开发自己的模拟:

 编写自己的机器人控制器程序需要掌握C、C++、Java、Python或MATLAB编程语言的基本知识。然而,即使你不知道这些语言,你仍然可以使用一种名为BotStudio的简单图形编程语言对e-puck和Hemisson机器人进行编程。

如果你不想使用Webots中提供的现有机器人模型,并且想创建自己的机器人模型,或者在模拟环境中添加特殊对象,你需要掌握3D计算机图形学和VRML97描述语言的基本知识。这将允许您在Webots中创建三维模型或从三维建模软件导入它们。

4、Webots仿真

Webots模拟由以下项目组成:

Webots世界文件(.wbt),用于定义一个或多个机器人及其环境。.wbt文件有时确实依赖于外部PROTO文件(.PROTO)和纹理。

用于上述机器人的一个或多个控制器程序(在C/C++/JJava/Python/MATLAB中)。

一个可选的物理插件,可用于修改Webots的常规物理行为(在C/C++中)。

5、"世界"是什么?

在Webots中,世界是对机器人及其环境特性的3D描述。它包含对每个对象的描述:位置、方向、几何图形、外观(如颜色或亮度)、物理特性、对象类型等。世界被组织为层次结构,对象可以包含其他对象(如VRML97)。例如,机器人可以包含两个轮子、一个距离传感器和一个关节,关节本身包含一个摄像头等。世界文件不包含机器人的控制器代码;它只指定每个机器人所需的控制器的名称。世界保存在“.wbt”文件中。“.wbt”文件存储在每个Webots项目的“worlds”子目录中。

6、“控制器”是什么?

控制器是一种控制世界文件中指定的机器人的计算机程序。控制器可以用Webots支持的任何编程语言编写:C、C++、Java、Python或MATLAB。当模拟开始时,Webots启动指定的控制器,每个控制器都作为一个单独的进程,并将控制器进程与模拟的机器人相关联。请注意,几个机器人可以使用相同的控制器代码,但每个机器人都会启动不同的过程。一些编程语言需要编译(C和C++),其他语言需要解释(Python和MATLAB),还有一些需要编译和解释(Java)。例如,C和C++控制器被编译为依赖于平台的二进制可执行文件(例如Windows下的“.exe”)。Python和MATLAB控制器由相应的运行时系统(必须安装)进行解释。Java控制器需要编译成字节码(“.class”文件或“.jar”),然后由Java虚拟机进行解释。每个控制器的源文件和二进制文件一起存储在控制器目录中。控制器目录位于每个Webots项目的“controllers”子目录中。

7、”超级控制器“是什么?

Supervisor控制器是机器人的控制器,其Supervisor字段设置为TRUE,它可以执行通常只能由操作员执行的操作,而不能由真正的机器人执行。Supervisor控制器可以用上述任何编程语言编写。但是,与常规Robot控制器相比,Supervisor控制器将可以访问特权操作。特权操作包括模拟控制,例如,将机器人移动到随机位置,对模拟进行视频捕捉等。

 

二、启动Webots

在Linux下直接在终端输入webots

命令行参数

从终端(Linux/Mac)或命令提示符(Windows)启动Webots时,以下命令行选项可用:

Usage: webots [options] [worldfile] Options: --help Display this help message and exit. --version Display version information and exit. --sysinfo Display information about the system and exit. --mode= Choose the startup mode, overriding application preferences. The argument must be either pause, realtime or fast. --no-rendering Disable rendering in the main 3D view. --fullscreen Start Webots in fullscreen. --minimize Minimize the Webots window on startup. --batch Prevent Webots from creating blocking pop-up windows. --clear-cache Clear the cache of Webots on startup. --stdout Redirect the stdout of the controllers to the terminal. --stderr Redirect the stderr of the controllers to the terminal. --port Change the TCP port used by Webots (default value is 1234). --stream[=] Start the Webots streaming server. The argument should be either x3d (default) or mjpeg. --extern-urls Print on stdout the URL of extern controllers that should be started. --heartbeat[=] Print a dot (.) on stdout every second or milliseconds if specified. --log-performance=[,] Measure the performance of Webots and log it in the file specified in the argument. The optional argument is an integer value that specifies how many steps are logged. If the --sysinfo option is used, the system information is prepended into the log file. convert Convert a PROTO file to a URDF, WBO, or WRL file. Please report any bug to https://cyberbotics.com/bug View Code

worldfile参数指定要打开的.wbt文件名字,没指定的话,则打开最近使用的已打开的文件。

--minimize选项用于在启动时最小化(图标化)Webots窗口。这也会跳过启动屏幕和最终的欢迎对话框。当从脚本自动启动Webot时,此选项可用于避免屏幕与窗口混淆。请注意,当指定--minimize时,Webots会自动使用快速模式。--mode=选项可用于在指定的模拟模式下启动Webot。四种可能的模拟模式是:暂停、实时、运行和快速;它们对应于Webots的图形用户界面的模拟控制按钮。此选项覆盖但不修改保存在Webots首选项中的启动模式。例如,键入webots-mode=pause filename.wbt以在暂停模式下启动webots。--stdout和--stderr选项具有将Webots控制台输出重定向到调用终端或进程的效果。例如,这可以用于将控制器输出重定向到文件,或通过管道将其发送到shell命令--stdout重定向控制器的stdout流,而--stderr重定向stderr流。请注意,stderr流还可能包含Webots错误或警告消息。--port选项更改Webots用于服务机器人窗口、web流和外部控制器的默认TCP端口。默认情况下,Webots在端口1234上设置其TCP服务器。启动多个Webot实例时,端口配置为连续值1234。--stream选项可在x3d(默认)或mjpeg模式下启用Webots流式服务器。您可以在本节中获得有关网络流媒体的更多信息。

例如,以下命令将在TCP端口“1235”上以“mjpeg”模式启用流式服务器的情况下启动Webots:Webots--port=1235 --stream=mjpegconvert子命令允许将PROTO文件转换为URDF、WBO或WRL文件。您可以使用-p标志来覆盖默认的PROTO参数。用法示例:

webots convert -p extensionSlot="Box {}" ${WEBOTS_HOME}/projects/robots/adept/pioneer3/protos/Pioneer3dx.proto -o pioneer3dx.urdf

安全模式

可能会发生Webots无法启动的情况,因为它在"世界"上被阻止,导致Webots或OpenGL崩溃。在这种情况下,Webot可以在安全模式下启动。安全模式强制Webot从一个空世界开始,减少所有OpenGL选项,并存储这些首选项。要做到这一点,只需在运行WEBOTS的环境中设置环境变量WEBOTS_SAFE_MODE。一旦以这种方式成功启动,您必须取消设置此环境变量,再次打开您的"世界"并增加OpenGL首选项。此操作可能会导致新的崩溃。

在linux和macOS上操作方式:

export WEBOTS_SAFE_MODE=true webots

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有