Webots
简述
Webots是一款开源动力学仿真软件,一款优秀的机器人仿真软件;
Webots由Cyberbotics公司开发,是一款开源的多平台机器人仿真软件,为机器人的建模、编程
和仿真提供了完整的开发环境。Webots内核基于开源动力学引擎ODE和OpenGL,可以在
Windows,Linux和macOS上运行,并且支持多种编程语言(C/C++,Python,Java,MATLAB)。
基本信息
功能:
Webots的主要功能是机器人的建模、控制与仿真,用于开发、测试和验证机器人算法;
webots可以将仿真过程导出动画或者HTML展示使用;
Webot内置了接近100种机器人模型,包括轮式机器人、人形机器人、爬行移动机器人、单臂移动机器人、双臂移动机器人、无人机、大狗、飞艇等等,其中就包括大家比较熟悉的Boston Dynamics Atlas、DJI Mavic 2 PRO、Nao、PR2、YouBot、UR、Turtlebot3 Burger等机器人。当然还有我们需要的自动驾驶环境,webo还提供有火星车的模型可以让大家使用。
学习步骤
1、官方Guide
https://cyberbotics.com/doc/guide/index?version=R2020a-rev1
2、电科webots教程
教程链接:https://www.bilibili.com/video/BV11V411f7ko?from=search&seid=8808193025190712994
具体学习内容:
第0课:introduction
webots的组成部分:
Webots主要分为两部分:world和controller
world主要负责机器人特性和环境的物理性质,比如位置、方向、外观、材质之类的基本属性;
controller主要负责通过计算机程序控制机器人运动。
模型语言:VRML97
VRML(Virtual Reality Modeling Language)即虚拟现实建模语言。是一种用于建立真实世界的场景模型或人们虚构的三维世界的场景建模语言,也具有平台无关性;
用来描述world的。
第1课:nodes简介
3、古月居
webots建模方法:
1、使用webots模型树建模
比较麻烦,只能建立比较简单的模型
2、使用SolidWorks等三维建模软件导出VRML(*.wrl)
webots环境建模是用一种虚拟现实建模语言VRML(Virtual Reality Modeling Language)来描述的,因此我们可以使用三维软件导出这种格式。以SolidWorks为例,使用SolidWorks完成建模以后,将其另存为VRML(.wrl)文件。由于SolidWorks装配体的装配关系在转换成.wrl后装配关系会消失,因 此我们需要在webots模型树进行重新装配。零部件的导入
3、使用urdf/xacro转换
那么如何快速上手一款仿真软件
1、先大体浏览一遍官方提供的入门操作,熟悉操作界面;
2、然后针对使用目的,学习相应的Demo,不懂的地方查阅帮助文档;
3、最后的进阶阶段,要熟悉软件安装包的文件级,这有助于我们解决一些软件BUG的问题以及自定义插件或纹理的实现。
资源整理
1、官方资源
官方网站链接:http://www.cyberbotics.com/
官方wiki:https://github.com/cyberbotics/webots/wiki
官方guide:https://cyberbotics.com/doc/guide/index?version=R2020a-rev1
控制器编程函数手册:https://pan.baidu.com/s/1-_seuT8FSkb5m-iBLgLwUg 提取码:hmew
2、古月居
古月居官网链接:https://www.guyuehome.com/
3、其他资料
知乎一机械工程研究生webots简易教程(质量有点低)
链接:https://www.zhihu.com/column/c_1231240562872684544
4、视频教程
B站:
1、电科视频教程:https://www.bilibili.com/video/BV11V411f7ko?from=search&seid=11964416964621468129
https://www.bilibili.com/video/BV1Fe411W7ae?from=search&seid=11964416964621468129
2、东北大学12分钟仿真一个小车:https://www.bilibili.com/video/BV1J7411Z7wj?p=2&spm_id_from=pageDriver
油管:1、Cyberbotics Webots官方账号:https://www.youtube.com/channel/UC6hnFxLpJzPU6jifXy2UySQ
其他问题
其他想法
1、如何控制机器人运动以及关节定义,如何控制demo中的机器人运动
2、另一方面,学会webots机器人仿真有什么用,我不去研究机器人动力学问题
3、Gazebo、Webots、V-rep
V-rep是一款非常受欢迎的开源机器人仿真软件,这个软件的使用
文章:https://www.guyuehome.com/8218 对比了Gazebo、Webots、V-rep(现改名为CoppeliaSim)。
4、webots编程的具体语法形式
见函数使用手册;
5、webots和openGL的关系
6、webots是支持中文的,如何修改成中文