ROS 中利用URDF 编写 Denso 机器人的一个简单模型——ROS机械臂学习笔记(一)

在ROS(Kinetic) 中利用URDF 编写 Denso 机器人的一个简单模型
Denso的URDF 模型主要是参照图1过来的,然后根据实际的情况进行了相应的修改。
ROS 中利用URDF 编写 Denso 机器人的一个简单模型——ROS机械臂学习笔记(一)_第1张图片

ROS 中利用URDF 编写 Denso 机器人的一个简单模型——ROS机械臂学习笔记(一)_第2张图片

在写模型过程中遇到的问题,在RVIZ 中的坐标系 红色为X,绿色为Y , 蓝色为Z 。rpy的数值是 沿着坐标系的箭头的方向,顺时针为正,逆时针为负。
有一点必须要注意的是:用URDF 生成的物体,如果没有做任何的旋转和位置变换的话,那么物体的坐标系的原点在自身物体的中心位置,而物体自身的坐标系和大地的参考坐标系是重合的,所以当你加载一个没有做任何变换的模型的时候,会看到物体的一半是在网格线的下面的。

在Link 属性中的 origin 条目中的 rpy 是连杆相对于自身的坐标系的旋转变换,三个系数依次对应 XYZ,这里和机器人学中的rpy值不太一样(重点);而 XYZ 则是是连杆的物体中心相对于自身的坐标系的原点的位置平移变换。
ROS 中利用URDF 编写 Denso 机器人的一个简单模型——ROS机械臂学习笔记(一)_第3张图片

 
        
            
                
            
            
            
        
    

从这里可以看出base_link 相对于自身的坐标系是有一个位置变换的,沿着Z 方向上移动了 0.075,刚好是base_link的高度的一半,所以在图中看到的base_link是全部露出来的,而不是一半在网格线的下面的。

在Joint 属性中的 origin 条目中的 rpy 是 child link 的坐标系相对于 parent link坐标系的旋转变换;而 XYZ 则是 child link 的坐标系的原点相对于 parent link坐标系的原点的位置平移变换,先进行旋转再进行平移,XYZ轴的旋转按照顺序依次进行。另外还有一点值得注意的地方是这里的旋转和机器人学中的DH旋转变换不太一样,机器人学中的DH变换是相对于运动坐标系,而URDF中则是相对于静止坐标系进行旋转的。最后当joint属性中的 upper 和 lower 的平均值不为零时,child link 会相对于joint 中指定的旋转轴旋转 (upper+lower)/2 弧度。有的时候当你发现结果不对的时候,可以想想是不是设置关节角度上下限出了问题

一般来说,直接在URDF中修改成DH的坐标系显得很繁琐,正常应该是在Solidwork中建好模型之后,然后导出为URDF模型
ROS 中利用URDF 编写 Denso 机器人的一个简单模型——ROS机械臂学习笔记(一)_第4张图片


        
        
        
        
         
        
    

从这里可以看出shoulder_link 相对于 base_link 坐标系是有一个位置变换的,沿着Z 方向上移动了 0.15,刚好是base_link的高度,所以在图中看到的shoulder_link的坐标系是在base_link的上表面。



    
        
    

    
        
    

  
    
  

    
    
        
            
                
            
            
            
        
    

    
        
        
        
        
         
        
    

    
        
            
                
            
            
            
        
        
           
           
              
           
       
       
          
          
       
   
  
    Gazebo/White
  

    
        
        
        
        
          
        
    

    
        
            
                 
            
            
            
        
        
           
           
             
           
       
       
          
          
       
  
  
    Gazebo/orange
  

   
        
        
        
        
         
        
    

    
        
            
                 
            
            
            
        
       
           
           
             
          
      
      
         
         
      
  
  
    Gazebo/orange
  
   
    
        
        
        
        
         
        
    

    
        
            
                 
            
            
            
        
        
            
            
                
            
       
       
           
           
       
  
  
    Gazebo/red
  

   
        
        
        
        
          
        
    

    
        
            
                 
            
            
            
        
        
            
            
                
            
       
       
          
          
       
  
  
    Gazebo/orange
  

    
        
        
        
        
        
    

    
        
            
                 
            
            
            
        
        
            
            
                
            
       
      
          
          
      
  
  
    Gazebo/red
  

你可能感兴趣的:(ROS)