The following is a publication from our valued supplier-partner Robotiq
Both of Robotiq’s Adaptive Grippers are able to grip objects of various shapes using their innovative finger mechanism. This allows for firm grips on various objects without the need to build custom grippers for each application. In addition to this adaptability, the Gripper is able to determine when it has gripped an object. This is useful to determine if the pick-up procedure was performed correctly and if the robot can move to the next step of its program.
In some cases, however, it is also useful to verify if the Gripper is still holding the object after a motion is executed by the robot. For example, if the object position was not initially determined accurately (for instance, if the object has moved or if the vision system had a problem), it is possible that the object could be picked up in an awkward position. In this situation, the object might slip out of the Gripper if the robot moves very rapidly to its next position. Knowing that the object was dropped is crucial for many applications. So below, we will explain the appropriate procedure to verify if the Adaptive Gripper still has the object after a robot motion.
How the Object is Detected During the Grip
When a command is sent to close the fingers of the Gripper, the motor moves towards a target position. If the motion is stopped because the Gripper has found an object, the force applied by the fingers will increase until the current sent to the motor exceeds its limit (which is fixed using the force parameter). At that moment, the motor will stop moving and the grip force will be maintained by the Gripper’s auto-locking mechanism. By reading the motor position, the Gripper is able to determine if an object was gripped or if the motion was stopped due to the fingers touching themselves. However, from that moment, the Gripper will consider that the object is gripped and will not detect an object loss unless the procedure explained in the next section is executed.
How to Verify if Object Contact is Maintained
Once the object is gripped, no more current is sent to the motor as the grip force is maintained by the Gripper’s auto-locking mechanism. In order to verify if the Gripper still has the object, motor motion has to be re-initiated. This is simply done by first sending a “stop” command and then by sending another “go to” command with the same parameters as the initial grip. If the Gripper still has the object, no motion will be recorded (or a small one if the object is compliant) and the object will remain detected. However, if the object is no longer being grasped by the Gripper, the fingers will move and no object will be detected.
So, from a technical standpoint, how is this programmed in the robot? The first thing to know is that the Gripper motion is initiated using a “go to” variable which is named rGTO. When rGTO = 0, the robot tells the Gripper to stop and when rGTO = 1 the robot tells the Gripper to move. Also, the Gripper has an output variable gGTO which is simply an echo of rGTO. This variable is useful to verify if the new command was received and executed. In a more visual manner, this diagram shows how the robot can verify if the Gripper still has the object after it has moved to the position where the Gripper will release it.
This procedure is useful in handling problems that may arise in the robot cell if, for example, the position of the object can change between the time the robot localizes the object and the time the Gripper initiates its grip.
However, in many applications, the parameters are defined so precisely that this procedure might not be necessary. Anyways, as engineers we generally aspire to find the best scenario while planning for the worst. In this case, double checking everything may be a good idea.