ROS机器人描述——URDF,SRDF和XACRO

一、URDF

URDF(Unified Robot Description Format)是一种特殊的XML文件格式。
URDF形成通常有三种途径:

  1. 直接使用URDF的XML tag进行文件编写。
  2. 使用XACRO建模后转为URDF文件。
  3. 使用SolidWorks进行三维建图后使用SW2URDF插件转换为URDF文件。

URDF文件介绍:

1. link和joint
ROS机器人描述——URDF,SRDF和XACRO_第1张图片

URDF描述上图机器人结构:


  
  
  
  

  
    
    
  

  
    
    
  

  
    
    
  

2.位置
定义好机器人的骨架后,我们需要进一步用origin子标签对link所在的位置进行定义。link的位置由joint决定,因此该子标签定义在joint内。


  
  
  
  


  
    
    
    
  

  
    
    
    
  

  
    
    
    
  

上述位置关系定义如下图所示:
ROS机器人描述——URDF,SRDF和XACRO_第2张图片

3.形状
通过visual标签和geometry标签定义link的形状。下面示例了一些常用的形状, 以及可能会导入的一些奇形怪状的东西. 不但可以导入stl格式的文件, 还可以导入dae格式。下述示例中导入了一个小刀。



  
    
      
        
      
    
  

  
    
      
        
      
    
  

  
    
      
        
      
    
  

  
    
      
      
        
      
    
  


  
    
    
    
  

  
    
    
    
  

  
    
    
    
  

4.collision和joint限制
为了避免link之间发生碰撞,所以针对每一个link,还有一个collision标签,和visual标签内容完全一样。
还可以对joint的运动进行限制。比如,我们限制joint只能沿着y轴旋转,可以定义标签。我们也可以限制joint的运动范围,速度,力矩进行限制,则可以添加



  
    
      
        
      
    
    
      
      
        
      
    
  

  
    
      
        
      
    
  

  
    
      
        
      
    
  

  
    
      
      
        
      
    
  


  
    
    
    
  

  
    
    
    
    
    
  

  
    
    
    
  

5.可视化
通过rviz显示URDF文件,可以使用命令:

roslaunch urdf_tutorial display.launch model:=path/to/your/xxx.urdf

如上述内容,进行显示之后,,可以得到下图所示内容。 坐标系图示,需要添加TF条目进行显示。值得注意的地方,将Global Options中的fixed frame设定为link1。
ROS机器人描述——URDF,SRDF和XACRO_第3张图片
如果设置了可移动joint,你想查看joint移动的效果和设定,可以使用命令:

roslaunch urdf_tutorial display.launch model:=path/to/your/xxx.urdf gui:=true

SRDF



	
		
	

用rviz显示URDF

标准roslaunch文件:


	
	

	
	
	
	
	
	


如果有SRDF文件,则可以像下面那样写:


	
	

	
	

	
	
	
	
	
	


你可能感兴趣的:(ROS)