webots作为一款开源的仿真软件,在机器人仿真中有较多的应用,通常机器人模型以.proto格式的文件保存,无法直接打开solidworks文件。需要先将

准备环境

  1. SolidWorks转URDF的插件,叫做sw_urdf_exporter,下载地址
  2. python3程序包urdf2webots;
  3. ubuntu18.04;
  4. 在ubuntu18.04中安装好webots;
  5. 熟练掌握ubuntu基础命令行;

在solidworks下编辑urdf模型

默认已经画好零件图,并将零件图都装配在一起。

 
图1
  1. 在solidworks上装配好模型,在旋转的地方添加旋转轴,比如电机、车轮等;
  2. 设置“插入”、“几何体特征”中选择“坐标系”,设置模型的基座标系为“body_frame”;
  3. 在“工具”、“Tools”中选择“Export as URDF”开始对模型进行编辑;
 
图2

    1. 将基座或地盘选择作为“body_link”,"Global Origin Coordinate System"选择“body_frame”,添加与基座想连接的部件;
    2. 依次选择各个零部件,设置零部件名称,关节名称,参考坐标系,参考轴,关节类型等;
     
    图3
    1. 完成所有零部件的设置后,点击“Preview and Export URDF”,查看和调整相关参数,确认无误后,点击“next”,再点击“Export URDF and Meshes”;
     
    图4
    1. 选择合适的位置保存文件;

    手动修改urdf模型

     solidworks将所有的零部件生成STL模型并保存在"meshs"文件夹下,urdf模型通过文件路径找到对应的STL模型,由于solidworks是在windows下使用,urdf中的模型对应的STL模型文件路径不满足要求,需要进行修改,通常只需要将urdf文件中“package://vehicle”替换成“. . ....”即可。

    使用python将urdf模型转为proto模型

    1. 安装urdf2webots软件包;
    pip3 install urdf2webots
    
    1. 生成proto文件,在生成的urdf模型文件夹下,使用如下命令生成proto文件;
    python3 -m urdf2webots.importer --input=文件名称.urdf
    

    使用webots加载proto模型

    1. 打开webots并通过点击“Wizards”、“New Project Directory”生成一个新webots工程;
     
    图5
    1. 将生成的proto文件拷贝到新webots工程文件夹下的“protos”文件夹下;
    2. 加载proto模型;

     

    图6

      以上过程中,不要移动urdf文件中所有文件的位置,防止找不到模型对应的STL文件。