installation and control in polyscope on universal...
TRANSCRIPT
EZGripper Dual Robotic Gripper Control in Universal Robots PolyScope v.2 May 2017
EZGripperTM Dual 1st and 2nd Generation Robotic Gripper
Installation and Control in
PolyScope on Universal Robots
Figure 1: EZGripperTM Dual 2nd Generation Robotic Gripper
EZGripper Dual Robotic Gripper Control in Universal Robots PolyScope v.2 May 2017
Contents List of Figures ................................................................................................................................................ 2
Downloads .................................................................................................................................................... 3
Overview ..................................................................................................................................................... 11
EZGripper Range of Motion and Action ...................................................................................................... 11
Python Control ............................................................................................................................................ 13
Calibrate ...................................................................................................................................................... 13
Goto_Position(Effort, Position) ................................................................................................................... 13
Position: ...................................................................................................................................................... 13
Effort: .......................................................................................................................................................... 13
List of Figures
Figure 1: EZGripperTM Dual 2nd Generation Robotic Gripper ........................................................................ 1
Figure 2: PolyScope – Setup Robot ............................................................................................................... 3
Figure 3: Open URCaps ................................................................................................................................. 4
Figure 4: Add URCaps File ............................................................................................................................. 4
Figure 5: Navigate to the .urcap file and Open it .......................................................................................... 5
Figure 6: Restart the Robot ........................................................................................................................... 5
Figure 7: Test the EZGripper installation: Calibrate, Open then Close the EZGripper robotic grippers ....... 6
Figure 8: New Empty Program ...................................................................................................................... 6
Figure 9: Add BeforeStart Sequence. This is important to calibrate the EZGrippers before running the
robot program ............................................................................................................................................... 7
Figure 10: Insert program lines ..................................................................................................................... 7
Figure 11: Select URCaps tab ........................................................................................................................ 8
Figure 12: Insert EZGripper instances into BeforeStart and Robot Program ................................................ 8
Figure 13: Insert Move command into robot program ................................................................................. 9
Figure 14: Select the first EZGripper in set to Calibrate ............................................................................... 9
Figure 15: Instance of EZGripper showing Calibrate command ................................................................. 10
Figure 16: Set the other EZGrippers to settings shown. ............................................................................. 10
Figure 17: EZGripper Dual Gen2 Robotic Grippers with Links, Joints and Range of Motion ..................... 11
Figure 18: EZGripper Gen1 robotic grippers in various state of position from fully open to fully closed . 12
EZGripper Dual Robotic Gripper Control in Universal Robots PolyScope v.2 May 2017
Downloads The EZGripper drivers for Universal Robots PolyScope can be downloaded at
https://github.com/SAKErobotics/ezgripper-ur
Copy the ezgripper-ur-1.3.2.urcap onto a USB stick.
Stick the URCap USB stick into the Universal Robots Teach Pendent
Figure 2: PolyScope – Setup Robot
EZGripper Dual Robotic Gripper Control in Universal Robots PolyScope v.2 May 2017
Figure 3: Open URCaps
Figure 4: Add URCaps File
EZGripper Dual Robotic Gripper Control in Universal Robots PolyScope v.2 May 2017
Figure 5: Navigate to the .urcap file and Open it
Figure 6: Restart the Robot
EZGripper Dual Robotic Gripper Control in Universal Robots PolyScope v.2 May 2017
Figure 7: Test the EZGripper installation: Calibrate, Open then Close the EZGripper robotic grippers
Figure 8: New Empty Program
EZGripper Dual Robotic Gripper Control in Universal Robots PolyScope v.2 May 2017
Figure 9: Add BeforeStart Sequence. This is important to calibrate the EZGrippers before running the robot program
Figure 10: Insert program lines
EZGripper Dual Robotic Gripper Control in Universal Robots PolyScope v.2 May 2017
Figure 11: Select URCaps tab
Figure 12: Insert EZGripper instances into BeforeStart and Robot Program
EZGripper Dual Robotic Gripper Control in Universal Robots PolyScope v.2 May 2017
Figure 13: Insert Move command into robot program
Figure 14: Select the first EZGripper in set to Calibrate
EZGripper Dual Robotic Gripper Control in Universal Robots PolyScope v.2 May 2017
Figure 15: Instance of EZGripper showing Calibrate command
Figure 16: Set the other EZGrippers to settings shown.
EZGripper Dual Robotic Gripper Control in Universal Robots PolyScope v.2 May 2017
Overview Controlling the EZGripper robotic grippers is the same across generation 1 and generation 2 grippers and
in Dual, Quad or higher order configurations. The control software is available with support for Python
on Universal Robots PolyScope, Python on Linux, Python in ROS and in C# for windows. This document
focuses on the PolyScope control and related Python interface.
The EZGripper Dual robotic grippers (gen1 or gen2) are an under-actuated architecture composed of
two opposing fingers with 2 links each, all controlled by a single servo. The servo provides position
control and torque control over the 2 fingers. Each finger is composed of 2 links which rotate around
joint 1 and joint 2 shown in .
The EZGripper Dual grippers are the base
unit for control. The EZGripper Quad
(gen1) is composed of two EZGripper
Dual (gen1) grippers. The Quad can be
controlled as a single synchronized
gripper or two independent grippers.
Furthermore, groups of EZGrippers can
be assembled and controlled as
individual or synchronized grippers.
EZGripper Range of Motion
and Action The EZGripper Dual uses a single Robotis
Dynamixel MX-64AR servo to control the
two opposing fingers. The fingers are
under-actuated. As shown in Figure 17,
the fingers rotate approximately 110
degrees around both the first joint and
second joint. When the 1st link of a
finger comes into contact with an object,
the 2nd link begins to rotate around the
2nd joint thus initiating a wrapping grasp.
If 1st links never come into contact with
an object, the finger continues to rotate
until the 2nd link comes into contact with
an object (or the opposite finger). The
2nd link will tend to wrap if the object
contacts the link near the knuckle. The
2nd link will tend to stay straight if the
object comes into contact towards the tip
Figure 17: EZGripper Dual Gen2 Robotic Grippers with Links, Joints and Range of Motion
EZGripper Dual Robotic Gripper Control in Universal Robots PolyScope v.2 May 2017
of the link. While the two opposing fingers are controlled by the same servo, they can wrap
independently around an object.
The grippers have full position control and torque
control. The gripper range of motion has a resolution
of 2500 points over the range of full open (2500) to
full close (0). This value is currently scaled within the
EZGripper driver interface to a range of 0 to 100
representing a range of 100%. The grippers can move
to any point within this range under program control.
The EZGripper fingers are pulled closed by a tendon
and are pulled open by springs. The result are fingers
that are compliant when opening which is particularly
useful when pulling the grippers out of narrow spaces
after letting go of an object. On closing, the
compliance of the EZGripper is totally under the
control of the servo via SW control.
Figure 18: EZGripper Gen1 robotic grippers in various state of position from fully open to fully closed
EZGripper Dual Robotic Gripper Control in Universal Robots PolyScope v.2 May 2017
Python Control At the most fundamental level, the grippers have 2 basic commands:
- Calibrate
- Goto_Position(Effort, Position)
Calibrate When the EZgrippers are first turned on, the grippers must be calibrated. This should be done at startup
and can be done on command anytime the robot desires. Calibrate is quite simple. When a
calibrate(servo) command is issued, the grippers move to the closed position which resets the zero
position of the grippers. The maximum range of the grippers is covered by an ~60% rotation of the
servo (or 2500 points in an MX-64).
Resolution from open to close – 2500 units. This is scaled in the GotoPosition command to the range 0
to 100.
Goto_Position(Effort, Position)
Position: The position can range between 0 (closed) to 100 (open)
When position is 1 to 100
• The fingers move to that position
• This is the best setting when wanting to move the fingers to a specific position
When position = 0
• The fingers want to close continuously
• 0 is the best setting to use when grasping an object
Effort: The effort can range between 0 (no torque) to 100 (full torque)
When effort = 0
• The servo torque is turned off and the fingers can be easily back driven
• This is the default state after calibration.
When effort 1 to 100 AND position = 0
EZGripper Dual Robotic Gripper Control in Universal Robots PolyScope v.2 May 2017
• The servo uses “Torque Control Mode”, an operating mode of the Dynamixel MX-64 which is
based on current sensing of the motor load (torque).
• This produces the best torque for holding objects
When effort 1 to 100 AND position > 0
• The servo uses “Position Mode”, an operating mode of the Dynamixel MX-64 which is based
on PWM control of the voltage to the motor (should be proportional to torque)
• This produces the best torque for moving the fingers1
The Effort has an automatic back-off algorithm that:
- Maintains the grasp
- Minimizes power and therefore temperature rise in the servo
The back-off algorithm is simple, automatic and applies to all effort settings.
- Close grippers until fingers stop moving (motor stops)
o Drop applied torque to 10% torque (this keeps fingers from back-driving thus holding
grasp)
- To refresh requested effort, repeat the goto_position() command call with your desired effort
Examples:
Goto_position(0, 25) # close with torque only mode with 25% requested effort – current sensed
- Will continue to apply effort no matter the finger position. This is good to maintain a grasp on
an object.
Goto_position(50, 50) # move grippers to 50% open position using 50% torque – PWM controlled
- Torque stops when the gripper is at the target position. However, any movement away from
the position runs against a torque that keeps the gripper in that position.