JAMRIS 2008 Vol 2 No 3

Page 1





















VOLUME 2,

Journal of Automation, Mobile Robotics & Intelligent Systems

N° 3

2008

RESONANT CONVERTER BASED CONTACTLESS POWER SUPPLY FOR ROBOTS AND MANIPULATORS Received 5th December 2007; accepted 18th January 2008.

Artur Moradewicz, Marian P. KaĹşmierkowski

Abstract: This paper presents an inductive Contactless Power Supply (CPS) system for robots and manipulators. The energy is transmitted using rotatable transformer with adjustable air gap and power converter. To minimize total losses of the system a series resonant circuit is used. It ensures zero current switching (ZCS) condition for MOSFET power transistors. The controller and protection are implemented in FPGA system. The resonant frequency is adjusted by extreme regulator, which follows instantaneous value of primary peak current. Some simulated and experimental results, which illustrate operation of developed 3 kW laboratory model, are presented. Keywords: energy transmission, contactless power supply, series resonance converter, FPGA control.

1. Introduction The contactless power supply (CPS) systems are recently developed and investigated widely [3, 5-9]. This innovative technology creates new possibilities to supply mobile devices with electrical energy because elimination of cables and/or slip rings increases reliability and maintenance-free operation of such critical systems as in aerospace, biomedical and robotics applications. The core of CPS system is inductive or capacitive coupling and high switching frequency converter. The capacitive coupling is used in low power range (sensor supply systems) whereas inductive coupling allows power transfer from a few mW up to hundred kW [5]. The basic structure

of the inductive coupled power supply system for robots is shown in Fig. 1. The indirect DC link AC/DC/AC power converter generates a square wave voltage of 200 V and 60 kHz. This voltage is fed to the primary winding of first rotatable transformer located on the first axis of the robot. The transformer secondary side is connected to the next DC link AC/DC/AC power converter, which uses pulse width modulation (PWM) technique, generates variable frequency AC voltage to supply first three-phase machine. The transformer secondary is also connected to the primary of the next rotatable transformer, which is located on the second joint of the robot. The transformer feeds the second axis drive in similar way as described above for the first machine. More transformers may be added to create arrangement of an AC bus throughout the robot. This paper reports on a newly developed inductive CPS system with a rotatable transformer and MOSFET based resonant converter. The novelty of the system lies in application of high switching frequency MOSFET resonant converter and FPGA implementation of extreme regulator for control and protection circuit. Simulation and experimental results of 3 kW prototype system are presented.

2. Configuration of inductive contactless energy transmission (CET) system In further presentation only inductive energy transmission (CET) part (without PWM inverter-fed drives) of the whole CPS system of Fig. 1 will be discussed. The configuration of the experimental inductive CET system

COUPLING FACTOR

Fig. 1. Basic structure of contactless power supply (CPS) for multiaxis robots. 20

Articles


VOLUME 2,

Journal of Automation, Mobile Robotics & Intelligent Systems

is shown in Fig. 2. The core of the system is a rotatable transformer with an air gap, which (in our experimental set-up) can be adjusted up to 2.8 cm large. At the energy feeding input end is a full bridge MOSFET inverter and at the secondary side an electronic consumer module (where Ro represents PWM inverter and motor) with bridge diode rectifier is connected. This solution has following advantages: secondary circuits can be rotatable relative to primary, control and power supply system is located on the primary side and is electrically and mechanically separated from the secondary circuit. In conventional applications transformer is use for galvanic insulation between source and load, and its operation is based on high magnetic coupling coefficient k between primary and secondary windings. Because of used two halves cores and air gap, CET transformers operate under much lower magnetic coupling factor k. As a result the main inductance L12 is very small whereas leakage inductances (L11, L22) are large as compare with conventional transformers. Consequently, the magnetizing current increase causes higher conducting losses. Also, winding losses increase because of large leakage inductances. Another disadvantage of transformers with relatively large gap is EMC problem (strong radiation). To minimize above mentioned disadvantages of CET transformers several power conversion topologies have been proposed, which can be classified in following categories: the fly back, resonant, quasi-resonant and self-resonant [1, 2]. The common for all these topologies is that they all utilize the energy stored in the transformer. In this work resonant soft switching technique has been used. To form resonant circuits two methods of leakage inductances compensation can be applied: S-series or P-parallel giving four basic topologies: SS, SP, PS, and PP (first letter denotes a primary and second a secondary compensation). PS and PP require an additional series inductor to regulate the inverter current flowing into the parallel resonant tank. This additional inductor increase EMC distortion and total cost of CET system. Therefore, only SS and SP topology has been considered. If we assume the same numbers of primary and secon-

N° 3

2008

dary winding n1 = n2, the inductances of presented transformer can be described by following equations: L1 = L11 + L12

L1 = L11 + L12

M = nL12

M = L12

L2 = L22 + n 2 L12 Þ L2 = L22 + L12

(1)

where: (2) L1 = L2 = L, L11 = L22 = L - M =

1- k k

M, k = M / L

If the fundamental component of u2 (t) is in phase with i2 (t), the output rectifier with capacitive filter behaves as load resistance transformer. The value of this equivalent resistance is equal to [1]: Re =

8 Ro = 0.8106 × Ro p2

(3)

Impedance of secondary side, depending on chosen compensation topology, is: - for series compensation:

Z C = Re + jX 2

(4)

- for parallel compensation:

ì 1 Z C = í jwL11 + 1 /( jw × Cr 2 + ) Re î

(5)

The equations for component impedance and reactance (shown at various points of Fig. 2) can be written as: jX m ×Zg ZB = (6) jX m + Zg

Z A = jX 1 + Z b

(7)

1 X 1 = w s L11 w s Cr1

(8)

Fig. 2. Contactless energy transmission (CET) part of the power supplies system from Fig. 1. Articles

21


VOLUME 2,

Journal of Automation, Mobile Robotics & Intelligent Systems

1 X 2 = w s L 22 w s Cr 2

(9)

X m = ws M

(10)

2008

where circuit quality factor for SS compensation topology is:

Qac =

w (L11 + L22 ) wLr = Re Re

a)

Gv

where ws = 2pfs – operation inverter frequency. The transfer gain of voltage CET system for SS compensation topology in Fig. 2 is:

Z R GV = B e Z A ZC

N° 3

(18)

Qac = 32 Qac = 16 Qac = 8 Qac = 4 Qac = 2 Qac = 1

1

(11)

k=0.2

C

B

A

0.5

Qac ® 0

From equations (3) to (11), the resulting voltage gain GV can be expressed as:

é X ×X æ 2 ç X1 + X 2 + 1 2 ê æ Xm X ö GV = êçç1 + 1 ÷÷ + ç êè X m ø ç Re ç ê è êë

ö ÷ ÷ ÷ ÷ ø

2

ù ú ú ú ú ûú

0.2

- 12 (12)

0.4

0.6

0.8

1

w

1.2

1.4

1.6

Gv

b)

Qac = 32 Qac = 16 Qac = 8 Qac = 4 Qac = 2 Qac = 1

C

B

1

wo = 1 /

Lr Cr = 1 /

L11Cr1 = 1 /

Based on equations (7, 8 and 13), the expressions for X1 and X2 can be rewritten as follows:

æ 1 X 1 = w s L11 çç 1è w2

ö ÷ ÷ ø

æ 1 X 2 = w s L 22 çç 1è w2 where: w=ws/w0

ö ÷ ÷ ø

(14)

(15)

(16)

As result of used two halves cores and large air gap, the CET transformer operates under lower and variable magnetic coupling factor k. From equations (12) to (16) the voltage gain can be expressed as:

Qac ® 0

0.5

L22Cr 2

0.2

2

k=0.6

A

It follows from equation (12) that GV is unity at compensated frequency, even though the leakage inductances of the rotating transformer in CET system are very large. Where w0 = 2pf0 – resonance frequency (compensation frequency), is calculated for condition X1 = X2 = 0 (13)

1.8

0.4

0.6

0.8

1

w

1.2

1.4

1.6

1.8

2

Fig. 3. The dc voltage gains of inductive CET system versus frequency for SS topology compensation. a) k = 0.2, b) k = 0.6.

The voltage gain characteristics calculated from equation (17) are shown in Fig. 3. The calculations were executed for varying frequency w, two values coupling coefficient and various Qac. The required resonant capacitors values, for desired resonant frequency, can be expressed as follows: Cr1 = result × Cr 2

10 9 8 7 6

example: for k = 0.7 Cr1 » 2Cr 2

SP

5 4 3 2

SS

1

Magnetic coupling coefficient - k

(17) 0

0,1

0,2

0,3

0,4

0,5

0,6

0,7

0,8

0,9

1

Fig. 4. Primary capacitance for SS and SP compensation versus coupling coefficient.

22

Articles


VOLUME 2,

Journal of Automation, Mobile Robotics & Intelligent Systems

- for series secondary compensation (19) - for parallel secondary compensation

N° 3

2008

This results in increase of circuit impedance and as consequence current and capacitor voltage will be reduced. The period N of regulator operation has been selected experimentally N=7.

(20) The above equations are illustrated in Fig. 4.

3. FPGA Based control and protection system The block diagram of CET control and protection system implemented in FPGA Stratix II is shown in Fig. 5. The FPGA's clock frequency is 100 MHz and the resonant switching frequency is 60 kHz. The primary capacitor voltage Ucr1 and inverter output current i1 are measured and sent to A/D converters via operation amplifiers. A 12b A/D converter, AD9433 is used in the designed system. The typical analogy input signal is 5 V (VDD), hence maximum of amplitude correspond to 2.5 V. The FPGA device is Stratix II EP2S60F1020C3ES.

Fig. 6. Laboratory setup of 3kW contactless power supply system with rotatable transformer and series resonant MOSFET inverter.

4. Results

uCR1

i1'

MEASUREMENTS

i1

uc’

Main blocks of control algorithm in VHDL i1f

FILTER

ucf

(FR)

i1f

EXTREME REGULATOR (ER)

ucf

fref stop

PROTECTION

SIGNALS GENERATOR

(PR)

(SG)

T1 - T2 T3 - T4

FPGA Stratix II EP2S60F1020C3ES

To verify and test performance of developed CET system, PSpice simulation model as well as 3 kW laboratory set-up has been constructed (Fig. 6). The basic parameter of rotatable transformer and resonant circuit are given in Table 1 and Fig. 8. Figures 9 to 11 show simulated and experimental oscillograms of basic waveforms in the resonant converter. Note that power MOSFET transistors operate at Zero Current Switching (ZCS) conditions. This reduces switching losses considerable and increases overall system efficiency.

Fig. 5. Block diagram of the CET control and protection system. '

'

To attenuate noise in input signals (i1 , uc ) from measurements block (Fig.5) a digital recursive-filtering algorithm has been applied. These filtered signals i1f and ucf are used in extreme regulator (ER). The ER is based on reversible counter, which determinates converter switching frequency fref. Signal fref is delivered to signal generator (SG), which generates gate pulses for MOSFET power transistors T1…T4. Also, dead time compensation is implemented in this block (SG). To guarantee stabile operations, the regulator ER in every N-period sequence searches the highest current amplitude i1fm and, after comparison with previous data, adjusts reference value of switching frequency fref. Additionally, the filtered input signals i1f and ucf are delivered to protection block (PR), which continuously watch up and in case when limit values i1f(lim) and ucf(lim) are achieved, blocks gate pulses T1…T4. To limit current during the converter start-up, regulator (ER) sets the switching frequency higher as resonance frequency fref > fo and then in every N-period sequence reduces fref to follow the maximum of current amplitude. If the voltage and/or current amplitude reaches nominal value i1f (N) < i1f (lim), ucf (N) < ucf (lim), the regulator (ER) increases converter switching frequency.

Fig. 7. Total efficiency versus air gap width and load resistance for SS compensation method, (simulated results - dashed/dotted line; experimental results -- continuous line). Fig. 7 shows the total input-output efficiency of the CET system versus transformer air gap width and the load (for laboratory and simulation model). The efficiency curves show (Fig. 7) a slight difference between simulation and experimental values can be observed. This is result of different transistor models (in simulation we used available in PSpice library International-Rectifier transistors Articles

23


VOLUME 2,

Journal of Automation, Mobile Robotics & Intelligent Systems

model (IRGPC50S), whereas in the laboratory prototype Semikron MOSFET power transistors (SKM120B020) have been mounted). Note that for higher load resistances higher efficiency can be achieved, but the circuit becomes more sensitive for magnetic coupling coefficient changes.

Self inductance [mH]

1,1

N째 3

2008

primary winding

1

secondary winding

0,9 0,8 0,7 0,6 0,5 0,4 0,3

Air gap [mm]

0,2 0

2

4

6

8

10

12

14

16

18

20

22

24

Fig.8. Measured self-inductance primary and secondary winding of rotatable transformer in laboratory model. Simulation

Experimental

Fig. 9. Steady-state waveforms of the voltages u1, u2, and currents i1, i2. Converter operation with resonance frequency (5s/div, 50V/div, 4A/div).

Fig. 10. Steady-state waveforms of the voltages u1, u2,, and currents i1, i2. Converter operation below resonance frequency (5s/div, 50V/div, 4A/div).

Fig. 11. Steady-state waveforms of the voltages u1, u2,, and currents i1, i2. Converter operation above resonance frequency (5s/div, 50V/div, 4A/div). 24

Articles


VOLUME 2,

Journal of Automation, Mobile Robotics & Intelligent Systems

Table 1. Parameters of rotating transformer and resonant circuit. [3]

Parameter N1 N2 L11 L12 L22 M k CR1 CR2 C1 C0 R0 Adjustable air gap

Value 32 32 166.5 203.5 166.5 203.5 0.55 63 63 1000 100 16 10.5

Unit coils coils H H H H nF nF F F ohm mm

5. Summary and conclusion This paper presents a novel Contactless Power Supply (CPS) system for robot and manipulators. The core of the system is inductive Contactless Energy Transmission (CET) with rotatable transformer and series resonant inverter operating at 60 kHz switching frequency. The control and the protection system have been implemented in FPGA Stratix II EP2S60F family. To compensate high leakage inductance of the rotatable transformer with large air gap and converter switching losses, the series resonant capacitive circuit has been used. Extreme regulator, which follows the instantaneous value of primary peak current, adjusts the resonance frequency and guaranties zero current switching (ZCS) conditions for power MOSFET transistors of the inverter. Theoretically, there is no power transfer limit, even with low coupling coefficient, if the circuit operates with the resonance frequency of secondary current, in compensated primary winding conditions, and resonant frequency of primary current is equal to secondary. From (19) it can be concluded that in SS compensation topology both resonant capacitances are equal, if L11 = L22. The design procedure has been verified by simulation and experimental results measured on the 3 kW laboratory set-up. The total efficiency achieves 0,93–0,85 for rotatable transformer air gap 0.1 up to 2.8 cm, respectively.

[4]

[5]

[6]

[7]

[8]

[9]

N° 3

2008

signal and power electronics, Warsaw, Warsaw University of Technology Publisher, 2005 (in Polish). A. Moradewicz, “Study of Wireless Energy Transmission Systems Using Inductive Coupling”. In: Proc. of International Conf. PELINCEC, 2005, Warsaw, Poland (CD). J. T. Matysik: “A New Method of Integration Control with Instantaneous Current Monitoring for Class D, IEEE Trans. on Industrial Electronics, vol. 53, no. 5, 2006, pp. 1561-1576. J. Hirai, T. W. Kim, and A. Kawamura, “Study on intelligent battery charging using inductive transmission of power and information”, IEEE Trans. on Power Electronics, vol. 15, no. 2, 2000, pp. 335-344. Ch. Apneseth, D. Dzung, S. Kjesbu, G. Scheible, and W. Zimmermann, “Introduction wireless proximity switches”, ABB Review, no. 4, 2002, pp. 42-49. A. Esser and H.-Ch. Skudelny, “A New Approach to Power Supplies for Robots”, IEEE Trans. on Industry Applications, vol. 27, no. 5, 1991, pp. 872-875. K. O'Brien, G. Scheible, H. Gueldner, “Analysis of Wireless Power Supplies for Industrial Automation Systems”. In: Proc. of IEEE-IECON'03, Roanoke, Virginia, USA, 2nd-6th Nov. 2003, vol. 1, pp. 367 - 372. J. Lastowiecki and P. Staszewski, “Sliding Transformer with Long Magnetic Circuit for Contactless Electrical Energy Delivery to Mobile Receivers”, IEEE Trans. on Industrial Electronics, vol. 53, no. 6, 2006, pp. 1943-1948.

AUTHORS Artur Moradewicz* - Electrotechnical Institute IEl, ul. M. Pożaryskiego 28; 04-703 Warsaw, Poland; e-mail: a.moradewicz@iel.waw.pl. Marian P. Kaźmierkowski - Director of the Institute of Control and Industrial Electronics, Faculty of Electrical Engineering, Warsaw University of Technology, ul. Koszykowa 75, 00-662 Warsaw, Poland. * Corresponding author

References [1] [2]

W. Erickson: Fundamentals of Power Electronics, Kluwer Academic Publisher, 1999. M. P. Kazmierkowski and J. T. Matysik, Introduction into Articles

25








VOLUME 2,

Journal of Automation, Mobile Robotics & Intelligent Systems

N° 3

2008

SOLVING THE BOX-PUSHING PROBLEM BY MASTER-SLAVE ROBOTS Received 10th February; accepted 2nd April 2008.

Michal Nemrava, Petr Cermák

Abstract: This paper presents a design of the solution box-pushing problem by two robots working in the master-slave style cooperation. The configuration of the solution consists of two robots Khepera (the Master and the Slave) with similar implemented functions. The proposed methods and algorithms are experimented. Keywords: mobile robot, robotics, Box-pushing, pushing, experiment, Khepera.

1. Introduction As it was pointed out in [1],[2] starting with the moment of opening the market to commercial hardware robotic platforms, robotics provides new challenges for programming. Despite of the research groups that include professionals from mechanical and electro engineering, as well as from the fields of computer programming, this relatively new field is now open. These tasks are specific in robotics, because of very limited possibilities of programmers to influence the existing robotic hardware. The new situation in the market of robotic platforms seems to be suitable for programming these platforms. From the programming point of view, the situation is new, because instead of programming more or less closed systems like common computers, we are faced with programming of extremely open systems, like robotic platforms. This difference implies many new problems and generates many new challenges to modify generally accepted methodologies of traditional computer programming. The project of multi-robotic solution of the well-known problem of collective robotics, the boxpushing problem [3], described in this paper, provides an illustration of this kind of robot programming, as sketched above. The goal in the case of the so-called box-pushing problem consists of pushing a selected object (the box) to a pre-specified place (the target-place) in robot environment. In order to perform this task it is necessary to design and implement number of subtasks and their composition to achieve the requested behaviour and solution. Various approaches and techniques in solving this task can produce many results and experiences that can be used for solving similar tasks in the real world. We have seen that the box-pushing task can be described very simply, but there can be a lot of modifications of this task. These modifications can differ in the number of cooperative robots, goal specifications, box's sizes or shapes, approaches (centralized x decentralized)…

32

Articles

Fig. 1.Simple Box-pushing task. The simplest specified task is to push the box by only one robot to the target position in the environment. In [4] we can see an interesting solution of box-pushing task between two walls using neural controller. In the case of solving the task by multiple robots cooperation, there can be different number of robots, different communication techniques or levels of centralization/decentralization. The goal can be, for example, specified by illuminated area, by different colour of the goal and the environment or, in the case of implemented global positioning systems, by given coordinates. We can find a good example of distributed approach with central control of tasks execution in [5]. An example of the decentralized solution of box-pushing task without any explicit communication in dynamic environment is described in [6]. In this behaviour-based solution is for the robots' actions selection used a set of behaviours applied on situations in the process of solving this task.Finally, the example of approach to robots communication, but with decentralized control, can be found in [3].Two robots use a communication channel to share information about the world with each other, but each robot uses its own control for its actions. In our work, we found inspiration for the design of our solution in these examples, but we tried to combine them - we designed centralized solution with the need of communication.

2. Hardware First of all, we describe the robotic platform we used – Khepera. We have used miniature mobile robots Khepera by the Swiss producer K-Team. These robots are ideal, due to their small size and various extensions, for a number of experiments in mobile robotics. They are equipped with


VOLUME 2,

Journal of Automation, Mobile Robotics & Intelligent Systems

two independent wheels – each wheel is powered by a DC motor - and eight IR sensors. With these sensors, Khepera can measure both light intensity and distance to obstacles and walls. More detailed description of Khepera robots can be found in [7].

N° 3

2008

The box to be pushed to the goal was a paper cuboid (20.5 x 4.5 x 4.0 cm). This box was modified to be identifiable and localizable in the area only by the eight IR sensors of Khepera. The modification consisted of two IR diodes (IR light emitting diodes) placed on one side of the box. These diodes were controlled by an electrical circuit, which emitted the IR signal in the specified intervals. This IR signal can be sensed and measured by the Khepera's IR sensors and thus the box can be located and identified. During the period, when the IR signal was not emitted, the distance to the box could be measured, and if the IR light was emitted it was possible to detect and localize the box. The intensity of the light emitted from the box was high enough that the box could be detected from approximate distance of 10 to 15 cm.

Fig. 2. The basic module of Khepera robots and the position of wheels and IR sensors in it. The functionality of robots Khepera can be extended by several extension modules. For our work and experiments, we used extension modules K213 Vision Turret and Radio Turret. K213 Vision Turret extends the Khepera's functionality with the linear vision. It can be used for landmark recognition and in our experiment for the goal detection. The view angle is 36 degrees and the image resolution is 64 pixels (each 256 grey-levels) [8]. To make robots communication possible, we equipped our robots with Radio Turrets. This Radio Turret makes it possible to send and receive messages between the robots in the environment [9].

Fig. 4. IR light emission in the time.

3. The Experimental Environment We have optimised the task specification for our robotics lab equipment. The experimental environment for the task was a square area (120 x 120 cm). This area was bound by wooden cuboids and, above them, with walls made of white paper carton. The black paper cylinder defined the goal position for the pushing. This cylinder was well recognized by the K213 Vision Turret in front of the white walls. This cylinder (the goal) must be positioned in the environment to the maximum distance from the box, in which the goal could be reliably detected and recognized by the K213 Vision. In the environment, any non-white (black) object is could be a goal, so we equipped both robots with white paper strip to eliminate incorrect detection of any robot as the goal. Robots equipped and modified this way (Fig. 3) were placed in the experimental environment.

Fig. 5. Robots, box and goal in the experimental environment. Two fluorescent tubes provided the lab lighting. Proper lighting is important for the success of the experiment. We used a limit value for the evaluation values of the image from K213 – any value greater than this limit was evaluated as black and any value less this value as white. This information is used for the image evaluation and recognition of the goal in the environment. Shadows or sunshine can cause an inaccuracy of the image recognition and affect the sensed values.

4. Solution Design

Fig. 3. Khepera equipped for the experiment.

For the experiment we chose the centralized solution of the box-pushing task. As mentioned above we used two robots Khepera in the “Master-slave“ relation. This approach is based on sending/receiving messages between robots and evaluation of the solution situation by one central robot. Master robot decides in every step of the solution the next best step based on the information sensed by sensors and received from the second (the Slave) robot. Articles

33


Journal of Automation, Mobile Robotics & Intelligent Systems

In our solution we allowed almost unlimited number of box positions in the environment. The only requirement for the box position was to place the box to the sufficient distance from the wall, so that it was possible to manipulate and push the box. This sufficient distance was about 10 cm from a wall. We chose sequential approach of box pushing to the goal - we could not use real-time parallel pushing because of limited view angle of Khepera (only 36 degrees). The vision capability of Khepera is like a vision capability of human with a short or no peripheral vision. In every step of pushing, robot had to look round and search for the goal. This was done by sequential rotation about the robot's centre in small steps and by image evaluation in every step. Therefore it was necessary to synchronize each robot's functions by this sequential approach. We decomposed the task into following steps: Localization of the box in the environment; Goal detection; Preparing box for pushing; Box-pushing to the goal.

VOLUME 2,

N° 3

2008

need to check if the light is emitting at the moment. If the light is emitting, robot uses sensed values to navigate and to get closer to the box. Comparing values in the left and right group of IR diodes does this movement. In the period when IR light is not emitting, robot uses the values of distance from an object to stop in front of the box. It is very important to stop and set the robot in the position, in which the robot is close to the box and is set straight at the box. This position is the basic position for the goal location.

Tasks for each robot: Fig. 6. Robot's basic position by the box. The master robot:

The slave robot:

·Move in the environment; ·Find the box; ·Move to the box; ·Prepare box; ·Localize the goal; ·Evaluate situation; ·Push box.

·Move in the environment; ·Find the box; ·Move to the box; ·Localize the goal; ·Push box.

These subtasks were implemented for both robots. Some of them had to be run sequentially; some of them need parallel execution. The master robot controls the solution. The whole solution is based on the messages sent between the two robots. Whenever master robot needs information from the second robot or needs the second robot to begin any action, it sends a message. Both robots have implemented process for sending and receiving messages. This message parser runs concurrently with other processes. Suitable action is implemented for each of allowed messages. Whenever a message is received, global variables are set and other processes are stop or start. 4.1. Localization of the box in the environment Master robot moves through the environment and avoids obstacles and walls. In every moment it senses the environment by IR sensors and evaluate these sensor's values. Whenever any sensor senses IR light emitted by IR diode on the box, the robot stops movement. In this situation – the box has been identified – the robot starts moving closer to the box. This movement to the box is controlled only by IR sensor's values. The goal of this movement is to navigate the robot to the box and stop in front of IR diode. The measurement of both IR light intensity and distance from objects is done in these steps: at first we 34

Articles

4.2. Preparing the box As mentioned above we allow unlimited box position in the environment. In this phase of solution it is necessary to prepare the box for pushing. The box can be pushed only at one side the side with IR diodes. Therefore it is necessary to rotate the box to such position from which the robot can sense the goal in the range of -70 to 70 degree rotation from his position by the IR diode in the box.

Fig. 7. a) Example of good position of box b) Example of bad position of box. In the situation, when the box is in the bad position, the box has to be rotated to a better position. This can be done by one robot and with information about the position of the goal and with information if the robot is standing on the left or the right end of the box. The location of the goal means, that the robot needs to identify the goal and determine the angle to the goal. The angle to the goal means the value of robot's rotation, which the robot must accomplish to see the goal. This process of location and getting the angle to the goal is implemented in this procedure: the robot rotates in small steps (10 degrees) around its centre and evaluates an image from K213. If the goal is recognized, the value of the rotation angle is saved and the robot returns back to its basic position.


VOLUME 2,

Journal of Automation, Mobile Robotics & Intelligent Systems

N° 3

2008

The box localization in this phase is analogical to the method of box localization used in the phase Preparing the box. The only difference is in the search range. In this phase we suppose the right position of the box, so the search range can be only about 160 degrees.

GOAL

Fig. 8. Robot's step-by-step rotation to locate the goal. To set the box to the proper position it is necessary to push one of the box's edges. The selection of which edge to push depends on the angle and the information whether the robot stands in front of left or right diode.

b a

Fig. 10. The angles measured by the robots.

These three situations can occur, depending on the angle values: GOAL

Fig. 9. Example of the box rotation by master robot. GOAL

After completing this step, the master robot sends the message to the slave robot. The slave robot starts movement in the environment, locates the box and moves to the box. 4.3. The box-pushing When the slave robot has localized the box, moved close the box and stopped in front of second diode, the main phase of the solution can begin. The pushing process is based on sequential measurement of the angle to the goal and evaluation of these values by the master robot. The master robot makes a decision which robot will push the box the box can be pushed by one of the robots or by both robots simultaneously. Box-pushing phase of the solution is based on this algorithm: 1) Master robot localizes the goal gets the angle to the goal; 2) Master robot sends message to the slave robot to start slave robot's action; 3) Slave robot localizes the goal gets the angle to the goal; 4) Slave robot sends value of the angle to master robot; 5) Master robot evaluates these values of both angles and determines next step; 6) Pushing of the box by one of the robots or by both robots simultaneously; 7) Go to the step 1).

GOAL

a)

b)

c)

Fig. 11. Possibilities of the position of the goal and box.

According to these three situations the master robot evaluates the next best step: a<0° AND b<0° - both robots localize the goal on the left pushing is done by the robot standing on the right edge of the box (Figure 11a.); a>0° AND b>0° - both robots localize the goal on the right pushing is done by the robot standing on the left edge of the box (Figure 11b.); a>0° AND b<0° - goal is located in front of the box pushing is done by both robots simultaneously (Figure 11c.). The pushing distance in each step is about 5 to 7 cm. When the box is pushed only by one of the robots, the distance should not be very long, because of “over-rotation” of the box. In the case of box pushing by both robots simultaneously, the pushing distance can be longer. We have also implemented a procedure to solve a situation, when one of the robots does not localize the goal. In this case, the decision which robot will push the box depends only on the robot's knowledge of one angle value Articles

35


VOLUME 2,

Journal of Automation, Mobile Robotics & Intelligent Systems

and information about the position (on the left or right edge of the box), which successfully localized the box. This situation can occur due to an error or inaccuracy in the image evaluation or due to an inaccuracy in the robot basic position. This box-pushing procedure is repeated until the box is pushed to the goal.

Fig. 13. Example of box pushing in real environment.

5. Conclusion We have designed, implemented and tested the solution of box-pushing task for two robots Khepera. The task was formulated to be solvable in our robotic laboratory. We used two robots Khepera and modified the environment for this experiment. We have also designed and constructed the box with two IR diodes to be identified in the environment by robot's IR sensors. We have made several final experimental trials. The ratio of the number of successful experiments to the number of experiment in which correct solution of the task was not achieved was about 3:2. The failure of the solution was in most cases (about 60%) caused by the inaccuracy of the measurement by sensors and the camera.

36

Articles

2008

All trials

Right 60%

Faulty 40% Inaccuracies of measurement 60%

Fig. 12. Example of box-pushing in real environment.

N° 3

Algorithm faults

The accuracy of sensed values and thereby the accuracy of solving of the task can be affected by the lighting of the environment – for a precise solution it is important to have ideal environment. The shadows and darkness in the environment causes inaccuracy of target's localization. More robust solution could be implemented, for example, by the use of any neural controller. The correctness of the solution depends on the accuracy of robot's motion and precision of movement commands. The success of the solution can depend on the number of steps needed, on starting position and localization of the box and robots in the environment. Adding more check and control mechanisms to minimize failures and errors of each sub-step of solution these mechanisms can raise the time complexity of the solution - can optimise the inaccuracies. There are certain prerequisites important for the success of each run of the experiment. The success of the experiment depends on the successes of the subtasks and on accuracy of each step of the solution. The quality of box-pushing depends also on the number of the steps and on the length of the pushing distance in each step. We have shown that Khepera is suitable for the solution in our lab and that our design was right. Both, the videos and the time-lapse photographs from trials are available at: Video: http://robotika.fpf.slu.cz/files/download/projekty/ Box_Pushing/BoxPushingTrial1.avi http://robotika.fpf.slu.cz/files/download/projekty/ Box_Pushing/BoxPushingTrial2.avi Photographs: http://robotika.fpf.slu.cz/files/download/projekty/ Box_Pushing/TimeLapsefromTrial1.rar http://robotika.fpf.slu.cz/files/download/projekty/ Box_Pushing/TimeLapsefromTrial2.rar

AUTHORS Michal Nemrava* - GUBI Computer Systems, Olomouc, Czech Republic. E-mail: NemravaM@gmail.com Petr Cermák - Institute of Computer Science, Faculty of Philosophy and Science, Silesian University in Opava, Czech Republic. E-mail: Petr.Cermak@fpf.slu.cz * Corresponding author


Journal of Automation, Mobile Robotics & Intelligent Systems

VOLUME 2,

N° 3

2008

References [1]

[2]

[3]

[4]

[5]

[6]

[7] [8] [9]

Kelemen J., Kubík A., “Robots and agents in basic computer science curricula”. In: Proc. 3rd International Workshop on Robot Motion and Control (K. Kozlowski, Ed.). Poznan University of Technology, Poznan, 2002, pp. 309-317. Kelemen J., Kubík A., “RADIUS – looking for robots‘ help in computer science research and education”, ERCIM News, no. 15, 2002, pp. 48-49. Mataric M. J., Nillson M., Simsarian K. T., “Cooperative Multi-robot Box-pushing”. In: Proc. of the 1995 IEEE/ RSJ International Conference on Intelligent Robots and Systems, 1995, pp. 556-561. Springhuizen-Kuyper Ida G., Artificial Evolution of BoxPushing Behaviour, Universiteit Maastricht, IKAT, The Netherlands. Gerkey B. P., Mataric M. J., Pusher-watcher, “An approach to fault-tolerant tightly-coupled robot coordination”. In: Proc. of the ICRA '02. IEEE International Conference on Robotics and Automation, vol. 1, 2002, pp. 464- 469. S. Yamada, J. Saito, “Adaptive Action Selection Without Explicit Communication for Mutirobot Box-Pushing”, IEEE Tran. on Systems, Man, and Cybernetics, Part C, vol.31, no.3, pp.398-404. K-TEAM, Khepera User Manual, Laussane, 1999. K-TEAM, Khepera K213 Vision Turret User Manual, K-Team, Laussane, 1999 K-TEAM, Khepera Radio Turret User Manual, K-Team, Laussane, 1999.

Articles

37


VOLUME 2,

Journal of Automation, Mobile Robotics & Intelligent Systems

N° 3

2008

A RATIONAL B-SPLINE CURVES IN ROBOT COLLISION - FREE MOVEMENT PLANNING Received 17th September 2007; accepted 7th April 2008

Daniel Reclik, Gabriel G. Kost

Abstract: In this paper there is described the using of 2D robot workspace analysis method with smoothing process by using B-Spline curves [7]. The robot workspace analysis is necessary to generate the collision-free movement paths. This paper is connected with a project, which will be ended with fully functional added application in robot off-line programming. In the last part of this project the authors created the motion planner based on grading function and Markov chains. This planner allows determining the collision-free trajectory of robot bunch. Determining the collision-free trajectory generates a lot of step functions – all movements were possible in only one direction (parallel to Cartesian axes) [1,7]. The worked out planner choose the best path – by shortest movement length or shortest movement time criterion. Achieved path is optimised and smooth by using NURBS and B-Spline curves [2,4,5], which is the main goal of this paper. Smoothing and time-function making is very important, because it allows getting the speed and acceleration data, which are necessary in robot controlling. B-Spline curves fulfil continuous first and second derivate condition. Another advantage of using B-Spline is a possibility to enlarge the movement quality by using the minimal acceleration criteria. This allows growing the steadiness of movement. Keywords: robots’ motion planning, non-collision trajectory, NURBS and B-Spline curves.

1. Introduction Defining the robots' trajectory is always based on the environment, where they are working in. It is so because in the robot's technological environment there are spaces and technological objects, which are a part of structure of manufacturing system [6]. The proper settings the optimal way of robot's transition between determined indirect positions in the task space, is basic quality of the robot programme. In case of concentration the robot task space with the technological objects roadblocks, the criterion of optimal robot's passage from start do final position is very important. It is so because it is necessary to perform the requirement of collision-free movement. That's why there must be used many different by-pass tracks, which often eliminate the geometrical shortest way. These two basic parameters of robot's movement, collision-free track length and time of its realization are very important in optimisation the robot's programme [1,4,6,7].

38

Articles

2. The collision-free robot movement planning The general integration in manufacturing systems is realized on informative plane. Computer systems of offline robot programming are not technological advanced. In these systems there is very weakly developed area for determining the collision-free robot passage between the objects in its task space. The problem of analysis the planned movement comes from difficulty of solution such key matters how [1,4,7]: the analysis of three-dimensional robot task space (with roadblocks arrangement), the way of interpretation the kinematical robot structure with movement analysis (kinematics chain, manipulated object, etc.), the opinion of way of shifting the robot in order to determine the optimal collision-free passage. Because of complication of geometry level of the robot workspace/For the reason of complication level of geometry the robot workspace, its collision-free movement must be calculate in parts. Particular stages are determined between following point, which can make a collision [1,6,7,8]. From that reason, there was necessary to use iteration treatment of computer added collision-free trajectory planning. Special made agent of planning calculates the robot collision-free movement. Its tasks can be divided into following groups [1,4,6,7]: to analyse robot workspace for finding area where robot movement is safety, to determine in robot workspace its collision - free movement curve - the set of space points which guarantee the safety movement, to determine the collision-free trajectory, as time function of XY robot positions in workspace. The first task of planning agent is geometrical analysis the robot workspace with collaborate objects configuration (coordinates and dimensions) support. The performed analysis allows agent to defining points reached in next run. Those points are the base of robot safe movement trajectory. Basis points can be typed only in area without collaborated objects (free space). The way of calculation implicated aspect of discovered trajectory. It is a stair-case function curve, created by step-by-step movement positions of robot arm. The positions are lin-ked with typed in free area basis points of trajectory (Fig. 1). Obtained collision - free path with staircase form cannot be used to realize the robot work algorithm. It is so, because this path isn't perpetual in geometrical way [1,4,6,7,8]. The test of using calculated path to move the


Journal of Automation, Mobile Robotics & Intelligent Systems

robot has been failure, because the motion along this path has permanently change direction (Fig. 1). From that reason, there is necessary to make smoother the determined path. That process is realized by eliminate those points from set of basis points, which don't change the trajectory direction. The task of finding the new set of basis points, which is a subset of those points determined in the beginning, is the next step in collision-free real robot trajectory calculation [1,8].

VOLUME 2,

N° 3

2008

After ending that process, there is possible to make a time function of discovered, new movement path (Fig. 2). That guarantees receiving equation with continuous 2 second derivative (curve in C class) [1], which is a condition to make possible in robotics usage. It is very important that the first derivate of position time based function is velocity and that the second derivate is acceleration of the robot arm.

3. The collision-free curve equation in flat space

Fig. 1. The result of the robot arm dynamic collision-free movement planning software work.

3.1. Bézier curves Interpolation methods, which are based on BersteinBézier's polynomial, have many disadvantages. The most troublesome are [2,3,4,5,9,10]: adding a new basis point of interpolation implicates the necessity of all earlier computing repeats, problems with interpolation that shapes as circle, ellipse which are typical for robot trajectory, lack of possibility of basis points weight individual modification to get better compatibility with collision - free trajectory.

START

Safe path determining

Getting the basispoints subset with the collision less condition checking

Interpolation

Optimization with determining the new time function of safepath

Another move to calculate?

Techniques of robot trajectory determining, which are used in robotics, are based on searching new basis points. It is very important, that the new basis points' set must allow to create the robot movement trajectory curve by interpolation way. It always generates the new shape, which is saddle with error relate to the safe path. One of the possible solutions to minimalize the error is enlargement of the basis points number, but unfortunately it takes a lot of computing time [1,4,5,8]. Interpolating techniques, used to solve that task, are mainly based on polynomial curves. It takes time, so that most often there are used low degree polynomials, but it guarantees only receiving equation with continuous first derivative at least or, more often, geometrical smooth shape. For that reason, except from polynomial interpolation, there is used Bézier's curves (Bernstein-Bézier's polynomial) and B-Spline function in robotics [2,3,4,5] and its rational forms [2, 3]. The rational form allows setting the weight of interpolation basis points.

Yes

No END Fig. 2. Algorithm of the robot arm dynamic collision-free movement planning software.

Taking into consideration above disadvantages, there is suggested to use B-Spline functions, which fulfilled the robotics conditions. Its most important advantages are [2,3,4,5,9,10]: possibility to modify the part of curve, without necessity of all earlier computing repeat (there is only repeated the shorted part of curve near by modified), point - length of recomputed part is connected with the polynomial degree, for the 3rd and higher level of B-Spline degree, there is guaranteed getting the continuous second derivative in interpolation basis points - splining point. In case of the necessity of changing the interpolated curve from B-Spline to Bézier's curve, there is possible to use the same algorithm. It is so because the maximum level of B-Spline must be smaller than the value of basis points items. For the level of B-Spline equal to number of those points received form of mathematical B-Spline form Articles

39


VOLUME 2,

Journal of Automation, Mobile Robotics & Intelligent Systems

equation is an identity to Bézier's curve equation [9,10]. So that, changing the interpolation curve is equal with changing the level of B-Spline equation to number of interpolation basis points value [9,10]. 3.2. NURBS curves (rational B-Spline polynomial) Using the interpolating procedure, which is based on NURBS curves, is much larger in case of using the conventional B-Spline. It happens so, because every basis point of interpolation has its importance, which shows the level of matching the interpolated curve to the point. Moreover, the NURBS analytical algorithm is very universal, because attributing the equal importance for all points of collision-free trajectory causes automatically change of the track equation of robot to B-Spline (or if the B-Spline degree is equal to the number of basis points, changing the track equation of robot is to Berstein-Bézier polynomials).

4. The algorithm of generation the interpolated curves Interpolated curves, based on Berstein-Bézier polynomials, NURBS curves and B-Spline, are composite functions. The base of generating those curves is basis function, which suitable linking up gives the proper shape of 3D curve with set parameters. Because basic functions are defined by the time, therefore, one can find that, the curve, which comes from the link, is also indirectly defined by the time. Therefore, to determine the interpolated curve of robot movement on collision-free trajectory, at first, there must be provided the total time of movement duration. This time (of movement duration) is indicated as base unit, it means that the movement lasts from 0 to 1 in time interval, that is from 0 to 100% of real time. Because the NURBS mathematical algorithm is very universal, therefore there is described the procedure of realization that algorithm [2, 7]. It is necessary to determine the kinematics pair at first during creating the polynomial of flexible interpolated function. Because the movement on curve must last from 0 to 1, therefore the interval time from that range is interpolated kinematics pair. To accept the right number of interpolated kinematics pair, there must be defined the degree of interpolated polynomial n and number of ordinary points of interpolation V. Kinematics pair set can be passed mathematically in following way [2,3,10]: K={t0 ,t1 ,t2 ,t3 ,t4 ,t5 ,..., tu-1}

(4.1)

K ={ 0, 0, 0, 0, 0.25, 0.5, 0.75, 1, 1, 1, 1 }

N° 3

2008

(4.3)

After having defined the kinematics pairs of interpolation (K points on time axis – formula 4.3), it is possible to determine the basic function component of rational B-Spline polynomial (NURBS). Defining the basic functions must be done iterative, because if one wants to have determined basic function of any degree, at first one must defined the basic function of lower degree. That’s why the whole process of defining the basic functions starts from determining the basic function of 0 degree, which is defining as follows: for set time interval are 1, while for others time interval are 0, as it shown below [2,3,4,5,7,9,10]: for moment t which belong to time interval among ti and ti+1

(4.4)

for other time t Basic functions of higher degrees are defined by using the following formula [7,10]: (4.5)

where: p – is in turn: 1, 2, 3… etc. until to value of polynomial degree n. Having computed values of basic functions, there can be determined the points’ coordinates of interpolated polynomial X(t), Y(t) as superposition of values of particular Cartesian co-ordinate system. In case of conventional B-Spline polynomial, the values of coordinates are determined as product sum of basic functions and coordinate values of basis points P, in a way as it is shown below [9,7]: (4.6) For determine the rational B-Spline polynomial (NURBS) one must take into consideration the importance of the basic points P, which are indicated as w. Knowing the importance of basic points one can determine particular coordinates of interpolated polynomial by using below formulas [9,7]:

(4.7)

However, the number u of kinematics pair must be equal: u=V+n+1

(4.2)

To assign the right value of time from 0 to 1 there must be used the following procedure: the first n+1 of kinematics pair must be fulfilled by 0 and the last n+1 must be fulfilled by 1, however the remaining kinematics pairs must be fulfilled proportionally by ascending time values. The set of interpolated kinematics pairs for curve of third degree and for seven basis points has been shown below [7]:

40

Articles

In order to display how the algorithm works, there are shown, in example, many different trajectories, which have random chosen basic points. The main property of generated curves is degree matching to basis points. If there is taking the higher degree of interpolated polynomial n, the generated curve is more standing-off from basic points. Enlarging the degree of interpolated polynomial causes reduction of curve’s inflexion, what finally makes that the curve has soft rounding.


VOLUME 2,

Journal of Automation, Mobile Robotics & Intelligent Systems

5. B-Spline algorithms in robot collision free movement planning The main goal of this paper was presentation of the application of interpolated curves based on NURBS polynomial for smoothing the safety trajectory of robot movement. The initial trajectories are represented by the set of basic points of trajectory of the robot movement. Received by the authors the procedure of generating the initial trajectory implicates the broken line, determined by the effected basic points Pi [1,6,8]. The broken line (robot’s path [6,8]) is always parallel to one of Cartesian axis of co-ordinate system, what unfortunately causes that one can’t use it in direct way for programming the robot movement. The length between the Pi and Pi+1 basis points (li=ïPi,Pi+1ï) is the most important criterion (geometrical criterion [1,6,8]) in choosing the shortest step path connected the starting (P0) and ending (Pk) points of collision-free robot movement path. So the most important criterion is [6,8]:

N° 3

2008

trajectory of passage from one to another machine tool, preserving the collision-free condition. The researches shown that there is necessary to use the additional module of created program which is an algorithm of selective, multiple choice of basic points of initial trajectory. This module displaces automatically corners from the basis points set of initial trajectory with checking each time the collision-free condition of new made trajectory. Applied mathematical algorithm is programmed to minimized number of basis points [1,6,7,8]. The end of work of additional module causes beginning the maximization process of degree of interpolated polynomial. It also gives a possibility to set the importance for others basis points of initial trajectory. In Fig. 4 there are shown stages of smoothing the trajectory of collision-free robot movement in workspace. The next process stages of optimisation the safety robot trajectory in workspace shows how smooth the initial trajectory (in Fig. 4 shown as blue block) can be by using presented algorithm.

(4.8) where: k – number of items in set of basis points is the shortest step path. The Pi is set of basis points, which creates the shortest curve LPOPT is basic in determining interpolating curves based on NURBS algorithm. In Fig. 3 there is shown the robot workspace with machine tools.

Optimized step path LPOPT Machine tool Distance li=ïPi,Pi+1ï Basis points of

interpolation Pi Safety area

Fig. 3. Top view of the robot workspace with the discovered basic safe trajectory. The machine tools (in Fig. 3 shown as dark blue blocks) are a part of technical infrastructure of robotintegrated system, however they are also a kind of roadblocks for free robot movement. The worked out agent of trajectory can determine the safety trajectory, based on mathematical recording of robot workspace and overall dimensions of manipulated object. Assuming that the robot movements are collision-free, the program - robot’s movement planner - assigns for every machine tool the danger zone, which is passing by during generation the trajectory (in Fig. 3. they are shown as light blue blocks). Basis on overall dimensions of manipulated object there is computed the grid size and diameter of indirect position circle. In Fig. 3 there is shown the generated safety

Fig. 4. Stages of smoothing the trajectory of collision-free robot movement in work space. The final trajectory (stated by black colour) is created after selective displacing the 21 corner points. The final level of polynomial is determined on 4 (n=4); the continuous condition of second derivative was having the degree of interpolated polynomial larger than two). The third, indirect trajectory is stated in Fig. 4 by red colour and it shows how important the selective displacing is. This trajectory is made from all basic points and maximally smoothed interpolated polynomial (Bézier curve – the polynomial degree is equal to the number of basis points of initial trajectory) [2,3,9,10]. Unfortunately, although there was used the interpolated polynomial of the highest degree, there have been appeared oscillation round the optimal trajectory. In this project we are going 2 to make an optimally and smoothest trajectory (C , see 2). To make it possible there are used the movement time and acceleration criteria, which is determined as follow [1,6,7,8]:

(4.9) and

(4.10)

Articles

41


VOLUME 2,

Journal of Automation, Mobile Robotics & Intelligent Systems

After ending the process of the safety trajectory of robot movement in workspace, there is possible to show the algorithm results against an initial trajectory and robot workspace backgrounds (Fig. 5). In upper part of the Fig. 5 there is a trajectory, which crosses the safety area, round the machine tool and it was accepted by the system. It happens so because at first there was necessary to use technological objects with parallel edge (also with safety area of these objects).

N° 3

2008

workspace. In effect, the authors will prepare the fully functional system, based on B-Spline, which can be added to one of off-line programming system of robot.

AUTHORS Daniel Reclik* - Ph.D. student at the Silesian Technical University, Institute of Engineering Processes Automation and Integrated Manufacturing Systems, ul. Konarskiego 18A, 44-100 Gliwice, POLAND. E-mail: daniel.reclik@polsl.pl Gabriel G. Kost - Professor at the Institute of Engineering Processes Automation and Integrated Manufacturing Systems of the Silesian Technical University, ul. Konarskiego 18A, 44-100 Gliwice, POLAND. * Corresponding author

References [1] [2] [3] [4]

[5]

Fig. 5. Optimal and safety trajectory in the robot work space. [6]

It was necessary to limit the time of scanning the task space, which was considerably shorter for rectangular corners [8,6,10]. To reach the cube outside profile by the spherical object there is used compensation with offset value equal to the diameter of manipulated object external smallest globe. Such a form has also the robot arm safety movement space. The algorithm, which checks the correctness of created trajectory, is using the real shape of safety areas. Because the checking module has defined the iterative control algorithm of work path (the actual smooth degree), it doesn’t have to search it in 3D space. Therefore, having an algorithm, which can check the real safety area, doesn’t cause the extension of computed time (it consists in checking additional logical conditions with stable parameters – positions and machines’ dimensions) [1,6,7,8].

6. Conclusion The worked out task is a part of collision-free movement planning process. This method allows determining the curve of collision-free trajectory in robot workspace. Using the geometrically optimised path curves that the received NURBS curve is also optimal in geometrical sense. Thanks to this the determined coordinates of robot trajectory can be used in off-line robots’ programming system. The system of searching collision-free robot trajectories, which is presented in this paper, has not been fully finished yet. This system is constantly developed, especially there has been working on mechanism of 3D optimal searching the equation of robot’s movement in its 42

Articles

[7]

[8]

[9] [10]

Latombe J.-C., Robot motion planning, Kluwer Academic Publishers, Boston-London 1993. Rosen K.H., Discrete Mathematics and Its Applications, 2nd edition, McGraw-Hill Publishing, New Yersey 1991. Piegl L.,Tiller W., The NURBS book, Springer-Verlag Publishing, Berlin-Heidelberg 2005. de Berg M., van Kreveld M., Overmars M., Schwarzkopf O., Computational geometry algorithms and applications, Springer-Verlag Publishing, Berlin-Heidelberg 2000. Predarata F.P., Shamos M.T., Computational geometry an introduction, Springer-Verlag Publishing, New York 1985. Kost G., Zdanowicz R., “Modeling of manufacturing systems and robot motions”, Journal of Materials Processing Technology, Elsevier, vol. 164-165, May 2005, pp. 1369-1378. Boissonat J.D., Budrick J., Goldberg K., Algorithmic Foundations of Robotics V, Springer tracts in advanced robotics 7, Springer-Verlag Publishing, Berlin-Heidelberg 2004. Kost G.G., The based on grading function and Markov Chains stationary and manipulation robots safety movement planning, Wydawnictwo Politechniki Śląskiej, Gliwice 2004 (in Polish). Fortuna Z., Macukow B., Wąsowski J., The numerical methods, PWN, Warszawa 1999 (in Polish). Majchrzak E., Mochnacki B., The numerical methods. Theoretical foundations, practical aspects and algo rithms, Wydawnictwo Politechniki Śląskiej, Gliwice 2004 (in Polish).


VOLUME 2,

Journal of Automation, Mobile Robotics & Intelligent Systems

N° 3

2008

REACHABILITY AND CONTROLLABILITY OF POSITIVE FRACTIONAL DISCRETE-TIME SYSTEMS WITH DELAY Received 2nd April; accepted 25th April 2008.

Wojciech Trzasko

Abstract: In the paper the positive fractional discrete-time linear systems with delay described by the state equations are considered. The solution to the state equations is derived using the Z transform. Necessary and sufficient conditions are established for the positivity, reachability and controllability to zero for fractional systems with one delay in state. The considerations are illustrated by an example.

real matrices with non-negative entries will be denoted N´m N´m N´1 by Â+ and Â+ = Â+ . The set of non-negative integers will be denoted by Z+ and the N´N identity matrix by I. In this paper using the Grünwald-Letnikov approach the following definition of the fractional discrete derivative will be used [7, 8, 12]

Keywords: fractional, positive discrete-time, linear system, reachability, controllability to zero.

1. Introduction In positive systems inputs, state variables and outputs take only non-negative values for non-negative initial conditions and non-negative controls. Examples of positive systems are given in monograph [3] and quoted there literature. Positive linear systems are defined on cones and not on linear spaces. Therefore, theory of positive systems is more complicated and less advanced. Recently, the reachability, controllability and minimum energy control of positive linear discrete-time systems with time-delays have been considered in [1, 3, 9,11]. The three definitions generally used for the fractional integro-differential operators are the Grünvald definition, the Riemann-Liouville definition and the Caputo definition. The mathematical fundamentals of fractional calculus are given in the monographs [7, 8, 12]. This idea has been used by engineers for modelling different process and designing fractional order controllers for timedelay systems [5, 10]. In the papers [4, 6] a new class of fractional positive systems described by the state equations were introduced and necessary and sufficient conditions for reachability and controllability were given. In this paper using recent results, given in [1, 3, 4, 9], a problem of reachability and controllability to zero of fractional positive discrete-time systems with one delay in state will be considered. The paper is organized as follows: in section 2 using the definition of the fractional discrete derivative and Z transform the solution to state equations of the fractional systems is derived. The necessary and sufficient conditions for the positivity, reachability and controllability to zero of the fractional systems are established in sections 3, 4 and 5, respectively. A numerical example is given in section 6.

(1) where nÎR is the order of the fractional difference, h is the sampling interval and iÎZ+ is the number of samples for which the derivative is calculated. According to this definition, it is possible to obtain a discrete equivalent of the derivative (when n is positive), a discrete equivalent of the integration (when n is negative) and, when n=0, the original function. (n) The binomial coefficients wj can be obtained from [7] (2)

or using the following recursive formula [12] (3) For simplicity it will be assumed that h=1. Consider the fractional discrete-time linear system with delay in state, described by the state-space equations (4a) (4b) N where xiÎÂ , uiÎÂm, yiÎÂp, A0ÎÂN´N, A1ÎÂN´N, BÎÂN´m, p´N CÎÂ , DÎÂp´m, with the initial conditions

(5) Using the definition (1) for h=1 we may write the equations (4) in the form (6a)

2. Preliminaries N´m

Let  be the set of N´m matrices with entries from N N´1 the field of real numbers and  = . The set of N´m

(6b) Articles

43


VOLUME 2,

Journal of Automation, Mobile Robotics & Intelligent Systems

Computing coefficients wj for j=1,2 and putting in order of delays in state, equation (6a) can be rewritten as follows (n)

N° 3

2008

account nonzero initial conditions (5) we obtain

(14)

Solving the equation (14) for X(z) we obtain ×

(7)

(15) × where (16) (n) where wj=-w(n) j and wj are given by (2) or (3).

Let

Note that the fractional discrete-time linear system (6) is the classical discrete-time system with delays increasing with the number of samples iÎZ+ [1]. The state equation in this case has the form

(17) Substituting of (17) to (15) yields (18)

(8) Using the inverse Z transform to (18) we obtain the desired formula (10).

where

(9)

Substituting of (17) to the equality (19)

From (2) it follows that coefficients wj=-w(n) j strongly decrease to zero when j increases to infinity.

we obtain

Theorem 1. The solution of equation (6a) with initial conditions (5) is given by

(20)

(10) where the fundamental (transition) matrix Fi is determined by the equation

Comparing the coefficients at the same powers of -i z for i=0,1,..., of the equality (20) we obtain

(21) (11) and in general case the equation (11). with the initial conditions (12) (n) where wj=-w(n) j and wj are given by (2) or (3).

Proof. In the same way as in [2, 4] the proof will be accomplished using the Z transform.

The proof for second part of (11) is similar as given in [2] in the case of classical discrete-time system with delays. Note that the solution (10) of fractional state equations can be derived using the recursive formula (7) for xi , i=0,1,2... and the initial conditions (5) without applying the inverse Z transform.

3. Positivity of the fractional systems Let X(z) be the Z transform of xi defined by (13) Using the Z transform to (6a) and taking into 44

Articles

Definition 1. [3, 4] The fractional system (4) is called the (internally) positive fractional system if and only if N p xi ÎÂ+ and yi ÎÂ+ , iÎZ+ for any initial conditions N m x-i ÎÂ+ , i=0,1, and all input sequences ui ÎÂ+ , iÎZ+.


VOLUME 2,

Journal of Automation, Mobile Robotics & Intelligent Systems

The following two lemmas will be used in the proof of the positivity of the fractional system (4) with delay in state. Lemma 1. [4] If the order of the fractional difference n satisfies 0<n£1

(22)

N° 3

2008

reachable if for every state xf ÎÂN+ there exists a natural number q and an input sequence ui ÎÂm+ , i=0,1,2,..., q-1, which steers the state of the system (4) from zero initial states (5) (i.e. x-1=x0=0) to the desired final state N xf ÎÂ+ . Theorem 3. The positive fractional system (4) for 0 < n £ 1 is reachable in q steps if and only if the reachability matrix

then coefficients wj are positive, i.e. (27) (23)

contains N linearly independent monomial columns. Proof. The solution of equation (6a) has the form (10). For zero initial conditions x-1=x0=0 and i=q we have

The proof of the lemma is given in [4]. Lemma 2. If the order of the fractional difference n satisfies the condition (22) and (24)

(28) where the reachability matrix has the form (27) and an input sequence has the following form

then fundamental matrices have only nonnegative entries, i.e. (25)

(29)

The proof of the lemma follows from (11) and it is given in [4] using the mathematical induction. Theorem 2. The fractional discrete-time system (4) for 0 < n £ 1 is positive if and only if

(26)

Proof. Sufficiency: If the condition (24) is satisfied then by Lemma 2 Fi ÎÂN+ ´N holds for i=0,1,2,... If (25) and (26) are satisfied, then from (10) and (6b) we have N p N N xi ÎÂ+ and yi ÎÂ+ for every iÎZ+ since x0 ÎÂ+ , x-1 ÎÂ+ m by Definition 1 and ui ÎÂ+ , iÎZ+. Necessity: Let ui=0 for iÎZ+. Assuming that the system is positive from (7) for i=0 we obtain x1= (A0+nI)x0+(A1+w2I)x-1 and from (6b) we have y0=Cx0 p N´N N´N ÎÂ+ . This implies A0+InÎÂ+ , A1+w2IÎÂ+ and p´N N N CÎÂ+ since x0 ÎÂ+ and x-1 ÎÂ+ by definition 1 are arbitrary. Assuming x0 , x-1 =0 from (7) for i=0 we obtain N p x1=Bu0 ÎÂ+ and from (6b) we have y0=Du0 ÎÂ+ , which N´m p´m m implies BÎÂ+ and DÎÂ+ , since u0ÎÂ+ by Definition 1 is arbitrary. ¢

4. Reachability of the positive fractional systems Let ei , i=1,2,...,N, be the ith column of the identity matrix I. A column aei for a>0 is called the monomial column. Taking into account papers [1, 4, 11] we may formulate the following definition of reachability of the positive fractional system with delay.

From Definition 2 and (28) it follows that for every N m xf ÎÂ+ there exists an input sequence ui ÎÂ+ , i=0,1,2, ...,q-1, if and only if the matrix Rq (27) contains N linearly independent monomial columns. ¢ If the fractional system (4) is reachable and T T -1 qm´N q Rq [Rq Rq ] ÎÂ+ then the nonnegative input u0 (29), which steers the state of the system (4) from zero initial states (5) (i.e. x-1=x0=0) to the desired final state xf ÎÂN+ , is given by the formula [1] (30)

5. Controllability to zero of the positive fractional systems Taking into account papers [4, 9, 11] we may formulate the following definition of controllability to zero of the positive fractional system with delay. Definition 3. The fractional system (4) is called controllable to zero in q>0 steps if for any nonzero initial states x-1 , x0 ÎÂN+ there exists an input sequence ui ÎÂm+ , i=0,1,...,q-1, which steers the state of the system from nonzero initial conditions (5) to zero (xf =0). Theorem 4. The positive fractional system (4) for 0 < n £ 1 is controllable to zero in q>0 steps if and only if (31) Moreover ui =0 for i=0,1,...,q-1.

Definition 2. The fractional system (4) is called Articles

45


VOLUME 2,

Journal of Automation, Mobile Robotics & Intelligent Systems

Proof. From equation (10) for xf =0 and i =q we have

N° 3

2008

(37)

(32) q

where the matrix Rq has the form (27) and u0 is defined by (29). N´N It is well known that for finite q and A1+w2IÎÂ+ , N´N N N´qm FiÎÂ+ , x-1,x0ÎÂ+ , RqÎÂ+ do not exist positive q qm u0 ÎÂ+ satisfying equation (32). The equation (32) is satisfied for any nonzero initial N´qm conditions (5) and RqÎÂ+ if and only if the conditions q (31) hold and u0 Î0.

First, we check for which values of the order of the fractional difference n this system is positive. From Theorem 2 we have

(38) Lemma 3. The positive fractional system with delay in state (4) for 0 < n £ 1 is controllable to zero: a) in q=1 step if and only if (33)

if and only if n=1/2, since Using (27) for q=2 we obtain the reachability matrix

b) in q=2 steps if and only if (34)

(39) c) in an infinite number of steps if and only if the system is asymptotically stable. Proof. Using (11) for i =1,2,... we obtain fundamental matrices Fi of the forms:

which contains two linearly independent monomial columns. Therefore, by Theorem 3 the positive fractional system (37) is reachable in two steps for n=1/2. q

Computing u0 from (30) for the final state we obtain (35) (40)

We check out received results. Using (7) for matrices (37) with n=1/2, x-1=x0=0 and the input sequence u0=10/3 and u1=2 we obtain (41)

From the above it follows that the conditions (31) can be satisfied if and only if the conditions (33) hold and q=1. In case b) the matrix A0+nI is a nilpotent matrix with 1 the index of nilpotence m=2 and we have F2=F2 + (A1+w2I)F0=0. Hence the conditions (31) will be satisfied if and only if the conditions (34) hold and q=2. In case c) if the system is asymptotically stable then

Next, we test the controllability to zero of this system for n=1/2. Using (11) for i=1,2,... we obtain fundamental matrices Fi of the forms:

(36) for every x-1,x0ÎÂN+ . Moreover Fq®0 for q®¥ and wq®0. Hence equation (32) is satisfied for uq0 =0 and by Theorem 4 the system is controllable in an infinite number of steps. ¢

6. Example Test reachability and controllability to zero of positive fractional system with delay in state (4) with the matrices 46

Articles

(42)


VOLUME 2,

Journal of Automation, Mobile Robotics & Intelligent Systems

From the above it follows that the case b) of Lemma 3 is satisfied. Therefore, the positive fractional system for n=1/2 with the matrices (37) is controllable to zero in 2 steps. To verify obtained result we find the solution of equation (4a) for n=1/2 with matrices (37)

[5]

[6]

u0=0 and u1=0.

and

Using (7) for i=0,1 we obtain, respectively [7]

[8]

[9]

[10] [11]

7. Concluding remarks The concept of positive fractional system has been extended for the discrete-time linear systems with delays. Necessary and sufficient conditions for the positivity (Theorem 2), reachability (Theorem 3) and controllability to zero (Theorem 4) for order of the fractional difference n satisfied the following condition 0 < n £ 1, have been established. q A formula for computing a nonnegative input u0 (30), which steers the state of the system (4) from zero initial states (5) (i.e. x-1=x0=0) to the desired N final state xf=Â+ has been given. The considerations can be easily extended for the positive fractional systems with multiple delays in state and control.

[12]

N° 3

2008

Intelligence and Robotic Control, vol. 6, no. 4, 2007. Lazarevic M. P., “Finite time stability analysis of PD fractional control of robotic time-delay systems”, Mechanics Research Communications 33, 2006, pp. 269-279. Matignon D., d'Andre´a-Novel B., “Some results on controllability and observability of finite-dimensional fractional differential systems”. In: Proceedings of the Computational Engineering in Systems and Application, France 1996, vol. 2, IMACS, IEEE-SMC, pp. 952-956. Miller K. S., Ross B., An Introduction to the fractional calculus and fractional differential equations, Willey, New York, 1993. Podlubny I., “Matrix approach to discrete fractional calculus”, An International Journal for Theory and Applications, vol. 3, no. 4, 2000, pp. 359-386. Trzasko W., Kociszewski R., “Controllability of positive discrete-time systems with delays in state and control”. In: Proceedings 15th National Conference of Automatics, Warsaw, 2005, vol. 2, pp. 127-130 (in Polish). Zhang X., „Some results of linear fractional order timedelay system”, Appl. Math. Comput., 2007 (in press). Xie G., Wang L., “Reachability and controllability of positive linear discrete-time systems with time-delays”. In: Positive Systems (Benvenuti, De Santis and Farina (Eds.), Springer-Verlag, Berlin Heidelberg, 2003, pp. 377-384. Blas M. Vinagre, “Fractional Calculus Fundamentals”. Tutorial Workshop #2. Fractional Calculus Applications in Automatic Control and Robotics, 41st IEEE Conference on Decision and Control, Las Vegas, 2002.

ACKNOWLEDGMENTS The Ministry of Science and High Education of Poland supported the work under grant No. G/WE/5/07.

AUTHOR Wojciech Trzasko, PhD - Białystok Technical University, Faculty of Electrical Engineering, Wiejska 45D, 15-351 Białystok, Poland. E-mail: wtrzasko@pb.edu.pl

References [1]

[2]

[3] [4]

Busłowicz M., Kaczorek T., “Reachability and minimum energy control of positive discrete-time linear systems with multiple delays in state and control”. In: 44th IEEE CDC-ECC'05, Sevilla 2005, Spain. Busłowicz M., “Explicit solution of discrete-delay equations”, Foundations of Control Engineering, vol. 7, no. 2, 1982, pp. 67-71. Kaczorek T., Positive 1D and 2D Systems, SpringerVerlag, London 2002. Kaczorek T., “Reachability and controllability to zero of positive fractional discrete-time systems”, Machine Articles

47


VOLUME 2,

Journal of Automation, Mobile Robotics & Intelligent Systems

N° 3

2008

MINI-DCS SYSTEM PROGRAMMING IN IEC 61131-3 STRUCTURED TEXT Received 25th February; accepted 15th May 2008.

Dariusz Rzońca, Jan Sadolewski, Andrzej Stec, Zbigniew Świder, Bartosz Trybus, Leszek Trybus

Keywords: mini-DCS system, control program execution, ST language, compiler, IEC 61131-3 standard, virtual processor.

1. Introduction Domestic control-and-measurement industry manufactures transmitters, actuators, drives, PID and PLC controllers, recorders, etc. connected with distributed systems, are used for automation of small and medium scale processes. However, engineering tools applied for programming such devices are rather limited and do not correspond to IEC 61131-3 standard [1] (Polish law since 2004). This restricts effectiveness of competition with foreign products. The problem may be solved to some extent by developing an universal, open engineering environment for programming control devices, particularly small PID, PLC and multifunction controllers according to IEC 61131-3 (further denoted IEC for brevity). Basic task of control engineering tool is to compile source program written in one of IEC languages into machine code of a given processor. Change of the processor requires a new compiler. A tool, to be called universal, should be able to generate a code executable on different platforms, particularly such as AVR, ARM, MCS-51 and PC, if domestic devices are considered. However, such universal code must be executed by an interpreter that translates instructions of this code into instructions of the machine language. Each of the platforms must have 48

Articles

its own interpreter. So the universal code is in fact a kind of intermediate code into which the source program is compiled. Generally speaking, it resembles somewhat the concept of Java virtual machines capable of executing programs on different platforms [2]. Therefore the interpreters of the universal code will also be called virtual machines here. Engineering environment can be considered open if it provides the following: tools for development of user functions and function blocks, which are program units suitable for reuse, specifications of I/O and communication interfaces in the form of prototypes of driver procedures, which are common for different processors and hardware solutions (the same way of procedure call; internal bodies can be different). The environment may be called flexible, if of all data types available in the IEC standard, the user can freely choose the ones suitable for particular application. For instance, PID and PLC algorithms need somewhat different sets of data types. This paper presents current state of work on engineering environment for programming small control-andmeasurement devices and distributed mini-systems according to the IEC standard. An example of such miniDCS involving instruments from LUMEL Zielona Góra is shown in Fig.1. The environment, called CPDev (Control Program Developer), satisfies universality, openness and flexibility requirements stated above. Initial information on CPDev has been presented on recent Real Time Systems conference [3, 4]. CPDev is being developed at Microsoft. NET Framework 2.0 [5].

SMC

RS232 R S4 85

A prototype environment called CPDev for programming small-distributed control-and-measurement systems in Structured Text language of IEC 61131-3 standard is presented. The environment is open what means that the code generated by the compiler can be executed on different hardware platforms. However, an interpreter, another words - a virtual machine, must process such universal code similarly as programs written in Java. The CPDev environment consists of the compiler, simulator and configurer of hardware resources (i.e. communications). They are developed in C# at MS.NET Framework 2.0 platform. CPDev is open allowing the user to create function blocks and libraries. External interface procedures (drivers) can be written by hardware designers and linked with the universal code. Free selection of data types required by different applications is provided. Virtual machine written in ANSI C is dedicated for a particular processor. So far the machines for AVR, MCS-51 and PC have been developed. Programming a mini-DCS system from LUMEL Zielona Góra has been the first application of CPDev.

R S 48 5

Abstract:

SMC

RS485

Fig.1. Example of mini-distributed system with equipment from LUMEL Zielona Góra.


Journal of Automation, Mobile Robotics & Intelligent Systems

The paper is organized as follows. Structure of CPDev and the way in which the code for different platforms is generated are explained in Sec.2. The environment consists of ST language compiler (also called CPDev), simulator CPSim and configurer CPCon of hardware resources. The compiler produces a file with the universal code for virtual machine. User interface is presented in Sec.3 together with simple example. Functions and function blocks available in CPDev libraries are listed in Sec.4. The user can create his function blocks and libraries. Simulator CPSim and configurer CPCon are described in Secs.5 and 6, respectively. The configurer generates a file with hardware allocation map, which provides another data needed by virtual machine. Configuration of a mini-DCS test system from LUMEL, involving a new SMC programmable controller, is given as an example. Language of virtual machine, operation cycle, and the way in which program interfaces are adapted to different processors and hardware solutions are explained in Sec.7.

VOLUME 2,

N° 3

2008

ever it is close to somewhat extended typical assemblers. Brief characteristic of VMASM is given in Sec.7. CPSim simulator also involves the virtual machine (in this case at the PC side).

Fig. 2. Components of CPDev environment.

2. General characteristic of CPDev environment 2.1. Programming languages The IEC standard defines five programming languages, i.e. LD, IL, FBD, ST and SFC, allowing the user to choose one suitable for particular application. Instruction List IL and Structured Text ST are text languages, whereas Ladder Diagram LD, Function Block Diagram FBD and Sequential Function Chart SFC are graphical ones (SFC is not an independent language, since it requires components written in the other languages). Relatively simple languages LD and IL are used for small applications. FBD, ST and SFC are appropriate for medium-scale and large applications. John and Tiegelkamp's and Kasprzyk's books [6,7] are good sources to learn IEC programming. ST is a high level language originated from Pascal, Ada and C, especially suitable for complicated algorithms (e.g. for PID self-tuning). Equivalent code for a program written in any of the other languages can be developed in ST, but not vice versa. Hence most of engineering packages use ST as a default language for programming user function blocks. Due to such reasons it has been assumed that ST will be employed as base language in CPDev environment. In future, programs written in the other IEC languages will be converted into ST (graphic editor for FBD is being developed). 2.2. CPDev environment The CPDev environment (called also package) involves four programs shown in Fig.2. At PC side we have: CPDev compiler of ST language, CPSim software simulator, CPCon configurer of hardware resources. The programs exchange data through files in appropriate formats. The CPDev compiler generates universal code executed by virtual machine VM at the controller side. The machine operates as an interpreter. The executable code is a list of primitive instructions of the virtual machine language called VMASM assembler. VMASM is not related to any particular processor, how-

Fig. 3. Logic and hardware layers of CPDev environment. Fig.3 shows how the CPDev compiler and CPCon configurer cooperate. Separation of program compilation at the logic layer from hardware configuration at the hardware layer simplifies generation of the code for different platforms. The ST source program is compiled into universal executable code applying relative addresses defined in ST (called local addresses here). The compiler employs functions, function blocks and programs stored in libraries. Configuration of hardware resources at the second layer involves memory, input/output and communication interfaces. This includes memory types and areas, numbers and types of inputs, outputs and communication channels, physical addresses, validity flags, etc. Allocation of hardware resources has the form of a map that assigns local addresses to physical ones. Virtual machine at the target platform, given the code and hardware allocation map, is able to execute calculations.

2.3. Different hardware platforms From CPDev viewpoint hardware platforms differ in terms of hardware allocation maps and not in executable code. The code remains the same, hence it is called universal. Some diversification of binary code is possible for optimization of execution by particular processor (see Sec.7). Software deployment at different platforms is illustrated in Fig.4. Virtual machine is dedicated to a particular processor. So far the machines for AVR, MCS-51 and PC have been developed (PC machine is a part of CPSim). ARM 7 is considered as the next one. While developing the machines attention has been given to decrease time overhead for code interpretation. Similarity of the VMASM assembler to machine languages is the advantage. Indexing mechanism for instruction interpretation has been employed [3]. Articles

49


Journal of Automation, Mobile Robotics & Intelligent Systems

VOLUME 2,

N° 3

2008

Tree of the START_STOP project shown in the figure includes POU unit with the program PRG_START_STOP, five global variables from START to PUMP, task TSK_START _STOP, and two standard function blocks TON and TOF from IEC_61131 library.

Fig. 4. Software deployment at different hardware platforms.

3. User interface 3.1. Data types The CPDev compiler is able to process twenty elementary data types defined in the IEC standard [1, 6, 7]. However, only a part is needed while programming a specific device or a system. For an SMC controller presented further ten data types listed in Table 1 have been selected (the same types are used in Industrial IT 800xA DCS from ABB). The types available in particular instance of the compiler are selected by means of an XML configuration file (Sec.7). The elementary types may be used to define derived types such as alias, arrays and structures [6, 7]. Table 1. Data types for SMC programmable controller. Type BOOL INT DINT UINT REAL

Size (range)

Type

Size

WORD 2B 1B (0, 1) DWORD 4B 2B (-32768...32767) STRING variable 4B 31 31 length (-2 ... 2 -1) TIME 4B 2B (0 ... 65535) DATE_AND_TIME 8B 4B, IEEE-754 format

3.2. Program in ST language Main window of user interface in CPDev is shown in Fig.5. It consists of three areas: tree of project structure, on the left, program in ST language, center, message list, bottom.

Fig.5. User interface in CPDev environment. 50

Articles

Fig. 6. START_STOP system for control of a motor and pump (with delay of 5 seconds). The PRG_START_STOP program seen in the main area is written according to ST language rules. The first part involves declarations of instances DELAY_ON, DELAY_OFF of the blocks TON and TOF. Declarations of the global variables (EXTERNAL) are the second part, and four instructions of the program body, the third one. The instructions correspond to FBD diagram shown in Fig.6. So one can expect that certain MOTOR is turned on immediately after pressing a button START and the PUMP five seconds later. Pressing STOP or activation of an ALARM sensor triggers similar turn off sequence.

3.3. Global variables and task Global variables can be declared in CPDev either using individual windows or collectively at variable list. The list for the START_STOP project is shown in Fig.7.

Fig. 7. Global variable list for the START_STOP project. All variables have RETAIN attribute. The addresses specify directly represented variables [6, 7] and denote relative location in controller memory (keyword AT declares the address in individual window). Here these addresses are called local. As explained before, correspondence of local addresses to physical ones is defined by hardware allocation map. Variables without addresses (not used in this project) are located automatically by the compiler. Window with declaration of the TSK_START_STOP task is shown in Fig.8. A task can be executed once, cyclically or continuously (triggered immediately after completing, as in small PLCs). There is no limit on the number of programs assigned to a task, however a program can be assigned only once.


VOLUME 2,

Journal of Automation, Mobile Robotics & Intelligent Systems

N° 3

2008

The output ET (Elapsed Time) of the timer TON is the difference between current value of the system time counter read by CUR_TIME() function, and the value of local variable sTime set at the rising edge of the input IN. The output Q is set to TRUE when ET becomes equal to the input PT (Preset Time). Table 2. (a) Standard blocks from the IEC_61131 library; (b) programs of SR, R_TRIG and TON.

a)

Fig. 8. Declaration of TSK_START_STOP task. Text of the project represented by the tree is kept in an XML text file. Compilation is executed by calling Project->Build from the main menu. Messages appear in the lower area of the interface display (Fig.5). If there are no mistakes, the compiled project is stored in two files. The first one (*.xcp extension) contains universal executable code in binary format for the virtual machine. The second one (*.dcp) contains mnemonic code (Sec.7), together with some information for simulator and hardware configurer (variable names, etc.).

Bistable elements flip-flop RS flip-flop SR semaphore SEMA

Edge detectors rising R_TRIG falling F_TRIG

Counters up down up-down

Timers pulse on-delay off-delay real time clock

CTU CTD CTUD

TP TON TOF RTC

b)

4. Functions and libraries 4.1. Standard functions The CPDev compiler provides most of standard functions defined in IEC standard. Six groups of them followed by examples are listed below: type conversions: INT_TO_REAL, TIME_TO_DINT, TRUNC, numerical functions: ADD, SUB, MUL, DIV, SQRT, ABS, LN, Boolean and bit shift functions: AND, OR, NOT, SHL, ROR, selection and comparison functions: SEL, MAX, LIMIT, MUX, GE, EQ, LT, character string functions: LEN, LEFT, CONCAT, INSERT, functions of time data types: ADD, SUB, MUL, DIV (IEC uses the same names as for numerical functions). Selector SEL, limiter LIMIT and multiplexer MUX from selection and comparison group are particularly useful. Variables of any numerical type, i.e. INT, DINT, UINT and REAL (called ANY_NUM in IEC [6, 7]) are arguments in most of relevant functions.

4.2. Function block libraries Typical program in ST language is a list of function block calls, where inputs to successive blocks are outputs from previous ones (see Fig.6). So far the CPDev package provides two libraries: IEC_61131 standard library, Basic_blocks library with simple blocks supplementing the standard. Table 2a lists blocks from the first library. Source programs for three of them are presented in Table 2b. The programs for the SR flip-flop and R_TRIG rising edge detector are obvious (CLKp denotes previous value of CLK).

FUNCTION_BLOCK SR VAR_INPUT S1: BOOL; R: BOOL; END_VAR VAR_OUTPUT Q1: BOOL; END_VAR Q1 := S1 OR (NOT R AND Q1); END_FUNCTION_BLOCK

FUNCTION_BLOCK TON VAR_INPUT IN: BOOL; PT: TIME; END_VAR VAR_OUTPUT Q: BOOL; ET: TIME; END_VAR

FUNCTION_BLOCK R_TRIG VAR_INPUT

IF NOT IN THEN Q := FALSE; ET := t#0ms;

CLK: BOOL; END_VAR

ELSE IF(ET < PT) THEN

VAR_OUTPUT Q: BOOL; END_VAR

Q := FALSE; ET := ET+TASK_CYCLE; PT_x := PT;

VAR CLKp: BOOL := FALSE;

ELSE Q := TRUE;

END_VAR Q := CLK AND NOT CLKp; CLKp := CLK;

ET := PT_x; PT_x:= CUR_TIME(); END_IF

END_FUNCTION_BLOCK

END_IF END_FUNCTION_BLOCK

The second library involves blocks of Table 3 (names are dropped). They are similar to the blocks available in multifunction instruments such as PSW-166 from ZPDA Ostrów Wlkp., Sipart DR24 from Siemens or Protronic 550 from ABB. The blocks have up to four inputs and one or two outputs. The integrator and totalizer execute calculations on double precision numbers (LREAL in IEC).

Articles

51


Journal of Automation, Mobile Robotics & Intelligent Systems

Table 3. Simple blocks of Basic_Blocks library. Mathematics linear function division with non-zero divisor square root with linear origin difference amplifier integrator pseudo-random numbers Memories analog memory binary memory Signal analyzers maximum over time minimum over time

Flop-flops, pulsers D flop-flop T flip-flop JK flop-flop one cycle delay pulse duration time totalizer (integration, pulse) square wave triangle wave Filters lag filter (1st order) lead filter

The user can develop functions, function blocks and programs, and store them in his libraries. Functionality of the compiler with respect to tables and structured variables follows the IEC standard.

VOLUME 2,

N° 3

2008

So far the window of Fig.9 is used for simulation only. In future it will also be involved in on-line tests (commissioning).

6. Communication configurer CPCon 6.1. Mini-distributed system The CPCon configurer defines hardware resources for particular application. The example considered here involves mini-DCS system with SMC programmable controller, I/O modules of SM series and other devices from LUMEL Zielona Góra (Fig.1). Modbus RTU protocol is employed [8] on both sides of SMC. Fig.10 shows test realization of the system with SMC controller (on the left), SM5 binary input module (middle), and SM4 binary output module (on the right). The console with pushbuttons and LEDs (below) is used for testing. The PC runs CPDev package (and eventually SCADA). PC and SMC are connected via USB channel configured as a virtual serial port.

5. CPSim simulator The compiled project may be verified by simulation before downloading into the controller. The CPSim simulator can be used in two ways: before configuration of hardware resources (simulation of the algorithm), after configuration of the resources (simulation of the whole system). The first way involves logic layer of the CPDev environment (Fig.3). PC computer operates as virtual machine executing universal code. Simulation window (not shown) is a table with variables, their types, simulated values and local addresses. The second way requires configuration of hardware resources, so it is application dependent. In case of miniDCS of Fig.1, the CPCon configurer generates hardware allocation map (*.xcp file) that assigns local addresses to physical ones (remote) and specifies conversion of ST data formats (Table 1) into formats accepted by hardware. The objective is to bring simulation close to hardware level, so CPSim uses both the code (*.xcp) and the map (*.xmc). Simulation window of the START_STOP project is shown in Fig.9. The two faceplates on the left present values of three inputs and two outputs (TRUE is marked). The user can select faceplates, arrange them on the screen and assign variables. Simulated values can be set both in group and in individual faceplates.

Fig. 9. Simulation of the START_STOP project. 52

Articles

Fig. 10. Test set-up of mini-DCS system with SMC controller and SM I/O modules. 6.2. Functions of CPCon configurer The CPCon functions are as follows: configuration of communication between SMC and SM I/O modules, creation of file with hardware resource allocation map (*.xmc), downloading the files with executable code (*.xcp) and map (*.xmc) to the SMC. Recall that having the map the CPSim can be used in the second mode. Main window of the CPCon configurer is shown in Fig. 11. The Transmission slot sets speed, parity and stop bits for PC«SMC and SMC«SM communications. Communication task table determines what question«answer and command«acknowledgment transactions take place bet-ween SMC controller (master) and SM modules (slaves). The transactions are called communication tasks and rep-resented by the rows of the table. The DCS system is configured by filling the rows, either directly in the table or interactively through a few windows of Creator of com. tasks (bottom). The first row specifies communication between SMC and SM5 binary input module (remote). SM5 is connected to pushbuttons in the console (Fig.10), which, in case of the START_STOP project, set the variables START, STOP


VOLUME 2,

Journal of Automation, Mobile Robotics & Intelligent Systems

and ALARM (Figs.5, 6). In SMC these variables have consecutive addresses beginning from 0000 (Fig.7). SM5 places the inputs in consecutive 16-bit registers beginning from 4003. So all variables can be read in a single Modbus transaction with the code FC3 (read group of registers [8]). However, since BOOL occupies single byte in CPDev, the interface of the virtual machine has to perform 16®8 bit conversion.

N° 3

2008

contain question mark? (ST names are without question marks). Function instructions such as ADD, SUB or NOT are called directly by their names. A signature-involving name of the function and types of the arguments defines function execution. The same name, e.g. GE (greater-orequal), can be used for all types from ANY_NUM group. Functions involving internal instructions are preceded by the keyword CALF (Call Function) and address of the argument set. Table 4. Example of VMASM assembler instructions.

Fig. 11. Communication configuration of the START_STOP project. Communication tasks are handled by SMC during pauses that remain before end of the cycle, after execution of the program. Single transaction takes 10 to 30 ms, depending on speed (max. 115.2 kbit/s). If the pause is large, the task can be executed a few times. It has been assumed that the task with NORMAL priority is executed twice slower than the task with HIGH priority, and the task with LOW priority three times slower. As seen in Fig.11, the communication with SM5 module has NORMAL priority. The Timeout within which transaction must be completed is 500 ms. Second row of the Communication task table defines communication with the SM4 binary output module. SM4 controls the console LEDs. Two consecutive variables, MOTOR and PUMP, the first one with the local address 0008, are sent to SM4 by single message with the code FC16 to remote addresses beginning from 4205 (write group of registers). This time 816-bit conversion is needed.

Instructions

Meaning

Instructions

Meaning

MCD

GE

MEMCP

Constant initialization Assignment

SHL

ADD

Addition

JMP

SUB

Subtraction

JZ

AND

Logic product Negation

CONCAT

Greater or equal Bit shift to the left Unconditional jump Conditional jump String concatenation Return from function

NOT

RETURN

Depending on resources and applications, the virtual machine can handle all or only some of the twenty data types defined in IEC standard. This is determined by a library configuration file LCF (XML format), whose elements <deny-type> (of the TYPES section) eliminate unwanted data types. This makes the compiler flexible. The LCF has restricted the number of types for SMC controller to ten (Table 1). LCF files may also be used to assign different binary codes for the same VMASM instruction at different processors. This opens the way to some form of code optimisation. So by means of the LCFs one can create any number of dedicated compilers.

7. Compiler and virtual machine 7.1. VMASM assembler General task of the CPDev compiler is to transform text of the program in ST language into executable form for the virtual machine. The compiler consists of three parts that perform the following functions: scanner decomposes text of the program into tokens (lexical units), parser translates the list of tokens into mnemonic code of the VMASM assembler, code generator converts the mnemonics into executable code in binary format for the virtual machine. Examples of primitive instructions of the VMASM assembler are given in Table 4 [3]. VMASM does not involve the notion of accumulator. Data are stored in memory as constants, variables or stacks. The constants begin with the hash sign #, the labels with the colon:. For example, the instruction MCD Q, #01, #00 initialises the variable Q with one byte (#01) of zero value (#00). Names of auxiliary variables and labels created automatically during compilation of complicated expressions or IF instructions

7.2. Creating the virtual machine Main part of the virtual machine for interpretation of the universal code has been written in ANSI C, so it can be directly adapted to different processors. The machine is an automaton operating according to Fig.12.

Fig. 12. Phases of virtual machine cycle. Articles

53


VOLUME 2,

Journal of Automation, Mobile Robotics & Intelligent Systems

The task consists of programs executed consecutively. The code involves binary identifiers of instructions and operands. The machine, similarly as any real processor, maintains program counter with the index (address) to the next instruction. The machine fetches the identifier of the instruction, decodes it, fetches the operands and executes the instruction. It also triggers I/O and communication procedures (drivers) and monitors time cycle of the task. The main part of virtual machine depends on the type of the processor but does not depend on hardware solutions of particular platform. CPDev environment provides general specifications of external interfaces in the form of prototypes of I/O and communication procedures (names, types of inputs and returned outputs). The prototypes are kept in a file with *.h extension (similarly as stdio.h in C). The contents of corresponding binary file, e.g. with *.obj extension, can be written by hardware designers (as done by LUMEL for SMC controller). By linking the main part with this *.obj file the virtual machine for particular platform is created. This makes the CPDev environment open also in the hardware sense.

8. Conclusions CPDev environment for programming industrial controllers and other control-and-measurement devices according to IEC 61131-3 standard has been presented. So far only the ST language is available. The environment is universal, since the compiled code may be executed on different platforms. However, the execution must be carried out by virtual machines dedicated for particular processors. This corresponds to the concept of Java virtual machines. Hardware allocation map defines available resources. The environment is open in terms of software and hardware. The user can program external interfaces (drivers). Mini-DCS system from LUMEL is the first application of the package. One assumes that programs written in future in other languages (e.g. FBD) will be converted into ST before compilation. XML format for data exchange between languages has already been defined by PLCOpen [9]. ACKNOWLEDGMENTS Support of MNiSzW under the grant R02 058 03 is gratefully acknowledged.

AUTHORS Dariusz Rzońca, Jan Sadolewski, Andrzej Stec, Zbigniew Świder, Bartosz Trybus, Leszek Trybus* - Rzeszów University of Technology, Division of Computer Science and Control, 35-959 Rzeszów, W. Pola 2, Poland. E-mail: ltrybus@prz-rzeszow.pl * Corresponding author

References [1] [2]

54

IEC 61131-3 standard: Programmable Controllers -Part 3, Programming Languages. IEC. (2003). T. Lindholm, F. Yellim, Java Virtual Machine Specification - Second Edition, Java Software, Sun Microsystems Inc., 2004.

Articles

[3]

[4]

[5] [6]

[7] [8]

[9]

N° 3

2008

D. Rzońca, J. Sadolewski, B. Trybus, “IEC 61131-3 standard ST compiler into universal executable code”. In: Real-Time Systems. Methods and Applications, WKŁ, Warsaw, 2007, pp. 189-198 (in Polish). A. Stec, Z. Świder, L. Trybus, Functional characteristic of the prototype system for embedded systems programming. In: Real-Time Systems. Methods and Applications, WKŁ, Warsaw, 179-188 (2007) (in Polish). C# Language Specification - http://msdn2.microsoft. com/en-us/vcsharp/aa336809.aspx (November 2007). K.H. John, M. Tiegelkamp, IEC 61131-3: Programming Industrial Automation Systems. Berlin-Heidelberg, Springer-Verlag, 2001. J. Kasprzyk, Programming Industrial Controllers. WNT, Warsaw, 2006 (in Polish). Modicon MODBUS Protocol Reference Guide. MODICON, Inc., Industrial Automation Systems, Massachusetts, 1996. www.modbus.org/docs/ PI_MBUS_300.pdf XML Formats for IEC 61131-3 ver. 1.01 -Official Release. www.plcopen.org/


VOLUME 2,

Journal of Automation, Mobile Robotics & Intelligent Systems

N° 3

2008

APPLICATION OF THE INDUSTRIAL AUTOMATION STANDARDS AND METHODOLOGIES FOR RELIABLE AND CONTINUOUS EUROPEAN FOOD TRACEABILITY SYSTEM Received 23rd March; accepted 31st March.

Roman Szewczyk, Katarzyna Rzeplińska-Rykała, Wojciech Winiarski, Eckart Kramer

Abstract: Recent traceability requirements create necessity of organization of the food production process in the completely new way. This way of production organization is typical rather for large industry, than for traditional way of work at the rural areas. This fact generates tensions as well as resistance of the farmers, especially farmers working in traditional way. This paper presents new ideas of industrial application of automation standards and methodologies for reliable, robust and user-friendly food traceability system. Due to the high level of automation and application of industrial IT solutions together with multimodal data transmission, presented traceability system can be implemented in traditional food production farms and operated intuitively by personnel without specialized training. As a result application of presented system will significantly reduce tensions and resistance connected with implementation of new technologies in traditional food production farms. Keywords: food traceability, transportation monitoring, telemetry.

1. Introduction Nowadays food producers on the European Market need to fulfil very diversified requirements. These requirements are connected with quality control systems such as ISO 22000 incl. HACCP, ISO 9001/9002 and ISO 14000 [1]. Moreover, producers have to strictly follow different European Directives. It should be indicated that there are at least 17 different directives, including Directive 64/433/EEC (Fresh meat), Directive 71/118/EEC (Poultry meat), Directive 92/46/EEC (Milk and milk products) or Directive 93/43/EEC (Hygiene of foodstuffs). Moreover, producers have to also fulfil local law and standards, e.g. in Poland milk must fulfil requirements of PN-93/A-86034/03 standard. As a result food production for many European enterprises seems to be more legal and dministrative than technological problem [1]. Moreover, this problem is very important especially for SMEs – companies up to 100 employees as well as for farmers producing food in the traditional way. For example administrative and legal problems were reported as the most painful problem for „BIALUTY” Company, leading producer and exporter of potatoes from Mazovia region. As a result development of the technical solutions supporting proper application of quality standards and directives seems to be one of the most important task for engineers and quality assurance specialists [2]. These solutions are necessary to ensure competitiveness of

small and medium enterprises. Moreover in the EU new member states and candidate countries, which are recently introducing EU directives and quality standards, development of specialized IT systems for this purpose may create possibility of avoiding bad practices together with cost reduction. It should be indicated, that costs of implementation of IT solutions supporting quality management and traceability systems for SMEs may be partially covered by structural funds.

2. Integrated production monitoring and traceability system The most important idea from the point of view of system development is connected with the fact, that all quality systems and legal requirements are based on the similar data from the process of food production [1]. As a result IT system integrating data from production process and generating reports accordingly to the needs, can cover requirements of all quality systems (HACCP, ISO 9001 etc.) as well as may generate reports connected with directive's requirements. It should be indicated, that such automated production monitoring and traceability systems are widely used in large industry, especially between car and electronic equipment producers. An example of the structure of production monitoring and traceability systems for food production SME is presented in figure 1. Quality System

DATA BASE

Product Receiver

Local goverment

VACCINES FEED FERTILIZERS ETC...

SUPPLIERS

CONSUMERS

Fig. 1. General diagram of the structure of food production monitoring and traceability system in SME. Presented system has to integrate: data on input of the process, such as data about feed, fertilizers or vaccines. These data may be determined by scanned bar codes of containers with raw materials. data from the food production process, including process parameters as well as unexpected or extraArticles

55


Journal of Automation, Mobile Robotics & Intelligent Systems

ordinary events. This part of system is typical for production monitoring systems well developed in other areas of industry. data on the output of the process such as numbers and content of containers together with data of the recipients of the food. On the other hand it should be indicated, that food production monitoring and traceability system must be extremely reliable, due to the fact, that it contains very sensitive data. Malfunction or collapse of such system would lead to significant economical losses for the company, due to problems with fulfilling of the legal requirements for the production. Moreover monitoring system has to be user-friendly, because users at the rural areas have very limited IT background. This feature of the system may be provided by automatization of the system, including application of the bar-code scanners or RFIDs. Moreover, automatic system operation would reduce labour-consume and cut running costs of the SME. Third problem connected with practical application of the food production monitoring and traceability system is connected with the fact, that such system has to be very flexible, to fulfill different legal requirements and requirements of different quality systems. Moreover these requirements may be modified during the time of system operation. As a result it is necessary to ensure of the possibility of system remote servicing – to enable updates due to the changes of user needs or legal requirements.

VOLUME 2,

N° 3

2008

tructors of food production monitoring and traceability system to guarantee its optimal use. Low Power Radio transmission is based on the wellknown and reliable technologies. It is cheap, everyone can use it, there are no running costs, and transmitters are cheaper each year, user-friendly and malfunction resistant. Well known is also flexibility of the LPR transmission systems where different configurations are possible, as well as easy integration with sensor and measuring equipment. A disadvantage could be only small range of radio transmission, which is operating up to few hundred meters [3]. Service called GPRS (General Packet Radio Transmission) is a break through solution in data transmission via GSM network. The most important feature is charging not for the time of handled connection but the amount of transferred data. Next new feature is possibility of connection “one to many” instead “peer to peer“, which was only available in traditional systems. Next advantage comparing to traditional CSD (Circuit Switched Data) mode used in e.g. telephone modem connection, is avoiding a need of proceeding a long and complicated procedure for data channel establishing [4].

End-user 1 TELEPHONE

DATA AQUISITION SYSTEM

GSM

INTERNET

End-user 2

End-user 3 SATELLITE

End-user 4 FARM

Fig. 2. Simplified flow of the information in the proposed system. In figure 2 the simplified flow of the information in the proposed system is presented. Generally food production in the company is distributed on the large area. As a result so data transmission is the most important (and the most sensitive) part of food production monitoring and traceability system. To provide satisfactionary level of reliability and to reduce running costs of system operation, combined modes of data transmission have to be applied. These modes have to cover the low power radio, GSM/GPRS, Internet and satellite data transmission.

3. Data transmission modes: possibilities and threats Each mode of data transmission has it own advantages and disadvantages. These features of data transmission methods have to be considered by both users and cons56

Articles

Fig. 3. Schematic block diagram the GPRS data transmission from the remote to the cental node [4]. The above-mentioned features create new possibilities for utilization of GPRS transmission in monitoring systems where data is transmitted relatively rarely, in small amounts. Schematic block diagram the GPRS data transmission from the remote to the cental node is presented in figure 3. As it is presented, data transmission via GPRS utilizes similar technology to transmission via Internet. With GPRS, the information is split into separate but related "packets" before being transmitted and reassembled at the receiving end. Packet switching means that GPRS radio resources are used only when users are actually sending or receiving data. Rather than dedicating a radio channel to a mobile data user for a fixed period of time, the available radio resource can be concurrently shared between several users. The other advantages of GPRS data are: flexibility, not limited by distance, which is long opportunity for development of panEuropean systems, low price-transmission on 20 km costs the same as transmission on 1000 km, reliability when reaching GSM operator is possible. It should be men-


VOLUME 2,

Journal of Automation, Mobile Robotics & Intelligent Systems

tioned as an disadvantage that some rural and not urbanized areas are not covered by GSM network. Satellite communication is based on the few satellites placed on the circumeaerth orbits. Round-the clock communication between any two points on the Earth (beyond the polar area) provide three stationary satellites, located on angular distance 120° at the altitude 35 800 km. Normal transmission in case of the movable vehicles is working on the 12/12/14 GHz band [5]. Surely the advantage of the satellite data transmission is its reliability, because it is the most advanced technology in data transmission science. Figure 4 presents range of the currently working satellites. It is clearly shown that the satellite IOR covers all Europe. Europe is also partially covered by AOR-W satellite. The possible problem of such kind of applications could be only the high price of the modules as well as price for the continuous transmission. Transmission via Internet is cheap, fast and reliable from every place on the earth. It is also very easy to use for each final user because of that aggregated data can be presented on every WWW browser anywhere on the world. Main disadvantage of this way of data transmission ais necessity of the specialized infrastructure. However this disadvantage is constantly reduced due to wide application of cable-less networks such as WiFi (according to IEEE 802.11 standards) networks.

2008

Data transmission is the most important (and the most sensitive) part of food production monitoring and traceability system. To ensure its reliability and costeffectiveness, different (and combined) modes of data transmission should be carefully considered.

ACKNOWLEDGMENTS This work was partially supported by the Polish Ministry of Science and Higher Education and by German Ministry of Science and Education.

AUTHORS Roman Szewczyk*, Katarzyna Rzeplińska-Rykała and Wojciech Winiarski - at Industrial Research Institute for Automation and Measurements PIAP, Al. Jerozolimskie 202, 02-486 Warszawa, Poland. Fax: +48 22 8740209. E-mail: rszewczyk@piap.pl Eckart Kramer - Fachhochschule Eberswalde, FriedrichEbert-Straße 28, 16225 Eberswalde, Germany. E-mail: ekramer@fh-eberswalde.de. * Corresponding author

References [1]

[2]

[3] [4]

[5]

Fig. 4. INMARSAT satellite data transmission system coverage [6].

4. Conclusion Food production for many European enterprises starts to be more legal and administrative than technological problem. This problem is very important especially for SMEs. As a result the development of the technical solutions, supporting proper application of quality standards and traceability directives, seems to be one of the most important tasks to ensure competitiveness of small and medium enterprises in the EU and on the global market. All quality systems and legal requirements are based on the similar data from the process of food production. As a result IT system integrating data from production process can generate reports and cover requirements of all quality systems (HACCP, ISO 9001 etc.) as well as it may generate reports connected with directive's requirements.

N° 3

[6]

E. Kramer E., “EU Legislation for Food and Feed Hygiene, Requirements for Process Management and Traceability in Primary Production”. In: Proc. Int. Conf. “Traceability And Monitoring In Food Production”, TRACEFOOD'06, 22nd-24th February 2006, Warsaw, Poland. E. Kramer, R. Szewczyk, K. Rzeplińska, “Integrated System for Critical Parameters Monitoring of Food Storage”. In: Proc. Int. Conf. on Future of Food Engineering, 26th-28th April 2006, Warsaw, Poland. I.Tatsuo, RF Technologies for Low-Power Wireless Communications, Wiley-IEEE Press, 2001. M. Gliński, R. Szewczyk, “Utilizing of the GSM/GPRS technology in monitoring of the distributed technological networks”. In: Proc. Int. Conf. AUTOMATION'2002, 20th-22nd March 2002, Warsaw, Poland. A. Wieczyński et al., “Integration and Comparison of Mobile Radiocommunication solutions: EUTELTRACS, INMARSAT-C, - D+ and GSM for hazardous goods Monitoring over the east-west transport corridors in Europe”. In: Proc. of the Int. Conf. AUTOMATION'99, 18th-20th March 1999, Warsaw, Poland. http://broadband.in

Articles

57














Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.