SolidWorks文件转webots
SolidWorks 文件转 Webots 操作指南
目录
准备工作
列出在开始转换之前需要准备的工具、软件和资源。
1. 安装 SolidWorks 文件转为 URDF 的插件
安装 sw2urdf 插件,以支持将 SolidWorks 导出的 URDF 文件导入 Webots。
可自定义安装路径,不影响使用。
该插件的使用说明:sw_urdf_exporter 文档
使用指南:sw_urdf_exporter 教程
安装完成后,确保在 SolidWorks 中启动插件,启动选项如下:


打开插件选项,勾选 SW2URDF 插件并确定。
此时可在 工具->Tools 中看到 Export as URDF 选项。

2. 安装 urdf2webots 工具
安装 urdf2webots 工具,以支持将 URDF 文件转换为 Webots 的 PROTO 格式。
该工具为 Python 编写,需要 Python 环境。
使用 pip 命令安装:在命令行输入 pip install urdf2webots。
安装完成后,在命令行中输入 pip show urdf2webots,可以查看安装详情。
转换步骤
步骤1: 导出 SW 文件为 URDF
- 打开SolidWorks并加载您的装配体模型,确保装配体的关节设置正确。
- 打开工具->Tools->Export as URDF。

在弹出的窗口中,首先选择作为base节点的实体,并可设置其名字以及子节点数量。
-
添加子节点数量为1,然后选择子节点,再次设置该子节点对应的实体、名字以及子节点数量,此处的
Joint Name即为关节电机的名称。

-
所有节点设置完成后,点击
Preview and Export进入导出向导,此时将在SolidWorks中生成一些坐标系、转轴等定义,并出现一个名为SolidWorks Assembly to URDF Exporter的窗口。 -
第一个页面用于手动调整关节属性,如位置和旋转,确认所有设置无误,点击
Next。

-
第二个页面用于选择节点,包括位置、旋转、质量、惯量、颜色、材质等,确认所有设置无误,点击
Export URDF and Meshes并选择导出的文件路径。

-
此时得到一个文件夹,内容如下:

步骤2: 将 URDF 文件转换为 Webots 的 PROTO 格式
-
新建一个Webots项目,并将刚刚得到的文件夹放到Webots项目文件夹的
protos文件夹下。 -
在
protos文件夹下打开命令窗口,并使用python -m urdf2webots.importer --input=".\satellite1.SLDASM\urdf\satellite1.SLDASM.urdf"命令,此处的input参数为导出的URDF文件路径,请根据实际情况修改。此处出现两个文件,其中.proto格式的文件为Webots的PROTO格式。

-
打开Webots项目,点击添加,选择proto,选择刚刚得到的proto模型,即可添加到Webots中。

步骤3: 在 Webots 中修改和使用 PROTO 文件
-
使用文本编辑器打开Webots项目的
worlds/ProjectName.wbt发现其与proto文件结构类似,不同之处在于:- proto文件具有
PROTO标识符,且定义了一些参数,如translation、rotation等; - wbt文件定义有
WorldInfo、Viewpoint、Background等内容。
- proto文件具有
-
为此我们可以将proto文件中我们需要的
Robot部分复制到wbt文件中,并将PROTO标识符定义的参数进行替换,得到的Robot部分为:

-
如果使用Webots打开wbt时失败,说明修改错误,建议先备份原wbt文件,再进行修改。
-
此时可以在Webots中编辑机器人模型,添加关节电机,添加传感器等。

常见问题
- 如果未能出现所需的PROTO模型,且Webots下方出现错误
- 错误1:
:35:19:错误:Invalid escaped character. {1'?} {2:19:?}- 解决方案:检查所指示位置(35行,19列)处的字符,一般为路径符合错误,如
\改为/。
- 解决方案:检查所指示位置(35行,19列)处的字符,一般为路径符合错误,如
- 错误2:
:7:7:错误:Invalid token "Satellite1.SLDASM". {1'?} {2:7:?}- 解决方案:检查所指示位置(7行,7列)处的字符,一般为名称错误,如
Satellite1.SLDASM改为satellite1.SLDASM,并将相关名称均同步修改。且PROTO标识符后的名称需与文件名一致。
- 解决方案:检查所指示位置(7行,7列)处的字符,一般为名称错误,如
- 错误1:

参考资料
更多推荐
所有评论(0)