Notifications 大赛通知

大赛通知

Webots专题系列1-软件介绍、安装与演示-v1.1

发布时间 :2020-05-27

Webots软件介绍、安装与演示

1.仿真软件Webots介绍

Webots是开源的三维机器人运动仿真平台,提供完整的开发环境来对机器人进行建模、编程和仿真。该软件最初是由瑞士洛桑联邦理工学院(EPFL)的微信息学实验室(LAMI)开发,用于研究移动机器人中的各种控制算法,后由Cyber botics进一步开发和商业化。自201812月起,Webots作为Apache 2.0许可下的开源软件发布,并广泛用于工业、教育和研究等领域。它提供了快速的原型制作环境,用户可以创建具有物理特性(例如质量、关节、摩擦系数等)的3D虚拟世界;可以添加简单的被动对象或称为移动机器人的主动对象。这些机器人可以具有不同的移动方案(轮式机器人、有腿机器人或飞行机器人)。它们还可能配备许多传感器和执行器,例如距离传感器、驱动轮、摄像机、马达、触摸传感器、发射器、接收器等。最后,用户可以对每个机器人进行编程控制以实现相应功能。

Webots包含大量机器人模型和控制器程序示例,以帮助用户入门。

01.jpg 

                图1.Webots资源库(RobotsActuators,Sensors,Objects

·功能:

1Webots具有丰富的资源库,包括机器人(Robotis系列,Boston Dynamics AtlasKONDO等)、传感器(AccelerometerCamaraGyroGPS等)、执行器、物体等。

2)支持导入现有的CAD模型(通过BlenderURDF)和OpenStreeMap地图。

3)环境中所有物体的属性(形状、颜色、文字、质量等)都可以自主配置。

4)使用ODE检测物体碰撞和模拟刚性结构的动力学特性,可以精确的模拟物体速度、惯性和摩擦力等物理属性。

5)可以使用Webots创建机器人原型,开发,测试和验证控制算法。

6)为仿真、编程和模拟机器人、车辆和生物力学系统提供了完整的开发环境,可以对包括两轮台式机器人,工业手臂,两足机器人,汽车,无人机,水下机器人,履带机器人等进行建模仿真,实现力学接触、传感器可视化、多机器人协作等诸多功能。

 

·适用平台:同时支持Windows,Linux和MacOS平台。

·编程语言:支持C、C++、Python、Java、MATLAB等多种语言对机器人进行编程,可以使用涵盖基本机器人需求的API。

 02.jpg


2. webots的实现功能

(左上:力学接触 右上:传感器可视化 左下:物流 右下:多机器人协作对抗)

 

2.下载与安装指南

1系统要求

1)最低配置要求为2GHz双核CPU2GB RAM,推荐配置为四核CPU及以上。

2)至少512MB RAMNVIDIAAMD OpenGL(最低版本3.3)图形适配器。其他图形适配器包括Intel图形适配器通常缺乏良好的OpenGL支持,可能会导致3D渲染问题和应用程序崩溃。

3)支持以下操作系统:

LinuxWebots可以在最新的Ubuntu长期支持版本(当前版本18.04)上运行,也可以在最近的主要Linux发行版上运行,包括RedHatMandrakeDebianGentooArchSuSESlackware,建议使用最新版本的Linux。适用于Linux 64x86-64)系统。Webots不能在16.04之前的Ubuntu版本上运行。

WindowsWindows 10Windows 8.1(仅64位版本)。

MacmacOS 10.15“ Catalina”10.14“ Mojave”

 

在上面提到的操作系统的早期版本中,Webots可能有效,但并未正式支持。

2下载与安装过程

(1)下载前建议检查和更新显卡。

(2)开源仿真软件Webots(12-5-2020版本)支持Windows,Linux和MacOS。下载文件为1.6G,安装后文件为2.7G,建议至少预留5G的磁盘空间。

     选择适合你电脑系统的webots版本下载并安装。

下载路径和网址

1.  网站官网下载:http://www.cyberbotics.com/

2. Github下载:链接:https://github.com/cyberbotics/webots/releases。进入页面后,可以选择不同的版本下载,建议选择最新的版本下载,webots版本更新特别快。选择黑色字体Assets,打开黑色三角符号,选择安装方式,windows下建议选择可执行文件安装,即第2个webots-R2020a-rev2_setup.exe文件,如下图所示。其余版本安装可以从https://www.cyberbotics.com/doc/guide/installation-procedure查阅。

3.  百度网盘下载:链接:https://pan.baidu.com/s/1MkBHXTYs5mifPDSVHDU9AA提取码:kas0

03.jpg

3 .webots的下载

注意:

1. 下载安装包后,指定安装位置,直接安装即可。安装后如果观察到3D渲染异常或者Webots崩溃问题,建议更新显卡驱动。

2. 官网和github网址下载可能出现比较慢或者下载失败,可以从百度网盘链接下载。

3. win10安装Webots ,场景树中的节点稍微多一点的话,点击“重置”按钮(不是reload按钮,是reset按钮)后软件就会闪退....,解决方法为:

在系统变量中新建变量名(N):WEBOTS_SAFE_MODE;变量值(V):c:UsersdongjiafanAppDataLocalProgramsWebotsmsys64mingw64inwebots.exe

(安装目录,不一定一样),可以解决问题。

4. 如果出现下载安装完之后打开软件就会停留在这个界面几秒钟,什么都点不了,然后就会闪退回桌面,这是因为:可能安装目录和下载目录路径里有中文。

5. 出现下面的情况,我的解决方法是换一个盘安装,即换一个安装路径,可能是安装的过程出现问题。

04.jpg  

4 软件安装出现问题

总结:

安装目录和下载目录路径里不要有中文字符,软件运行前先设置环境变量。

3演示工程

1首次打开Webots

首次打开Webots时,可能提示显存较小或无独立显卡等提示,但只要能正常打开界面即可。

05.jpg

5软件开始运行

2上手指引

首次打开软件会自动打开引导,内置的World展示了Webots的各种模型与功能。可以自行试用demo。此外进入软件后可以通过 帮助/Webots引导之旅 打开引导示例。

一个Webots工程的常用关键词包括:

- World:一个包含机器人及其周围环境的描述的文件。

- Controller:对世界中任意机器人进行控制而编写的控制器代码。

- Supervisor Controller:机器人的Supervisor field置为TRUE后,controller可以获得更高权限与更多机器人本身不具备的功能,如强制改变机器人位置,刷新环境、获取机器人位置速度等。

- Node:World中的每个物体都是一个Node。

- Field:Node中的变量域。

3Webots界面介绍

主工具栏:保存、刷新World,控制仿真速度、截屏录屏等功能;

场景树:包含WorldInfo、Viewpoint以及World中各个机器人、物体、环境等节点,其中WorldInfo定义了世界的仿真步长、重力等参数,Viewpoint定义了软件界面视角相关参数。

域编辑器:编辑各节点的Field参数,如修改位置坐标和旋转角等

3D视窗:显示仿真画面

控制面板:显示机器人控制器Controller运行时打印的结果

文本编辑器:编辑机器人控制器Controller,可直接在上面编写与修改Controller代码。

菜单栏

-文件:新建、打开、保存、重新加载World、截屏录屏等

-编辑:复制、粘贴、查找、注释等

-查看:跟随视角、恢复视角、选择投影方式等

-模拟:选择暂停、步进、实时、快速等运行方式

-生成:生成、清理C++代码的解决方案

-Overlays:控制相机、显示器等显示窗口

-工具:控制窗口布局等

-向导:新建项目目录、控制器与物理插件

-帮助:教学、资料库、答疑等

06.jpg

6 软件界面图    

 

 

4.Webots工程演示 (帮助/Webots引导之旅)

(1)无人机控制

Webots/projects/robots/dji/mavic/worlds/mavic_2_pro.wbt

该示例机器人为mavic2pro无人机,利用键盘按键来控制无人机的前进、后退、左转、右转等操作。其主要原理为使能和设置无人机的设备,根据键盘按键来调整相应roll, pitch, yaw以及vertical输入,根据计算的输入驱动无人机的4个舵机完成相应操作。

- 'up': 前进.                          - 'down': 后退.

- 'right': 右转.                       - 'left': 左转.

- 'shift+ up': 增大目标高度.           - 'shift + down': 减小目标高度.

- 'shift + right': 右平移.             - 'shift + left': 左平移.


07.jpg

7无人机演示界面图

(2)Robotis-op3双足机器人动作演示

08.jpg

8双足机器人演示界面图    

Webots/projects/robots/robotis/darwin-op/worlds/robotis_op3.wbt

该示例采用ROBOTIS公司的Robotis-op3机器人,Webots内置有动作管理器RobotisOp2MotionManager,通过动作管理器调用Webots动作组(动作文件为"motion_4095.bin"),执行挥手、左踢、右踢、鞠躬等动作。

(3)城市道路车辆行驶      

 Webots/projects/vehicles/worlds/city.wbt


该示例控制汽车在建模的城市道路环境中行驶,利用键盘方向按键来控制汽车,up对应加速,down对应减速,left和right对应方向盘左转和右转。汽车控制过程中需要避障和遵

09.jpg

9 城市道路行驶车辆演示图

循道路黄线行驶。

(4)物流演示

 Webots/projects/robots/kinematics/tinkerbots/worlds/tinkerbots_demo.wbt

该示例为物流演示,控制机械臂抓取物体并放置到传送带。

 10.jpg

10 物流辆演示图