ROS自学实践(4):使用GAZEBO进行物理仿真

rviz中的仿真只是视觉上的仿真,不能称得上物理仿真,gazebo是真正意义上的三维物理仿真平台,可以在里面创建环境等相关信息,方便以后的建模和导航。

1.向xacro模型文件中添加惯性矩阵和碰撞属性

(1)惯性矩阵的计算是理论力学中的内容,可以从维基百科可以查到相应的公式进行计算,下面是部分截图。
ROS自学实践(4):使用GAZEBO进行物理仿真_第1张图片
ROS自学实践(4):使用GAZEBO进行物理仿真_第2张图片
ROS自学实践(4):使用GAZEBO进行物理仿真_第3张图片


	
		
		
	



	
		
		
	

(2)碰撞属性应该和机器人的外形有关,因此和visual标签类似
添加轮子碰撞属性

	
	    
	    
	    
	    
	
	

添加车身的碰撞属性

      
	  
          
          
        
      

添加车头标识块的碰撞属性

	
	    
	    
	    
	    
	

(3)添加gazebo标签,比如颜色定义,gazebo颜色与rviz颜色不兼容,需重新定义。


	


	


	


	

  
          
  

(4)向joint添加传动装置


            transmission_interface/SimpleTransmission
                hardware_interface/VelocityJointInterface
            
            
                hardware_interface/VelocityJointInterface
                1
            
        

(5)添加gazebo控制器插件

        
            
                Debug
                true
                /
                1
                true
                true
                100.0
                true
                left_rear_drive_joint
                right_rear_drive_joint
                0.8
                ${2*wheel_radius}
                1
                30
                1.8
                cmd_vel
                odom 
                odom 
                base_link
            
         

全部的xacro文件如下:
shcRobot2_base_gazebo.xacro,四个轮子都添加transmission模块,前后两个轮子都进行差速完成转向。

 

















	


	


	


	

  
          
  


	
		
		
	



	
		
		
	




    
    	
	    
	    
		
	    
	    
        
	
	    
	    
	    
	    
	
	
    

    
	
	
	
	
    
    
        Gazebo/Black
    
            
            transmission_interface/SimpleTransmission
            
                hardware_interface/VelocityJointInterface
            
            
                hardware_interface/VelocityJointInterface
                1
            
        




    
    	
	    
	    
		
	    
	    
        
	
	    
	    
	    
	    
	
	
    

    
	
	
	
	
    
    
        Gazebo/Black
    

        
            transmission_interface/SimpleTransmission
            
                hardware_interface/VelocityJointInterface
            
            
                hardware_interface/VelocityJointInterface
                1
            
        




    
    	
	    
	    
		
	    
	    
        
	
	    
	    
	    
	    
	
	
    
    
        Gazebo/White
    
    
	
	
	
    

      
       
          
            
          
        
          
      
      
	  
          
          
        
      
        
    
    
    
	Gazebo/Blue
    

    
    
    
    

        
            
                Debug
                true
                /
                1
                true
                true
                100.0
                true
                left_rear_drive_joint
                right_rear_drive_joint
                0.8
                ${2*wheel_radius}
                1
                80
                3
                cmd_vel
                odom 
                odom 
                base_link
            
         
        
            
                Debug
                true
                /
                1
                true
                true
                100.0
                true
                left_front_steer_joint
                right_front_steer_joint
                0.8
                ${2*wheel_radius}
                1
                80
                3
                cmd_vel
                odom 
                odom 
                base_link
            
         


shcRobot_xacro_gazebo.xacro



    
    

2.创建gazebo仿真环境

在launch文件中添加gazebo环境的描述,下面是对整个launch文件的解析。
(1)添加启动gazebo仿真环境

    
           
           
   		   
           
           


	
        	
        	
        	
        	
        	
    

(2)加载机器人模型描述参数


(3)运行关节发布节点

	
	
		
	
	

(4)在gazebo中加载机器人模型

     

3.运行launch文件

完整的launch文件


	    
    
    
    
    
    

	
	
        	
        	
        	
        	
        	
    	


	
	
	
	
		
	
	    
     

ROS自学实践(4):使用GAZEBO进行物理仿真_第4张图片

4.创建仿真环境

ROS自学实践(4):使用GAZEBO进行物理仿真_第5张图片

你可能感兴趣的:(ROS实践)