Here is the program used for this demonstration:
Program
BeforeStart
flange≔0
phalanx≔0
finger≔0
Robot Program
MoveJ
Snapshot_Position
Gripper Open
If flange≤2
Camera Locate
MoveL
Flange_Approach
Flange_Pick
Gripper Close
Flange_Exit
Set flange=flange+1
If flange≟1
MoveJ
Flange_Place_Approach_1
Flange_Place_1
Gripper Open
Flange_Place_Exit_1
ElseIf flange≟2
MoveJ
Flange_Place_Approach_2
Flange_Place_2
Gripper Open
Flange_Place_Exit_2
MoveJ
Snapshot_Position
If phalanx≤2
Camera Locate
MoveL
Phalanx_Approach
Phalanx_Pick
Gripper Close
Phalanx_Exit
Set phalanx=phalanx+1
If phalanx≟1
MoveJ
Phalanx_Place_Approach_1
Phalanx_Place_1
Gripper Open
Phalanx_Place_Exit_1
ElseIf phalanx≟2
MoveJ
Phalanx_Place_Approach_2
Phalanx_Place_2
Gripper Open
Phalanx_Place_Exit_2
MoveJ
Snapshot_Position
If finger≤2
Camera Locate
MoveL
Finger_Approach
Finger_Pick
Gripper Close
Finger_Exit
Set finger=finger+1
If finger≟1
MoveJ
Finger_Place_Approach_1
Finger_Place_1
Gripper Open
Finger_Place_Exit_1
ElseIf finger≟2
MoveJ
Finger_Place_Approach_2
Finger_Place_2
Gripper Open
Finger_Place_Exit_2
ElseIf finger≟2 and phalanx≟2 and flange≟2
Halt
Annick_Mottard
@Tyler_Berryman nice cable management! ;)
Hi DoF community,
In this post, I am looking to show you how to sort parts using the Robotiq Wrist Camera. The idea here is to use a single Snapshot position (one single calibration) to teach 3 different parts to the vision system. Here are the three parts of the 2F85 gripper assembly that I used for this demonstration:
In this program, I am using 3 variables to control the place positions for each of the 3 parts. The variable associated with the first part on the left is Flange, the variable associated with the part in the middle is Phalanx and the variable associated with the part on the right is Finger. These variables are incremented every time the camera locate node for that given part is executed. This incrementation allows me to tell the robot to place the part in a certain position using IF statements. Since I am using 3 different Camera Locate nodes (1 for each part), the searching phase of the program can be a little long. For this reason, I am using an IF statement to ignore a Camera Locate node if the number of parts in the workspace has already been sorted. In this demonstration, I am using two examples of each part so I know that there are only two parts corresponding to each Camera Locate node. For example : IF Finger <=2 then go through the Camera Locate node.
Here is the video of the demonstration :
https://youtu.be/9aJBRiyzgLs