【机器人仿真Webots教程】-Webots安装

2023-11-10

在这里插入图片描述

Webots安装

1. Webots简介

webots是一个开源3D移动机器人仿真框架。其为Cyberbotics公司旗下研发开源框架,为机器人的建模、编程和仿真提供了完整的开发环境。Webots内核基于开源动力学引擎ODE和OpenGL,可以在Windows、Linux和macOS上运行,并且支持多种编程语言(C/C++,Python,Java,MATLAB)。

Webots的主要功能是机器人的建模、控制与仿真,用于开发、测试和验证机器人算法。其内核基于ODE引擎,动力学仿真效果较为真实。

Webots支持多种不同类型的机器人仿真,如工业机械臂,轮式机器人,足式机器人,履带式机器人,汽车,无人机,水下机器人,航天器等。Webots支持多种虚拟传感器,如相机,雷达,力传感器,位置传感器,陀螺仪,惯性单元,GPS等。Webots还支持多种复杂环境的模拟,如室内,室外,崎岖路面,空中环境,水下环境等。

Webots场景采用OpenGL渲染,画面展示效果很棒。Webots可将仿真过程导出为动画或交互式HTML用于展示。

官方链接:Cyberbotics: Robotics simulation with Webots

Webots应用举例

  • 移动机器人原型(学术研究、自动化工业、玩具工业等等)
  • 机器人运动学研究(四足、腿式、人形等等)
  • 多智能体研究(集群、协同等等)
  • 适应性行为研究(遗传算法、神经网络等等)
  • 教学机器人(机器人课程)

2. Webots安装

2.1 系统要求

需求项 最低要求
内存 2G
主频 2GHz
NVIDIA or AMD OpenGL V3.3
显存 512MB

对于Linux系统只推荐NVIDIA系列。

典型适配系统:

  • Linux系列
    支持近期x86-64架构的Linux系统,例如Ubuntu20.04LTS,早于20.04之前的Ubuntu不支持。
  • Windows系列
    Windows10、Windows11
  • Mac系列
    macOS 11 “Big Sur” and 12 “Monterey”

在早期版本系列运行Webots可能会出现不兼容的问题。

2.2 验证显卡驱动

Ubuntu参考

Ubuntu20.04、22.04安装nvidia显卡驱动_ubuntu install xianka qudong_xianrenli38的博客-CSDN博客

Windows参考

windows10安装NVIDIA显卡驱动+cuda10.0教程

2.3 安装

注意:安装版安装之后,核心的模块功能均能使用,但是第三方工具(如Java、Python、MatLab)需要对指定项目进行运行和编译。

Deabin系列

wget -qO- https://cyberbotics.com/Cyberbotics.asc | sudo apt-key add -
sudo apt-add-repository 'deb https://cyberbotics.com/debian/ binary-amd64/'
sudo apt-get update
sudo apt-get install webots

Windows系列

官网下载安装

在这里插入图片描述

3. Webots仿真

一个Webots仿真由以下部分组成:

  • 一个world文件(.wbt),world文件定义了一个或多个环境中的机器人,.wbt文件有时也取决于额外的原型文件(PROTO,文件后缀为.proto)和一些纹理配置组成。
  • 机器人控制程序(C/C++/JAVA/PYTHON/MATLAB)
  • 可选物理插件约束webots的物理行为

3.1 world文件

其包含每个对象位置、方向、几何、外观的描述,包含物理属性,world按照层次结构构建组织对象包含其他对象(VRML97),例如一个wbt文件包含一个机器人,机器人有两个轮子、一个距离传感器和一个包含摄像头的关节,这些都保存再.wbt文件中,其不包含控制代码,.wbt文件中仅指定每个机器人的控制器名,.wbt文件放置再worlds的子目录中。

3.2 Controller文件

一个controller控制器是指定机器人的电脑程序,支持C,C++,Java,Python或者MatLab编写,仿真开启,webots启动指定的控制器,每一个作为独立的进程,并且每个独立的进程都和仿真环境中的机器人联系起来,请注意,多个机器人可以使用相同的控制器代码,但是将为每个机器人启动不同的进程。

不同的语言会有不同的编译过程和过程文件,解释器语言没有执行文件,所有控制器的源文件和二进制文件都存放在controller文件夹中,每个机器人的控制器文件夹都作为controllers的子目录存放。

3.3 Supervisor Controller

监管控制器当supervisor域设定为TRUE的时候生效,它可以执行一些人为干预操作,其也可以被上述任何一种语言编写,不同于有规则的机器人控制器,监管控制器拥有权限操作,包括仿真控制等,例如,将机器人设定到随机点位,或者对仿真进行视频截取等。

4. 启动方式

对于Linux系列,可以直接终端输入webots命令直接启动

对于Windows用户双击桌面图标即可

在这里插入图片描述

选择主题后进入仿真软件。

在这里插入图片描述

对于Windows如果有DOS命令的需求,可以将主程序所在路径添加到环境变量中。

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=<mode>
    Choose the startup mode, overriding application preferences. The <mode>
    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.

  --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[=<mode>]
    Start the Webots streaming server. The <mode> argument should be either
    x3d (default) or mjpeg.

  --extern-urls
    Print on stdout the URL of extern controllers that should be started.

  --heartbeat[=<time>]
    Print a dot (.) on stdout every second or <time> milliseconds if specified.

  --log-performance=<file>[,<steps>]
    Measure the performance of Webots and log it in the file specified in the
    <file> argument. The optional <steps> 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
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【机器人仿真Webots教程】-Webots安装 的相关文章

随机推荐

  • 在UE4虚幻引擎下使用VRPN接入optitrack(Motive)的实时数据

    好记性不如烂笔头 前两天刚刚实现了功能 现在把主要过程都记录一下以防忘记 写个博客记录一下 同时也供大家参考 这个测试工程的目的在于在UE4中利用VRPN实时接入Optitrack的运动追踪数据 操作手柄刚体运动数据 并以此驱动一个方块根据
  • RHEL系发行版 设置启动默认进入 命令行 或 图形 模式的方法

    这里假设你已经安装好了桌面环境的所有软件包了 使用如下命令 然后 重启 即可进入桌面环境 sudo systemctl set default graphical target 如果想将系统设置为 启动后 默认进入命令行的状态下 使用如下命
  • 单层LSTM和多层LSTM的输入与输出

    单层LSTM的输入与输出 RNN结构 对应的代码为 代码中没写偏置 上图是单层LSTM的输入输出结构图 其实它是由一个LSTM单元的一个展开 如下图所示 所以从左到右的每个LSTM Block只是对应一个时序中的不同的步 在第一个图中 输入
  • VS QT——ui不显示新添加成员(控件)

    场景1 新建项目 在ui里编辑之后 新添加的控件不显示代码提示 场景2 成员 ui 报错 不允许使用不完整的类型 因为是刚开始学 花了两三天才找到解决办法 网上方法 重新编译 ui文件 重新扫描解决方案 但是我这里还是无法解决 根本原因 缺
  • (二十三)admin-boot项目之captcha验证码整合

    二十三 captcha验证码整合 项目地址 https gitee com springzb admin boot 如果觉得不错 给个 star 简介 这是一个基础的企业级基础后端脚手架项目 主要由springboot为基础搭建 后期整合一
  • [转载] [Mark]分布式存储必读论文

    原文 http 50vip com 423 html 分布式存储泛指存储存储和管理数据的系统 与无状态的应用服务器不同 如何处理各种故障以保证数据一致 数据不丢 数据持续可用 是分布式存储系统的核心问题 也是极具挑战的问题 本文总结了分布式
  • Java架构直通车——基于Redis的Set NX实现分布式锁

    文章目录 实现原理 SetNx的缺陷 超时问题 单机 多机问题 实践 基于Redis的Set NX实现分布式锁 基于Redisson实现分布式锁 实现原理 我们先来看获取redis锁的set命令 SET resource name rand
  • 缠论中第49课:没必要参与操作级别及以上级别的下跌与超过操作级别的盘整,如何理解与应用?

    缠论中第49课 没需要介入操纵级别及以上司其余下降与胜过操纵级其余盘整 怎样领会与运用 比方你的操纵级别是30秒钟 那么你该当只介入30秒钟的飞腾大概30秒钟级其余进取盘整 一旦30秒钟飞腾和盘整中断 就要退出 不介入30秒钟大概以上司别
  • memcache linux 命令行,Linux下用命令行查询memcache的所有keys

    1 telnet 10 10 24 106 11211 2 stats items STAT items 23 number 2 STAT items 23 age 934861 STAT items 23 evicted 0 STAT i
  • Implementing setfenv in Lua 5.2, 5.3, and above

    Implementing setfenv in Lua 5 2 5 3 and above An upvalue tutorial Posted July 08 2015 by leafo moonscript Tags lua Tweet
  • 浅谈Phoenix在HBase中的应用

    一 前言 业务使用HBase已经有一段时间了 期间也反馈了很多问题 其中反馈最多的是HBase是否支持SQL查询和二级索引 由于HBase在这两块上目前暂不支持 导致业务在使用时无法更好的利用现有的经验来查询HBase 虽然HBase本身不
  • Matrikon OPC常见问题及解决方案(一)

    本文主要分享了使用MatrikonOPC服务器时遇到的一些最常见的问题和相应的解决方案 在联系MatrikonOPC支持团队之前 你可以看一下以下问题 解决方案和问题 答案部分是否能帮助你解决目前问题 问题和解决方案 安装时出现 aprxd
  • VUE大屏数据面板

    基于VUE写的数据看板 有九个模块 分别为 订单总量 柱状图 生产概况 数字面板 企业宣传 轮播图 产品质量分析 饼状图 客户分布 地图且有标点信息 客户订单排行 上下滚动 企业利润分析 柱折线图 合格率分析 横柱状图 测试分析 双折线图
  • python_os.walk(dir)

    for root dirs files in os walk dir os walk返回一个三元组 path 对当前路径以及其下所有的子目录进行递归 dirs 当前路径下的子目录 files 当前路径下的文件 gt gt gt for r
  • Vue3+Three.js+antvG2实战项目 智慧城市(一)

    前言 在网上找了很久都没有找到使用Three js开发智慧城市的免费文章或者免费视频 自己花了一点时间做了一个纯前端的智慧城市项目 技术栈都是最新的 vue3 vite typeScript Three antv G2 源码分享 源码 模型
  • websocket如何设置header

    websocket请求的时候要获取请求头而且需要给前端相同的相应 所以需要处理 这里记录一下 创建一个配置类 并且继承ServerEndpointConfig Configurator 重写modifyHandshake方法 获取请求头和反
  • Vue todos代办事项功能

    今天做的笔记是todos 待办事项项目 相信大家学完vue基础后 迫不及待想实现一些功能 所以这里我会用到Vue基础语法 和一些js的知识来互相结合运用 可能写的笔记不太好 大家耐心观看 有意见可以在评论区留言 我不会分享源码哦 大家想要源
  • 数字电路经验贴

    1 有时候会写一些通用模块 但是在实际使用的时候 模块内部的功能不会全部用到 会导致覆盖率上不去 以及面积增大 后续工作可以考虑怎么避免这种情况
  • ubuntu系统空间占满,无法启动

    1 今天第一次遇到Ubuntu系统整个崩溃无法启动 这个时候会出现下图所示 2 此时重启 选择recovery模式 进行修复 如下图所示 小白的我不懂以为只要进行了第二项的清处就可以 亲自尝试只清理出空间80M 3 此时应该选择root 选
  • 【机器人仿真Webots教程】-Webots安装

    Webots安装 文章目录 Webots安装 1 Webots简介 2 Webots安装 2 1 系统要求 2 2 验证显卡驱动 2 3 安装 3 Webots仿真 3 1 world文件 3 2 Controller文件 3 3 Supe