Author: Yuxiang Gao and Yeping Wang
ROS Version : Kinetic
Dependence
universal_robot : URDFs and Meshes for UR5
ur_modern_driver : Drivers for UR5.
robotiq : Drivers for the Robotiq gripper.
roboticsgroup_gazebo_plugins : For the gripper simulation in Gazebo
[ros_controllers]: For the CripperActionController. Can be installed with sudo apt-get install ros-kinetic-ros-controllers
Usage with Gazebo simulation
To start the Gazebo simulated ur5 and the gripper:
roslaunch icl_ur5_setup_gazebo icl_ur5_gripper.launch
Then bring up the moveit:
roslaunch icl_ur5_setup_moveit_config ur5_gripper_moveit_planning_execution.launch sim:=true
Finally, run a Rviz to visualize the trajectory:
roslaunch icl_ur5_setup_moveit_config moveit_rviz.launch config:=true
To bringup the slide bar for each joint:
rosrun rqt_joint_trajectory_controller rqt_joint_trajectory_controller
Usage with the hardware
This package communicates with Robotiq 140 gripper using the robotiq_action_server through Modbus RTU protocol, so the first step to do is to connect the gripper using USB.
To bring up the whole arm configuration with all drivers, you can use the following command:
roslaunch icl_ur5_setup_bringup ur5_fts_gripper.launch
If there are some connection error, you may need to change the gripper_port
, serial_id
, and robot_ip
in the launch file. Currently, gripper_port
is ttyUSB0
and serial_id
is ttyUSB1
, these require you to plug the gripper's USB first then plug the force torque sensor's USB. To find the robot ip address:
UR’s teach-pendant -> Setup Robot -> Setup Network Menu -> ip address
If you don't need the force torque sensor, you just need to launch ur5_gripper.launch
Activited the gripper:
roslaunch icl_ur5_setup_bringup activate_gripper.launch
Then press 'r' to reset and press 'a' to activite the gripper.
Bring up the moveit:
roslaunch icl_ur5_setup_moveit_config ur5_gripper_moveit_planning_execution.launch
Finally, run a Rviz to visualize the trajectory:
roslaunch icl_ur5_setup_moveit_config moveit_rviz.launch config:=true
To control the gripper
Publish the position value to icl_gripper/gripper_cmd/goal
(or the topic under a similar name).
position value 0.0: open
position value 0.8: close
Reference
This repo learns a lot from icl_phri_ur5, UR5-with-Robotiq-Gripper-and-Kinect and tams_ur5_setup