ROS环境下机器人建模(XACRO)及常见问题解决

在ROS环境下进行机器人建模最常用的方法就是使用URDF文件对机器人进行描述,URDF文件形成通常有三种途径:

1.直接使用URDF的XML tag进行文件编写。

2.使用XACRO建模后转换成URDF文件(更简洁灵活,利于程序复用)。

3.使用三维软件Solidworks进行三维绘图后使用SW2URDF 插件转换成URDF文件(插件对不同的SW兼容性不好,不易安装成功)。

本次建模使用上述的第二种方法。模型为一个四自由度机械手,具体的建模程序如下:

-------------------------------------------------------分割线---------------------------------------




  

    
        
    

    
        
    

    
        
    

  
  
  
  

  
  
  
  

  
  
  

  
  
  

  
  
  

  
  
  
  

  
   
      
      
        
      
   


   
 
   transmission_interface/SimpleTransmission
   
     PositionJointInterface
   
   
     PositionJointInterface
     1
   
 
   


    



  
  
    
       
      
       
      
      
    

    
      
      
      
      
      >

  

  
    Gazebo/White
  

  
    
    
    
    
    
    
  



  
  
    
      
      
            
      
      
    

    
      
      
            
      
    

  

  
    Gazebo/Red
  

  
    
    
    
    
    
    
  



  
  
    
      
      
            
      
      
    

    
      
      
            
      
    

  

  
    Gazebo/White
  

  
    
    
    
    
    
    
  



  
  
    
      
      
            
      
      
    

    
      
      
            
      
    

  

  
    Gazebo/Black
  

  
    
    
    
    
    
    
  



  
  
    
      
      
            
      
      
    

    
      
      
            
      
    

  

  
    Gazebo/Red
  


  
   
   
   
   

  
  
    
      /dobot_arm
    
  


-------------------------------------------------------分割线------------------------------------------------------

建模完成后使用launch文件在RViz插件下查看自己的模型,launch文件的使用请参考相关博客,此处不展开。ROS环境下机器人建模(XACRO)及常见问题解决_第1张图片

      在查看模型时容易遇到的一个问题是RVIZ显示如下错误:

No tf data. Actual error: Fixed Frame [map] does not exist......

解决办法就是在固定的第一个LINK上增加一个虚拟额Joint,使其父LINK和子LINK都是同一个(上面的程序已经加入),例如:

 name="fixed_frame" type="fixed" parent_frame="base_link" child_link="base_link" />

这样就不会有无法定位初始坐标的问题了。

你可能感兴趣的:(ros建模)