Webots:RHex仿真平台搭建——(一)将SolidWorks模型导入Webots

最近在做一个RHex机器人的步态研究,想做一下仿真,因为之前都是使用Adams-Matlab的联合仿真,而一直听说Webots做机器人的仿真十分好用,所以就打算学习一下。基础的操作看起来是比较简单的,在Webots自带的User Guide和Reference manual里面都能够学到。下面主要介绍一下从SolidWorks导入工程模型、在Webots中设定boundingObject、使用VS+QT库搭建控制器编译环境的过程。

1. 环境介绍

1)Webots R2020a
2)SolidWorks 2018
3)Visual Studio 2019
4)Qt 5.10.1

2. 建立简化仿真模型

仿真模型的建立应主要体现机器人的整体尺寸、质量和相对运动关系而不必过多的注重细节,以免增加在仿真过程中的运算量。本文中建立的RHex简化仿真模型如下图所示。
在这里插入图片描述
需要注意的是在构建模型的过程中坐标原点的选择是十分重要的,这关系到导出的模型在Webots中进行装配的复杂程度。本文中用到的模型主要包括两个部分:身体和六个相同的腿部。各部分在Webots中的连接关系如图所示。
在这里插入图片描述
在构建模型时只需要构建身体和一条腿即可。考虑到上面说的模型坐标原点的问题,选择身体的下底面中心为坐标原点。选择腿部的铰接点作为坐标原点。
在这里插入图片描述

3. 导出.wrl文件

从Webots的文件下拉菜单中可以看到,
在这里插入图片描述
Webots支持导入VRML97格式的文件。因此我们直接从SolidWorks中将模型导出为VRML97。
在SolidWorks中点击另存为
在这里插入图片描述
点击选项,选择版本为VRML97,单位为米,此处要注意单位为米,因为webots中使用的单位为米,如果选择毫米的话可能会导致模型的大小出现问题。
在这里插入图片描述

4. 将.wrl文件导入Webots

在Webots中新建一个空工程,点击文件->Import VRML97,选择刚导出的.wrl文件。此时在模型树中出现Transform,右键点击Transform To… 选择Solid,然后在模型树中右键点击刚得到的Solid文件选择Export将其导出为body.wbo文件。同样的操作将另外一个模型也保存为leg.wbo文件。
在这里插入图片描述

5. 构建Rhex仿真模型

新建项目,将其命名为Rhex,在3D View区右键新增地面节点->新增Robot节点->右键Robot中的childen,在右下角点击Import,选择刚导出的body.wbo文件,即可将模型导入Webots。
在这里插入图片描述
在导入的body Solid节点的childen上添加HingJoint节点,设置电机,双击endPoint NULL添加Solid节点,右键添加的Solid节点的childen选择新增节点,在弹框的右下角选择Import,选择导出的leg.wbo
在这里插入图片描述
修改其电机名称、原点相对本体坐标系位置、锚点位置和旋转轴,完成后复制该HingJoint节点并修改位置参数,即可完成Rhex机器人的仿真模型。
在这里插入图片描述