Top Banner
The control of parallel structures using intelligent algorithms Radu CORCODEL 2 nd year, Industrial Robots Dept., Faculty of Machine Building, Technical University of Cluj-Napoca Cristian CAIA 2 nd year, Machine Building Dept., Faculty of Machine Building, Technical University of Cluj-Napoca Scientific coordinators: Conf. dr. ing. Radu BĂLAN Department of Mechanisms, Precision Mechanics and Mechatronics Drd. ing. Sergiu-Dan STAN Department of Mechanics and Programming Abstract RC-2 is an intelligent 2 DOF parallel robot that can predict bad trajectories and reconfigure itself to avoid them. The command console interactively simulates and controls the motion of the structure by means of a logic LPT-based algorithm. Such algorithm, developed in Borland Delphi, named SMART, is multiplexed directly on the port and doesn’t need a complicated electronic interface, as a com-based program requires. SMART simulates possible trajectories and, according with the real one, generates collision free paths and so flawless motion is achieved. A linear amplifier powers the coils of the motors, turning them one way or another. The amplifiers are designed in a “D”-type amplification class and have a yield of about 95%. The robot is using two unipolar floppy disk-drive motors, turning 1.8º in micro-step command. This
10
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: The control of parallel robots using intelligent algorithms

The control of parallel structures using intelligent algorithms

Radu CORCODEL

2nd year, Industrial Robots Dept., Faculty of Machine Building, Technical University of Cluj-Napoca

Cristian CAIA

2nd year, Machine Building Dept., Faculty of Machine Building, Technical University of Cluj-Napoca

Scientific coordinators: Conf. dr. ing. Radu BĂLANDepartment of Mechanisms, Precision Mechanics and Mechatronics

Drd. ing. Sergiu-Dan STANDepartment of Mechanics and Programming

Abstract

RC-2 is an intelligent 2 DOF parallel robot that can predict bad trajectories and reconfigure itself to avoid them. The command console interactively simulates and controls the motion of the structure by means of a logic LPT-based algorithm. Such algorithm, developed in Borland Delphi, named SMART, is multiplexed directly on the port and doesn’t need a complicated electronic interface, as a com-based program requires. SMART simulates possible trajectories and, according with the real one, generates collision free paths and so flawless motion is achieved. A linear amplifier powers the coils of the motors, turning them one way or another. The amplifiers are designed in a “D”-type amplification class and have a yield of about 95%. The robot is using two unipolar floppy disk-drive motors, turning 1.8º in micro-step command. This kind of command gives the entire structure high accuracy and great mobility and thus, the motion of the end-effector is optimized.

Keywords: parallel robots, interactive simulation, SMART©, LPT, stepper motors

Page 2: The control of parallel robots using intelligent algorithms

I. INTRODUCTION

Most robots are basically serial or parallel, but several architectures can produce a hybrid robot, including end effectors attachments, robotic hands, multiple limb robots or a few special architecture robots. These systems are usually developed in an attempt to take advantage of the benefits of both types of robotic structures [1], [8]. A parallel robot can support greater loads without significant deflections than a comparably sized serial robot [4], [8].

Robots are used to perform various tasks involving complex manipulations and interactions with their environment. Consequently, compromises are inevitable when using a fixed geometry robot fore some tasks.

Today, most robotic products require a great deal of custom software components, along with their applications. As the general industry has matured, it has increasingly come to employ standardized software objects, frameworks and APIs such as Microsoft’s Windows APIs and .Net frameworks, or Java frameworks such as J22EE and J2ME, for functionally ranging from graphical user interfaces (GUI), network connectivity and databases access. Standardized objects, frameworks and software components are available to the robotic industry.

The compelling price-performance ratio of computing technologies derived from the PC industry is increasingly influencing the embedded system market, and robotics is no exception. Where historically a microcontroller would be found at the heart of a robot, a common scenario today is to see such processors dedicated to perform certain functions within the robot, but use a 32-bit processor as the main CPU. This architecture supports much more powerful application software than with a microcontroller, especially the ability to run today’s 32-bit operating systems [2].

A parallel robot is a closed chain mechanism, which consist of two platforms (base and end-effectors), connected together by at least two independent parallel kinematic chains that perform certain operations within their workspace. Parallel manipulators show better stiffness, positioning accuracy and load-carrying capacity then serial manipulators.

They can operate at higher velocity and acceleration due to lightweight materials of the moving parallel structure and heavy motors and gears that build up the supporting frame [5].

The extensibility of a parallel robot can be extended by using dedicated tools such as micro grippers or micro dispensing systems.

Several robots can be combined in a working cell offering solutions to a variety of tasks in micro assembly [2], [6], [10].

Parallel robots are relatively new trend in the field of robotics, yet they are already becoming a niche in several robotics research areas, such as in machine tools, assembly lines, medical applications and others. Numerous works investigating parallel mechanisms stress out the various advantages of them [7].

Usually, parallel robots are using DC motors in peak torque, which have great angular precision and relatively high torque-to-weight ratio. The usages of this kind of motors are imposed by means of correlation of each kinematic chain [9]. Regarding the constructions of stepper motors, they can be classified in two categories: unipolar and bipolar steppers. Unipolar motors have the great advantage of a high torque, while bipolar motors are much smaller at a given torque. Choosing a type of stepper is according to a specific job that the motor has to perform. For example, unipolar steppers are used where high power is needed, while bipolar motors are used where the space reserved for them is very small.

II. TWO DOF PARALLEL ROBOT

Parallel robots that have two degrees of freedom are usually built on a console named framework and have two motors that drive a five-bar linkage [1]. The drawing below shows the concept of such a robot.

Page 3: The control of parallel robots using intelligent algorithms

Fig.1 Two DOF parallel robot

The gripper, placed on the conjunction of the upper tendons, is determined by two coordinates (X, Y). The movement of the gripper is determined by the generalized coordinates of the motor rotors (q1, q2).

The inverse kinematic problem provides the relation between the Cartesian coordinates of the gripper, and the generalized coordinates of the actuators.

(1)

(2)

By using this equations, via a dedicated program, the precise coordinates on which the gripper should move, is transformed into degrees of rotation on which the actuators should turn.

The program developed to do so, was designed in Borland Delphi 7, and contains some particularities which are to be discussed in the following part. It controls the structure using a graphical user interface (which is to be referred in the following claims by GUI) that enables a firm control of the rotations of the two motors.

The structure in discussion uses unipolar stepper motors. They can be powered in two different modes. One of them is to power-up the four coils, one at a time, in a clock-wise or

counter-clock-wise sequence, or powering in a micro-step sequence as shown in the image below [3].

Fig.2 The micro-step sequence of a peak torque motor

When developing the GUI, it was kept in mind that the motors are turning 3.6º per step in normal step sequence, or 1.8º per step in micro-step sequence. For high precision in movement and low deploying errors, the GUI was created using micro-step sequence.

Another purpose of this parallel robot is to reduce the time from the moment when the operator gives a certain command to the moment it is actually executed by the structure. Thus, the control program (which is to be referred from this point on as RC-2) was developed to use the LPT port which has greater speed and complexity in the commands given then the communication port.

Figure three shows the internal structure of the parallel printer port.

Fig.3 Internal schematic of the LPT port

As shown in the schematic above, the LPT port transmits through eight data bits and three control ports (Select Input, Initialize Printer, and Auto line feed). It receives signal via five

Page 4: The control of parallel robots using intelligent algorithms

channels (Error, Select, Paper end, Busy, Acknowledge) [11]. Thus it can be used to generate complicated data streams that the COM port would only do with a microcontroller. Doing so, the data from the PC is inserted directly into the power amplifiers which make the motors turn. Further more, if a structure is using a notebook, the miniaturization is even greater.

Basically, the RC-2 control program gives the LPT the following data string:

Step 1: 00000001 Step 2: 00000011 Step 3: 00000010

Step 4: 00000110 (3) Step 5: 00000100 Step 6: 00001100 Step 7: 00001000 Step 8: 00001001

until the motor has rotated a certain angle. The program calculates the number of cycles using the formula:

(4)

then starts a repetitive data string in accordance with (3). The speed of the robot is determined by the pause between the steps. It varies between 5ms to 100 ms, or 30 rpm to 1.5 rpm.

The program has a feature that supports both automatic positioning and manual override.

Fig.4 The graphic interface of the RC-2 control program

When the program is executed, the manual override mode appears. Now all the commands are made freely with the mouse, and in case of

surpassing the workspace, it transmits an error message.

By pressing the auto/man button, the program changes into auto mode, where the coordinates are entered in dedicated fields. To execute the desired movement, one should press the execute button. Around it, there are four buttons for deploying the gripper up-down and left-right with a step of 5mm. The auto/man button can be pressed anytime, to change from auto to manual mode.

The design of the source file makes RC-2 accommodate with sudden changes of the coordinates imposed.

The algorithm uses the resources of the system to calculate optimal trajectories and by comparing them with the theoretical path, computes a collision free trajectory. Also, by doing so, the singular points are eliminated by swapping the dial in which said elements are. Thus the robot doesn’t need a restart or reposition by hand. It simply moves freely in the workspace.

Fig.5 The bypass of a dead point

The algorithm that is responsible for these actions is called SMART© (Simulate then Move And Reconfigure Trajectory).

SMART© is a logical algorithm that identifies the position of the two lower tendons by a logic condition. In order to do so, SMART© draws two circles with their centre in the axis of the two motors and radius equal to the length of the lower limbs. Then it covers the circumference of the circle and in every point checks if the distance from that particular point to the gripper is equal to the length of the upper limbs. When the logical condition is true that means that the point is not less but the conjunction of the upper and the lower limb.

Page 5: The control of parallel robots using intelligent algorithms

SMART© will always find two such points, because the equation implies two solutions. The solutions are then compared with the theoretical one, and if at least one of them coincides, that means that the solutions are true and further more, the point is in the workspace. When the solution does not coincide, then the solutions are regarded as invalid, and it doesn’t take them in consideration.

SMART© is also designed to choose between the results found. It has a virtual 2D matrix that allows it to anticipate further collisions or bad trajectories that end up in a singular point. The nodes of the matrix are in fact the points that generate easily errors. When the robot is closing up to these points, the algorithm is reconfiguring the trajectory using the second solution. Thus the error will be avoided. The matrix is virtual because is not exactly a table-like design. The nodes are generating themselves, when closing up to them due to a repetitive procedure that analyzes every point and surrounding points in the workspace.

It is also the gateway that commands the LPT port and thus the motors via power amplifiers. Because the structure has two motors, SMART© is dividing the port in two stand-alone ports. The 1 to 4 bits commands the first motor (on the left), wile the 5 to 8 bits commands the second motor (on the right). Each bit corresponds to a coil of the motor, and when the coil needs to be powered, the associated bit turns into logic “1”. In rest it remains into “0”. When powering up the coils, the motors are working independently because the data strings of the LPT port are very complex (0 to 255 symbols every second); because of the high complexity of the LPT port, the motors could be powered one in the normal sequence, and the other in micro-step sequence, depending on the task. Such option is not available but it is an idea for the future versions of SMART©.

Another advantage of the routine is that it remembers the last power sequence and continues from it. Microcontrollers have the great disadvantage that they always start over the sequence when a new turning of the rotor is imposed. When doing so, the motor does one of the followings: when the alignment of the rotor teeth is displaced by two steps, the motor is gemmed for one step due to high intensity magnetic fields, and when it’s displaced by one

step, it jumps backwards (also known as recoil).To use SMART© at its full efficiency the

system should be at least a P3 at 600MHz. Developing the algorithm could not be done without the PC’s 32-bit main processor and mathematic coprocessor because of the need of a little more processing power than a microcontroller could offer. If the system does not have a mathematic coprocessor, then it’s recommended to install an emulator that simulates the functioning of a coprocessor using a mire part of the main processor.

The robot in discussion is using a multistage “D” class power amplifier. A power amplifier is needed to increase the power that the parallel port delivers. LPT ports are working with 5V at a current of approximately 56 mA. That involves a RMS power of 280 mW. Stepper motors are working at 12 V, and usually consumes a current of about 160mA (thus the power needed is 1.9W). By using a series of transistors connected in a Darlington design, the amplification of the cell equals with the sum of the separate amplification given by the transistors.

The “D” class is a hybrid between “A” class and “C” class. The signal coming from the source is first filtered and digitalized using a “C” class method, while the power level is supported by an “A” class-like cell. The combining of the two classes are made to take advantage of the major qualities that these types have. The hybrid was produced while trying to improve the yield of “A” class amplifiers. It was discovered that this class has great throughput power at low frequencies, especially below 10Hz.

For experiments it was used a LED console which gave the precise data stream delivered on the printer port.

Using this display, the peak speed of the structure was calibrated, because using an inappropriate speed, the rotor teeth would simply demagnetize. It was also helpful to test the functionality of several LPT ports apparently having problems transmitting data streams.

For improving the linear amplification, the transistors chosen for this display were BC 413, known for their low internal noise. The display is powered between 3V and 12V directly from the PC’s power supply (black and red wire), or if the source is a notebook then the power source can be a 9V battery. When using the

Page 6: The control of parallel robots using intelligent algorithms

actual amplifier, the display could be connected in parallel to monitor the activity of the port in real time.

Fig. 6 The RC-2 parallel structure

The previous image shows the parallel structure in stand-by mode. It has a bakelite framework and four Plexiglas limbs connected together by rotary joints. The whole assembly is mounted on four adjustable pivots to allow a firm fastening.

The power amplifier used is built on the platform of the display, having an extra set of power transistors mounted in Darlington. Designing such amplifiers are time consuming because of the resistors, which are the base of each transistor. If the resistor has too great resistance, then the whole device has low amplification. Since a small resistance makes the transistors extremely hot and in short time, it would lead to their destruction. The value is first calculated and then it’s adjusted by experiment.

Fig. 7 PCB of the power amplifier

To avoid the insight of external currents, often greater then 12V, the use of an opto-coupler is highly recommended. Basically an opto-coupler is a device built on two photoelectric elements (receiver and transmitter). There is no electrical contact between them, and so the receiver is fully isolated from the transmitter, and in the same time it behaves like a simple conductor.

The amplifier used supports an opto-coupler module connected in series with the communication cable coming from the LPT port.

The amplifier is powered at 12V from an external power supply. If so, it is recommended to use the opto-coupler module. If the source is the PC’s own power supply, then the devices can be connected directly to the port. When using for the first time, it is imperative to recheck the sequence of the motor coils.

The correct sequence of coils is shown following table:

Coil 1 — RedCoil 2 — GreenCoil 3 — BrownCoil 4 — White

If the wires are connected properly, the robot will start instantly on executing the program.

III. CONCLUSIONS

By means of intelligent algorithms, it is possible to improve the dynamic of parallel structures. SMART© is such algorithm that can predict some bad trajectories and correct them giving the structure a smooth, flawless motion. Further more, the LPT port gives large perspectives in using the 32-bit processors which have far greater computing power than the microcontrollers. High yield power amplifiers then energize the motors which put the robot in motion.

REFERENCES

[1] Antonio Frisoli, Giuseppe M. Prisco, Fabio Salsedo, Massimo Bergamasco, Via Carducci, Design and kinematic performance evaluation of a new tendon-driven planar parallel robot, PISA, Italy, 2004

Page 7: The control of parallel robots using intelligent algorithms

[2] The Newspaper of Johns Hopkins University, January 16th, 2001, vol. 30, no.16

[3] http://www.doc.ic.ac.uk/~ih/doc/stepper/

[4] http://www.sscnet.ucla.edu/

[5] http://www.csem.ch

[6] http://www.frasco.demon.co.uk/

[7] http://www.graduate.technion.ac.il/Theses/

[8] http://www.hexapods.net/hexapod.htm

[9] http://www.harmonicdrive.de/en/

[10] http://cisstweb.cs.jhu.edu/

[11] Patton Electronics catalogue, nr. 19R, 2000