【webots】solidworks生成urdf文件并导入到webots中

首先需要使用两个工具:
一个是SolidWorks的插件solidworks_urdf_exporter

下载地址:Releases · ros/solidworks_urdf_exporter · GitHubhttps://github.com/ros/solidworks_urdf_exporter/releases
另一个是webots官方提供的URDF2WEBOTS

1.首先建模,做出装配体。

2.   对于相对复杂的模型,需要创建每个关节的转轴(参考几何体-基准轴),导出urdf时,设置关节位置和关节转轴方向可以先自动生成,但有时导出可能失败,建议自己建立参考坐标系和参考轴。根据失败的案例装配体里面各零件的名字,坐标系,转轴的名字要设置为英文,否则可能导出时webots中的机器人零件处于散乱状态。

【webots】solidworks生成urdf文件并导入到webots中_第1张图片

3.然后在工具→File→Export as URDF中打开导出对话框。
选择base_link,并确定子节点的数量。选择自己为base_link建立的坐标系。然后点击自己新建的Empty_Link节点。

【webots】solidworks生成urdf文件并导入到webots中_第2张图片

4.点击Empty_Link设置子节点,将其命名为Link1,JointName设置为 joint1,这个名字就是之后在webots中的电机名字。再选择自己建的坐标系,转轴。确定关节类型(Joint Type),我选择了revolute类型。(图中有说明)

【webots】solidworks生成urdf文件并导入到webots中_第3张图片

 【webots】solidworks生成urdf文件并导入到webots中_第4张图片

5.余下关节以此类推,都确定好后点击Preview and Export按钮。

【webots】solidworks生成urdf文件并导入到webots中_第5张图片

在Joint界面要确定Axis栏都赋值了,看自己的关节名字,坐标系,转轴,关节类型选择是否正确。然后点击Next。

6.在Link界面中 Material name一栏必填,随便写个名字,空着的话在webots无法显示模型。
然后点击Export URDF and Meshes ,则导出了urdf文件。导出时文件名不能以数字开头。

【webots】solidworks生成urdf文件并导入到webots中_第6张图片

7.URDF文件导入 webots环境

其中urdf文件夹目录下是生成的URDF文件。

导入webots环境需要使用的是webots官方提供的URDF2WEBOTS工具。 工具需要python环境。

安装方法

pip install urdf2webots

使用方法

 python -m urdf2webots.importer --input=urdf所在目录 

正常情况会输出

Robot name: urdfeasyv5
Root link: base_link
There are 25 links, 24 joints and 0 sensors

运行该命令会在运行目录下生成对应的proto文件。需要搜索一下。

8.处理proto文件
成功生成了proto可能还有问题,导入进webots之后可能会啥也没有。此时用任意编辑器打开proto文件,可能会发现stl模型的url的斜杠有问题,如图【webots】solidworks生成urdf文件并导入到webots中_第7张图片

 可以直接全局替换,将\全部换成/

打开webots,新建一个项目,将proto文件放入该项目的protos文件夹
然后在webots中点击新增,在 PROTO nodes中将模型加入webots环境。 

【webots】solidworks生成urdf文件并导入到webots中_第8张图片

找到生成的节点,右键点击Convert Root to Base Node(s)转化为可操作的节点。 

这时URDF模型已经成功导入Webots中。

你可能感兴趣的:(webots,人工智能)