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

Robotic Welding: System Issues  117

                              1.  Be able to represent the robot manipulator motion based on the kinematic
                                 and dynamic models, but also based on real-time data coming from the real
                                 robot. That can  be  done  using available mathematical and  graphical
                                                           ®
                                 software packages, like Matlab  for example. This latest objective clearly
                                 indicates the need to access robot motion and status information in real-
                                 time from the mathematical package.
                              2.  Be able to develop applications to explore remotely the entire installation
                                 (robot and welding application, for example) using standard programming
                                 languages (C, C++, C#, Visual Basic, etc.).
                              3.  Be able to integrate and  explore intelligent sensors  used to  obtain
                                 information from the process under control.
                              4.  Enable users to explore the advanced programming capabilities of actual
                                 robot controllers, namely the local programming capabilities, based on a
                                 dedicated programming language complemented by extensive libraries of
                                 functions, and the optimized manipulation capabilities based on trajectory
                                 planning software that takes advantages of  optimized kinematic and
                                 dynamic models.
                              5.  Enable users to build flexible  manufacturing cells,  which leads to the
                                 possibility to explore the available industrial data network, the possibility
                                 to distribute software to the various components  of the  system, and the
                                 capacity to build  remote software applications to control and monitor
                                 industrial manufacturing cells;
                              6.  Develop advanced Human Machine Interface (HMI) solutions to operate
                                 with industrial systems, hiding from the users all the tricky details about
                                 implementation, allowing them to focus on the operational details, i.e., to
                                 focus on how systems work and how they can be explored efficiently.
                              7.  Provide ways that could allow developers to focus on the important things
                                 about the application they are building: the control algorithm, program
                                 functionality and HMI. All the details related with communications, sensor
                                 integration, etc., should be hidden from the user.

                           Taking into consideration these objectives the following programming models are
                           required:

                              1.  Client-server model: there  should  be server code running on each cell
                                 equipment, namely on the robot controllers and coordinating PLCs, that
                                 could receive calls from  the remote client computers, execute the
                                 commands and return the results;
                              2.  Remote Procedure Calls: this is the most usual method used to implement
                                 communications between  a client and a server on a distributed
                                 environment. The client makes a call to a non-local function and the
                                 selected RPC mechanism configures the call so that the proper computer,
                                 server program and function are addressed, adding the necessary network
                                 headers. The server program, running on the server machine, receives the
                                 call, executes the selected function and returns the results obtained  to the
                                 client computer.
   125   126   127   128   129   130   131   132   133   134   135