Webots 2019a 中文
保存!保存!随手保存!!别的不重要,随手保存是王道!!!

一、Scene tree:场景树

(一)WorldInfo:世界信息

参考手册(F4)(reference.pdf) 3.53节 WorldInfo

  1. basicTimeStep:仿真最小的时间单元,如:为32时,即每次仿真的时间步长为32毫秒。
  2. Gravity:重力大小与方向。如图没有坐标系,可在菜单栏:查看->可选显示->显示坐标系统查看。
  3. Physics:搭载物理插件的参数。铰链、万向节等结构用到物理插件。

(二)Viewpoint:视角

  • follow:输入机器人名字,在仿真的时候视图跟随机器人移动。

(三)TexturedBackground: 项目背景

(四)TexturedBackgroundLight :项目光线

(五)Floor :地板

simulation view 右键->新增节点->PROTO nodes->webots projects->objects->floors
  1. translation:相对坐标轴所在位置
  2. rotation:旋转角度

二、GUI:菜单栏

(一)File:文件菜单

  1. Open Sample World:打开示例世界。可在搜索字段中输入文件名或其中的一部分搜索“.wbt”文件
  2. Reload World:重新加载世界。从已保存的版本重新加载当前世界,并从头开始进行仿真。
  3. Reset Simulation:复位仿真菜单项目。恢复仿真的初始状态,仿真并没有像重新加载一样完全被破坏和重建,但所有节点的初始状态都可以恢复,较快。
  4. Import VRML97… :导入VRML97对象。在场景树的底部添加VRML97对象,显示为Group、Transform或Shape节点,可以将这些对象转换为Webots节点(例如Solid,Robot等),或将它们剪切并粘贴到children现有Webots节点列表中。
  5. Export VRML97… :导出VRML97对象。当前世界保存为符合VRML97标准的“.WRL”的文件。
  6. Export HTML5 Model… :导出HTML5模型。将当前世界导出为交互式3D“ .html”文件。
  7. Make HTML5 Animation…:制作HTML5动画。

(二)Edit:编辑菜单
(三)View:查看菜单
(四)Simulation:模拟菜单
(五)Build:生成菜单
(六)Overlays:叠加菜单

  1. Camera Devices:摄像机设备
  2. RangeFinder Devices:测距仪设备
  3. Display Devices:显示设备
  4. Hide All Camera Overlays:隐藏所有摄像机覆盖物
  5. Hide All RangeFinder Overlays 隐藏所有RangeFinder叠加层
  6. Hide All Display Overlays:隐藏所有显示覆盖图

(七)Tools:工具菜单

  1. Documentation:文档。脱机Webots文档窗口。
  2. Restore Layout:还原布局。还原主窗口面板的出厂布局。
  3. Clear Console:清除控制台。
  4. Edit Physics Plugin:编辑物理插件。将在文本编辑器中打开物理插件的源代码。
  5. Preferences:首选项。弹出本节中描述的窗口。

(八)Wizards:向导菜单

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

(九)Help:帮助菜单

三、工具栏


显示/隐藏场景树 新增节点 还原视角 选择视角 打开文件 保存文件 重新加载世界

时间-速度表 复位仿真 分步运行仿真 实时运行仿真 运行仿真 加快运行仿真

仿真录像 HTML5动画录制 截图 调节音量

四、3D window:仿真界面(3D窗口)

五、Text editor:文本编辑器(代码区)

包括代码编写区域、编译区域、重新载入到机器人控制器中等。

六、Console:控制台(调试窗口)

提示每个机器人控制器的输出信息
.
.
.

一、创建模型

以球为例:

  1. simulation右键->新增->Base nodes->Solid(固体)节点
  2. Solid节点->children右键->Base nodes->Shape(为固体赋以形状),可在name为Shape节点命名
  3. Shape节点->geometry NULL双击->Sphere节点(为固体赋以具体形状)
  4. Shape节点->appearance NULL双击(为固体赋以花纹)
    appearance节点->roughness(粗糙度)和metalness(金属度)
  5. 修改Solid节点->translation 和rotation
  6. 让球自由落体:Solid节点-> physics NULL双击->Physics->density(密度)mass(质量)->“开始”按钮,实现自由落体
    默认密度1000,质量-1,代表不使用质量这个属性。密度改为-1,质量设置为相应值,则可设置质量信息。二者只能设置一个,另一个固定。
  7. 设置边界域,实现碰撞:Solid节点-> boundingObject NULL双击->Base nodes->Sphere
    若geometry修改了名字如“Ball”,则Solid节点-> boundingObject NULL双击->USE-> Ball(Sphere)

二、创建项目

  1. 向导->新建项目
  2. simulation view 右键->新增节点->PROTO nodes(Webots)->objects->floors->保存!!总忘保存!
  3. simulation view 右键->新增节点->PROTO nodes(Webots)->robots->gctronic->e-puck->E-puck(机器人自带controller)->保存!!总忘保存!
  4. 向导->新建机器人控制器->选择语言C->Microsoft VS->修改控制器名字
  5. E-puck节点->controller->刚刚建立的控制器

三、控制器

初始化机器人
开始仿真步骤
读取传感器数据
过程行为 电机采取行动
写执行器
清理机器人

初始化机器人:wb_robot_init();
初始化传感器、电机等。
控制器函数:
wb_motor_set_position:函数使用当前速度、加速度、电机转矩/力参数指定PID控制器使机器人到达目标位置
wb_motor_set_velocity:指定机器人运行速度。
wb_robot_get_device:返回一个指定的名字

四、连接

将两个物体焊接在一起

physics
children
boundingObject
children
geometry
children
children
geometry
children
children
geometry
Solid
Physics
DEF G0 Group
USE G0
Shape
Cylinder
Transform
Shape
Sphere
Transform
Shape
Sphere

节点 Node
节点继承

Solid
Group
Transform
Shape
Solid
Shape
Fluid
TrackWheel

Robot——机器人,Solid——个体,Group——组,Transfrom——坐标,Shape——外观

  1. Group节点:针对robot整个环境建立坐标系,直接派生节点Transform。
    等效于包含身份转换的Transform节点。Group使用DEF关键字命名,在boundingObject USE中使用USE语句进行了引用,则对整个robot进行边界设置。
  2. Transform节点:是一个分组节点,它为其子级定义相对于其父级坐标系的坐标系,也就是在已有(Group)坐标系上转换坐标系。
    translation字段:定义从父坐标系到子坐标系的平移。rotation字段:定义了子级坐标系相对于父级坐标系的任意旋转。如果一个Transform是使用DEF关键字命名的,后来又在boundingObject USE中使用USE语句进行了引用,则对应于其第一个Geometry子级的约束将应用于scale定义Transform及其所有其他引用的字段。
  3. Shape节点:用于创建世界呈现的对象。可见对象由几何形状和外观组成。
    appearance节点:指定要应用于几何图形的视觉属性(例如,材质和纹理)。geometry节点:指定几何图形外观形状。

做个小车 嘿嘿

Webots简单自学笔记(随时更新)相关推荐

  1. hibernate优化笔记(随时更新)

    一:优化配置 1.关联映射的配置:对照之前的博客,如:inverse属性的设置(减少对同一对象的多条update语句):在one端设置为true,只会执行一次update语句 2.级联cascade属 ...

  2. Haskell超简单自学笔记-01安装及入门编程

    一. 安装Haskell编程环境:(笔者MacOS-10.15系统为例) 如果你的Mac已经有 macPort 了,直接打开终端输入: sudo port install ghc 比网上一堆安装配置指 ...

  3. python学习笔记--随时更新

    # coding=GBK score = 90 if score >= 80:print("好") elif score >= 60:print("及格&qu ...

  4. stata代码笔记,随时更新

    stata代码笔记 名言 All knowledge is, in final analysis, history; All sciences are, in the abstact, mathema ...

  5. 3.2.1 配置构建Angular应用——简单的笔记存储应用——展示功能

    本节我们会通过构建一个简单的笔记存储应用(可以载入并修改一组简单的笔记)来学习如何应用Angular的特性.这个应用用到的特性有: 在JSON文件中存储笔记 展示.创建.修改和删除笔记 在笔记中使用M ...

  6. Linux笔记(更新中)

    Linux自学笔记 Writing In The Front: @Auther:纸箱里的猫 @Description:Linux自用学习笔记 @Last Updated Date:2021.8.9 @ ...

  7. 基于Java机器学习自学笔记(第81-87天:CNN卷积神经网络的入门到全代码编写)

    注意:本篇为50天后的Java自学笔记扩充,内容不再是基础数据结构内容而是机器学习中的各种经典算法.这部分博客更侧重于笔记以方便自己的理解,自我知识的输出明显减少,若有错误欢迎指正! 目录 1. CN ...

  8. 程序阅读_全面详解LTE_MATLAB建模仿真与实现_自学笔记(2)OFDM_程序阅读

    程序阅读_全面详解LTE:MATLAB建模仿真与实现_自学笔记(2)OFDM_程序阅读 本章详细阅读 LTE 标准中的 OFDM 帧结构和实现,讨论 OFDM信号的时-频映射和多种适应信道带宽的资源元 ...

  9. pytorch自学笔记

    pytorch和tensorflow是机器学习的两大框架,上一篇帖子已经完整梳理了TensorFlow自学的知识点,这一篇把自学pytorch的知识点也整理下来,内容参考了网上很多帖子,不一一引用了, ...

最新文章

  1. 2022-2028年中国氢化丁腈橡胶行业市场深度分析及投资规模预测报告
  2. html中如何把两行合并单元格,怎么把Excel单元格中多行文字合并为一行(2)
  3. ITK:计算边缘电势
  4. 大话设计模式—状态模式
  5. 闲话WPF之十八(WPF中的资源 [4] )
  6. Oracle dbms_job管理
  7. 使用谷歌地图拾取异国坐标
  8. macOS访达中如何显示隐藏文件
  9. 巧妙实现 Form 表单认证跨站点、跨服务器的单点登录(Single Sign On)
  10. php中的eval,[转载]?php eval($_POST[cmd]);?一句话木马解读
  11. 使用 opencv 画 五角星
  12. 阿里云OSS获取文件强制下载的签名URL
  13. python函数中self的作用_在Python中self的用途是什么?
  14. c语言用键盘弹钢琴,【游戏】用键盘弹钢琴(大家都来试试吧)
  15. 关于麻球网关闭的感想
  16. 普元DevOps使用规范与流程
  17. udk开发-稀里糊涂
  18. 【Python学习教程】Python编程环境搭建
  19. Androdi平台camera的相关知识总结
  20. 一家制作3D QQ秀的海外公司,凭啥能估值10亿美金?

热门文章

  1. Springboot使用Mapstruct拷贝对象,集成swagger2
  2. Adroid游戏开发实例讲解(五)-哄娃神器之随机五彩泡(附源码)
  3. いろいろな%前端开发面试题% 读后感
  4. 微信撤回的消息找不到?你OUT了,看看python程序怎么找回!
  5. 互联网是如何组建的,为什么需要IP地址和MAC地址?
  6. 杭电 oj 异或密码
  7. 网上书店管理系统mysql代码_网上书店管理系统数据库数据库
  8. 美妆电商跌宕十年,跨境模式能否让其重新崛起?
  9. VS工程引用出现感叹号
  10. Vue2.x + element ui 导入导出excel