六自由度机械臂SolidWorks模型转化成urdf文件,添加简单gazebo属性并修改为xacro

在某宝上买了个机械臂,想用来和ros系统通讯玩一玩。我简单学习了一下硬件,现在开始软件方面的学习。第一步先在ros系统中对机械臂进行虚拟仿真,因此需要导入模型。手写六自由度机械臂的urdf或者xacro文件太费劲,好在SolidWorks出了一款sw_urdf_exporter插件,可以自动生成urdf及展示用的launch文件,非常方便。

sw_urdf_exporter插件

下载链接及安装详情可以看官方文档。
安装完成后,进入sw界面加载该插件
在这里插入图片描述六自由度机械臂SolidWorks模型转化成urdf文件,添加简单gazebo属性并修改为xacro_第1张图片
点选SW2URDF插件选项框并点击确定,插件即可成功加载。

给机械臂添加坐标系和旋转轴

机械臂如图所示
六自由度机械臂SolidWorks模型转化成urdf文件,添加简单gazebo属性并修改为xacro_第2张图片
第一步,添加点,该点作为后面坐标原点的位置参考点。参考几何体->点,然后根据几何关系选定点的位置。
六自由度机械臂SolidWorks模型转化成urdf文件,添加简单gazebo属性并修改为xacro_第3张图片第二步,添加轴,该轴即为joint的转轴,与即将建立的坐标系的z轴重合。参考几何体->基准轴,同样根据几何关系选定基准轴位置。
六自由度机械臂SolidWorks模型转化成urdf文件,添加简单gazebo属性并修改为xacro_第4张图片第三步,添加坐标系。参考几何体->坐标系,坐标系原点位置为第一步添加的点的位置,z轴与第二步添加的基准轴重合。
六自由度机械臂SolidWorks模型转化成urdf文件,添加简单gazebo属性并修改为xacro_第5张图片
最终建立的坐标系如图所示,其中坐标系3是base_link上的坐标系,z轴的方向需要与机械臂直立的方向一致,否则会在rviz中倒立显示。坐标系4、5、6、8、9为机械臂连杆上的五个旋转joint坐标系,坐标系10为旋转的finger坐标系。
六自由度机械臂SolidWorks模型转化成urdf文件,添加简单gazebo属性并修改为xacro_第6张图片

在URDF界面设置坐标系和旋转轴

工具->File->Export as Urdf,下面是具体界面。其中,Link Components部分选择该link部分包含的零件,Number of Child links即为子连杆的数量,这里每个link的子连杆均为1。
六自由度机械臂SolidWorks模型转化成urdf文件,添加简单gazebo属性并修改为xacro_第7张图片
各关节类型均为revolute,各选项点选完毕后,点击“preview and export”
六自由度机械臂SolidWorks模型转化成urdf文件,添加简单gazebo属性并修改为xacro_第8张图片六自由度机械臂SolidWorks模型转化成urdf文件,添加简单gazebo属性并修改为xacro_第9张图片
在点击“preview and export”后,会出现如下界面,按图示填写每个关节的限位值,注意是弧度。该界面中的内容可以后期在生成的urdf文件中修改。
六自由度机械臂SolidWorks模型转化成urdf文件,添加简单gazebo属性并修改为xacro_第10张图片

生成package包

注意该包文件需要是小写字母命名。
六自由度机械臂SolidWorks模型转化成urdf文件,添加简单gazebo属性并修改为xacro_第11张图片将生成的包复制到工作空间内,新建myrobot_description.urdf.xacro文件,内容如下:



……
原myrobot_description.urdf文件的内容
……
 
      
    
        
            transmission_interface/SimpleTransmission
            
                hardware_interface/PositionJointInterface
            
            
                hardware_interface/PositionJointInterface
                1
            
        
    
    
    
    
    
    
    
    

    
    
        
            /myrobot_description
        
    


display.launch内容如下:


  
  
  
  
  
  
  

测试

使用命令
roslaunch display.launch
在这里插入图片描述六自由度机械臂SolidWorks模型转化成urdf文件,添加简单gazebo属性并修改为xacro_第12张图片


图纸我已经上传了,下面是链接供大家下载使用~
另外提醒一点,这个模型在ros中建模tf树会出现问题,后面我是1:1按照图纸的尺寸,用SolidWorks重新建了个机械臂。如果可能大家还是自己建一个,很简单,知道每个轴尺寸即可~
https://download.csdn.net/download/qq_26565435/12630791

你可能感兴趣的:(ROS探索)