1. Help Center Home
  2. Palletizing solution

Grip Check

It is possible to detect the presence of an object (box) at the end of arm tooling (EOAT). Using this strategy, one can program the Robotiq Palletizing Solution so that it never leaves an empty spot on the pallet, even if the box was not properly picked from the conveyor, or if it was removed from the robot arm before reaching the pallet. 

Three main notions are used in this article:

Object Detection: The exact way of getting this information depends on the brand and model of the gripper used. Some models come with a URCap that provide the ready-to-use information (e.g.: airpick). In some cases, one will have to use an input from the robot to get the information (e.g.: PowerPick).

Variable(s): Simply put, a variable is an entity that can have a different value depending on conditions or information that is passed to the program.

An ''if'' condition: A simple way to program the system so that it behaves differently depending on conditions being met.

Grip Check before releasing on the pallet:

The goal here is to verifiy the presence of a box just before releasing it on the pallet. If there is no box, we want the Palletizing Solution to go get another one from the conveyor and try again. In pseudo code, that could look like:

 

If there is a box

release the box on the pallet and keep going

Else (means there is no box)

go back to the conveyor and try again

 

The first thing we need is the detection of a box, which will trigger the ''if'' condition. Most grippers have that information available.

The second thing here is that 'try again' action. Fortunately for us, the Robotiq Palletizing Solution already contains that routine. All we need is to tell it that there was no box, and it will retry that same one. This information is passed by giving the value ''False'' to a hidden variable called rq_has_box. This in turn ensures the box count is not incremented, and the robot will retry that same box.

We want this condition to take place in the ''release'' section of the program, because we want to be able to tell if a box, even if picked from the conveyor, didn't make it to the pallet.

 

Object detection with Airpick

Airpick has a complete URCap with an embeded object detection feature. If an object is present, a variable called ''rq_is_vacuum_obj_detected()'' is set to ''true''. The condition initiating the ''if'' can be based on the value of this variable.

 

Here is an example of code:

 

 

Object detection with Powerpick

PowerPick can either be used with basic I/O or the vacuum grippers URcap. 

I/O method

One has to use the Analog Input (AI) of the vacuum level to determine if there is a box being gripped. As per the user manual, the vacuum sensor should be connected to Analog Input 0 (AI0) in the Universal Robot controller.

 

Step 1: Turn on and note the vacuum level without a box at the gripper (2.4V in this example).

 

Step 2: Turn on and note the vacuum level with a box at the gripper (2.8V in this example).

 

In this case, the condition for the ''if'' node should be the value of AI0 being halfway between the two values.

Condition Value = (Vwithoutbox + Vwithbox) / 2

Condition Value = (2.4V + 2.8V) / 2 = 2.6V

Here is an example of code:

 

Grip check at grip position

I/O Method

Another good practice is to check if the presence of a box right after having activated the vacuum gripper, right from the conveyor. If there is no presence detector, the robot can be programmed tostop trying, pull back, go back to the grip position and try again. The following screen capture shows an example of this; in the ''grip'' node. Here, a loop is used. Unil the right vacuum level is read, the robot will keep moving away and retrying.

If the vacuum level is right at the first reading, the robot simply goes and puts the box on the pallet (normal behavior).

 

 

 

URcap method

The "PowerPick Grip" node can also be used to implement a "grip check" feature. 

PowerPick grip feature

Here is a description of the features of this node : 
PowerPick Grip functionalities description

Note : Additional logic can be used trigger a retry routine. (The "Force" node is used  to compress the suction cups on the box more than on the first attempt.) 

Example of grip retry using PowerPick node