创建URDF模型——解决无法运行launch文件、功能包无法定位、global status error、无模型显示现象等问题

$ cd ~/catkin_ws
$ catkin_make
~/catkin_ws$ source devel/setup.bash

创建mrobot_description 功能包

$ cd ~/catkin_ws/src
$ ~/catkin_ws/src$ catkin_create_pkg mrobot_description urdf xacro

创建四个文件夹urdf meshes launch config

$ mkdir -p ~/catkin_ws/src/mrobot_description/urdf
$ mkdir -p ~/catkin_ws/src/mrobot_description/meshes
$ mkdir -p ~/catkin_ws/src/mrobot_description/launch
$ mkdir -p ~/catkin_ws/src/mrobot_description/config

在urdf文件夹下编写mrobot_chassis.urdf文件
内容如下:



	
	
    		
 	 	
	 	 
    	  		
  		
 		
     	 	
 			 
   	 	
  	 
 
   	
     		 
      		 
      		 
   	
  
  	
       		
   		
   		
        		
  		
   		
        	
 	  
      
   

	
  		
  		
	  	
 	 	
 	  

	
     		 
   		 
   		 
        		
  	 	 
   		 
        	 
   		 
      		 
 	  

 	
      			
      			
     		        
   	

	
        	
  		
   		
       				 
  	 	
  	 	
        	
		
     		
 	  
 	  
 	
   			
   			
   			
   			
   	

	
     		 
   		 
   		 
        		
   		 
   		 
   		 
   		 
      		 
  	

 	
     		 
     		 
      		 
      		 
   	

	
      			
   			
  			 
      			 
   			 
  			 
        		 
   			
      		
   	


urdf文件提供了一些命令工具,帮助检查和梳理模型文件

$ sudo apt-get install liburdfdom-tools

创建URDF模型——解决无法运行launch文件、功能包无法定位、global status error、无模型显示现象等问题_第1张图片
然后使用check_urdf命令对mrobot_chassis文件进行检查

~/catkin_ws/src/mrobot_description/urdf$ check_urdf mrobot_chassis.urdf

如果检查有什么问题的话,会报错,报错就是代码有问题,好好检查检查就行了
创建URDF模型——解决无法运行launch文件、功能包无法定位、global status error、无模型显示现象等问题_第2张图片
用urdf_to_graphiz来查看URDF模型的整体结构

$  urdf_to_graphiz mrobot_chassis.urdf

创建URDF模型——解决无法运行launch文件、功能包无法定位、global status error、无模型显示现象等问题_第3张图片
在rviz中显示模型
先在launch文件夹中mrobot_description/launch/display_mrobot_chassis_urdf.launch,具体代码如下








在使用rviz之前先安装arbotix,在catkin_ws/src下

$ git clone https://github.com/vanadiumlabs/arbotix_ros.git

回到catkin_ws目录,用catkin_make,这样就安装好了arbotix,然后安装rbx_vol_1,在catkin_ws/src中

$ git clone https://github.com/pirobot/rbx1

同样回到catkin_ws目录,用catkin_make编译结束用

$ source /path/to/your/catkin_ws/devel/setup.bash

运行launch文件

$ roslaunch mrobot_description display_mrobot_chassis_urdf.launch

我运行后出现了如下的问题
创建URDF模型——解决无法运行launch文件、功能包无法定位、global status error、无模型显示现象等问题_第4张图片
因此需要安装两个功能包joint_state_publisher robot_state_publisher
但是输入命令时却无法定位软件包
创建URDF模型——解决无法运行launch文件、功能包无法定位、global status error、无模型显示现象等问题_第5张图片
因此需要从网上下载
首先是robot_state_publisher的下载,如果显示无法定位此文件,则重新填一遍秘钥

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116

记住之后一定要更新一下软件包索引

sudo apt-get update

然后是joint_state_publisher功能包的下载

$ cd ~/catkin_ws/src
$ git clone https://github.com/ros/joint_state_publisher.git

再重新运行

$ roslaunch mrobot_description display_mrobot_chassis_urdf.launch

创建URDF模型——解决无法运行launch文件、功能包无法定位、global status error、无模型显示现象等问题_第6张图片
进入后但出现
创建URDF模型——解决无法运行launch文件、功能包无法定位、global status error、无模型显示现象等问题_第7张图片
GLOBAL STATUS ERROR 的现象
因此 使用新建终端

$ rosrun tf static_transform_publisher 0.0 0.0 0.0 0.0 0.0 0.0 map my_frame 100

创建URDF模型——解决无法运行launch文件、功能包无法定位、global status error、无模型显示现象等问题_第8张图片
但是此时模型 还是加载不出来

此时分两步
1.等rviz启动完毕之后先将FixedFrame改为base_link
2.再点击下方Add按钮,添加一个RobotModel

创建URDF模型——解决无法运行launch文件、功能包无法定位、global status error、无模型显示现象等问题_第9张图片
完成建模

你可能感兴趣的:(ROS学习基础)