Aubo机械臂初学(愁)——1、gazebo和Rviz联合仿真

安装vm-tools遇到的问题(没想到在这卡了我一下午)
vmtool安装

一、机械臂的环境搭建

首先按照这个教程安装机械臂仿真(有区别的是我在ubuntu20.04环境和noetic平台下装得)
aubo机械臂模型包下载和测试

遇到的各种问题和解决方案(上述博客讲了很多,但是我依然遇到了一些问题陈列如下)

1、fatal error :Eigen/Core: No such file or directory
Eigen

2、Undefined reference to google protobuf
protobuf

二、机械臂模型文件修改

1、为link添加惯性参数、碰撞属性(这两个属性模型已经有了故省略)

2、为joint添加传动装置
以aubo_i5为例在aubo_i5.urdf.xacro模型文件中添加如下代码

 
  
    
      transmission_interface/SimpleTransmission
      
        hardware_interface/PositionJointInterface
      
      
        hardware_interface/PositionJointInterface
        1
      
    
  
  
  
  
  
  
  
  

2、添加gazebo 控制器插件
以aubo_i5为例在aubo_i5.urdf.xacro模型文件中添加如下代码

 
 

  
    
      /aubo_i5
      gazebo_ros_control/DefaultRobotHWSim
      true
    
  

3、放开joint速度和力度参数
以aubo_i5为例在aubo_i5.urdf.xacro模型文件中修改如下代码

(修改前)
(修改后)

4、提前下载模型文件库并放置于 ~/.gazebo/models目录下(之后下载会很慢)
gazebo模型

机械臂配置以及moveit!

可以按照下方教程直接创建moveit,但有时候不稳定因此大部分文件自己配置
moveit-assistant自动配置
1、参照上方链接,使用moveit-assistant,标红的模块不管
Aubo机械臂初学(愁)——1、gazebo和Rviz联合仿真_第1张图片
2、创建功能能包gazebo,在功能包下添加文件夹luanch和config
Aubo机械臂初学(愁)——1、gazebo和Rviz联合仿真_第2张图片
3、config文件夹下添加配置文件
aubo_i5_gazebo_joint_states.yaml

aubo_i5:
  # Publish all joint states -----------------------------------
  joint_state_controller:
    type: joint_state_controller/JointStateController
    publish_rate: 50  

aubo_i5_trajectory_control.yaml

aubo_i5:
  arm_joint_controller:
    type: "position_controllers/JointTrajectoryController"
    joints:
      - shoulder_joint
      - upperArm_joint
      - foreArm_joint
      - wrist1_joint
      - wrist2_joint
      - wrist3_joint

    gains:
      shoulder_joint:   {p: 1000.0, i: 0.0, d: 0.1, i_clamp: 0.0}
      upperArm_joint:   {p: 1000.0, i: 0.0, d: 0.1, i_clamp: 0.0}
      foreArm_joint:   {p: 1000.0, i: 0.0, d: 0.1, i_clamp: 0.0}
      wrist1_joint:   {p: 1000.0, i: 0.0, d: 0.1, i_clamp: 0.0}
      wrist2_joint:   {p: 1000.0, i: 0.0, d: 0.1, i_clamp: 0.0}
      wrist3_joint:   {p: 1000.0, i: 0.0, d: 0.1, i_clamp: 0.0}

4、launch文件夹下添加aubo_i5文件夹,添加launch文件
aubo_i5_gazebo_states.launch


    
    

    

    
    
        
    


aubo_i5_gazebo_world.launch



  
  
  
  
  
  

  
  
    
    
    
    
    
  

  
   


  
   
	

aubo_i5_trajectory_controller.launch



    

    


aubo_i5_bringup_moveit.launch


  
    
    

    
       

    
    

    
    


5、/src/aubo_i5_moveit_config/config文件夹下添加
controllers_gazebo.yaml

controller_manager_ns: controller_manager
controller_list:
  - name: aubo_i5/arm_joint_controller
    action_ns: follow_joint_trajectory
    type: FollowJointTrajectory
    default: true
    joints:
      - shoulder_joint
      - upperArm_joint
      - foreArm_joint
      - wrist1_joint
      - wrist2_joint
      - wrist3_joint

6、/src/aubo_i5_moveit_config/launch文件夹下
添加moveit_planning_execution.launch


 # The planning and execution components of MoveIt! configured to 
 # publish the current configuration of the robot (simulated or real)
 # and the current state of the world as seen by the planner
 
  
 

 # The visualization component of MoveIt!
 
  
 

  
  
     
    [/aubo_i5/joint_states]
  


aubo_i5_moveit_controller_manager.launch.xml下添加gazebo控制


	

moveit_rviz.launch文件修改如下



  
  
  

  
  
  

  
    
  


7、启动

source devel/setup.bash
 roslaunch aubo_gazebo aubo_i5_bringup_moveit.launch 

Aubo机械臂初学(愁)——1、gazebo和Rviz联合仿真_第3张图片如果gazebo闪退可以试着执行下面这个代码

export SVGA_VGPU10=0

更改SVGA_VGPU10变量时,其实只是在告诉系统OpenGL版本,尝试两种选择,然后看看哪个更适合
还有就算要注意依赖包要装全,不然也会报错比如

sudo apt install ros-melodic-ros-controllers

moveit配置笔记

你可能感兴趣的:(机械臂初学,机器人)