Computer Aıded Control And Sımulatıon Of Robot Arm Movıng In Three Dımensıon

COMPUTER AIDED CONTROL AND SIMULATION OF ROBOT ARM MOVING IN THREE DIMENSION

Osman GÜRDAL* Mehmet ALBAYRAK** Tuncay AYDOĞAN**

*GAZİ UNIVERSITY

Technical Education Faculty

Electrical Education Department

BeÅŸevler / ANKARA / TURKEY

**SÜLEYMAN DEMİREL UNIVERSITY

Technical Education Faculty

Electrical / Computer Education Department

ISPARTA / TURKEY

Abstract

Robot is a multipurpose manipulator that can be programmed in order to carry special tools and components, parts, etc., with its programmed movements. Robots have many application areas listed as industrial production, educational, medicine, nuclear research and chemical industry. Robots substitute humans rapidly due to their advantages in industry.

Observation of robot movements in simulation environment is important before the implementation of actual system in order to prevent from possible environmental hazards. In the robot control, forward kinematic is calculation of ultimate co-ordination points derived from arm length and angle of rotation. Inverse kinematic is the calculation of angle rotation for each arm when arm length and ultimate co-ordination points are known.

In this paper, a robot arm with three degrees of freedom is modelled analytically and forward and inverse kinematic are analysed and then according to the model a computer simulation is generated. In actual robot control system, three 1.8° stepper motor are used and controlled by a computer. The software program is prepared by Pascal Language with its I/O assembler routines.

Key words: Robot arm, forward and inverse kinematic, computer aided control.

1. Introduction

Robot is a multipurpose manipulator that can be programmed in order to carry special tools and components, parts, etc., with its programmed movements (1). Robots have many application areas listed as industrial production, educational, medicine, nuclear research and chemical industry. Robot arms are also included in Robot literature. Robots substitute humans rapidly due to their advantages in industry (2). In some comparison to human labor, some features are (3):

·They do not become distracted or fatigued, this means that they are capable of producing a job of consistent quality.

·Continuous working almost 24 hours per day, 7 days per week is possible. The only stops necessary for maintenance and repair.

·They can work in areas either unsafe or unpleasant for humans.

·Industrial robots do not demand wage increases, fringe benefits, etc.

·Material utilisation is improved.

·They can improve control of the manufacturing process and reduce material waste.

·The capital cost of a robot is essentially a once only payment, whereas labor costs are always present and increase every year.

·Robot costs are increasing at a slower rate than labor costs. Therefore as each year passes robots become a more investment in relation to human labor.

·Robots are much stronger and are able to lift heavier weights than humans can lift.

·Some robots can be very precise in their movements therefore they can do precise works.

Several types of robots are designed by considering electronic control and the programming technique (4). In the design of a robot, the first thing to be considered is the purpose where the robot is to be used. A robot can be examined under four section (5).

·Manipulators (mechanical structure).

·Actuators (power generation and transmission).

·Control units (electronic parts and program).

·End effector (carrier tools, hook, pencil, screwdriver, etc.).

The main part of a robot arm is the control unit. If the control unit is suitably designed, only by changing the control program it is possible to have the robot done several type works. In a system, before starting the target works, mathematical model of the system is simulated in a PC and may be shown on the monitor. Simulation provides investment in work power, time and material.

2. Mathematical Model of the System

In this paper, a robot arm with three degrees of freedom is modelled analytically and forward and inverse kinematic is analysed and then according to the model a computer simulation is generated (3). In actual robot control system, three 1.8° stepper motor are used and controlled by a computer.

Forward kinematic analysis: When the arm lengths (L1, L2, L3) and rotation angles (q1, q2, q3) are given, it is to compute the co-ordinates of final target P (Px, Py, Pz) which the robot arm reaches.

Inverse kinematic analysis: When the arm lengths (L1, L2, L3) and the co-ordinates of final target P (Px, Py, Pz) are given, it is to compute the rotation angles (q1, q2, q3). A principle robot arm with arm lengths (L1, L2, L3) and the rotation angles (q1, q2, q3) form each arm is shown in figure 1. Mathematical model below is used for forward and inverse kinematic analysis (5).

[IMG]file:///C:/DOCUME%7E1/Yasin/LOCALS%7E1/Temp/msohtml1/01/clip_image002.gif[/IMG] Figure 1. The robot arm with arm lengths (L1, L2, L3) and the rotation angles (q1, q2, q3). Forward kinematic analysis to compute the co-ordinates of final target P ( Px, Py, Pz );

[IMG]file:///C:/DOCUME%7E1/Yasin/LOCALS%7E1/Temp/msohtml1/01/clip_image004.gif[/IMG], [IMG]file:///C:/DOCUME%7E1/Yasin/LOCALS%7E1/Temp/msohtml1/01/clip_image006.gif[/IMG] for [IMG]file:///C:/DOCUME%7E1/Yasin/LOCALS%7E1/Temp/msohtml1/01/clip_image008.gif[/IMG]

[IMG]file:///C:/DOCUME%7E1/Yasin/LOCALS%7E1/Temp/msohtml1/01/clip_image010.gif[/IMG] (1)

[IMG]file:///C:/DOCUME%7E1/Yasin/LOCALS%7E1/Temp/msohtml1/01/clip_image012.gif[/IMG] (2)

[IMG]file:///C:/DOCUME%7E1/Yasin/LOCALS%7E1/Temp/msohtml1/01/clip_image014.gif[/IMG] (3)

Inverse kinematic analysis to compute the rotation angles (q1, q2, q3);

[IMG]file:///C:/DOCUME%7E1/Yasin/LOCALS%7E1/Temp/msohtml1/01/clip_image016.gif[/IMG] (4)

[IMG]file:///C:/DOCUME%7E1/Yasin/LOCALS%7E1/Temp/msohtml1/01/clip_image018.gif[/IMG]

[IMG]file:///C:/DOCUME%7E1/Yasin/LOCALS%7E1/Temp/msohtml1/01/clip_image020.gif[/IMG]

[IMG]file:///C:/DOCUME%7E1/Yasin/LOCALS%7E1/Temp/msohtml1/01/clip_image022.gif[/IMG] (5)

[IMG]file:///C:/DOCUME%7E1/Yasin/LOCALS%7E1/Temp/msohtml1/01/clip_image024.gif[/IMG] and [IMG]file:///C:/DOCUME%7E1/Yasin/LOCALS%7E1/Temp/msohtml1/01/clip_image026.gif[/IMG]

[IMG]file:///C:/DOCUME%7E1/Yasin/LOCALS%7E1/Temp/msohtml1/01/clip_image028.gif[/IMG] (6)

3. Control Method

The mechanics of robot arm are activated by stepper motors which are controlled by computer aided control (6). For the computer aided control, a specially designed input/output (I/O) board is used. I/O board has 48 bits input and outputs. 17 of 48 bits is for used for the outputs. I/O control board connected to 300H address is programmed by the control program prepared (7).

The robot arm has three 1.8°, 2 phases hybrid stepper motors. Each stepper motor uses 4 bits and breaking unit uses 1 bit from the I/O board. Figure 2. shows cross section of stepper motor and stepper motor driver circuit (8). The pulses sent from the control card triggers the terminals A or B which corresponds to forward or reverse turn of stepper motor. The breaking circuit fixes the robot arm when it reached the desired position by supplying 5 volts to windings of the stepper motor as shown in figure 3.

[IMG]file:///C:/DOCUME%7E1/Yasin/LOCALS%7E1/Temp/msohtml1/01/clip_image030.gif[/IMG] [IMG]file:///C:/DOCUME%7E1/Yasin/LOCALS%7E1/Temp/msohtml1/01/clip_image032.gif[/IMG] (a) (b)

Figure 2. (a) Cross section of hybrid stepper motor, (b) stepper motor driver circuit.

[IMG]file:///C:/DOCUME%7E1/Yasin/LOCALS%7E1/Temp/msohtml1/01/clip_image034.gif[/IMG] Figure 3. Stepper motor breaking circuit.

4. Control and Simulation of Robot Arm

The on-line computer’s capability for process control makes possible sophisticated control strategies for continuous variables without the investment in conventional analog control hardware for each loop. The objective of such control systems for continuous process variables is to apply a measured corrective action to compensate for variations from the desired level.

Block diagram of the computer aided control of the robot arm is shown in figure 4. All the control units are gathered on only one board which includes address decoder, stepper motor driving and breaking circuits and programmable I/O. Stepper motors are mounted on shoulder of the robot arms. Control and simulation program is prepared by Pascal language with its I/O assembler routines.

[IMG]file:///C:/DOCUME%7E1/Yasin/LOCALS%7E1/Temp/msohtml1/01/clip_image036.gif[/IMG] Figure 4. Block diagram of the computer aided control of the robot arm. The software program consists of two section: one is the graphics supported simulation program showing the movements of the manipulator on the monitor simultaneously with the robot arm controlled. The other is the control program sending the control signals to stepper motors providing 3 dimensional movements of the robot arm.

The simulation program simulates the forward and inverse kinematic analysis of the robot arm at initial reference position. Forward kinematic analysis provides a 3 dimensional movements with desired angles, directions and stepping rates depending on initial reference position. Inverse kinematic analysis provides a movement from a 3 dimensional position to a desired 3 dimensional position when the robot arm at reference position. The position of the robot arm at the 3 dimensional co-ordinate system is computed with the datas given, and the simulation is done with the latest values. The result of simulation using 3 dimensional graphics and algorithms is shown on the monitor with x-y-z co-ordinate system.

Editor of the program has a simple menu with two choice. If ‘Forward kinematic’ is chosen, rotation of three joints of the robot arm is entered as angle variables. With choice of ‘Inverse kinematic’, the co-ordinates of the final target point P(Px, Py, Pz) are entered as cm. After entering the variable values, the program runs to simulate.

Control program processes and sends the simulation results of the variables values entered to the stepper motors of the robot arm. In the control program, the result rotation angles [IMG]file:///C:/DOCUME%7E1/Yasin/LOCALS%7E1/Temp/msohtml1/01/clip_image038.gif[/IMG] are computed and the number and order of pulses to be sent the I/O interface board by considering the step angles of each stepper motors are computed. The signals are then sent to 300H, 301H, 302H, 303H addresses as hexa-decimal values. The 300H address drives the control unit of the first stepper motor rotating the base of the robot arm. The 301H address drives the control unit of the second stepper motor rotating the shoulder of the robot arm. The 302H address drives the control unit of the third stepper motor rotating the elbow of the robot arm.

The complete simulation and control program is combined as one program and written by using Turbo Pascal 7.0 programming language (5). The algorithm of simulation and control program is shown in figure 5. Screen outputs for forward and inverse kinematics are shown in figure 6.

[IMG]file:///C:/DOCUME%7E1/Yasin/LOCALS%7E1/Temp/msohtml1/01/clip_image040.gif[/IMG] Figure 5. Software algorithm. [IMG]file:///C:/DOCUME%7E1/Yasin/LOCALS%7E1/Temp/msohtml1/01/clip_image042.gif[/IMG] (a) [IMG]file:///C:/DOCUME%7E1/Yasin/LOCALS%7E1/Temp/msohtml1/01/clip_image044.gif[/IMG] (b) Figure 6. Screen outputs for the simulations (a) Forward kinematic, (b) inverse kinematic.

5. Conclusions

In this paper, a robot arm with three degrees of freedom is modelled analytically and forward and inverse kinematic are analysed and then according to the model a computer simulation is generated. Movements of the actual robot arm are executed by 1.8° stepper motors controlled by a computer. Since the observation of robot movements is important before the implementation of actual system in order to prevent from possible environmental hazards, a simulation environment with control programming is prepared by Pascal language programming with its I/O assembler routines.

The simulation and control program prepared is applied to a prototype robot arm and any kind of movements within the limits of arm lengths are obtained. The robot arm is designed to have circles or arcs drawn by pencils. A hook instead of pencil may carry small loads from one point to another point. For carrying the large loads, pneumatic controlled systems may be necessary.

As the actual robot arm is aimed to be a prototype made of mostly wooden, the problems occurring from mechanics like over-weights, sudden change of arm positions, etc. are not considered. When the system is to be modified for another system like a large robot arm, the new parameters must be considered in the control and simulation program and I/O board. The parameters are; degrees of freedom, lengths of the arms, rotation angle of the stepper motors, addresses of I/O board, feedback system, etc.

Future experiments could include an actual robot arm mechanics rather than prototype designed by mechanical engineers. It could substitute a worker in industry or be used in education as a demonstration tool. Detailed information about the I/O board to control the stepper motors is planned to be given in another paper.

6. References

1.Dailey, D.J., "Small Computer Theory and Applications", McGraw Hill Book Co., International Edition, Singapore, 1988.

2.Durak, E., "Türkiye’de Robotlar Üzerine Bir AraÅŸtırma", Akdeniz Ün. Fen Bil. Ens. , MSc. Thesis, Isparta, 1993.

3.Mair, M. Gordon, "Industrial Robotics", Prentice Hall Ltd., UK., 1988.

4.Klafter, R.D., Chmielewski, A.T., Negin, M., "Robotic Engineering an Integrated Approach", 1989.

5.Albayrak, M., "Üç Boyutlu Uzayda Hareket Edebilen Robot Kolun Bilgisayar Destekli Kontrolü, Tasarımı ve Uygulaması", Gazi Üniversitesi, Fen Bilimleri Enstitüsü, MSc. Thesis, Ankara, 1997.

6.Acarnley, P.P., "Stepping Motors: A Guide to Modern Theory and Practice", Peter Peregrinus Ltd., Revised 2nd edition, London, 1984

7.Kenzo, T., "Stepping Motors and Their Microprocessor Controls", Oxford Science Publications, Oxford, 1985.

8.Slemon, G.R., "Electrical Machines, Drivers", Addison–Wesley Publishing Company Inc., 1992.

Yorum Yapın