Discussion

Left ArrowBack to discussions page
Tyler_BerrymanTyler_Berryman Posts: 110 Handy
edited November 2016 in Applications
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 :


Comments

  • Tyler_BerrymanTyler_Berryman Posts: 110 Handy
    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_MottardAnnick_Mottard Posts: 117 Handy
    @Tyler_Berryman nice cable management!  ;)
    Annick Mottard
    Product Expert
    Robotiq
    a.mottard@robotiq.com 
  • lakshmip001lakshmip001 Posts: 30 Apprentice
    I am trying to sort M10, M8 & M6 screws respectively. When they are in even number (i.e. 2-M10 , 2-M8, 2-M6) process smooth. While there is uneven number of screws ( 2-M10,  3-M8, 3-M6) process stops until it finds next M10 screw and doesn't proceed further to find M8 and M6. Can give an idea how to approach to detect object and proceed further if camlocate command doesn't detect an object.

    Thanking you in advance.

    Warm Regards,
    Lakshmi Prasanna.
  • Tyler_BerrymanTyler_Berryman Posts: 110 Handy
    @lakshmip001 Could you post a text version of your program so I can understand the logic of your program? If you do not want to post your program you can send it to me by private message and I will be happy to help you with your program!
Sign In or Register to comment.
Left ArrowBack to discussions page