ROS学习笔记------ROS机器人系统设计-----基础编程 day 7 2019/3/2 帅某(URDF机器人建模,urdf功能包的建立,urdf相关模型建立代码已经上传)

URDF机器人建模

相关urdf代码链接:
https://download.csdn.net/download/weixin_43262513/10990016

1.urdf介绍

URDF(Unified Robot Description Format),统一机器人描述格式,是一种特殊的xml格式,用来描述一个机器人. 在ROS中,urdf功能包包含一个urdf格式文件的C++解析器,这样,任何通过统一编码格式设计的机器人都可以通过该解析器得到一个可视化的模型.

具体介绍参考:
https://zhuanlan.zhihu.com/p/21252651

URDF创造的机器人模型包含的内容有:

  • 连杆 link
  • 关节 joint
  • 运动学参数 axis
  • 动力学参数 dynamics
  • 可视化模型 visual
  • 碰撞检测模型 collision

具体xml模型如下图:
ROS学习笔记------ROS机器人系统设计-----基础编程 day 7 2019/3/2 帅某(URDF机器人建模,urdf功能包的建立,urdf相关模型建立代码已经上传)_第1张图片
2.urdf模型具体介绍
(1)link(link代码称之为link标签)
ROS学习笔记------ROS机器人系统设计-----基础编程 day 7 2019/3/2 帅某(URDF机器人建模,urdf功能包的建立,urdf相关模型建立代码已经上传)_第2张图片
具体形态如图:
ROS学习笔记------ROS机器人系统设计-----基础编程 day 7 2019/3/2 帅某(URDF机器人建模,urdf功能包的建立,urdf相关模型建立代码已经上传)_第3张图片
代码如图:
ROS学习笔记------ROS机器人系统设计-----基础编程 day 7 2019/3/2 帅某(URDF机器人建模,urdf功能包的建立,urdf相关模型建立代码已经上传)_第4张图片
(2)joint连杆(joint代码称之为连杆标签)
介绍:ROS学习笔记------ROS机器人系统设计-----基础编程 day 7 2019/3/2 帅某(URDF机器人建模,urdf功能包的建立,urdf相关模型建立代码已经上传)_第5张图片
物理模型:
ROS学习笔记------ROS机器人系统设计-----基础编程 day 7 2019/3/2 帅某(URDF机器人建模,urdf功能包的建立,urdf相关模型建立代码已经上传)_第6张图片
主关节:parent link
子关节:child link ,必须指定主关节和子关节
代码如下:
ROS学习笔记------ROS机器人系统设计-----基础编程 day 7 2019/3/2 帅某(URDF机器人建模,urdf功能包的建立,urdf相关模型建立代码已经上传)_第7张图片
其他一些参考标签:
ROS学习笔记------ROS机器人系统设计-----基础编程 day 7 2019/3/2 帅某(URDF机器人建模,urdf功能包的建立,urdf相关模型建立代码已经上传)_第8张图片
连杆分类:
ROS学习笔记------ROS机器人系统设计-----基础编程 day 7 2019/3/2 帅某(URDF机器人建模,urdf功能包的建立,urdf相关模型建立代码已经上传)_第9张图片
(3)完整的机器人模型------->由若干个link标签个joint标签组成
ROS学习笔记------ROS机器人系统设计-----基础编程 day 7 2019/3/2 帅某(URDF机器人建模,urdf功能包的建立,urdf相关模型建立代码已经上传)_第10张图片
具体代码如下:
ROS学习笔记------ROS机器人系统设计-----基础编程 day 7 2019/3/2 帅某(URDF机器人建模,urdf功能包的建立,urdf相关模型建立代码已经上传)_第11张图片

2.创建urdf功能包模型

(相关文件已经上传,移植过程下载的资源介绍里面有)
步骤一:catkin_ws/src目录下,执行:

catkin_create_pkg mbot_description urdf xacro

步骤二:mbot_description文件夹下创建文件夹
urdf------------>放置模型具体文件
meshes------->机器人外观纹理等参数的描述文件
launch--------->启动相关文件
config---------->相关功能包的配置文件,rviz相关显示的配置文件
步骤三:
launch文件夹,创建display_mbot_base_urdf.launch,
导入源码:


   
	

	
	
	
	
	
	
	
	
	
	
	

注意:ROS学习笔记------ROS机器人系统设计-----基础编程 day 7 2019/3/2 帅某(URDF机器人建模,urdf功能包的建立,urdf相关模型建立代码已经上传)_第12张图片

3.创建小车车体模型
(1)urdf文件夹下创建mbot_base.urdf,
写入代码(下面代码插入都在我空下来的大片地方这里):



    
        
            
            
            
                
            
            
            
                
            
             
        
        
    










(2)打开终端查看效果:

roslaunch mbot_description display_mbot_base_urdf.launch

ROS学习笔记------ROS机器人系统设计-----基础编程 day 7 2019/3/2 帅某(URDF机器人建模,urdf功能包的建立,urdf相关模型建立代码已经上传)_第13张图片
(2)创建左右侧车轮
如何插入代码,见(1)

    
    
     
        
        
        
        
        
        
        

         
        
        
        
    

     

    
        
            
            
                
            
            
                
            
        
    
  







(2)打开终端查看效果:

roslaunch mbot_description display_mbot_base_urdf.launch

查看效果:
ROS学习笔记------ROS机器人系统设计-----基础编程 day 7 2019/3/2 帅某(URDF机器人建模,urdf功能包的建立,urdf相关模型建立代码已经上传)_第14张图片
ROS学习笔记------ROS机器人系统设计-----基础编程 day 7 2019/3/2 帅某(URDF机器人建模,urdf功能包的建立,urdf相关模型建立代码已经上传)_第15张图片
可以吧左面:robotmodel选项取消,可以看到当前小车主体和轮子之间的TF坐标位置。
ROS学习笔记------ROS机器人系统设计-----基础编程 day 7 2019/3/2 帅某(URDF机器人建模,urdf功能包的建立,urdf相关模型建立代码已经上传)_第16张图片
(3)创建小车右轮
(1)创建右轮link,讲解见左轮备注,不再赘述。

    

        
        
        
        
        
        
    

    
        
            
            
                
            
            
                
            
        
    






(4)创建模型前后支撑轮
代码插入:

    
        
        
        
        
    

    
        
            
            
                
                  
            
            
                
            
        
    

    
        
        
        
        
    

    
        
            
            
                
            
            
                
            
        
    

ROS学习笔记------ROS机器人系统设计-----基础编程 day 7 2019/3/2 帅某(URDF机器人建模,urdf功能包的建立,urdf相关模型建立代码已经上传)_第17张图片
ROS学习笔记------ROS机器人系统设计-----基础编程 day 7 2019/3/2 帅某(URDF机器人建模,urdf功能包的建立,urdf相关模型建立代码已经上传)_第18张图片
4.相关传感器模型的建立。
urdf文件中,创建3 个文件。

mbot_with_camera.urdf 摄像头模型文件
mbot_with_kinect.urdf Kinect模型文件
mbot_with_laser.urdf 雷达模型相关文件

Kinect加在方式有所不同,Kinect直接加载Kinect的纹理描述文件!!!!!!!!!

(1)mbot_with_camera.urdf 摄像头模型文件
在最后加入摄像头模型,讲解不在赘述。
(1)mbot_with_camera.urdf 文件输入代码




    
        
            
            
                
            
            
                
            
        
    

    
        
        
        
        
    

    
        
            
            
                
            
            
                
            
        
    

    
        
        
        
        
    

    
        
            
            
                
            
            
                
            
        
    

    
        
        
        
        
    

    
        
            
            
                
            
            
                
            
        
    

    
        
        
        
        
    

    
        
            
            
                
            
            
                
            
        
    













    
        
            
            
            
                
                   
            
            
                
            
        
    

    
        
        
        
    



(2)终端输入:

roslaunch mbot_description display_mbot_with_camera_urdf.launch  

ROS学习笔记------ROS机器人系统设计-----基础编程 day 7 2019/3/2 帅某(URDF机器人建模,urdf功能包的建立,urdf相关模型建立代码已经上传)_第19张图片
ROS学习笔记------ROS机器人系统设计-----基础编程 day 7 2019/3/2 帅某(URDF机器人建模,urdf功能包的建立,urdf相关模型建立代码已经上传)_第20张图片
(2)mbot_with_laser.urdf 雷达模型相关文件
(1)mbot_with_laser.urdf文件输入代码:




    
        
            
            
                
            
            
                
            
        
    

    
        
        
        
        
    

    
        
            
            
                
            
            
                
            
        
    

    
        
        
        
        
    

    
        
            
            
                
            
            
                
            
        
    

    
        
        
        
        
    

    
        
            
            
                
            
            
                
            
        
    

    
        
        
        
        
    

    
        
            
            
                
            
            
                
            
        
    







    
		
			
			
				
			
			
		
    

    
        
        
        
    



(2)终端输入:

roslaunch mbot_description display_mbot_with_laser_urdf.launch

ROS学习笔记------ROS机器人系统设计-----基础编程 day 7 2019/3/2 帅某(URDF机器人建模,urdf功能包的建立,urdf相关模型建立代码已经上传)_第21张图片
(3)mbot_with_kinect.urdf Kinect模型

Kinect加在方式有所不同,Kinect直接加载Kinect的纹理描述文件
(1)meshes文件中创建纹理描述信息。
相关文件见我文章开头的资源链接。
新建文件名称: kinect.dae
写入代码,(文件过大,不能上传)
(2)mbot_with_kinect.urdf 写入代码




    
        
            
            
                
            
            
                
            
        
    

    
        
        
        
        
    

    
        
            
            
                
            
            
                
            
        
    

    
        
        
        
        
    

    
        
            
            
                
            
            
                
            
        
    

    
        
        
        
        
    

    
        
            
            
                
            
            
                
            
        
    

    
        
        
        
        
    

    
        
            
            
                
            
            
                
            
        
    









    
        
            
            

                

                 


            
        
    

    
        
        
        
    



(3)终端输入:

roslaunch mbot_description display_mbot_with_kinect_urdf.launch

ROS学习笔记------ROS机器人系统设计-----基础编程 day 7 2019/3/2 帅某(URDF机器人建模,urdf功能包的建立,urdf相关模型建立代码已经上传)_第22张图片
ROS学习笔记------ROS机器人系统设计-----基础编程 day 7 2019/3/2 帅某(URDF机器人建模,urdf功能包的建立,urdf相关模型建立代码已经上传)_第23张图片
ROS学习笔记------ROS机器人系统设计-----基础编程 day 7 2019/3/2 帅某(URDF机器人建模,urdf功能包的建立,urdf相关模型建立代码已经上传)_第24张图片
5.检查urdf模型整体结构
(1)切换到urdf文件件中。
(2)运行代码

urdf_to_graphiz mbot_base.urdf 

可以看到urdf文件中生成两个文件,打开pdf文件,即可看到
各种关系模型。
ROS学习笔记------ROS机器人系统设计-----基础编程 day 7 2019/3/2 帅某(URDF机器人建模,urdf功能包的建立,urdf相关模型建立代码已经上传)_第25张图片
其他同理,不在展示。
(3)其他分享
ROS学习笔记------ROS机器人系统设计-----基础编程 day 7 2019/3/2 帅某(URDF机器人建模,urdf功能包的建立,urdf相关模型建立代码已经上传)_第26张图片

你可能感兴趣的:(ros(Robot,Operating,System))