DoF - a Robotiq Community
Warning sign
The Dof Community was shut down in June 2023. This is a read-only archive.
If you have questions about Robotiq products please reach our support team.
Annick_Mottard

Here is the code Team 1 developed for this challenge! We made it to the first screw!

Code

Program
   Init Variables
   BeforeStart
     Script: accessor_capt.script
     socket_close("stream")
     socket_open("127.0.0.1",63351,"stream")
   Robot Program
     MoveJ
       Gripper Move 56%
       Waypoint_1
     Camera Locate
       MoveL
         app
         pick
         Gripper Close
         app
       MoveJ
         App_Fixture
         Waypoint_16
       MoveL
         Waypoint_17
         Waypoint_18
         Waypoint_19
         Wait: 1.0
         Gripper Move 68%
         Waypoint_2
         Gripper Close
         Waypoint_4
         Waypoint_5
         Waypoint_6
         Waypoint_7
         Gripper Open
       MoveL
         Waypoint_8
         Waypoint_3
         Waypoint_9
         Gripper Close
         Waypoint_10
         Waypoint_11
         Waypoint_12
         Gripper Open
         Waypoint_13
         Waypoint_14
         Waypoint_15
         Waypoint_13
       MoveL
         Waypoint_20
         Waypoint_21
         Gripper Close
         Set
         Loop 4 times
           Pallet
             Pattern: Line
               StartPos_1
               EndPos_1
             PalletSequence
               Approach_1
               Set TO[0]=On
               PatternPoint_1
               Wait: 1.0
               Set TO[0]=Off
               Exit_1
           Waypoint_22
           Pallet
             Pattern: Square
               a1st_Corner_1
               a2nd_Corner_1
               a3rd_Corner_1
               a4th_Corner_1
             PalletSequence
               Approach_2
               PatternPoint_2
               set_tool_voltage(12)
               Set TO[0]=On
               Wait: 0.5
               'set_tool_voltage(24)'
               Force
                 Wait get_tool_current()≟0.35
                 Set TO[0]=Off
               Exit_2
           Waypoint_22
   Thread_1
     sensor_data≔socket_read_ascii_float(6,"stream")
     If sensor_data[0] ≥6
       Fx≔sensor_data[1]
       Fy≔sensor_data[2]
       Fz≔sensor_data[3]
       Mx≔sensor_data[4]
       My≔sensor_data[5]
       Mz≔sensor_data[6]
     Else
       Fx≔0.0
       Fy≔0.0
       Fz≔0.0
       Mx≔0.0
       My≔0.0
       Mz≔0.0
   SubP_rq_set_zero
     rq_set_zero()
   SubP_rq_print_firmware_version
     rq_print_firmware_version()
   SubP_rq_print_prod_year
     rq_print_prod_year()
   SubP_rq_print_serial_number
     rq_print_serial_number()
   SubP_rq_print_version
     rq_get_version()


Tyler_Berryman

We did not use the vision system, but we managed to build "fairly" rigid positioning jigs. We made it to the first screw.

Here is the video for Team #2
https://youtu.be/V0VHJ4Dx8Ws

Code

 Program
   Init Variables
   BeforeStart
     Script: accessor_capt.script
     socket_close("stream")
     socket_open("127.0.0.1",63351,"stream")
   Robot Program
     MoveJ
       Gripper Move 56%
       Waypoint_1
     Camera Locate
       MoveL
         app
         pick
         Gripper Close
         app
       MoveJ
         App_Fixture
         Waypoint_16
       MoveL
         Waypoint_17
         Waypoint_18
         Waypoint_19
         Wait: 1.0
         Gripper Move 68%
         Waypoint_2
         Gripper Close
         Waypoint_4
         Waypoint_5
         Waypoint_6
         Waypoint_7
         Gripper Open
       MoveL
         Waypoint_8
         Waypoint_3
         Waypoint_9
         Gripper Close
         Waypoint_10
         Waypoint_11
         Waypoint_12
         Gripper Open
         Waypoint_13
         Waypoint_14
         Waypoint_15
         Waypoint_13
       MoveL
         Waypoint_20
         Waypoint_21
         Gripper Close
         Set
         Loop 4 times
           Pallet
             Pattern: Line
               StartPos_1
               EndPos_1
             PalletSequence
               Approach_1
               Set TO[0]=On
               PatternPoint_1
               Wait: 1.0
               Set TO[0]=Off
               Exit_1
           Waypoint_22
           Pallet
             Pattern: Square
               a1st_Corner_1
               a2nd_Corner_1
               a3rd_Corner_1
               a4th_Corner_1
             PalletSequence
               Approach_2
               PatternPoint_2
               set_tool_voltage(12)
               Set TO[0]=On
               Wait: 0.5
               'set_tool_voltage(24)'
               Force
                 Wait get_tool_current()≟0.35
                 Set TO[0]=Off
               Exit_2
           Waypoint_22
   Thread_1
     sensor_data≔socket_read_ascii_float(6,"stream")
     If sensor_data[0] ≥6
       Fx≔sensor_data[1]
       Fy≔sensor_data[2]
       Fz≔sensor_data[3]
       Mx≔sensor_data[4]
       My≔sensor_data[5]
       Mz≔sensor_data[6]
     Else
       Fx≔0.0
       Fy≔0.0
       Fz≔0.0
       Mx≔0.0
       My≔0.0
       Mz≔0.0
   SubP_rq_set_zero
     rq_set_zero()
   SubP_rq_print_firmware_version
     rq_print_firmware_version()
   SubP_rq_print_prod_year
     rq_print_prod_year()
   SubP_rq_print_serial_number
     rq_print_serial_number()
   SubP_rq_print_version
     rq_get_version()