Page 146 - Welding Robots Technology, System Issues, and Applications
P. 146

Robotic Welding: System Issues  133

                           remote client can change the value  of any program variable just  by  using the
                           “write_variable” service implemented in the TCP/IP socket server (Figure 4.12).

                           Therefore the following services should be implemented in task 1:

                           1. Move the  robot in Cartesian space: since the piece to weld is placed on a
                           welding table (Figure 4.15), it’s enough to allow the user to move the robot relative
                           to a fixed position (P corner) on the table. To move the robot parallel to the surface,
                           avoiding collisions, the user must be able to send jogging commands to the robot in
                           the form of Cartesian offsets and rotation offsets about the axis of the defined robot
                           TOOL (Figure 4.15). To add the jogging capability the position P corner should be
                           acquired to the system aligning the TOOL reference frame with the defined
                           position frame. The position obtained from P corner adding 200mm in the Z direction
                           (WORLD reference frame) can be called “home” or “safe position”,

                                 P home = Offsets(P corner , 0, 0, 200);

                           where the  function  Offsets [43] adds 200mm  to the Z Cartesian direction,
                           recalculating the  orientation parameters to  keep the  orientation in  the new
                           Cartesian position.

                           Therefore, to jog safely the robot in the welding working space, the following two
                           services must be available from the welding application:

                           Service “Go Home”
                           CASE 1000:
                              MOVEJ Offsets(P corner , 0, 0, 200), v100, fine, tool_torch;
                           decision1:=0;

                           Service “Move_Cartesian_Linear”
                           CASE 1001:
                           WHILE decision1 = 1001 DO
                            IF move <> 0 THEN
                              MOVEJ RelTool(P corner , x, y, z\RX:=rx, RY:=ry, RZ:=rz), v100, fine, tool_torch;
                            ENDIF
                           ENDWHILE
                           decision1:=0;

                           An extra service capable of moving the robot in coordinated joint motion could be
                           interesting to  solve motion  difficulties related with singular zones. The service
                           could be obtained just by adapting the previous “Move_Cartesian_Linear” service
                           to:

                           Service “Move_Cartesian_Linear_Joint”
                           CASE 1001:
                           P actual:= CRobT(\Tool:=tool_torch);
                           WHILE decision1 = 1001 DO
   141   142   143   144   145   146   147   148   149   150   151