ROS ——urdf文件学习

一、语法检查工具:

check_urdf

sudo apt install liburdfdom-tools

使用方法:进入对应的需要检查语法错误的urdf文件目录

check_urdf xxxx.urdf

附上ROS——urdf官方文档

ROS官方文档http://wiki.ros.org/urdf/XML

二、可视化

 urdf_to_graphiz

使用方法:进入对应的需要检查语法错误的urdf文件目录

 urdf_to_graphiz xxxx.urdf

三、具体语法

  1. sensor/proposals
    传感器描述,如相机和雷达等
  2. link
    描述连杆的运动学参数和动态参数
  3. transmission
    描述关节和驱动器之间的转换关系
  4. joint
    描述关节的运动学参数和动态参数
  5. gazebo
    描述仿真内容,如阻尼和摩擦等
  6. sensor
    传感器描述,如相机和雷达等
  7. model_state
    描述模型当前状态
  8. model
    描述模型运动学参数和动态参数

urdf建模

一、创建功能包

cd ./catkin_ws/src/
catkin_create_pkg mbot_description urdf xacro

ROS ——urdf文件学习_第1张图片

 创建功能包的文件结构

ROS ——urdf文件学习_第2张图片

cd ~/catkin_ws/src/mbot_description
mkdir urdf
mkdir meshes
mkdir launch
mkdir config

编辑launch启动文件

cd ~/catkin_ws/src/mbot_description/launch
sudo gedit display_mbot_base_urdf.launch

   
	
	
	
	
	
	
	
	
	

下面开始创建四轮圆柱式机器人模型

  • 进入 urdf 文件夹下,创建 mbot_base.urdf 
    cd ~/catkin_ws/src/mbot_description/urdf
    sudo gedit mbot_base.urdf
    
    
    
        
            
                
                
                
                    
                
                
                
                    
                
                 
            
            
        
    
    

    注意代码实际写入后需要删除注释内容,防止运行报错

  • 查看模型

  • roslaunch mbot_description display_mbot_base_urdf.launch
    

    注意:我碰到的错误如下ROS ——urdf文件学习_第3张图片

     解决方法:将mrobot_description功能包下launch文件夹中display_mrobot_chassis_urdf.launch这个launch文件里面的运行robot_state_publisher节点下的type由type="state_publisher"改为type=“robot_state_publisher”
    ROS ——urdf文件学习_第4张图片

     其他错误解决方法:

  • 一、

  • ERROR: cannot launch node of type [robot_state_publisher/robot_state_publisher]: robot_state_publisher

  • ROS path [0]=/opt/ros/kinetic/share/ros

  • ROS path [1]=/home/wxw/catkin_ws/src
    ROS path [2]=/opt/ros/kinetic/share

  • sudo apt-get install ros-noetic-robot-state-publisher
    //下载完成后更新软件源
    sudo apt-get update

    二、

  • sudo apt-get install ros-noetic-joint-state-publisher-gui

    根据自己的ros版本更新GUI插件

  • 三、

一切正常启动但是rviz界面不显示小车底盘模型

ROS ——urdf文件学习_第5张图片

 ROS ——urdf文件学习_第6张图片

创建车轮
 

sudo gedit mbot_base.urdf
//在urdf下创建mbot_base.urdf文件
    
    
        
        
        
        
        
        
        
        
        
    
     
    
        
            
            
                
            
            
                
            
        
    
  
    
        
        
        
        
        
    
    
        
            
            
                
            
            
                
            
        
    
  
    
        
        
        
        
    

    
        
            
            
                
                  
            
            
                
            
        
    

    
        
        
        
        
    

    
        
            
            
                
            
            
                
            
        
    
  

 使用check_urdf 命令检查mbot_base.urdf 语法是否存在错误

ROS ——urdf文件学习_第7张图片

使用roslaunch 命令查看模型

roslaunch mbot_description display_mbot_base_urdf.launch

注意此时若不显示模型,请参考上文错误三解决方法

结果如下

ROS ——urdf文件学习_第8张图片

 向小车模型增添摄像头

跟创建小车基本模型操作相同,进入urdf文件下创建一个名为mbot_with_camera.urdf 的文件并且添加代码模块

cd ~/catkin_ws/src/mbot_description/urdf
sudo gedit mbot_with_camera.urdf

 摄像头模块代码

	
    
        
            
            
            
                
                   
            
            
                
            
        
    

    
        
        
        
    

 然后进入launch 文件下创建并编辑 display_mbot_with_camera_urdf.launch

cd ~/catkin_ws/src/mbot_description/launch
sudo gedit display_mbot_with_camera_urdf.launch

 新创建的launch 文件相比较于一开始小车基本模型的启动文件(display_mbot_base_urdf.launch)

只是修改了文件的启动路径,使用新创建的launch文件对应增添过摄像头模块的urdf文件进行启动

roslaunch mbot_description display_mbot_with_camera_urdf.launch

 ROS ——urdf文件学习_第9张图片

 而相对应的 urdf 文件也需要进行增添:



    
        
            
            
                
            
            
                
            
        
     
    
        
        
        
        
    
    
    
        
            
            
                
            
            
                
            
        
    
    
    
        
        
        
        
    
    
        
            
            
                
            
            
                
            
        
    
    
        
        
        
        
    

    
        
            
            
                
            
            
                
            
        
    

    
        
        
        
        
    

    
        
            
            
                
            
            
                
            
        
    
   //增添的摄像头模块
 
        
            
            
            
                
            
            
                
            
        
    

    
        
        
        
    

 加入雷达模块

 同样的进入urdf文件下创建mbot_with_laser.urdf文件

cd ./catkin_ws/src/mbot_description/urdf
sudo gedit mbot_with_laser.urdf

添加雷达模块的构建代码


		
			
			
				
			
			
		
    
    
        
        
        
    

 进入launch文件下创建编辑新的对应启动文件

cd ./catkin_ws/src/mbot_description/launch
sudo gedit display_mbot_with_laser_urdf.launch

	
	
	
	
	

加入Kinect模块

操作相同此外不再赘述

cd ./catkin_ws/src/mbot_description/urdf
sudo gedit mbot_with_kinect.urdf

        
            
            
                
            
        
    
    
        
        
        
    

创建对应启动文件

cd ./catkin_ws/src/mbot_description/launch
sudo gedit mbot_with_kinect.launch

	
	
	
	
	

查看整体效果

roslaunch mbot_description mbot_with_kinect.launch

由于我将所有模块都进行增添,所以我的模型如下

cd .././urdf
sudo gedit mbot_base_whole.urdf
???



    
        
            
            
                
            
            
                
            
        
    

    
        
        
        
        
    

    
        
            
            
                
            
            
                
            
        
    

    
        
        
        
        
    

    
        
            
            
                
            
            
                
            
        
    

    
        
        
        
        
    

    
        
            
            
                
            
            
                
            
        
    

    
        
        
        
        
    

    
        
            
            
                
            
            
                
            
        
    


    
        
            
            
                
            
        
    
    
        
        
        
    



    
        
            
            
                
            
            
                
            
        
     
    
        
        
        
        
    
    
    
        
            
            
                
            
            
                
            
        
    
    
    
        
        
        
        
    
    
        
            
            
                
            
            
                
            
        
    
    
        
        
        
        
    

    
        
            
            
                
            
            
                
            
        
    

    
        
        
        
        
    

    
        
            
            
                
            
            
                
            
        
    

 
        
            
            
            
                
            
            
                
            
        
    

    
        
        
        
    
    
    
		
			
			
				
			
			
		
    
    
        
        
        
    

    
        
            
            
                
            
        
    
    
        
        
        
    

进入launch创建对应启动文件

sudo gedit display_mbot_with_whole.launch

	
	
	
	
	

查看模型

roslaunch mbot_description display_mbot_with_whole_urdf.launch

ROS ——urdf文件学习_第10张图片

你可能感兴趣的:(学习,ubuntu,linux)