Programming and Control of an Industrial Robotic

0 downloads 0 Views 264KB Size Report
Abstract: - The importance of robotic systems in the automation of industrial ... N., "Programming and control of an industrial robotic system", In Book: Recent Advances in ... The IBM 7535 robot system is designed for high ... compiled and downloaded into the controller's .... the same time makes up a file structure, which is.
Adam, G.K., Mastorakis, N., "Programming and control of an industrial robotic system", In Book: Recent Advances in Circuits, Systems and Signal Processing, Series: Electrical and Computer Engineering, N. Mastorakis, G. Antoniou (editors), WSEAS Press, ISBN: 960-8052-64-5, pp. 425-430, 2002.

Programming and Control of an Industrial Robotic System GEORGE K. ADAM1,2, NIKOS E. MASTORAKIS3 1

2

Department of Production, Adam's Machine Constructions Co. Department of Mechanical & Industrial Engineering, University of Thessaly, 383 34 Volos, GREECE 3 Department of Computer Science, Hellenic Naval Academy, 185 39 Piraeus, GREECE [email protected], [email protected]

Abstract: - The importance of robotic systems in the automation of industrial units is well known. In this paper is described the logic programming and computer control system of a robotic manipulator (IBM Scara robot) utilized in specific palletizing and assembling tasks in a machines constructions company. At low level of communication control is achieved through AML assembly routines in conjunction with C programming modules, while at user interface Prolog predicates are used for interactive and comprehensive communication. The system incorporates visual data (through a grip camera) for specific objects identification and definition of their location. Effective machine vision processing algorithms intend to strengthen the reliability of system's control and operation in real-time. Although high-level control and task planning in robotics remain a particular difficult problem, this combined approach of low and high level control and image processing algorithms, seems to ease the operator's work and ensures higher quality of operation. After long-lasting tests and measurements of control system's implementation the outcomes and the production results achieved (e.g. reduced errors, time and cost), have reconfirmed its effectiveness compared to previous solutions. Key-Words: Programming, control, robotic system, image processing.

1 Introduction The introduction of robotics in automated manufacturing operations has rapidly increased the last decade. This is due to the current trends in robotics developments towards more sophisticated systems, such as computer-integrated manufacturing (CIM), flexible manufacturing systems (FMS), visual programming methods, etc. [1]. The above concepts enabled robots to be endowed with a higher level of intelligence, so that to be able to operate autonomously even in hostile environments [2], [3]. A significant emphasis in robotics control lies in the area of high-level programming languages, that allow flexible and interactive control, provide decision-making capabilities, enable asynchronous interaction and the ability to create adaptive control programs. Several researchers have already been working in such programming tasks [4], proving that all the above features are necessary, since the manufacturing systems today are becoming increasingly complex and demanding. This paper presents the research and implementation work of a robotic manufacturing system in an industrial machines production company. In

particular, is described the logic programming and computer control (based on a Compaq PC) of a robotic manipulator of IBM's series (IBM 7535) [5], in handling and inserting metallic pieces into cylindrical boards of a lime mashing machine, with the purpose of facilitating operator's work. The aim was to enable real-time interactive control of the manipulator through a high-level programming language (e.g. C/C++) within an intelligent graphical interface (involving Prolog predicates). Although IBM through the AML\E utility program in BASIC (comsampl.bas) attempts to provide such an interactive environment, however still possesses the deficiencies known in the AML\E environment. Moreover, AML\E is hardware dependent, nonportable, running only on IBM PC compatible machines. Finally, a comparative evaluation is carried out regarding the effects of several systems factors on successful component handling and insertion, such as repeatability and accuracy.

2 The Application Environment The application platform is an industrial environment of a Machines Constructions Company

in Volos, Greece [6]. The company is specialized into the design and manufacturing of a range of semi-automatic and automatic industrial machines for lime and concrete elements production, based on new technology. The research and experimental work described here, was carried out under company's innovative project for the implementation of new manufacturing techniques on machines production. The company's objectives are to keep high standards in production quality and maintain customers creditability on machines operation. The robotics workcell is like an "island of automation" within the industrial environment. This is consisted of the following units: an IBM 7535 Scara robot (equipped with a 6-bit gray scale Connectix CCD QuickCam camera on grip), that communicates (through an RS-232 interface) with a host personal computer (Compaq PC), a parts feeder (a rotating conveyor belt) and an assembling parts rotating platform. A schematic description is given in Fig.1.

linear movements can be programmed only within a specified area. As a means of communication and control, an application control program in AML\E language is provided. The system also provides a teach mode programming function used to define a sequence of points and then utilizes sequential programming constructs to move the robot through the predefined positions. AML\Entry language is an outgrowth of IBM's original manipulator language AML (A Manufacturing Language). AML\E is a subroutineoriented language. AML\E instructions are edited, compiled and downloaded into the controller's memory partitions for execution. The controller parses the AML\E statements and sends multiple action instructions to produce sequential robot motion. AML\E is only a manipulator control language that lacks high-level mathematical operators and data-processing features, compared to other languages like C/C++. In other words, has little capability to approach certain tasks with greater intelligence or solve other problems in the working environment.

2.1 The IBM 7535 manufacturing system The IBM 7535 robot system is designed for high precision tasks associated with component assembly or material handling operations. The system is consisted of the manipulator arm, the controller unit (Z-80 based CPU) and an operator's control panel. The manipulator is a jointed arm robot with three parallel vertical axes (Θ1, Θ2 - driven by DC servo motors that position the component in horizontal plane, and a roll axis - driven by a step motor that orientates the component in horizontal plane) and four degrees of freedom. The joints of the first two axes are of revolute type, while the joint of the roll axis is of cylindrical type allowing rotational and linear movements along this axis. The up and down movements along the Z-axis is pneumatic non-servo controlled. The manipulator uses inverse kinematics to control the movements, position and orientation of the robot's end-effector. Manipulator's positioning system is of type 'point to point'. This means that the path traced by the end-effector as it moves from point to point is uncoordinated and usually this type of control allows greater speed to be achieved between the trajectory points. However, straight linear movements can also be programmed. In this case, the robot performs coordinate transformation in real time to translate the world coordinates (x, y, r) of the end effector into a number of corresponding joint coordinates (Θ1, Θ2, r) of manipulator's arm. It must be noted here, that although the manipulator's work envelope is almost cylindrical (see Fig.1)

Compaq PC

RS232

Assembly area M4

Controller IBM 7535 Θ Θ roll

Cylindrical board

zr

M3

yr xr M2 Parts

M1

Work envelope

Fig.1: The robotics manufacturing system.

2.2 Computer control The computer control system is based on an 80386 microprocessor of a personal computer on a Windows platform, and is connected to the robot controller through an RS-232 interface. The communication is based on full duplex transmission protocol (baud rate: 4800, parity: even, data bits: 7, stop bits: 2), while ASCII codes are used for data transmission.

The implemented new control environment allows direct download and execution of a considerable amount of AML\E motion and sensor commands, as monitor instructions. In achieving the above, the main characteristics of the controller's communication protocol are utilized. This is a transaction-based protocol, having the host in the control of all the transactions. A transaction mainly consists of: an identifier and a data record or multiple records. Examples of such identifiers could be to direct the controller to perform a remote function related to the operator control panel or download a compiled application program.

2.3 Workcell operators The manipulator is used to load small metallic components (rectangular bars) of about 0,5 kg (having a maximum payload of 6 kg) from a rotating conveyor belt and perform simple machine parts assembly. In order to perform simple handling and assembling operations an Λ-shaped gripper was fixed to the end effector. The conveyor is filled with a certain amount (about 60) of metallic bars (150x30x10mm), and rotates each time a single bar is grasped. In consequence, the robotic arm inserts the bars into specific slots of a cylindrical board in the assembly area. Once the conveyor mechanism is started (M1), the robotic arm is programmed to traverse the end effector along the parts conveyor until a preprogrammed coordinate point is reached (M2). Then, the end effector lowers at a certain height over the conveyor belt, opens, and closes the gripper in order to grasp and handle the metallic bar. Once a single bar is grasped, the conveyor moves forward (left-to-right) one location. Then the end effector raises and turns back all the other way until another pre-defined point over the assembly area is reached (M3). Finally, the end effector lowers at a certain height over the cylindrical board and the gripper turns through 45 degrees in order to insert the component into the specified slot in the cylinder being assembled. Once a single bar is placed into a slot, the cylindrical board rotates forward (clockwise) one location in order to provide the next free slot (M4). These predefined points require precision maneuvers by the robotic arm. Currently, the coordinates of these points are mostly preprogrammed. However, experiments have already been carried out in processing real image captures of the workcell in order to identify specific components and the coordinates of target points. In addition, short time delays (fraction of a second) are scheduled in order to avoid any possible collisions

between the robotic arm, the rotating conveyor and the cylindrical board. Although vision information is still undergoing further integration into the overall manufacturing system, it has been measured that the repeatability of the above processes remains at satisfactory accuracy limits (see Table2). This fact reduces the need of manipulator's calibration, an important requirement for machine's accurate operation, only to the initial system start.

3 High-level Robot programming The new software control system attempts to provide all the programming features of the AML\E low-level programming language, through an interactive and simpler high-level programming interface. The combination of low and high level programming languages (AML routines, C modules, Prolog predicates) in an intelligent front-end to the robotics workcell shows the highly complementary nature of object-oriented technologies, in working together on assisting machine operators in real-time interactive control.

3.1 Structure of the control application The overall application is consisted mainly of three basic C/C++ program modules (430KB): the monitor command module, the monitor program module and header module. In particular, the header part of the application program provides the main menu that establishes all the appropriate communication parameters between the PC and the IBM 7535 controller. This part selects the required control mode (‘Command’ or ‘Program’ mode) according to user requests and status of the control operations. It must be noted that some of the values of the communication parameters, between the controller and the computer, have already been set internally through controllers' switches. The monitor command module provides an interpreted commands mode control operation. This mode generally allows the straight execution of motion commands (e.g. move, down, grasp, up, release, delay, etc.) to the controller and returns the status of their execution. In particular, interprets monitor commands and invokes the corresponding functions that process their parameters, download and execute the request, and return a status script (Fail or Ok) of their performance to the header part. For example, when a monitor command is issued, the module performs

syntax check (e.g. checks the robots legal workspace parameters, in case of fault parameters prompts the user for new ones, etc.) and performs the requested action. It must be noted here, that this errors handling system protects the user from operations failure, while in the AML\E programming environment if an illegal workspace parameters error occurs the manipulator will be turned off automatically and thereafter can be restored only manually. The monitor program module provides a compiled commands mode control operation. This mode generally emulates the initial AML programming language environment, however in most of the instructions structure the syntax was simplified. For example, instead of the syntax now is . In particular, this mode reads in a hierarchical way any declarations related to the commands and their parameters and at the same time makes up a file structure, which is compiled, downloaded to the controller, and executed. Examples of such control program listings (monitor command and program) are given in Table1 below: Table 1: Demo listings. Mode: Monitor Command Mode: Monitor Program AML-CMD> PMOVE 40 40 AML-CMD> WRITE 4 0 AML-CMD> WAITI 4 1 3.5 AML-CMD> DOWN AML-CMD> GRASP AML-CMD> DELAY 10.5 AML-CMD> UP

AML-PRGM> DECLARE AML-PRGM> COUNTER CNT AML-PRGM> POINT PNT 300 AML-PRGM> CONSTANT C AML-PRGM> AGGREGATE 2 AML-PRGM> PALLET PAL AML-PRGM>FINISH

A block diagram of the software control structure is given in Fig.2. The user interface is basically written in C/C++ language, however includes a set of Prolog predicates that communicate with C slave processes. The advantages of using Prolog are that each predicate can be executed and tested individually and interactively. The system provides a small set of predicates (most of which are part of the main system startup menu, e.g. startup and shutdown), which allow the communication with C slave processes. The system, after the transmission of a request (predicate execution), can either wait for the reply (synchronous mode - by default) or it can continue and read the reply later (asynchronous mode). This mechanism allows multiple C processes to be supervised by a single Prolog process. The overall C-based control system can be operated either as a slave process controlled from the Prolog interface system, or as a standalone system.

Begin Run the main menu and the appropriate event handlers for accepting high-level commands

Monitor Command

Mode of command 'AML' instructions

'Finish'

Monitor Program

Command mode or Program mode

Mode of program 'AML' instructions

Commands & parameters syntax check

wrong Syntax error

correct

Invokes the C-function related to the AML instruction Compilation & execution

Status (Fail or Ok)

Fig.2: Control structure flowchart.

3.2 Vision control system The system currently allows the experimentation with a small amount of vision operators for the analysis and interpretation of visual information, since it is undergoing further development. The system can load pre-stored images or capture (6-bit gray scale raster) and display real images of the workcell. Experiments have been carried out on some cases of object identification in order to reconfirm object's position coordinates for grasping and slot insertion. For this reason, a small set of image processing functions, such as image magnification, threshold and contour identification have been implemented. An attempt is also made to create a Prolog predicates mechanism for the execution of image processing functions.

4 Application Results The duration of application's development and testing was about six months. Although several problems were encountered during the development and implementation of the robotics manufacturing

system, the final application results have reconfirmed its efficiency and justified company's decision. In some of the cases it was estimated, that manual assembly was roughly four times more expensive than robotic assembly is. It has also been measured that the time required up to the execution and completion of certain motion commands in most of the cases was much less than 1sec, based in a hardware system of a 80386 microprocessor on the PC. It must also be noted, that in cases where sensors (e.g. camera images) information was required, the time required to analyze visual information and execute a single action sometimes reached up to a few seconds (e.g. 3sec). For testing system's efficiency and accuracy, several test programs have been executed. All the final tests and measurements have been carried out based on constant temperature and load of machine parts, as well as other specific manufacturing factors. Particularly, for testing its repeatability a specific task (including almost circular and straight movements) has been executed repeatedly (based on constant temperature, load and speed), in order to test the robot's ability to reach previously programmed points. That proved to be satisfactory within the specified limits (±0.05mm). Below, in Table 2 is provided a summarized description of the comparative measurements and the results obtained, which justify system's efficiency and advantages. Table 2: Results of manufacturing measurements. Human operator control

Manipulator Manipulator (AML (C & Prolog control) control)

MeasurementsTime-consuming Time-saving + Time-saving Expensive Cost-saving + Cost-saving results & Not secure Secure + Friendly comments Handling/hour Assembling (per hour) Spot welding Flexibility Adaptability Accuracy Repeatability error

Errors Accurate + Flexible 240–360 pieces 540–600 pcs 600+ pcs 4 – 6 pcs 9 – 10 pcs 10+ pcs Satisfactory Satisfactory 90% ±0.5cm

Moderate Moderate >90% ±0.05mm

Moderate Satisfactory >90% ±0.05mm

At the meantime, the main use of the above robotic manufacturing and control system is for material handling and assembling. However, a future aim is to perform spot welding of the parts assembled in the lime mashing machine slots. For this reason, currently the workcell is undergoing further

integration with a number of contact switches (solid state inductive proximity sensors -Telemecanique XS7C40NC440) used for motion states identification, as well as a small programmable logic controller (Hitachi EC series -EC20HRP) connected to the PC, in order to improve further the closedloop control system.

5 Conclusion The requirement of increasing the system's intelligence so that to have the capacity to operate in environments full of uncertainties, increasing so reliability and productivity, is becoming more and more the main key factor in the manufacturing industry. In our case, although high-level programming by itself is not capable of creating intelligent applications, it was used to assist the domain of knowledge required to model and control a robotics workcell. A high-level programming interface was created and used to establish a friendlier and more adaptive communication between the manipulator and the end-user. The results obtained of the implementation of the robotic system have identified several advantages compared to manual operation, particularly in the cases where the new high-level programming control system was implemented. In most of the cases the advantages have been reduced errors, secure task operation, and time and cost saving. In the near future, among other objectives (perform spot welding tasks), simulated models (using QMTool) [7] of the workcell will be used for testing system's capacity in learning to adapt to both architectural and operational changes. After all, in order for the company to save time and resources and maintain the highest quality in machine production, has to improve its facilities and take new competitive initiatives. References: [1] Keramas, G.J., How will a robot change your life?, IEEE Robotics & Automation Magazine, Vol. 7, No. 1, 2000, pp.57-62. [2] Saridis, G.N., Intelligent manufacturing in industrial automation, Handbook of Industrial Automation, Marcel Dekker, Inc., 2000. [3] Tzafestas, S., Introduction to Artificial Intelligence and Knowledge-based Systems, NTUA, 1996.

[4] Corke, P.I., "Visual control of robot manipulators-a review", Visual Servoing, World Scientific, 1994. [5] IBM Corporation, IBM 7535/7540 Manufacturing System user's Guide, 2nd Edition, Addenda, 1983. [6] Adam K., Press Machines Manufacturing, Technical Report 25, Adam Kyr. & Co., 1999, pp. 1-20. [7] Adam, G.K., Qualitative Models in Simulation and Control of Structural Machine Processes, IASTED International Journal of Modelling & Simulation, Vol. 21, No. 4, 2001, pp. 243-251.

Suggest Documents