Discussion

Left ArrowBack to discussions page
mikebeaucheminmikebeauchemin Posts: 14Vacuum Beta tester Crew
edited November 2016 in Applications
Hi pros,

I 've prepared a proof of concept for a customer.  The application goal was to detect M8 hexagonal nuts and assembled it with a cap screw, both with chrome finish. The parts are about to be assembled using the 2F85 gripper, the FT300 using the path recording function and finally, the wrist camera for detecting the parts laying down on a stopped conveyor. 

The first challenge I've faced is the detection of the small nut on the table.  I've used two different camera position for the snapshot position and the calibration position as explained in the following DoF discussion:   http://dof.robotiq.com/discussion/429/how-to-define-a-snapshot-position

The second challenge was to use a jig to locate & maintain the nut while doing the assembly.  As you will see, because of tight tolerances of our jig, we had to add an extra movement in the program to ensure that the nut was inserted in the jig at the proper depth position each time.

The third challenge was using another jig to maintain the part in the good orientation while changing the gripping from the shank to the hexagonal head to enable a simple screwing movement. My suggestion on this, learned with experience, would be the use of a better jig, with chamfers all around especially in the area where the threaded cap screw shank is inserted.  The goal is to avoid the screw to be disoriented while going down.

Have you faced similar application on your end?  How did you manage it?  What would you've done differently than us?

Please find below, the final application video:



Please have a look at the program created:


 Program
   Robot Program
     MoveJ
       Snapshot_Position
       Gripper Move 60%
     Camera Locate
       MoveL
         Nut_Approach
         Nut_Pick
         Gripper Close
         Nut_Exit
       MoveL
         Nut_Place_Approach
         Nut_Approach_Insertion
         Path
         Gripper Open
         MoveL
           Nut_Place_Exit
           Gripper Close
         MoveL
           Push_Nut_Into_Recess
           Nut_Insertion_Retreat
     MoveJ
       Snapshot_Position
       Gripper Move 69%
     Camera Locate
       MoveL
         Screw_Approach
         Screw_Pick
         Gripper Close
         Screw_Exit
       MoveJ
         Position_Screw_Vertically
         Screw_Jig_Approach
         Screw_Jig_Place
         Gripper Open
         Screw_Jig_Exit
       MoveL
         Reposition_Tool
         Screw_Vertical_Pick
         Gripper Close
         Screw_Vertical_Pick_Exit
         Screw_Place_Approach
         Screw_Place_Insertion
       Path
       MoveL
         Screw_Insertion_Exit
         Bin_Approach
         Bin_Place
         Gripper Open
         Halt
   

Comments

  • Tim_SmithTim_Smith Posts: 38 Apprentice
    @mikebeauchemin
    It's a little hard to see in the video, but it looks like you are using some kind of trajectory to insert the nut into the jig? What kind of movement are you using?
    And the waypoints that you used to assemble the screw and the nut do not seem to be following a constant screwing motion. Could you explain how you programmed the screwing motion?
  • mikebeaucheminmikebeauchemin Posts: 14Vacuum Beta tester Crew
    @Tim_Smith

    Good point, it was probably hard to see it on the video, I agree.  

    I've used a path recording trajectory using our URcap to insert the nut in the jig.  It's actually an asset since it was correcting movement inaccuracy while using the teach pendant.   

    I've also used another path recording to do the screwing motion. Instead of starting the calculate waypoints to represent the elliptical movement.  It was simpler using the path recording with circular movement combined with a pressure movement along the Z axis following the thread. 
Sign In or Register to comment.
Left ArrowBack to discussions page