Understanding the Moveit! configuration of a universal robotic arm

The changes that we need to make in the industrial MoveIt! configuration are almost the same as the arm we already worked with.

First, we have to define the controller.yaml file, which has to create inside ur10_moveit_config/config. Here is the definition of the controller.yaml of UR-10:

controller_list: 
  - name: "" 
    action_ns: follow_joint_trajectory 
    type: FollowJointTrajectory 
    joints: 
      - shoulder_pan_joint 
      - shoulder_lift_joint 
      - elbow_joint 
      - wrist_1_joint 
      - wrist_2_joint 
      - wrist_3_joint

The kinematics.yaml file inside the config folder contains the IK solvers used
for this arm; we can use the following IK solvers. The contents of this file are given
as follows:

#manipulator: 
#  kinematics_solver: ur_kinematics/UR10KinematicsPlugin 
#  kinematics_solver_search_resolution: 0.005 
#  kinematics_solver_timeout: 0.005 
#  kinematics_solver_attempts: 3 
manipulator: 
  kinematics_solver: kdl_kinematics_plugin/KDLKinematicsPlugin 
  kinematics_solver_search_resolution: 0.005 
  kinematics_solver_timeout: 0.005 
  kinematics_solver_attempts: 3 

The UR-10 and UR-5 have their custom IK solver plugins and we can switch from the default KDL kinematics plugins to the robot specific solver.

The definition of ur10_moveit_controller_manager.launch inside the launch folder is given as follows. This launch file loads the trajectory controller configuration and starts the trajectory controller manager:

<launch> 
  <rosparam file="$(find ur10_moveit_config)/config/controllers.yaml"/> 
  <param name="use_controller_manager" value="false"/> 
  <param name="trajectory_execution/execution_duration_monitoring" value="false"/> 
  <param name="moveit_controller_manager" value="moveit_simple_controller_manager/MoveItSimpleControllerManager"/> 
</launch> 

After discussing these files, let's see how to execute motion planning in MoveIt! and executing in Gazebo:

  1. Start the simulation of UR-10 with joint trajectory controllers:
    $ roslaunch ur_gazebo ur10.launch
  1. Start the MoveIt! nodes for motion planning. We need to use sim:=true,
    if we are trying MoveIt! along with the simulation:
    $ roslaunch ur10_moveit_config ur10_moveit_planning_execution.launch sim:=true
  1. Launch RViz with the MoveIt! visualization plugin:
    $ roslaunch ur10_moveit_config moveit_rviz.launch config:=true
Figure 9: Motion planning in UR-10 model in RViz

We can move the end effector position of the robot and plan the path using the Plan button. When we press the Execute button or the Plan and Execute button, the trajectory should send to the simulated robot, which is shown as follows.

Figure 10 : Motion planned trajectory from MoveIt! executing in Gazebo

We have seen a universal robot and its simulation in Gazebo. Next, we can work with ABB robots.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.145.111.183