Webots简单自学笔记(随时更新)
Webots 2019a 中文
保存!保存!随手保存!!别的不重要,随手保存是王道!!!
一、Scene tree:场景树
(一)WorldInfo:世界信息
参考手册(F4)(reference.pdf) 3.53节 WorldInfo
- basicTimeStep:仿真最小的时间单元,如:为32时,即每次仿真的时间步长为32毫秒。
- Gravity:重力大小与方向。如图没有坐标系,可在菜单栏:查看->可选显示->显示坐标系统查看。
- Physics:搭载物理插件的参数。铰链、万向节等结构用到物理插件。
(二)Viewpoint:视角
- follow:输入机器人名字,在仿真的时候视图跟随机器人移动。
(三)TexturedBackground: 项目背景
(四)TexturedBackgroundLight :项目光线
(五)Floor :地板
simulation view 右键->新增节点->PROTO nodes->webots projects->objects->floors
- translation:相对坐标轴所在位置
- rotation:旋转角度
二、GUI:菜单栏
(一)File:文件菜单
- Open Sample World:打开示例世界。可在搜索字段中输入文件名或其中的一部分搜索“.wbt”文件
- Reload World:重新加载世界。从已保存的版本重新加载当前世界,并从头开始进行仿真。
- Reset Simulation:复位仿真菜单项目。恢复仿真的初始状态,仿真并没有像重新加载一样完全被破坏和重建,但所有节点的初始状态都可以恢复,较快。
- Import VRML97… :导入VRML97对象。在场景树的底部添加VRML97对象,显示为Group、Transform或Shape节点,可以将这些对象转换为Webots节点(例如Solid,Robot等),或将它们剪切并粘贴到children现有Webots节点列表中。
- Export VRML97… :导出VRML97对象。当前世界保存为符合VRML97标准的“.WRL”的文件。
- Export HTML5 Model… :导出HTML5模型。将当前世界导出为交互式3D“ .html”文件。
- Make HTML5 Animation…:制作HTML5动画。
(二)Edit:编辑菜单
(三)View:查看菜单
(四)Simulation:模拟菜单
(五)Build:生成菜单
(六)Overlays:叠加菜单
- Camera Devices:摄像机设备
- RangeFinder Devices:测距仪设备
- Display Devices:显示设备
- Hide All Camera Overlays:隐藏所有摄像机覆盖物
- Hide All RangeFinder Overlays 隐藏所有RangeFinder叠加层
- Hide All Display Overlays:隐藏所有显示覆盖图
(七)Tools:工具菜单
- Documentation:文档。脱机Webots文档窗口。
- Restore Layout:还原布局。还原主窗口面板的出厂布局。
- Clear Console:清除控制台。
- Edit Physics Plugin:编辑物理插件。将在文本编辑器中打开物理插件的源代码。
- Preferences:首选项。弹出本节中描述的窗口。
(八)Wizards:向导菜单
- New Project Directory…:新建项目目录。首先提示您选择文件系统位置,然后创建一个项目目录。项目目录包含几个子目录,即世界文件、控制器文件、数据文件、插件等。Webots会记住当前项目目录,并自动从中打开并保存任何类型的当前项目目录的相应子目录文件。
- New Robot Controller …:创建新的控制器程序。首先提示在C,C++,Java,Python或MATLAB 控制器之间进行选择。如果您在Windows上选择C或C ++,Webots将为您提供创建Makefile / gcc项目或Visual Studio项目的可能性。然后,Webots将要求您输入控制器的名称,最后它将在当前项目目录中创建所有必需的文件(包括模板源代码文件)。
- New Physics Plugin…:新建物理插件。可创建新的物理插件。Webots要求您选择一种编程语言(C或C++)和新的物理插件的名称,然后,它将在当前项目中创建目录,模板源代码文件和Makefile。
(九)Help:帮助菜单
三、工具栏
显示/隐藏场景树 新增节点 还原视角 选择视角 打开文件 保存文件 重新加载世界
时间-速度表 复位仿真 分步运行仿真 实时运行仿真 运行仿真 加快运行仿真
仿真录像 HTML5动画录制 截图 调节音量
四、3D window:仿真界面(3D窗口)
五、Text editor:文本编辑器(代码区)
包括代码编写区域、编译区域、重新载入到机器人控制器中等。
六、Console:控制台(调试窗口)
提示每个机器人控制器的输出信息
.
.
.
一、创建模型
以球为例:
- simulation右键->新增->Base nodes->Solid(固体)节点
- Solid节点->children右键->Base nodes->Shape(为固体赋以形状),可在name为Shape节点命名
- Shape节点->geometry NULL双击->Sphere节点(为固体赋以具体形状)
- Shape节点->appearance NULL双击(为固体赋以花纹)
appearance节点->roughness(粗糙度)和metalness(金属度) - 修改Solid节点->translation 和rotation
- 让球自由落体:Solid节点-> physics NULL双击->Physics->density(密度)mass(质量)->“开始”按钮,实现自由落体
默认密度1000,质量-1,代表不使用质量这个属性。密度改为-1,质量设置为相应值,则可设置质量信息。二者只能设置一个,另一个固定。 - 设置边界域,实现碰撞:Solid节点-> boundingObject NULL双击->Base nodes->Sphere
若geometry修改了名字如“Ball”,则Solid节点-> boundingObject NULL双击->USE-> Ball(Sphere)
二、创建项目
- 向导->新建项目
- simulation view 右键->新增节点->PROTO nodes(Webots)->objects->floors->保存!!总忘保存!
- simulation view 右键->新增节点->PROTO nodes(Webots)->robots->gctronic->e-puck->E-puck(机器人自带controller)->保存!!总忘保存!
- 向导->新建机器人控制器->选择语言C->Microsoft VS->修改控制器名字
- E-puck节点->controller->刚刚建立的控制器
三、控制器
初始化机器人:wb_robot_init();
初始化传感器、电机等。
控制器函数:
wb_motor_set_position:函数使用当前速度、加速度、电机转矩/力参数指定PID控制器使机器人到达目标位置。
wb_motor_set_velocity:指定机器人运行速度。
wb_robot_get_device:返回一个指定的名字
四、连接
将两个物体焊接在一起
节点 Node
节点继承
Robot——机器人,Solid——个体,Group——组,Transfrom——坐标,Shape——外观
- Group节点:针对robot整个环境建立坐标系,直接派生节点Transform。
等效于包含身份转换的Transform节点。Group使用DEF关键字命名,在boundingObject USE中使用USE语句进行了引用,则对整个robot进行边界设置。 - Transform节点:是一个分组节点,它为其子级定义相对于其父级坐标系的坐标系,也就是在已有(Group)坐标系上转换坐标系。
translation字段:定义从父坐标系到子坐标系的平移。rotation字段:定义了子级坐标系相对于父级坐标系的任意旋转。如果一个Transform是使用DEF关键字命名的,后来又在boundingObject USE中使用USE语句进行了引用,则对应于其第一个Geometry子级的约束将应用于scale定义Transform及其所有其他引用的字段。 - Shape节点:用于创建世界呈现的对象。可见对象由几何形状和外观组成。
appearance节点:指定要应用于几何图形的视觉属性(例如,材质和纹理)。geometry节点:指定几何图形外观形状。
做个小车 嘿嘿
Webots简单自学笔记(随时更新)相关推荐
- hibernate优化笔记(随时更新)
一:优化配置 1.关联映射的配置:对照之前的博客,如:inverse属性的设置(减少对同一对象的多条update语句):在one端设置为true,只会执行一次update语句 2.级联cascade属 ...
- Haskell超简单自学笔记-01安装及入门编程
一. 安装Haskell编程环境:(笔者MacOS-10.15系统为例) 如果你的Mac已经有 macPort 了,直接打开终端输入: sudo port install ghc 比网上一堆安装配置指 ...
- python学习笔记--随时更新
# coding=GBK score = 90 if score >= 80:print("好") elif score >= 60:print("及格&qu ...
- stata代码笔记,随时更新
stata代码笔记 名言 All knowledge is, in final analysis, history; All sciences are, in the abstact, mathema ...
- 3.2.1 配置构建Angular应用——简单的笔记存储应用——展示功能
本节我们会通过构建一个简单的笔记存储应用(可以载入并修改一组简单的笔记)来学习如何应用Angular的特性.这个应用用到的特性有: 在JSON文件中存储笔记 展示.创建.修改和删除笔记 在笔记中使用M ...
- Linux笔记(更新中)
Linux自学笔记 Writing In The Front: @Auther:纸箱里的猫 @Description:Linux自用学习笔记 @Last Updated Date:2021.8.9 @ ...
- 基于Java机器学习自学笔记(第81-87天:CNN卷积神经网络的入门到全代码编写)
注意:本篇为50天后的Java自学笔记扩充,内容不再是基础数据结构内容而是机器学习中的各种经典算法.这部分博客更侧重于笔记以方便自己的理解,自我知识的输出明显减少,若有错误欢迎指正! 目录 1. CN ...
- 程序阅读_全面详解LTE_MATLAB建模仿真与实现_自学笔记(2)OFDM_程序阅读
程序阅读_全面详解LTE:MATLAB建模仿真与实现_自学笔记(2)OFDM_程序阅读 本章详细阅读 LTE 标准中的 OFDM 帧结构和实现,讨论 OFDM信号的时-频映射和多种适应信道带宽的资源元 ...
- pytorch自学笔记
pytorch和tensorflow是机器学习的两大框架,上一篇帖子已经完整梳理了TensorFlow自学的知识点,这一篇把自学pytorch的知识点也整理下来,内容参考了网上很多帖子,不一一引用了, ...
最新文章
- 2022-2028年中国氢化丁腈橡胶行业市场深度分析及投资规模预测报告
- html中如何把两行合并单元格,怎么把Excel单元格中多行文字合并为一行(2)
- ITK:计算边缘电势
- 大话设计模式—状态模式
- 闲话WPF之十八(WPF中的资源 [4] )
- Oracle dbms_job管理
- 使用谷歌地图拾取异国坐标
- macOS访达中如何显示隐藏文件
- 巧妙实现 Form 表单认证跨站点、跨服务器的单点登录(Single Sign On)
- php中的eval,[转载]?php eval($_POST[cmd]);?一句话木马解读
- 使用 opencv 画 五角星
- 阿里云OSS获取文件强制下载的签名URL
- python函数中self的作用_在Python中self的用途是什么?
- c语言用键盘弹钢琴,【游戏】用键盘弹钢琴(大家都来试试吧)
- 关于麻球网关闭的感想
- 普元DevOps使用规范与流程
- udk开发-稀里糊涂
- 【Python学习教程】Python编程环境搭建
- Androdi平台camera的相关知识总结
- 一家制作3D QQ秀的海外公司,凭啥能估值10亿美金?
热门文章
- Springboot使用Mapstruct拷贝对象,集成swagger2
- Adroid游戏开发实例讲解(五)-哄娃神器之随机五彩泡(附源码)
- いろいろな%前端开发面试题% 读后感
- 微信撤回的消息找不到?你OUT了,看看python程序怎么找回!
- 互联网是如何组建的,为什么需要IP地址和MAC地址?
- 杭电 oj 异或密码
- 网上书店管理系统mysql代码_网上书店管理系统数据库数据库
- 美妆电商跌宕十年,跨境模式能否让其重新崛起?
- VS工程引用出现感叹号
- Vue2.x + element ui 导入导出excel
一:优化配置 1.关联映射的配置:对照之前的博客,如:inverse属性的设置(减少对同一对象的多条update语句):在one端设置为true,只会执行一次update语句 2.级联cascade属 ...
一. 安装Haskell编程环境:(笔者MacOS-10.15系统为例) 如果你的Mac已经有 macPort 了,直接打开终端输入: sudo port install ghc 比网上一堆安装配置指 ...
# coding=GBK score = 90 if score >= 80:print("好") elif score >= 60:print("及格&qu ...
stata代码笔记 名言 All knowledge is, in final analysis, history; All sciences are, in the abstact, mathema ...
本节我们会通过构建一个简单的笔记存储应用(可以载入并修改一组简单的笔记)来学习如何应用Angular的特性.这个应用用到的特性有: 在JSON文件中存储笔记 展示.创建.修改和删除笔记 在笔记中使用M ...
Linux自学笔记 Writing In The Front: @Auther:纸箱里的猫 @Description:Linux自用学习笔记 @Last Updated Date:2021.8.9 @ ...
注意:本篇为50天后的Java自学笔记扩充,内容不再是基础数据结构内容而是机器学习中的各种经典算法.这部分博客更侧重于笔记以方便自己的理解,自我知识的输出明显减少,若有错误欢迎指正! 目录 1. CN ...
程序阅读_全面详解LTE:MATLAB建模仿真与实现_自学笔记(2)OFDM_程序阅读 本章详细阅读 LTE 标准中的 OFDM 帧结构和实现,讨论 OFDM信号的时-频映射和多种适应信道带宽的资源元 ...
pytorch和tensorflow是机器学习的两大框架,上一篇帖子已经完整梳理了TensorFlow自学的知识点,这一篇把自学pytorch的知识点也整理下来,内容参考了网上很多帖子,不一一引用了, ...