Page 182 - Welding Robots Technology, System Issues, and Applications
P. 182
170 Welding Robots
2. Define the type of motion: the user must specify what type of motion to
perform to achieve the target point, i.e., linear motion or coordinated joint motion.
This is specified writing to the variable varmove (198 for joint coordinated motion
and any other value for linear motion). For example, the command
pcrob.WriteNum(“varmove”, 198, channel);
specifies joint coordinated motion, using the open RPC socket identified by the
parameter channel.
3. Command the Cartesian and rotational offsets: the user must write the offsets
to the correspondent variables. After that, when the user signals that the offsets are
available (writing a value different than zero to the variable move), the robot moves
to the position/orientation obtained by adding those offsets to the actual position,
and waits for another motion command. For example, the sequence of commands
necessary to move the robot 20 mm in the positive X direction and 10 mm in the
negative Z direction should be
pcrob.WriteNum(“x”, 20, channel);
pcrob.WriteNum(“y”, -10, channel);
pcrob.WriteNum(“move”, 1, channel); robot moves now!
where again channel identifies the open RPC socket.
4. Leave the service: to leave this service the user must write any value different
from 9100 to the variable decision1. For example, the following command writes
the value -1 to the numeric variable decision1 and makes the robot program to quit
the Move_CRobot service:
pcrob.WriteNum(“decision1”, -1, channel);
Finally, let’s consider the service Welding (Figure 5.17) that corresponds to the
value 9401 of the variable decision1. The simplified version of the code is
presented in Figure 5.18.
It is clear from the presented code (Figure 5.18) that the user should command the
Welding service to execute, after sending the matrices defining the welding
sequence. This service commands the robot to follow exactly the command
sequence, moving the robot and igniting or stopping the welding arc whenever in
the presence of a welding or approach/escape trajectory, respectively.
The presented example shows clearly that there are considerable gains in terms of
flexibility and agility when using distributed client-server software architecture to
assist industrial welding operations [11]-[15], namely taking advantage of the
powerful programming tools developed for personal computers. It also shows that
actual CAD packages can be used for robot programming tasks with great
advantages, which extend the interest of already largely utilized software tools.