2.1 初识Webots
来源:互联网 发布:数据新闻的特点 编辑:程序博客网 时间:2024/06/05 04:32
2.1 Webots作用
Webots是一款专业的移动机器人仿真软件平台。它提供一个机器人快速建模的软件环境,让用户能够虚拟的3D环境和物理属性,比如 质量、关节、摩擦系数 等。用户能够加入简单的被动或者主动的机器人。这些机器人能够有不同的运动方案,如
- 轮式机器人
- 足式机器人
- 飞行机器人
更多的是,这些机器人身上还能加上一系列传感器和电机,例如
- 距离传感器
- 驱动轮
- 摄像头
- 舵机
- 触觉传感器
- 发射器
- 接收器
最后,用户能够给每个机器人编程去展示想要的行为和动作。Webots已经有许多机器人模型和控制器程序例程帮助用户使用。
Webots还有许多和实际移动机器人的接口,你能够按照你所想的去仿真机器人,并且将仿真的控制程序转移到实际的机器人上。比如
- e-puck
- DARwIn-OP
- Nao
2.1.2 你能用Webots做什么
Webots非常适合移动机器人的研究和教育项目。许多移动机器人的项目长久的依赖Webots,如以下项目:
- 移动机器人的原型设计(学术研究,汽车行业,航空, 吸尘器行业, 玩具产业, 爱好者等)
- 机器人运动研究(足式,类人机器人,四足机器人等)
- 多机器人的研究(群智能, 合作的移动机器人组等)
- 自适应行为研究( 遗传算法, 神经网络,人工智能等)
- 教学机器人(机器人讲座, C/C++/Java/Python programming 教学等)
- 机器人竞赛(例如:www.robotstadium.org 或 www.ratslife.org)
2.1.3 我需要知道如何使用Webots
你需要掌握最少的技术来开发你的仿真
- 基本的C, C++, Java, Python或者Matlab编程语言是必须的,可以用来编写你自己的机器人控制器。然而,即使你不知道这些编程语言,你还是能够通过使用简单的图形编程语言BotStudio来编写e-puck和Hemisson机器人的控制程序。
- 如果你不想用Webots提供的机器人模型,想要创建你自己的机器人,或者在仿真环境中加入特别的物体,你将会需要一些3D计算机图形学和VRML97描述语言。这些语言会帮助你在Webots创建3D模型或者从3D建模软件导入这些模型。
2.1.4 Webots仿真
Webots仿真有下列项目组成
1. 一个Webots的世界文件(.wbt), 该文件定义了一个或者几个机器人和物理环境。 .wbt文件有时候依赖于外部的原型(.proto)和纹理。
2. 对于上述的机器人有一个或几个机器人控制程序(in C/C++/Java/Python/Matlab).
3. 一个可选的物理插件,用来修改Webots常规的物理行为(in C/C++)
2.1.5 什么是一个世界
在Webots中,一个世界,是机器人的属性和环境的3d描述。这包含一系列对于每个物体的描述:
- 位置
- 方向
- 几何(geometry)
- 外观 (颜色和亮度)
- 物理属性
- 物体的种类
世界被组织为层次结构,其中对象可以包含其他对象(比如VRML97)。例如,一个机器人可以包含两个轮子,一个距离传感器,一个含有摄像头的舵机等。世界文件没有含有机器人的控制代码;它只列出每个机器人的控制器的名字。世界被保存到 .wbt 文件中。 .wbt文件被保存到每个webots项目的子目录。
2.1.6 什么是控制器
控制器是一个计算机程序,它可以控制在世界文件中指定的机器人。 控制器可以使用任意Webots支持的语言进行编程:C, C++, Java, Python 或 Matlab。
当一个仿真运行时,Webots启动指定的控制器,每个作为单独的过程, 并且其将控制器处理与模拟的机器人相关联。注意几个机器人可以使用同一个控制代码,然而,Webots需要为每个机器人启动不同的过程。
一些编程语言需要变编译(C , C++),其他的编程语言需要被解释(Python和Matlab),还有一些需要被编译,解释(Java)。例如,C和C++被编译成平台相关的二进制可执行文件(比如windows的.exe)。Python和Matlab控制器运行时由系统解释(这需要安装好)。Java控制器需要被编译成字节代码(.class 文件或者 .jar),然后由Java虚拟机解释。
每个控制器的源文件和二进制文件被一起储存到控制器的目录。控制器目录放在每个Webots项目的 controllers 子目录。
2.1.7 什么是Supervisor
Supervisor是一个特殊类型的机器人,它可以执行仅仅由人类操作员可以执行的(不能被真实机器人执行的)操作。Supervisor通常可以与任何上述编程语言编写的控制器程序相关联。然而,相比于一个常规的机器人控制器,Supervisor能进行特殊操作,比如仿真控制,可以移动机器人到任意一个位置,进行一个视频捕捉仿真等。
- 2.1 初识Webots
- webots仿真机器人平台
- webots控制器编写
- Webots学习经验
- webots仿真机器人平台
- Webots机器人仿真软件
- Webots学习经验
- Webots入门(一)-build up a world
- Webots入门(二)-build up a controller
- Webots 获取30天试用版license
- 初识
- 初识
- 初识
- Creat a Passive-Dynamic Walking robot with webots
- Creat a Passive-Dynamic Walking robot with webots
- webots自学笔记(二)节点与机器人建模
- webots自学笔记(三)控制器与电机控制
- webots自学笔记(六)实用控制器函数补充
- quartz配置顶底任务
- 算法提高 乘法运算
- spoj-3415(后缀数组+单调栈)
- View programming guide decument
- HttpClient使用详解
- 2.1 初识Webots
- android : hide title
- 关于iOS中的strong,weak,assign,copy,retain等关键字的总结
- Android属性动画基础(2)
- 一个WCF服务开发与调用的完整示例
- java 基础知识七 装箱和拆箱
- Error:The SDK directory 'C:\Users\Darko\AppData\Local\Android\sdk' does not exist. Please fix the 's
- linux中查看nginx、apache、php、mysql配置文件路径的方法
- 关于Console控制台输出的玩法