Pomiary Automatyka Robotyka 1/2020

Page 1

PAR P O M I A RY • A U T O M AT Y K A • R O B O T Y K A

1/2020 ISSN 1427-9126 Indeks 339512

Cena 25,00 zł w tym 5% VAT

Technical Sciences Quarterly | Measurements Automation Robotics

W numerze:

3 5 21

Od Redakcji Mariusz Olszewski

Modern Industrial Robotics ! " !

29

35

41

# $ "

! " # $ %&

'(

) * + * * + + , -

# +

# % Informacje dla Autorów – 89 | 93 | ! 96 | """ # $ ! 97 | % 98 | &'( ) * # ) '+'+ 100


Rada Naukowa Rok 24 (2020) Nr 1(235) ISSN 1427-9126, Indeks 339512

Redaktor naczelny & '* + !

. "

.* / $ 8 !

. #

.* ! !: & '* ; < = > : ! & '* 8 ! ' .* / $ 8 ! > : ! ! !? ! ! ! & '* / > : & '* + ! > !

Korekta .* /

) / * @ /

Druk $ ! = A ! &* * * B $ CDD *

Wydawca

01 2 3 8 : ! : < / < # < FJ 01 ( X Y ! ' Z [ $ \ 01 4 5 G ! @ < G ' : ! # < ] 01 61 ' 0 B < X Y ! ' < [= \ 7 X Y ! ' : [B : !\ 01 ) 8 E F > # :! $ ! G ! : ! # : J #G # ; 01 $ 31 8 * B ! X ! " 8 Y [X \ 01 1 8 # ;!. $ ^_ ` : 01 21 4 ( * # ! < G ' # [# \ 01 2 (

" X Y ! [ \ 01 3 ( B : E 8 :& ; 6 1 ( X Y ! ' # [= \ 01 2 9 ;! $ ] # < $

E F > # :! $ ! G ! : ! H# : J #G # * : KDK DKLPQT ;

Kontakt

01 31 9 G ' + / [ \ 01 ) * * b"Y Y # ! < c B X Y ! [X \

L < # : ! : ! ! * : KDK DKLPQT ; * KK QUP DV PT W& *& *& *&

01 : ;! $ G .! ] ;!. $ @ ] ;

Pomiary Automatyka Robotyka & : : L < !: L !: ! VhhU * # VQ ! $ ` : ` * ! ! ! $! & ] ! ! H& ! & ! < & L ! < : : ! ! : *

01 : ) * + f X Y ! [; ! \

8 L < ! # : ! : ! ! ! H < @+g = < GB @j +^#@ BG+X [G+m KDVQ% Up Th\ H . H ! < . ! < & < & : ! < G B * # !$] ] ` ^ B `& :! &$ ! ! $! & H L < !: # : ! : ! ! * ; ] & ] [ ' ! ]\ & & *

)

> G ' && ! : < ! : =: g [B : !\

# /B ; & # : ! : !

! ! KD & * [ ! & : ! < ! < : $J ' : ` ! ! < pV & KDVh * & * KUhDK\* # !& ! !& ! L : ! < *

01 =

Y :! ' [ $ \

;! # : ! : ! ! > A H : < : ! hDU?#L XB?KDVh _ J / B ;!. & ! < $ _E & < ] ] `*

01 2 )+ + X Y ! [8 \

01 ; ) ;! $ G .! # " ! # < ^&

01 < , ;! $ / < ! < ! # < ]

01 8 0 4 * , G ! G ' : ! : ! ! # < ; $ 01 ; * ;

/G X Y ! / [ \ 01 41 6 b8! Y # ! < c B X Y ! [X \


# : ! : ! ! G B VPKULhVKT * KP B V?KDKD

3

Od Redakcji

5

Mariusz Olszewski Modern Industrial Robotics ; &J$ ! & :! $

21

! " !

G:& : ' @ @ Y : > + !% +# Y #

29

! " # $ %& = &< @ ' " q " +# Y #

35

'( # ' : G:& Y : ' #"+ > g/G + :: +# Y @ @ Y :

41

# $ " ) * + * * + + , - # + / + < : Lm ! < g!& ' > ' Y !

49

' $ ^.J / =$` . ! / 0 ( $ * ( % * Simulations X.! ! < & : J ! < !: ! & :

61

! = '' 1

+ " #2 G ' : ! + L+ / Y Y X & ! / Y ^

67

;$ ! $ G !

, 2 , + , 0 G ' ' < < / t / ' < ' ; ! ' G Y

75

! : " < ; # <

# * # * # * @ : ' < @t X ! ' # ' < +< ' : + / :

83

8 : ! & 8 / < $ $ ;$ ! # 2 2 + :& ' / # / < ^''L +

89

! 4 #

1


#G @ +G

93

;! Nagrody, # 0 2 8

96

8

97

8 ' v & x III 8 0 5# 8

98

;! v & x L

100 8 ' v & x 52. ( " 8 0 ( # STST

K

P

O

M

I

A

R

Y

•

A

U

T

O

M

A

T

Y

K

A

•

R

O

B

O

T

Y

K

A

NR 1 / 20 20


^ @ 8+ G

Drodzy Czytelnicy, : & `E ! naukowo-technicznego Pomiary Automatyka Robotyka w nowej $ * ; J `& :! # ! ! : ] ` ]* _:! . ! : !& _E ` ! ] ! $J & & _E : ] * .! # > & :! ! < ! $J ` ! ! * ; & : :! ` & +^#X ; ' > A ! & / B ;!. & b; & & : ! <c J !: :! $ . _ : _E & ! ] $ * <` :! & ` : &J$ ! * ; & ] !: ! :! & ! ] & ! ! ] & ` & : &J & ! $ & : ! < ! < & ! ! <* / ` ! !: & :! ! ! ! $J : ! ] _ : .! : +# Y* ; : ! ! J ] : ! _ : & ! ! < & < > : ! ] z lotnictwem. ; .] !: : & :! . _ ' > /8/ KDKD ] . ! ` ' & _ ` J : : * ; : ;! ! > F > # :! $ G ! : ! # : J #G # ; > ] & : ! numeru.

Redaktor naczelny kwartalnika Pomiary Automatyka Robotyka & '* < * .* + !

3


4

P

O

M

I

A

R

Y

A

U

T

O

M

A

T

Y

K

A

R

O

B

O

T

Y

K

A

NR 1 / 20 20


Pomiary Automatyka Robotyka, ISSN 1427-9126, R. 24, Nr 1/2020, 5–20, DOI: 10.14313/PAR_235/5

" % - % . / Mariusz Olszewski 0 6 7 ( $ 8 6 " $ - 6 ; % . / $ ; % < / =$ !)>?)? 0

Abstract: In the past decade, robots have become the basic tools for the automatization and robotization of industrial production, as they used to be in the 70s programmable controllers, in the 80s processor drive controllers, in the 90s of the twentieth century frequency controlled AC motors and in the first years of the 21st century digitization, expressed in the significant advancement and dissemination of computerization, telecommunications and internetization. This role is evidenced by further, beyond conventional robotics, extension of its application and the emergence of new hardware and software solutions oriented towards joint, by robots and human, undertaking of hitherto not rationalized production tasks. This essay is devoted to these transformations in contemporary robotics. 8 U / $ $ $ $ ( ($ % $ - % & !

1. Introduction The International Federation of Robotics (IFR) reported that globally, in 2018, the value of sales of robots increased to USD 16.5 billion, which corresponds to the use of 422,000 robots and an annual increase of 6%. In just 5 years, from 2013, the number of machines installed annually increased by as much as 135%. These values, despite the currently visible economic recession, are also to remain in 2019 and then increase until Fig. 1. Global deliveries of industrial robots (in thousands of machines, *) forecast) – IFR, 2019 2022 even at double-digit rate. At the Rys. 1. Sprzedaş robotów przemysłowych w skali świata (w tysiącach maszyn, *) prognoza) – IFR, 2019 [33, 46] same time, it should be noted that in 2018 as much as 74% of new robot applications were made in the industries of only five countries: of production processes carried in enterprises and industries China, Japan, South Korea, the USA and Germany. In this imposing the same product area, or even in regions and coungroup, however, China’s industry is by far the largest recipient tries, expressed in the number of installed machines per 10,000 of robots – in 2018, 154,000 were installed in it new machines, employees. In this competition, from the five leading countries it is also the largest user in the world – it has completed as in robotics investments, Singapore comes first with 831 machimuch as 36% of all global robotization installations in prones per 10,000 employees, ahead of South Korea, Germany and duction processes. All this confirms the aforementioned thesis Japan – the United States came in 8th place, and China only about the global importance of robotics and its place as curin 20th place. Relationship of this index with demographics rently the main tool for rationalizing production processes on and population size obvious here [46]. Polish economy with 36 a global scale [33, 46, 54]. robots per 10,000 employees are unfortunately out of this comIn the last few year the density of robotization has been petition – although companies’ problems related to the lack of adopted as a modern indicator of just technical rationalization hands to work in a similar demographic situation as Poland is today and thanks to intensive robotics investments came to the fore of economically leading countries on a regional scale and then, in terms of product quality, on a global scale [20]. 3 + U

Apart from the product and state of robotization division " # $ % & !'( and focusing on the modern state of industrial robotics, six subclasses of robot class manipulation machines can be distin3 guished [19]: % )& *! )!*+ $ % % ** !) )!)! − conventional robots that perform standard programming, control and use tasks in countless industrial applications

! since the late 1960s. It is worth recalling here that in 1968,

5


Modern Industrial Robotics Fig. 2. Density of robot applications in industrial production worldwide (the number of machines per 10,000 employees) – IFR – World Robotics, 2019 Rys. 2. Intensywność robotyzacji produkcji przemysłowej w skali świata (liczba maszyn na 10.000 pracowników) – IFR – World Robotics, 2019 [46]

the pioneering company for the development of robotics, Unimation managed to use as much as 48 robots for the first time across the world, but by assigning this date a breakthrough, symbolic beginning of the robotization era, − cooperating robots, cobots, performing tasks referred to as MRK (Men-Robots-Collaboration), − hybrid robots, for both conventional and collaborative robotics tasks, − service robots, including cobots, − multi-chain robots, with a twinarms or parallel kinematic structure, including cobots, − mobile robots performing locomotion and manipulation tasks in the area of production and intralogistics of the Industry 4.0 character.

telecommunications techniques, machine tools and tools, metallurgy, plastics and rubber processing, also packaging, beverage and food, pharmaceutical, cosmetics and medical products, wood processing, chemical, paper and printing, construction, also construction of renewable energy equipment and machinery [1, 6, 12, 16, 22, 26]. A characteristic structural solution of the mechanisms of modern industrial robots is a series structure (also called a chain) of kinematic members, performing mutually rotational movements, divided into two groups: three regional members with the structure {CR, BR1, BR2}, ensuring that the effector reaches the set position in the manipulative space machine and one, two or three local members ensuring orientation of the machine effector. This provides a total of four, five or six degrees of mobility of the mechanism and an appropriate number of degrees of freedom of the effector, so in the case of a mechanism with six members virtually any free arrangement of the effector in the working space of the machine mechanism. Restrictions on the number of mechanisms’ mobility are a consequence of the machine’s application areas proposed by the manufacturer and the desire to reduce its cost. In principle, only two kinematic solutions of the local group are used - in the case of three members they are structures: {AL1, BL, AL2} and {CL, BL, AL}, in the situation of limited

S1 : L Conventional industrial robots nowadays the most commonly used subclass of robots, which ensures robotization of machines, workstations and production processes in industries – only reminding in turn about their application importance: automotive and working machines, mechatronic and electromechanical, including household appliances, information and

a)

b)

Fig. 3. A typical mechanism of a modern industrial robot with six levels of mobility and kinematic structure {CR, BR1, BR2, AL1, BL, AL2}: a) sketch of construction, b) ABB Automation GmbH robot mechanism on a stand demonstrating cooperation with the turntable mechanism, increasing the degree mobility of a set of two handling machines Rys. 3. Typowy mechanizm współczesnego robota przemysłowego o sześciu stopniach ruchliwości i strukturze kinematycznej {CR, BR1, BR2, AL1, BL, AL2}: a) szkic budowy; b) mechanizm robota firmy ABB Automatic GmbH na stanowisku demonstrującym współpracę z mechanizmem obrotnicy powiększającym liczbę ruchliwości zestawu dwóch maszyn manipulacyjnych [12, 35]

6

P

O

M

I

A

R

Y

•

A

U

T

O

M

A

T

Y

K

A

•

R

O

B

O

T

Y

K

A

NR 1 / 20 20


Mariusz Olszewski Fig. 5. M-2000A / 2300L robot with a load capacity of 2300 kg and an unladen weight of 11,000 kg of Fanuc Deutschland GmbH, based on global linear motion guides (7. mobility level) of the Swiss company Güdel Group AG Rys. 5. Robot M-2000A/2300L o obciążalności 2300 kg i masie własnej 11 tys. kg firmy Fanuc Deutschland GmbH, osadzony na prowadnicach globalnego ruchu liniowego (7. stopień ruchliwości) szwajcarskiej firmy Güdel Group AG [42, 45]

mobility of the mechanism, the last element before the effector is the AL member rule, ensuring rotation of the effector on the structural axis of this member and most often on the structural axis also of the third, last before the local group, regional member, i.e. BR2. This makes it easier for the machine operator to program the effector’s trajectory, more precisely the current location of the tool’s central point, i.e. TCP (Tool Center Point) and the effector’s approach vector to the object of manipulation or machining. Since the end of the 1990s, the use of AC electric servo motors has been popularizing in the construction of industrial robot mechanisms – thanks to the introduction of new neodymium magnetic materials – hence the absolute advantage of rotational motion and given kinematic structures. Electric but

Fig. 4. Modern version of the SCARA robot mechanism, manufactured by Epson Europe B.V., used in the process of checking the implementation and selection of spring Rys, 4. Współczesna wersja mechanizmu robota SCARA, produkcji firmy Epson Europe B.V., zastosowanego w procesie kontroli wykonania i selekcji sprężyn [12, 41]

direct-current (DC) servo drives were used in robotics for the first time in 1974 by the Swedish company ASEA, earlier exclusively and still later, above 60 kg load capacity, electrohydraulic servo and motor servo drives were used. Their advantage was very high, especially hydraulic motors, energy efficiency in relation to the mass and volume of the engine, hence it was possible to attach to each component of the mechanism its own drive. Despite the indisputable utility and energy advantages of AC servo motors, their lower energy efficiency and corresponding higher mass and volume are forcing manufacturers to a different way of driving local members. They are placed on the last regional member (BR2) in front of the local group, and the transfer of movement through the length of this member and other local members, e.g. to the AL member, must be provided by shaft and toothed belt gears [26, 34]. We should also mention the drive of the first member (CR) of the described kinematic structure – in classic solutions it was a drive located in the foundation of the machine mechanism, and thus requiring the hollow of the ground or raising the mechanism above the needs of its actions, which sometimes caused problems with placing the mechanism e.g. on walls or posts of the production hall. Therefore, some modern manufacturers suggest reversing this design: the drive is mounted on this element, which facilitates applications, but by increasing the load on the element, it forces the machine to use more energy. Linear motion drives have practically ceased to be used in the construction of conventional industrial robot mechanisms – a certain exception is the use of various types of global motion drives along the lines of supported production machines. The only regional mechanism, but used only for the tasks of operating machine tools as well as injection and foundry machines, is the SCARA (Selective Compliance Assembly Robot Arm or Selective Compliance Articulated Robot Arm) robot mechanism known since 1981 [18], with three or less often four degrees of mobility and structures {CR1, CR2, ZL} or {CR1, CR2, ZR, AL} or also {ZR, CR1, CR2, AL} – here a single, local or regional linear movement along the Z axis is needed providing such just the effect of the effector serving these production machines. A clear trend of recent years is the extension of the load capacity and geometric extent of industrial robot mechanisms. While in classic solutions of the previous decades,

7


Modern Industrial Robotics

Fig. 6. Non-contact, but graphically supported and based on the operator’s hand movements, programming and control of the mechanism of a robot with a parallel, open structure, IBG Automation GmbH, equipped with a gripper Co-act, holding Schunk GmbH & Co. KG Rys. 6. Bezdotykowe, ale wspomagane graficznie i oparte na ruchach dłoni operatorki, programowanie i sterowanie mechanizmu robota o strukturze równoległej, otwartej, firmy IBG Automation GmbH, wyposażonego w chwytak linii Co-act holdingu Schunk GmbH & Co. KG [19, 50]

the permissible mass loads were – on average – in the area from 6 kg to 60 kg, now the upper load capacity is already 100 kg, and the largest load capacity, 2300 kg, has the Fanuc-M-2000A/2300L robot Deutschland GmbH weighing 11 tons, 6 degrees of mobility, repeatability of the TCP point position ±0.18 mm and a range of movement over 3.7 m. Even greater range, over 4.6 m, with a slightly lower load capacity, 1700 kg, has its neighbor in the Fanuc heavy machinery family: the M-2000A/1700L robot [42]. Contrary to popular belief, this tendency favors the needs of a number of industries relevant to the economy. Examples of application fields are the automotive industry, including service and repair of cars without the need for hydraulic ducts and lifts, metallurgy (foundries) and machinery (rail, ship, air transport, machining machinery, service and coupling of the stamping press and forge) without the need for time-consuming use of gantries, tire industry, mining industry (quarries), etc. At the other end of the scale of permissible loads are miniature robots with very low load capacity – it is assumed for this class of machines as a limitation of 1 kg capacity. An example of such a compact machine with a miniature mechanism is the MotoMINI robot from YASKAWA Europe GmbH [56] with a load capacity of 500 g, 6 degrees of mobility, repeatability of the TCP position ±0.03 mm and a range of motion not exceeding 350 mm. The robot is equipped with the Motoman YRC1000micro controller, developed especially for such small machines. Just a few kilograms weight and the compact dimensions of MotoMINI make it easy to set up the robot in different, changing places in the production line. Conventional industrial robots are programmed by teaching the desired machine effector motions by the machine operator – two modes, used yet in the 1960s, are used [16, 18]: − point programming (multi-point teach-in programming, MP), also called simple programming. An indispensable device for teaching a simple manipulation machine is a controller or a programming or teaching panel (teach panel), which serves the machine operator to induce the desired movement of individual members by manually controlled servo drives of the mechanism and as a result of this change of shape and location of the TCP point effector and then, in the memory of the robot controller, the machine coordinate values determining the mutual relations of the mechanism members measured by rotary position transducers, e.g. encoders, − follow-up programming (play-back programming or on-line programming), also called programming by predicting the

8

P

O

M

I

A

R

Y

A

U

T

O

M

planned motion trajectory. This concept, given in 1968, was derived from the observation of two facts: manual performance of certain technological activities by an experienced employee who can successfully meet the technological requirements of the robotized process and the possibility of using this experience to program the movement of the robot mechanism by manual effector/embedded tool on the mechanism, by the same employee, directly by hand or using a 3D joystick or control stick, allowing for remote forcing the spatial movement of a TCP point and also a corresponding change in the shape of the robot mechanism along with the current storage of current values of mutual positions (machine coordinates) of the mechanism members, − and the third mode – given at the end of the 1980s and gradually spreading since the turn of the century, during a period of rapid digitization and computerization, i.e. − computer-aided programming (off-line programming) implemented as: • graphic programming (called virtual reality-programming or VR-Programming), based on a computer simulation image of a production station with embedded robot mechanism and a variant application of one of the above-mentioned programming methods, • reverse or computer programming (computer aided design-programming or CAD-programming), using the well-known CAD documentation for the produced object of the robot tool trajectory path or its manipulation and computer path calculating the values of machine coordinates on this basis using the extent and geometric shape of the mechanism members and equations describing the dependence of machine coordinates on the location of the TCP point in the common base system of the real and virtually existing in the CAD space of the robot mechanism. It is a reversal of simple programming – in it manually setting machine coordinate values of the real or virtual machine mechanism in the manner described - calculation by the computer program of these values, and thus a reversal of simple programming, hence the good name in Polish. Manufacturers of modern industrial robots have adopted, as a dominant principle, to provide the user with the use of two programming modes: the basic is computer-aided programming, currently most often in reverse and complementary – as simple programming. It mainly serves the robot operator during the start-up phase of the robotic station or production machine, allowing for correction and supplementing of missing effector transitions in computer implementation [1, 27, 28, 40, 54]. A

T

Y

K

A

R

O

B

O

T

Y

K

A

NR 1 / 20 20


Mariusz Olszewski

Fig. 7. Cooperation between the cobot from Fanuc Deutschland GmbH company and employees at the control and demonstration assembly stand Rys. 7. Współpraca kobota firmy Fanuc Fanuc Deutschland GmbH i pracownicy na demonstracyjnym stanowisku kontrolnym i montaşowym [42]

V1 : L Cobots – cooperative or collaborative robots (hence the word cluster), are constructed for direct cooperation with the human-operator and human-worker (hence the very good Polish name: „roboty współpracujące� → cooperating robots), supporting robotic stations, devices, machines and production lines [23, 31]. The first machines of this subclass of robots were created in 1996 at the University of Northwestern in Illnois for Intelligent Assist Devices for moving heavy loads in spaces requiring human presence and directing their movement. The essence of the application of cobots is the removal from the production space of both devices protecting against accidents caused by human collisions with conventional handling machines, as well as the removal of closed areas, intended only for the use of these machines, completely separated from the presence of man. The increase in interest in cobots, seen in the last few years, is due to two reasons. The first is the conventional robotization of industry that accelerates equally dynamically, in these years, and the investors’ willingness to reduce costs resulting from unused space for production purposes and from the introduction of additional safety devices unnecessary in production. The second, even more important, proved to be proven in industrial practice necessary presence of employees in most robotized production processes and not only for the maintenance (operational and service) of the handling machines themselves, but primarily for technological reasons. Nowadays, there is already the hypothetical possibility of robotizing any, even low-series production process, but the cost of such investment and the time of its amortization are incomparably large, simply unacceptable nowadays, in relation to the implementation of the same process involving manual work. This may apply only to some of the executive positions, but also in this case the presence of cobots or conventional robots and with cobotic behavior throughout the entire production process is desirable, for reasons of work safety of people employed therein even at other conventionally robotic positions. The above-mentioned verbal interest in cobots does not yet translate into equally clear use of these machines in practice. In 2018, according to IFR, among 422,000 global machines installed, cobots are only 11,000 machines, i.e. in percentage terms 3.2% of all installed handling machines [46, 54]. Nevertheless, a clear increase in the number of these machines is expected in the near future, not only in industry, but in areas such as surgery and the service of people with this kind of care [24].

 The essence of the construction of cobots is to bring the structure, drives, sensors and control of the machine mechanism closer to the limited movement possibilities of the arm/ arms of the man and his specifically bionic sensoric and current capabilities, both kinematic and kinetic. Unlike conventional robots, usually made of extruded or metallurgical profiles, with measuring elements and drive assemblies mounted outside, the elements of the cobot mechanism are made of shell, plastic or metallic fittings hiding all necessary elements and load-bearing assemblies (if there is a need to stiffen the outer shells) and executive motion, from sensors, through motors, gears, connection axis construction to power, signal and network cables. In this new, anthropomorphic or bionic way, the desired geometry, structure and rigidity of the cobot’s kinematic chain are provided. At the same time, the smooth, round, often soft (through the outer material or plastic lining) chain of the machine mechanism meets most of the desirable human requirements for contact of his body and arms with a “foreignâ€? object. Hence the almost indistinguishable similarities in the appearance of cobots in the catalogs of manufacturing companies.

Fig. 8. Programming the trajectory of the cobot effector motion by teaching, consisting in forcing the movement (as the author does with your hand) of one of the mechanism members and through this movement changing the shape of the mechanism and the location of the TCP point Rys. 8. Programowanie trajektorii ruchu efektora kobota przez nauczanie, polegające na wymuszeniu ruchu (jak czyni to autor dłonią) jednego z członów mechanizmu i przez ten ruch zmiany kształtu mechanizmu i połoşenia punktu TCP [19]

9


Modern Industrial Robotics In the area of motion and control parameters, cobots differ significantly from conventional robots – the main differences relate to the fulfillment of the mentioned requirements for safe, ergonomically consistent cooperation with humans – of course, and to the values of motion parameters, mechanism weight, its lifting capacity and positioning repeatability, also for machine prices. Averaging – this is expressed in the reception: − limited linear motion speed of mechanism and effector members, maximum values in non-collaborative mode do not exceed 1 m/s, in collaborative mode they are several times lower and depend on the speed of movement of the operator’s arm and hand, − equally limited speed of the effector rotation, maximum values in non-collaborative mode do not exceed 135–400°/s, in collaborative mode they depend – as above – only on the operator, − very small, compared to conventional machines, unit masses and load capacity (kinematic chain load capacity) machines, taking into account ergonomically acceptable loads for a person, which depend on the applications adopted and the type of work expended by a man – these are values or definitely less than 10 kg (e.g. 4 kg capacity), or with a slightly increased range of 10–20 kg (e.g. 14 kg), − allowing displacement by the operator of the entire, nonfunded mechanism in relation not only to a given position, but also to several positions of the production line – hence the mass of the mechanism must take into account the ergonomics of the load imposed on the movement of people moving or moving this mechanism – this mass usually does not exceed 30 kg, − the effective range of the effector’s movement to the ergonomically recommended spaces for human movement, sitting or standing at the stand, i.e. from 400 mm to 800 mm, − repeatability of positioning of movements programmed by the movement of a human hand - this value can be even within ±0.15 mm, however, it is usually higher, even by an order of magnitude, − programming the effector trajectory by teaching, consisting in manually guiding and setting selected members or the effector and thus changing the shape of the mechanism and the position of the TCP point with it – this is the most cobotic way of programming these machines, − prices of cobots, currently higher than conventional machines with similar performance parameters, from 40,000 USD up to 70,000 USD – weighs here extensive sensor and specifically “soft” mechanism construction. It is assumed that when considering using the offer of cobots on the Polish market, you need to prepare for an expenditure of 100,000 PLN. Requirements for safe human cooperation with the Men-Robots-Collaboration machine are specified in the ISO/TS 15066 standard (Robots and Robotic Devices – Collaborative Robots) – these are four permitted situations of mutual contact, i.e. cooperation or collaboration [12, 34, 40, 54]: − situation 1: some detention; the cobot (or hybrid robot) mechanism stops when a person enters (even slipping a hand) into the machine’s working space, − situation 2: handling with the hand; after activating the safe operation switch (otherwise the mechanism is stopped), it is possible to operate the mechanism with a human hand after determining the appropriate force (moment) measured with the sensor, affecting the mechanism, − situation 3: speed and distance control, the machine’s working space is divided into several zones, detected overrun (e.g. by a laser scanner), the first, outer zone reduces the speed of movement, exceeding subsequent zones – further reduction of its value, exceeding the proper working space of the machine – complete stop of the movement of the mechanism,

10

P

O

M

I

A

R

Y

A

U

T

O

M

Fig. 9. BionicCobot of Festo AG & KG holding with pneumotronic vane servo motors: three control buttons (programming, stopping, starting the program) and a virtual display of the behavior and programming of the cobot mechanism are visible Rys. 9. BionicCobot holdingu Festo AG & KG z pneumotronicznymi serwosilnikami łopatkowymi: widoczne trzy przyciski sterowania (programowania, zatrzymania, startu programu) oraz ekran wirtualnej prezentacji zachowań i programowania mechanizmu kobota [19, 43]

− situation 4: reduction of strength and energy expenditure; given in the Technical Specification (TS) description of this situation: the maximum values of forces (moments) or energy expended by the mechanism, after their initiation, are impassable values. A particularly interesting solution belonging to this group of robots is BionicCobot (Festo Vertrieb GmbH & Co. KG) [29, 30, 43]. A solution already known in 2017, but still awe-inspiring with a huge number of problems that have been successfully solved. The robot mechanism and its geometrical expanses perfectly meet the ergonomic requirements of the human figure, including its speed, acceleration and load parameters. It is possible to program its movements with all three of the aforementioned methods used in conventional, onand off-line robotics, it is especially convenient to program by teaching that meets the requirements of collaboration by operating the mechanism by hand (Method 2). This was achieved by the consistent application of a pneumotronic servo drive using vane rotary actuators. Thanks to this, the mechanism is “soft”, it is carried out smoothly by hand, position and trajectory setting is very easy, when parked, it does not consume energy, the forces implemented correspond to those known from drive pneumatics (supply pressure 6 bar). However, this is definitely the most difficult, referring to the solutions of robots with electric drives, type of positioning drive (in the margins A

T

Y

K

A

R

O

B

O

T

Y

K

A

NR 1 / 20 20


Mariusz Olszewski of the pneumotronics problem: it was solved for the Festo company at the Institute of Automatic Control and Robotics of the Warsaw University of Technology in the turn of the 20th and 21st centuries [13]). The perfect complement to the mechanisms of cobots is proposed by the holding Schunk GmbH & Co. KG, Co-act effectors family. It consists of four gripper effectors, the most advanced Co-act JL1 has [50]: − capacitive proximity sensors for collision situations, − cown touch screen enabling communication of the effector with the employee-partner of the cobot, teaching the effector involves showing the effector the object being captured and switching the effector modes of operation, − a video camera placed between the fingers of the gripper to identify the object being captured, − two types of gripping: scissor and vise (parallel), − the ability to set the desired gripping force, − tactile sensors distinguishing between the object being captured and the human-partner’s hand, − optical notification of the “human” partner about the effector’s work status and identification of the object being captured. The basic ways of programming cobots are basically identical to the programming modes of conventional robots. As a good example, you can take the rules adopted by the undoubted leader in the market of cobotics, the Danish company Universal Robots A/S. Namely, the company has set the mechanisms ease of use and programming of their movements. The software uses the Linux system, simplifying programming and, above all, reducing the training time of operators and employees, which works great in the case of point motion path design programs, worse in the case of cooperation with external devices and systems, based on data exchange. Understanding these difficulties, the company established close cooperation with manufacturers of external devices, i.e. effectors, sensors and actuators, as well as cooperation with software producers. Therefore, the UR+ platform has been built into the company’s system, allowing the integration of its own UR system with third-party devices and software.

As the tab-windows of the UR cobot program were adopted [52]: − startup screen, split into two windows: the program allows you to select various functions and modes of programming and dialog programming commands the position of the TCP trajectory, − Move tab used to change the shape of the mechanism and change the resulting location of its TCP point – three modes are implemented here: • Move Tool – used to perform the basic task of the bookmark, i.e. setting the TCP in the machine workspace by moving selected members, • Move Joints – used to cause the movement of only one member of the mechanism, taking into account its limitations of geometric extent, • Freedrive – used for cobotic programming of the shape of the mechanism using the hand/hand of the operator or employee. This programming method is permitted for robots with a load capacity of 3 kg and 5 kg, for a robot with a load capacity of 10 kg (UR10), this movement should be allowed by pressing the motion enable button on the back of the programming panel (analogous to conventional robot programming panels), − Graphics tab – visualizing the programmed trajectory of the mechanism’s movement, − Structure tab – allowing you to modify the designed program and add other functionalities to it by copying, cutting, pasting and disabling currently unnecessary parts of the program, − Installation tab – implementing program settings, including input/output interfaces, security, and network protocols Profinet, − The tab I/O – preview of inputs and outputs of the robot controller. In addition to the fourth collaborative situation approved by the manufacturer and compliant with the ISO/TS 15066 standard, the application of cobots from Univeral Robots also meets the requirements of the TÜV (German,

Fig. 10. UR10 cobots company Universal Robots A/S (mechanism with six degrees of mobility, load capacity of 10 kg, 30 kg curb weight, range 1300 mm and repeatability of TCP positions ±0.1 mm) at a demonstration stand for box-assembly containing ordered products in shape cavities Rys. 10. Koboty UR10 firmy Universal Robots A/S (mechanizm o sześciu stopniach ruchliwości, udźwigu 10 kg, masie własnej 30 kg, zasięgu 1300 mm i powtarzalności pozycji TCP ±0,1 mm) na demonstracyjnym stanowisku kompletacji pudełek-skrzynek mieszczących uporządkowane produkty w zagłębieniach kształtowych [52]

11


Modern Industrial Robotics

Technischer Ăœberwachungsverein) certificate confirming the compliance of generally understood safe work of man and machine with the EN ISO 13849-1: 2008 standard, later replaced by the EN ISO 13849-1: 2016-02 standard and its Polish equivalent (Machine Safety – Elements of the Safety Related Control System – Part 1: General Design Principles) [54].

according to the 4th situation of MRK. The robot was equipped with sensory supervision of forces and moments in all six degrees of mobility of the mechanism. It is also possible to use a cobotic gripper effector or a specialized tool effector with MRK properties. MRK hybrid modification requirements may also apply to cobots - e.g. to use, in addition to a company-equipped cobot with its specific sensory, processor and actuator accessories, in addition to a safety scanner that allows the cobot to work at speeds greater than collaborative in a situation where it’s the scanned environment does not contain any unexpected object during programming. In practice, this should be understood as the division of the work space of the cobot, resulting from its kinematic structure and geometrical extent of its members, into two zones: − an operating zone in which a cobot can behave like a conventional robot and − to the collaboration zone where the employee may be and the cobot must meet the mentioned specific requirements of the adopted, for example 4th collaboration situation. Therefore, when preparing a cobotic or hybrid application, the following threats should be identified, in accordance with the requirements of ISO 10218-2: 2011 (Robots and Robotic Devices – Safety Requirements for Industrial Robots – Part 2: Robot Systems and Integration) [40, 54]: − threats related to the robotic mechanism: • functional parameters of the mechanism: kinematic structure, geometrical mass and extensions, velocities and accelerations of motion of members and effector, generated by force drives and moments, affecting the emergence of human hazards, • the possibility of quasi-static contact with the human body, • mutual arrangement of workplaces: man and robot, − threats related to the equipment of the robot mechanism: • effectors, non-ergonomic construction solutions of grippers and tools, e.g. the possibility of dropping the transferred element, sharp edges of this element, etc., • the possibility of pressing the human body during the program, • construction and location of programming and control panels, e.g. the possibility of accidentally starting or stopping the robot mechanism, • construction and placement of other machines in the immediate vicinity of the robotic human and robot workplace, − threats resulting from a given robot application: • the surroundings of the human and robot workplace, e.g. temperature, noise, dustiness, • availability of special human protective equipment, • non-ergonomically designed trajectory of the robot effector motion. In addition, it is appropriate to determine the risk of hazards caused by the presence of human-operator or human-employee in the operational and collaborative zone of the robot: − the frequency and duration of human stay in the collaborative zone, − frequency and duration of direct contact between man and robot, − the nature of the transitions between the operational and collaboration zone, − the nature of resetting the robot’s work system: automatic or manual, − the necessary number of employees in the collaboration zone: one or more employees and in what capacity, − non-collaborative tasks forcing people to enter this zone.

X1 ' L : L Already from the requirements set out in the previous point for the cobots it follows that from the point of view of the industrial robotics user there should be such a variety of robots or cobots that meets the double application requirements associated with the already mentioned problem of their presence throughout the production line. Namely, the relatively high cost of cobots, reduced movement speeds, reduced parameters of the working space and reduced load capacity, tend to make robotization applicants use non-robotized robots with conventional properties, higher movement speeds and lower prices. This is how a variety of manipulative machines called hybrid robots was created, combining (almost) conventional prices and performance with the requirements of MRK. These properties are limited, however, usually only to one selected collaborative situation according to ISO/TS 15066. A good example of such a hybrid robot is Motoman HC10 from YASKAWA Europe GmbH with a motion distance of 1.2 m and a load capacity of 10 kg (HC is of course Human Collaborative) [56]. This robot is designed for both standard, conventional and collaborative applications, which provides it with a slightly modified implementation of cobotic security

Fig. 11. Motoman HC10 hybrid robot from YASKAWA Europe GmbH with an application-adapted, specialized effector-tool, construction from StÜger Automation GmbH Rys. 11. Robot hybrydowy Motoman HC10 firmy YASKAWA Europe GmbH z dostosowanym do aplikacji, specjalizowanym efektorem-narzędziem konstrukcji firmy StÜger Automation GmbH [56]

12

P

O

M

I

A

R

Y

•

A

U

T

O

M

A

T

Y

K

A

•

R

O

B

O

T

Y

K

A

NR 1 / 20 20


Mariusz Olszewski

Y1 ) : L Another large group of modern robots characterized not so much by servicing and servicing machines, stations, lines, systems and industrial processes, but above all by supporting and servicing us, people in specific life situations, from servicing the apartment and performing everyday activities, to servicing patients hospital departments, including surgical, rehabilitation and laboratory rooms, to support chronically ill, crippled or infirm people as well as medical and nursing staff who look after these people in nursing homes, retirement homes, and retirement homes, especially in hospices. Service robots also in the mentioned industrial applications have quite specific tasks of supporting employees performing these tasks manually, without any machine support. A good example are reports from the Korean holding company Doosan Robotics Inc. on the application of service robots at car preparation stations provided by the manufacturer to the developer for further shipment or direct pickup by the customer [39]. In this case, of course, they must be hybrid service robots with

clearly assigned cobotic behaviors. These service works are programmed cobotically by the employee servicing the service station and in relation to a series of several or a dozen serviced car bodies moved and set manually by the employee servicing the employee in specific places around the car body, started – by performing already previously programmed tasks such as setting the customer’s choice wheels and tires, recognizing the location of their mounting bolts and checking their tightening torque, checking the correct mounting of the side mirrors and their operation, installing the correct license plates, cleaning and polishing the paint, etc. In the second, even more interesting to us, people, service area, a very interesting solution in the group of service robots is the Lio mobile cobot proposed by the Swiss company F&P Robotics AG to serve us as a partner, as the other person, in all of the above-mentioned activities and tasks, in which we require direct contact with the other person: a doctor, a nurse, a physiotherapist, and thus serve as a personal service robot or more properly personal, serviceable [44]. Lio is a mobile machine with the P-Rob cobot mechanism moun-

Fig. 12. Service works of the Korean Doosan Robotics Inc. holding: robotized car preparation stand for pickup by the customer: wheel replacement, number setting, paint cleaning and polishing, windows, headlights, mirrors and other body parts Rys. 12. Roboty serwisowe koreańskiej holdingu Doosan Robotics Inc.: zrobotyzowane stanowisko przygotowania samochodu do odbioru przez klienta: wymiana kół, załoşenie numerów, czyszczenie i polerowanie lakieru, szyb, reflektorów, lusterek i innych elementów karoserii [19, 39]

Fig. 13. Service works on the cobotic properties of the Swiss company F&P Robotics AG: a) Lio mobile personal cobot, b) Industrial service robots P-Rob, cobot in the foreground with the gripper of the Schunk GmbH & Co. KG Rys. 13. Roboty serwisowe o właściwościach kobotycznych szwajcarskiej firmy F&P Robotics AG: a) mobilny kobot osobisty Lio, b) przemysłowe roboty serwisowe P-Rob, kobot na pierwszym planie z chwytakiem holdingu Schunk GmbH & Co. KG [12, 44]

a)

b)

13


Modern Industrial Robotics

Fig. 14. The cobotic service robot LBR-iiwa of the KUKA AG holding used in the architectural design DIANA (Dynamic Interactive Robotic Assistant for Novel Applications) for the assembly of irregularly positioned wooden architectural elements in the workspace Rys. 14. Kobotyczny robot serwisowy LBR-iiwa holdingu KUKA AG wykorzystany w projekcie architektonicznym DIANA (Dynamic Interactive Robotic Assistant for Novel Applications) do montaĹźu nieregularnie ustawionych w przestrzeni roboczej drewnianych elementĂłw architektronicznych [21, 49]

Z1 ( [ * : L

ted on a mobile platform. This integrated chassis and handling mechanism, protected by a soft lining, is designed to encourage direct contact with it. It can be programmed by teaching various, even complex activities necessary to perform in our, how strongly changing environment. A two-arm version with two parallel open chains of P-Rob mechanisms, already with clear humanoid features, is also being prepared at F&P Robotics. Another project of the F&P Robotics company is cobot Lio as a partner of nursing staff during blood sampling, performing injections as Robot Assistant for Nurses [34, 44]. And one more example, at the opposite end of the area of service applications discussed so far. The DIANA project (Dynamic Interactive Robotic Assistant for Novel Applications) assumed the use of a cobotic service robot for assembling irregularly positioned wooden elements. The assumed geometry and this building material required the use of assembly technique enabling dynamic detection and response of the tool to numerous deviations from the assumed dimension [21]. In the process of project implementation, a KUKA production robot – LBR-iiwa, with seven levels of mobility of the kinematic mechanism was used, which is distinguished by the fact that for each axis of movement during its operation, the torque generated by it is measured. Torque sensors were introduced in order to enable safe cooperation of the robot with a human and giving way to the robot mechanism in front of the encountered obstacle after reaching the set, safe moment and programming the mechanism movement by teaching, using the manual method of the robot effector by the employee. In the DIANA project, these sensors were also used during assembly to detect inaccuracies in the execution of the elements and the process of their joining so as to compensate for the large inaccuracies of architectural designs on construction sites [2, 3, 7]. The DIANA project has become an important step to implement the assumptions of Industrial Transformation 4.0 into the assembly processes of architectronical elements on construction sites [3].

14

P

O

M

I

A

R

Y

•

A

U

T

O

M

Apart from the attempts at industrial humanoid solutions, multi-chain robotics in modern versions uses mechanisms with parallel kinematic structures that can be divided into two groups of solutions [9, 10, 32]: − robots with mechanisms with two parallel, open kinematic chains, with clear anthropomorphic features, which is why they are most often called two-armed or twinarms robots, − robots with mechanisms of two (dipods), three (tripods), generally several, e.g. six (hexapods), closed so-called Stewart platform, kinematic chains, often referred to as parallel robots. Two-armed robots are still treated as innovative, effective, but also effective due to the possibility of introducing and checking the advanced control of the arm and/or hand movement of the operator or employee, using augmented reality (AR) and intelligent sensory gloves or smart work gloves. These solutions are already present in the commercial programs of several manufacturing companies, including those with selected cobotic properties (MRK). The application of this subclass of handling machines is primarily assembly, usually involving both hands of the employee, replaced by two parallel kinematic chains of identical construction. For this reason, the geometrical parameters of these robots are, as described in the cobots, ergonomically adapted to the figure, mutual position and extent of human arms, as well as their kinematic parameters: speed and acceleration and load parameters. In the construction of two-armed robots and cobots, manufacturers use their machines with one serial kinematic chain, duplicating this chain in two copies connected by a kind of platform, also known for the construction of manipulation machines with parallel structures such as dipods and tripods, but with an inverted mounting position. This can vary in performance even within products of one manufacturer, as well as proprietary designs but combined with third-party effectors. Especially scientific and research centers and institutions dealing with model performances A

T

Y

K

A

•

R

O

B

O

T

Y

K

A

NR 1 / 20 20


Mariusz Olszewski related to new effector solutions usually use machines from other companies, attaching their own studies to them. A great example of such a solution, well made and already having the first applications behind it, is the Yumi cobot from ABB Automation GmbH [35]. The machine weighs 38 kg and can handle an object weighing up to 500 g loading each of the arms. It was used in a company producing furniture hinges. It consists of two elements, which must be properly superimposed and then put together, without changing their mutual position, under two automatic screwdrivers. The assembly process ends with quality control. Here, the two-armed Yumi cobot with a video camera used in the gripper, analogously used as in the case of the already described Co-act JL1 gripper from Schunk [50], identifying the mutual position of the connected elements and checking the correctness of their connection by comparing the made hinge with the stored reference image of a well-made element. The advantage of the Yumi cobot is the possibility of using this two-arm robotization in other positions (low curb weight) and intuitive programming, through teaching, which does not require long training of the employees of the department of the applying company. The construction of closed kinematic chains was initiated in 1947 by E.V. Gough, initially building a research stand and carrying it out professionally in 1955. It was an extremely interesting period of time when technical solutions emerged,

Fig. 16. The use of augmented reality and at the same time anthropomorphic, sensory glove (on the right hand) for intelligent programming of a two-armed cobot with a ten-finger gripper, Deutsches Zentrum für Luft- und Raumfahrt e.V. (DLR) Rys. 16. Zastosowanie rozszerzonej rzeczywistości i równocześnie antropomorficznej, sensorycznej rękawicy (na prawej dłoni) do inteligentnego programowania dwuramiennego kobota z dziesięciopalcowym chwytakiem, Deutsches Zentrum für Luft- und Raumfahrt e.V. (DLR) [19, 38]

a)

b)

Fig. 15. Two-armed robots of the ABB Automation GmbH company with various structures and execution of platforms connecting kinematic chains of “arms”: a) with the cobotic effector of the Schunk GmbH & Co. KG, b) with ABB effector–gripper Rys. 15. Roboty dwuramienne firmy ABB Automation GmbH o różnej strukturze i wykonaniu platform łączących łańcuchy kinematyczne „ramion”: a) z efektorem kobotycznym holdingu Schunk GmbH & Co. KG, b) z efektorem–chwytakiem ABB [12, 35, 50]

which were crucial for the future development of the machine industry. In 1948, Bill Moog builds the first electrohydraulic servo valve, thanks to which the production of numerically controlled (NC) machine tools could be started from 1954, and in the same year the first, patented, programmable industrial robot designed by G. Devol is created, and the aforementioned year appears Gough hexapod design with electrohydraulic servo drive [11, 26. 27]. However, interest in the idea of Gough’s parallel mechanism is suppressed in the 1960s by the first successes of industrial applications of serial robot mechanisms, already performed by J. Engelberger. Interest in Gough’s idea sustains D. Stewart’s analogous study, also hexapod, and also with hydraulic drive, described in 1966. And again it shifts to the margin of robotics by introducing electric drive and processor control in industrial robots in 1974 by the Swedish group ASEA [18, 20]. It wasn’t until the late 1980s and the 1990s that the twentieth century was ending that there was interest in parallel mechanisms. This time in a dipod or more often tripod design, with three kinematic chains articulated (class III connections) with a connector, called Stewart’s platform in robotics slang. An effector was mounted in series to this platform and two or more kinematic members were mounted on it, increasing the total mobility to four or five degrees of mobility. Initially, pneumatic, piston rod and rodless cylinders servo-controlled were used as drives, since the first decade of the 21st century electric servo drives have been gradually becoming more common. At this point it is worth mentioning and this applies to all of the described robotics, about technological changes, also affecting the area of machine and robot propulsion and causing in the last several years evolutionary, but now a very clear departure from propulsion solutions related to pneumatics [13]. The 50s, 60s and 70s of the last century, when pneumatics became the basic, practically the only means of automating production processes, were the period of uniquely intensive development of control and drive pneumatics. However, as early as the 1980s and 1990s, pneumatic information acquisition and processing devices, both continuous and discrete, were replaced by electronic and processor devices. Pneumatic applications have remained and remain the actuator drives of

15


Modern Industrial Robotics

Fig. 17. Multi-chain closed kinematic works with electropneumatic actuator drive: a) with a double-chain mechanism (dipod), piston rod drive, Bosch Rexroth AG, b) with a three-chain mechanism (tripod), rodless drive, Festo Vertrieb GmbH und Co. KG Rys. 17. Roboty wielołańcuchowe o zamkniętej strukturze kinematycznej z elektropneumatycznym napędem siłownikowym: a) z mechanizmem dwułańcuchowym (dipod), napęd tłoczyskowy, Bosch Rexroth AG, b) z mechanizmem trójłańcuchowym (tripod), napęd beztłoczyskowy, Festo Vertrieb GmbH und Co. KG [37, 43] a)

b)

automated and robotic production processes, but the relative area of their applications is clearly accelerating reduction in favor of electric drive, even after the design of throttled controlled pneumatic actuators has been transformed into servopneumatic and pneumotronic actuators [13–15]. Three factors influenced the development of new, competitive to drive pneumatics, solutions and applications of electric drives and servo drives in industrial robotics: − the aforementioned introduction in the 1990s of new magnetic materials, primarily neodymium, increasing the energy efficiency of electric motors with their significantly reduced mass and volume, − indisputably easier direct supply of electricity to the actuators of machines and robots than it is the case with the supply of pressure energy and compressed flow of air, by means of this electricity, − the need to save energy, both due to the rising costs of obtaining and using it, as well as the rapidly spreading awareness of the negative environmental impact of obtaining energy from conventional sources and materials. In the case of pneumatics, it is particularly unfavorable to generate energy supplying the actuator controls twice, drastically deteriorating the energy efficiency of these devices. Examples showing definitely better effects and technical and energetic solutions of electrical compared to pneumatic ones have been given for several years now, initially with some dis-

a)

16

belief, now with full conviction that the choice of electrical solutions is right. The investment cost of the electric actuator with all necessary components, in this example, was still in 2018 about 260% of the investment cost of the pneumatic actuator, including all necessary components for its use. However, this cost was depreciated after 5 months of using the actuator. However, at the moment (2019), the actuator manufacturers ensure that the investment costs of both solutions are equal! [19]. The fact of carbon dioxide emissions is also not without significance. In the case of approx. 24,000 kWh of energy needed additionally to maintain the operation of the exemplary pneumatic cylinder in relation to the electric cylinder, it is also an additional emission of approx. 12,000 kg of CO2 after adoption, e.g. for Germany, the equivalent of carbon dioxide emissions at the level of approx. 500 g CO2/kWh called the “carbon footprint” [19]. Returning to multi-chain robots – the advantages of the most commonly developed electric drive tripods include: − a much more “rigid” mechanism construction compared to series mechanisms, which undoubtedly has a beneficial effect on improving the quality of the effector positioning (repeatability of the effector position in the range of hundredths of a millimeter), which in turn predisposes multi-chain robots for the production of devices built on a micro scale and nanotechnology, − to the disadvantages:

Fig. 18. Multi-chain robots with a closed kinematic structure and various drives: a) with a three-chain mechanism (tripod), with an electric motor drive, with four levels of mobility, b) with a six-chain mechanism (hexapod), with six levels of mobility, with an electrohydraulic actuator, a Japanese company AKA Rys. 18. Roboty wielołańcuchowe o zamkniętej strukturze kinematycznej i różnych napędach: a) z mechanizmem trójłańcuchowym (tripod), z elektrycznym napędem silnikowym, o czterech stopniach ruchliwości, b) z mechanizmem sześciołańcuchowym (heksapod), o sześciu stopniach ruchliwości, z elektrohydraulicznym napędem siłownikowym, japońska firmy AKA [19]

b)

P

O

M

I

A

R

Y

A

U

T

O

M

A

T

Y

K

A

R

O

B

O

T

Y

K

A

NR 1 / 20 20


Mariusz Olszewski

Fig. 19. Robotino, a mobile robot from Festo AG & KG for research and training in Industry 4.0: a) a traveling platform with a column and one of three platforms supporting production modules by its own effectors, b) mechanism with 3 levels of local mobility of the robot effector Rys. 19. Robotino, robot mobilny firmy Festo AG & KG dla prac badawczych i szkoleniowych w obszarze Przemysłu 4.0: a) platforma jezdna wraz z kolumną i jedną z trzech platform obsługujących moduły produkcyjne przez własne efektory, b) mechanizm o trzech stopniach ruchliwości lokalnej efektora robota [19, 43] a)

− definitely smaller workspace, which in production applications carried out on a micro and nanotechnology scale is not of great importance, − higher cost and price of these machines compared to conventional design robots, − collaborative versions are more difficult than in the case of cobots with serial mechanisms – hence, at least in the solutions encountered, multi-chain mechanisms are protected in closed application processes.

\1 ( L : L The first machines belonging to the subclass of industrial, autonomous mobile robots (mobile robots, Automated Guided Vehicles – AGVs or Autonomous Intelligent Vehicles – AIVs) appeared at the beginning of the last decade. Taking into account only machines with a currently noticeable practical significance, they can be divided into two clearly different groups of solutions: − mobile robots supporting modules and production departments of Industry 4.0. These machines are still used in the research, development and implementation phases of the manufacturing process transformations, ultimately in line with the assumptions of Industrial Transformation 4.0 [17, 25], − autonomous mobile robots designed for intralogistic-house transport of products, materials and tools, i.e. automation and robotization of the production area, also intralogistics, logistics, palletizing and storage [4, 5]. An example of a mobile robot solution of the first group of machines intended for the areas of Industry 4.0 is Robotino, a locomotion and handling machine, available in two versions: Basic Edition and Premium Edition. They differ in the intensity of computer processing, the volume of internal memory and the details of the platform and column, e.g. in the Premium version, you can use three column platforms that support different production modules [19, 43]. Robotino is equipped with three servo electrically driven modules, providing the possibility of moving the platform in three directions of motion and omnidirectional regional rotation at the stop, and identically driven three elements of local motion embedded on them effector – thus a total of seven degrees of mobility of the final effector. The position of the mechanism is controlled by nine infrared sensors, with the additional option of retrofitting the machine with two optical and one inductive motion tracking sensor. The power supply is

b)

provided by 12 V batteries with a controlled level of charge and a power station. Computer control with COM Express specification, using an Intel Core i5, 2.4 GHz or Intel Atom, 1.8 GHz processor. The operation of the operating and utility systems is protected by a 32 GB SSD drive or 64 GB optional. The work of four DC motors of the mobile platform movement is directly controlled by a 32 bit processor, generating PWM signals using the FPGA interface and receiving signals from encoders coupled with four motors driving the mobile platform. The movement of the robot column and its local parts are programmed by computer-assisted learning, implemented as graphic programming, based on a computer simulation image of the production department with a robot embedded in it. Teaching itself can be implemented by one of the previously selected methods used in modern conventional robotics. Computer – machine communication is provided via wireless LAN. For system startup and simulation, the interface (API) supports the use of various systems and languages, including Windows XP, Vista, Windows 7/8/10, C/C ++, JAVA Net, LabVIEW and MATLAB/Simulink, Robot Operating System (ROS SmartSoft) and Microsoft Robotics Developer Studio. Robotino performance parameters [43]: − traffic maps in the area of 20–5600 mm, traffic speed up to 10 km/h, − load capacity 30 kg, curb weight 20 kg, − platform diameter 450 mm, − tactile contact zone of the platform sensory supported, − HD 1080 px video camera with USB interface. Moving to internal transport machines, their first solutions appeared almost parallel to the first industrial robots, i.e. in the 1950s–60s. of the 20th century. These machines have gone, along with the development of industrial robotics, a long way to introduce new, innovative solutions, associated primarily with the implementation of autonomous traffic and in the area of maximum speeds of several meters per second and safe behavior for workers encountered on the roads of this movement. The presence of these employees in typical applications of internal transport machines cannot be simply excluded in industrial practice. A good, proven example of such a solution is the VersaBot 500/700 mobile robot, a young company created in 2013, the Polish company VersaBox [5, 55]. The robot can navigate the colored line, use the laser mapping system of the traffic environment, implementing in it autonomous, intelligent, safe behaviors, checking in the company of other dozen mobile robots and special versions, designed for so-called clean production

17


Modern Industrial Robotics

a)

b)

Fig. 20. Autonomous mobile robots (AGV) for intralogistic transport: a) VersaBot 500/700 by VersaBox Sp. z o.o., b) LD from Omron Rys. 20. Autonomiczne roboty mobilne (AGV) transportu wewnętrznego: a) VersaBot 500/700 firmy VersaBox Sp. z o.o., b) LD firmy Omron [47, 55]

rooms, including in the food industry. It can work as a towing vehicle, is equipped with a pallet jack, ensures assembly of roller feeders and adapters for the mounting of manipulative mechanisms. The company cooperates with system integrators, also supports leasing solutions. In recent years, interesting solutions have emerged for automated and robotic mobile stations carrying out selected tasks related to further technical rationalization of logistics and intralogistics, especially palletization. This applies not only to manufacturing companies, but above all to logistics companies that provide co-packing services, i.e. packaging and repackaging of products or their sets within contract logistics. It encourages the development and application of these solutions of modern universality, including the Internet of these processes and their special time-consuming nature, especially in confrontation with the lack of employees. An interesting implementation of this concept is the diploma, master’s project, carried out by Piotr Kwiatkowski in 2019 [8], conducted at the Institute of Automatic Control and Robotics of the Warsaw University of Technology, in cooperation with

the international company Kuehne + Nagel [48], offering dedicated solutions in the field of international and domestic air and sea forwarding, road, rail, as well as contract and integrated logistics as well as integrator of station execution, Biuro Inżynierskie Sp. z o.o. The project was implemented within 4 months, the cost – about 250 thousand PLN. The work was honored in the ‘Young Innovative’ Competition, PIAP, in 2019 and the Siemens and Rector Award of the Warsaw University of Technology in 2019. Important for the successful implementation of the project was the use of a Universal Robots A/S [52] cobot station in the construction of a robotic program for palletizing products and for coordinating the station’s overriding work – the Siemens Simatic S-7 1200 controller [51]. The most important station parameters [8]: − number of pallet places – 2, − supported pallets: 800 mm × 1200 mm – EUR1, − maximum palletizing height – 2000 mm, − maximum number of cycles per minute – 8, − number of scanners for safe cobot operation – 3.

a)

b)

Fig. 21. A robotized, mobile palletizing station with a cooperating robot: a) sketch of the project solution, b) made palletizing station Rys. 21. Zrobotyzowana, mobilna stacja paletyzująca z robotem współpracującym: a) szkic rozwiązania projektu, b) wykonana stacja paletyzująca [8, 48]

18

P

O

M

I

A

R

Y

A

U

T

O

M

A

T

Y

K

A

R

O

B

O

T

Y

K

A

NR 1 / 20 20


Mariusz Olszewski

]1 And ending the essay on modern intelligent robotics: the tasks of cobotics, hybrid, service, autonomous mobile and multi-chain robotics, require extremely wide, multidisciplinary, well-established knowledge and practical experience in the field of work ergonomics, basics of mechatronics, sensorics, processors and actuatorics, including in particular the basics of the construction and properties of the listed robotic solutions, in their modern generation and shape – should not be surprising to the statements of practitioners – professionals (ASTOR, May 2019 [33]) that: − I do not think, in order to soon cobots can replace the classic robots... – Zbigniew Proch (Company RENEX), and also − In Polish industry, the introduction of traditional robots is much more profitable than cobots... – Stefan Ĺťyczkowski (Chairman of the Board of Directors of ASTOR). In order to change this state of affairs in Poland, it is necessary here to formulate new content and forms of vocational education and new specializations, with a simultaneous emphasis on increasing the importance and number of mechatronics engineers and mechatronics engineering professions: production, automation, robotics, actuatorics, sensorics, computer science, industrial informatics industrial engineer, also industry 4.0 engineer and cyberinformatics, also engineers for Industry 4.0 [6, 25, 28]. This change is required by the need to shape and support the career paths of technical and engineering staff whose knowledge and experience will be absolutely crucial in Industry 4.0 for the market success of a given enterprise. Post-graduate studies are also indispensable here, in June 2019 the Rector of Warsaw University of Technology has just established new Post-graduate Studies in Industrial Transformation 4.0 at the Faculty of Mechatronics of Warsaw University of Technology – it is planned to launch them already in this academic year (2019/2020) or in next year in October 2020/2021 [19].

9. 10.

11.

12. 13. 14. 15. 16.

17. 18.

19.

20.

: 0 21. 1. Bord of Management, Messe MĂźnchen GmbH: automatica, Optimize your Production. Face the Future of Manufacturing. Final Edition (2018), [www.automatica-munich.com]. 2. Bock Th., Construction Robotics Enabling Innovative Disruption and Social Supportability. [in:] Proceedings of the International Symposium on Automation and Robotics in Construction (ISARC), 2015. Vilnius Gediminas Technical University, Department of Construction Economics & Property, Vilnius, 1–11. 3. BrĂźninghaus J., Stum S., Nelles J., Mertens A., Schlick Ch., Brell-Cockan S., Arbeitsorganisatorische und ergonomische Anforderungen an die Mensch-Roboter-Interaktion auf der Baustelle der Zukunft. Kongress der Gesellschaft fĂźr Arbeitswissenschaft e.v., RWTH Aachen, 2016. 4. ChoĹ‚odowicz E., Figurowski D., Mobile Robot Path Planning with Obstacle Avoidance Using Particle Swarm Optimization, “Pomiary Automatyka Robotykaâ€?, Vol. 21, No. 3, 2017, 59–67, DOI: 10.14313/PAR_225/59. 5. Chojecki R., Olszewski M., A Mobile Robot for Laboratory Purposes and its Applications. “Pomiary Automatyka Kontrolaâ€?, Vol. 55, No. 3, 2009, 190–193. 6. KaliczyĹ„ska M., Kluczowe technologie PrzemysĹ‚u 4.0 (Key Technologies of Industry 4.0). „Automatykaâ€?, Vol. 4, No. 1–2, 2018, 95–96. 7. Kohler M., Gramazio F., Willmann J., The Robotic Touch: How Robots Change Architecture, ETH Zurich, Zurich Park Books, 2014. 8. Kwiatkowski P.K., Zrobotyzowana mobilna stacja paletyzujÄ…ca z robotem współpracujÄ…cym (Robotized, mobile palletiza-

22.

23.

24.

25. 26.

27. 28. 29. 30. 31.

tion station based on collaborative robot). Praca dyplomowa magisterska (promoter M. Olszewski, work awarded in the Competition “Young Innovationsâ€?, PIAP, in 2019 and by Siemens and the Rector of Warsaw University of Technology, in 2019), Warsaw University of Technology (2019). Ĺ aski P.A., Kinematic Analysis of Parallel Manipulators. Publisher Politechnika ĹšwiÄ™tokrzyska, M121, Kielce 2019. Ĺ aski P.A., Takosoglu J.E., BĹ‚asiak S., Design of a 3-DOF tripod Electro-pneumatic Parallel Manipulator. “Robotics and Autonomous Systemsâ€?, Vol. 72, 2015, 56–70, DOI: 10.1016/j.robot.2015.04.009. Merlet J.-P., Solving the Forward Kinematics of a Goughtype Parallel Manipulator with Interval Analysis. “International Journal of Robotics Researchâ€?, Vol. 23, No. 3, 2004, 221–235, DOI: 10.1177/0278364904039806. Olszewski M., automatica 2018. Optimize your Production. “Automatykaâ€?, Vol. 4, No. 10, 2018, 107–122. Olszewski M., Basics of Servopneumatics. VDI Verlag, DĂźsseldorf 2007. Olszewski M., Bionika (Bionics). “Automatykaâ€?, Vol. 4, No. 6, 2018, 111–116. Olszewski M., Mechatronika (Mechatronics). „Automatykaâ€?, Vol. 4, No. 1–2, 2018, 97–99. Olszewski M., Mechatronizacja produktu i produkcji – PrzemysĹ‚ 4.0 (Mechatronization of the Product and the Production – Industry 4.0), „Pomiary Automatyka Robotykaâ€?, Vol. 20, No. 3/2016, 13-28, DOI: 10.14313/PAR_221/13. Olszewski M., PrzemysĹ‚ 4.0 (Industry 4.0). „Automatykaâ€?, Vol. 4, No. 1–2, 2018, 99–104. Olszewski M., RozwĂłj robotyki (Development of Robotics), Part I, Essay Robotics. „Automatykaâ€?, Vol. 5, No. 3, 2019, 159–168. Olszewski M., Współczesna robotyka (Modern Robotics), Part III, Essay Robotics. „Automatykaâ€?, Vol. 5, No. 9, 2019, 89–107. Olszewski M., Robotyka w Polsce (Robotics in Poland), Part II, Essay Robotics. „Automatykaâ€?, Vol. 5, No. 3, 2019, 169–182. Olszewski M., Wojtowicz J., Wrona S., DÄ…browska-ŝóĹ‚tak K., Mechatronika w architekturze – architektronika (Architecture with Mechatronics – Architectronics). „Pomiary Automatyka Robotykaâ€?, Vol. 21, No. 3/2017, 11-25, DOI: 10.14313/PAR_225/11. Panasiuk J., Kaczmarek W.: Robotyzacja procesĂłw produkcyjnych (Robotization of Production Processes). PWN, Warszawa 2017. PiÄ…tek Z., Collaborative and Mobile Robots. AGV Report from the Market. APA – Automatyka PodzespoĹ‚y Aplikacje, Reports 2019. Pilz T., Neue Wege in der Robotik beschreiten. Robotik und Produktion. Integration, Anwendung, Losungen, No. 3, 2018, 8–10. Poreda R., Gracel J., The Introduction of Robotics. Six Common Mistakes. Automatyka, 3(3), pp. 40-42 (2019) Robotik und Production, Integration, Anwendung, LĂśsungen. (in) Highlights der automatica, Vol. 3, No. 3, TeDo Verlag GmbH, Marburg 2018. Industry Robotics. The Domestic Market in 2018. APA – Automatyka PodzespoĹ‚y Aplikacje, Reports 2018. Staniszewska A., Zrobotyzowany przemysĹ‚ (The Robotised Industry). Automatyka, Vol. 5, No. 3, 2019, 30–36. Stoll W., Bionik. Lernen von der Natur – Impulse fĂźr Innovation. Edition Festo, Esslingen 2018. Stoll W., Bionics. Inspiring Technology. Verlag Hermann Schmidt, Mainz 2012. Stumm S., Braumann J., von Hilchen M., Brell-Cokcan S., On-site Robotic Construction Assistance for Assembly Using a-priori Knowledge and Human-Robot Collaboration.

19


Modern Industrial Robotics

32. 33. 34. 35. 36. 37. 38. 39. 40. 41.

[in:] Rodić A., Boranglu T. (eds), Advances in robot design and intelligent control, Vol. 540, Springer 2017. Zhang D., Parallel Robotic Machine Tools. Springer, New York, Heidelberg 2010. www.astor.com.pl – ASTOR Publications, www.automatica-munich.com – Bord of Management, Messe Mßnchen GmbH, www.abb.de/robotics – ABB Automation GmbH, www.beckhoff.de – Beckhoff Automation GmbH & Co. KG, www.boschrexroth.de – Bosch Rexroth AG, www.dlr.de/m – Deutsches Zentrum fßr Luft- und Raumfahrt e.V. (DLR), Institut fßr Robotik und Mechatronik, www.doosanrobotics.com – Doosan Robotics Inc, www.eu-nited.net/robotics – EUnited Robotics – The European Robotics Association, www.epson.eu – Epson Europe B.V.,

42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53.

www.fanuc.eu – Fanuc Deutschland GmbH, www.festo.de – Festo Vertrieb GmbH und Co. KG, www.fp-robotics.com – F&P Robotics AG, www.gudel.com – GĂźdel Group AG, www.ifr.org – International Federation of Robotics, industrial.omron.pl – Omron Electronics Sp. z o.o., www.kuehne-nagel.pl – Kuehne+Nagel Sp. z o.o. www.kuka.com – KUKA AG, www.schunk.com – Schunk GmbH & Co. KG, www.siemens.com – Siemens AG, www.universal-robots.com – Universal Robots A/S, www.cit-ec.de – Universität Bielefeld, Cluster of Excellence Cognitive Interaction Technology (CITEC), 54. www.vdma.org/r+a – VDMA Robotik + Automation, 55. pl-pl.facebook.com/versabox.pl – VersaboX Sp. z o.o., 56. www.yaskawa.eu.com – YASKAWA Europe GmbH.

0 A / Streszczenie: Roboty stały się w mijającym dziesięcioleciu podstawowymi narzędziami automatyzacji i robotyzacji produkcji przemysłowej, tak jak kiedyś, w latach 70. sterowniki programowalne, w latach 80. procesorowe regulatory napędów, w latach 90. XX wieku nastawniki częstotliwościowe silników prądu przemiennego i w pierwszych latach XXI wieku cyfryzacja, wyraşająca się istotnym zaawansowaniem i upowszechnieniem informatyzacji, telekomunikacji i internetyzacji. Świadectwem tej roli jest dalsze, poza obszary konwencjonalnej robotyki, rozszerzanie jej aplikacji i pojawienie się nowych rozwiązań sprzętowych i programowych ukierunkowanych na wspólne, przez roboty i człowieka, podejmowanie dotychczas nie racjonalizowanych zadań produkcyjnych. Tym właśnie przemianom we współczesnej robotyce poświęcony jest ten esej. ) U / $ $ $ $ ( $ $ @ & !

Prof. Mariusz Olszewski, PhD, DSc % & !'( ORCID: 0000-0003-3516-2942 ; 6 0 6 7 ( *+B?$ % 6 ; E % F / % 8 % *+G! $ % H % > *+=! - *+G= ( I I 6 % > / @ %$ *+=? 0J7 / I @ ( % % ( % $ % % .K; / ( / % I @ E / % L M" > N O)!!)P$ M8 % 6 " N O)!!BP % > M" > Q % N O)!!+P ; I % 6 % % 6 % % / Q 6 - 6 ; % . / " 8 6 0 6 7 > ( *++&R)!*)S / 6 I 6 - % - 6 ; % " O@-;@P )!! R)!*GS > 6 7 >K% > @ >H ;FT 0 )!*! 7 6 % 6 I % ( - % > & ! 6 $ $ / $ > % 6 % % R - % & !$ 6 )!*B

20

P

O

M

I

A

R

Y

•

A

U

T

O

M

A

T

Y

K

A

•

R

O

B

O

T

Y

K

A

NR 1 / 20 20


Pomiary Automatyka Robotyka, ISSN 1427-9126, R. 24, Nr 1/2020, 21–28, DOI: 10.14313/PAR_235/21

- % V ( % @Q - / 0 1 2 # 1 3% 4 5 6 % 7 6 % @ . $ T % - 6 ; $ 0 @ )$ ?>+?+ . A

1 8 Norma IEC 61131-3 definiuje pięć jÄ™zykĂłw programowania sterownikĂłw przemysĹ‚owych. Norma ta jest powszechnie stosowana, wiele Ĺ›rodowisk inĹźynierskich jest z niÄ… caĹ‚kowicie, bÄ…dĹş częściowo zgodnych. W literaturze opisano kilka akademickich rozwiÄ…zaĹ„, jednak zazwyczaj implementujÄ… one jedynie wybrane elementy normy (np. tylko jeden lub dwa jÄ™zyki). Komercyjne Ĺ›rodowiska inĹźynierskie zwykle obsĹ‚ugujÄ… wszystkie jÄ™zyki, ale ich dokumentacja skupia siÄ™ na korzystaniu ze Ĺ›rodowiska, natomiast rzadko ujawniane sÄ… szczegóły dotyczÄ…ce wewnÄ™trznej architektury i implementacji. W artykule przedstawiono takie rozwiÄ…zania dla pakietu inĹźynierskiego CPDev. Architektura bazujÄ…ca na maszynie wirtualnej sprawia, Ĺźe Ĺ›rodowisko jest przenoĹ›ne, co uĹ‚atwia wdroĹźenie na róşnych platformach sprzÄ™towych. W artykule przedstawiono kilka wdroĹźeĹ„ przemysĹ‚owych Ĺ›rodowiska CPDev ) U

% V $ -K B** *> $ % $ $ $ F"-$ $

1. Wprowadzenie Środowiska inşynierskie implementujące języki normy IEC 61131-3 (przyjętej w Polsce jako PN-EN 61131-3) są obecnie powszechnie stosowane w przemyśle do tworzenia programów sterowania [1, 2]. Standard IEC 61131-3 [3] definiuje pięć języków programowania: dwa tekstowe IL, ST, dwa graficzne LD, FBD i mieszany język SFC. Języki IL, LD i SFC są przeznaczone zwłaszcza do zastosowań w procesach produkcyjnych opartych na sterownikach PLC [4], natomiast ST, FBD, jak teş SFC, są stosowane w obszarach wykorzystujących sterowniki PAC i systemy DCS. Kompilatory języków IEC 61131-3 są podstawowymi składnikami środowisk inşynierskich. Kompilator, na podstawie kodu źródłowego programu, generuje kod wykonywalny. Zwykle stosowane są trzy podejścia do kompilacji programów sterowania. Pierwsze polega na bezpośrednim tłumaczeniu programu sterowania z języków IEC 61131-3 do wykonywalnego kodu maszynowego procesora. Poniewaş zmiana procesora (CPU) wymaga nowego kompilatora, takie rozwiązanie jest zasadniczo dedykowane dla konkretnej platformy sprzętowej. Kolejne podejście jest dwuetapowe. W pierwszym kroku programy sterowania są tłumaczone z języków IEC 61131-3 na kod źródłowy w języku pośrednim C lub C++, który następnie,

3 + U

Q . U $ % ' > 3 % *B *! )!*+ $ % % )G ** )!*+

!

kolejnym narzÄ™dziem, jest kompilowany do wykonywalnego kodu maszynowego. RozwiÄ…zanie to moĹźe być przeniesione na róşne platformy sprzÄ™towe, jeĹ›li tylko posiadamy dla nich kompilator jÄ™zyka C/C++. Trzecie z podejść wymaga opracowania maszyny wirtualnej (VM) interpretujÄ…cej pewien poĹ›redni jÄ™zyk, do ktĂłrego kompilowane sÄ… programy sterowania. Takie podejĹ›cie zostaĹ‚o wprowadzone na przykĹ‚ad w Ĺ›rodowisku ISaGRAF [5] z jÄ™zykiem poĹ›rednim TIC (ang. Target Independent Code). Obecnie STRATON [6] (niezaleĹźny dostawca) rĂłwnieĹź bazuje na takiej metodzie, jak rĂłwnieĹź wiele z prototypowych rozwiÄ…zaĹ„ akademickich takĹźe bazuje na maszynach wirtualnych. Jednak maszyna wirtualna wprowadza dodatkowy narzut czasowy, co powoduje, Ĺźe tego typu podeĹ›cie jest zwykle mniej wydajne. Prace nad Ĺ›rodowiskiem inĹźynierskim zgodnym z normÄ… IEC 61131-3 autorzy tego artykuĹ‚u rozpoczÄ™li ponad 10 lat temu [7], po rozmowach z producentami automatyki przemysĹ‚owej. W pewnym stopniu byĹ‚a to kontynuacja wczeĹ›niejszych prac nad sterownikami wielofunkcyjnymi [8]. Opracowane Ĺ›rodowisko, nazwane CPDev (ang. Control Program Developer) kompilowaĹ‚o programy z jÄ™zyka ST do kodu VMASM (ang. Virtual Machine Assembler) interpretowanego przez maszynÄ™ wirtualnÄ…, poczÄ…tkowo na oĹ›miobitowych mikrokontrolerach MCS 51 i AVR. Z zaĹ‚oĹźenia Ĺ›rodowisko wspieraĹ‚o samodzielnÄ… adaptacjÄ™ maszyny wirtualnej dla docelowego sprzÄ™tu przez inĹźynierĂłw i studentĂłw, zarĂłwno dla zastosowaĹ„ w przemyĹ›le, jak i w dydaktyce. W kolejnych latach w pakiecie wprowadzono rozszerzenia dla 32- i 64-bitowych procesorĂłw, uzupeĹ‚niono je o translatory jÄ™zykĂłw graficznych, narzÄ™dzie do projektowania interfejsĂłw HMI i wieloprojektowe Ĺ›rodowisko uruchomieniowe (poczÄ…tkowo zaimplementowane w FPGA [9]). Dwa rozszerzenia wsparĹ‚y badania nad podejĹ›ciem MDD (ang. Model Driven Development) [10] i testami jednostkowymi [11]. Do tej pory Ĺ›rodowisko zostaĹ‚o wdroĹźone przez kilku producentĂłw urzÄ…dzeĹ„ automatyki w kraju i za granicÄ….

21


G:& : _ .! & ! $ & +# Y

V1 <

W artykule przedstawiono rozwiÄ…zania podstawowych problemĂłw, ktĂłre moĹźna napotkać podczas rozwoju oprogramowania zgodnego z normÄ… IEC 61131-3, w tym zarĂłwno pakietu inĹźynierskiego, jak teĹź Ĺ›rodowiska uruchomieniowego. W szczegĂłlnoĹ›ci pokazano rozwiÄ…zania zapewniajÄ…ce: − przenoĹ›ność kompilatora i Ĺ›rodowiska uruchomieniowego dla róşnych procesorĂłw i zastosowaĹ„ wymagajÄ…cych dedykowanych sterownikĂłw PLC, − integracjÄ™ elementĂłw sprzÄ™towych ze Ĺ›rodowiskiem uruchomieniowym, − mechanizm projektowania bibliotek HMI obejmujÄ…cych obiekty graficzne wyĹ›wietlane na róşnych urzÄ…dzeniach, − wsparcie dla wymiany danych za pomocÄ… wielu protokoĹ‚Ăłw komunikacyjnych. ArtykuĹ‚ ma nastÄ™pujÄ…cÄ… strukturÄ™. W kolejnym rozdziale przedstawiono przeglÄ…d literatury dotyczÄ…cy podstawowych aspektĂłw zwiÄ…zanych ze Ĺ›rodowiskami inĹźynierskimi. RozdziaĹ‚ 3 prezentuje moĹźliwoĹ›ci CPDev. JÄ™zyk poĹ›redni VMASM, parametryzowany kompilator i przykĹ‚adowy program sterowania opisano w rozdziale 4. Kolejny rozdziaĹ‚ wyjaĹ›nia architekturÄ™ maszyny wirtualnej oraz powiÄ…zanie z funkcjami niskopoziomowymi. RozdziaĹ‚ 6 opisuje translatory jÄ™zykĂłw graficznych i przedstawia dwuwarstwowÄ… strukturÄ™ obsĹ‚ugi HMI. RozdziaĹ‚ 7 pokazuje dane niezbÄ™dne do powiÄ…zania zmiennych z interfejsami komunikacyjnymi i przedstawia typowe wdroĹźenia.

Pierwotna wersja CPDev, wspierajÄ…ca poczÄ…tkowo jedynie jÄ™zyk ST [7], zostaĹ‚a rozbudowana o obsĹ‚ugÄ™ pozostaĹ‚ych jÄ™zykĂłw normy IEC 61131-3, projektowanie interfejsĂłw HMI, generator dokumentacji oraz moduĹ‚y o zastosowaniu badawczym. Na rysunku 1 przedstawiono kolejne etapy przetwarzania programĂłw sterowania. Programy tekstowe (jÄ™zyki ST, IL) sÄ… kompilowane do mnemonikĂłw poĹ›redniego jÄ™zyka VMASM. Diagramy LD, FBD i SFC sÄ… tĹ‚umaczone na ST, a nastÄ™pnie kompilowane. JÄ™zyk ST jest wiÄ™c bazowym jÄ™zykiem Ĺ›rodowiska. Wykonywalny kod binarny jest generowany przez asembler z mnemonikĂłw VMASM i Ĺ‚adowany do maszyny wirtualnej. ĹšrĂłdĹ‚a maszyny wirtualnej napisano w jÄ™zyku C, co uĹ‚atwia przenoĹ›ność na róşne platformy sprzÄ™towe.

S1 + Koncepcja maszyny wirtualnej, jako abstrakcyjnego procesora dedykowanego języka, pierwotnie została wdroşona jako p-maszyna dla języka programowania Pascal. Współcześnie zastosowano ją w języku Java jako JVM (ang. Java Virtual Machine) [12] i na platformie .NET jako CLR (ang. Common Language Runtime) [13]. Dostępna jest takşe otwarta implementacja JVM w języku Verilog, przeznaczona dla FPGA [14]. W odniesieniu do systemów sterowania pierwsze rozwiązania bazujące na maszynach wirtualnych (poza komercyjnym ISaGRAF) opisano w [15, 16], stosując IL jako język pośredni. Stosunkowo prosta architektura [15] umoşliwiła implementację na ośmiobitowym mikroprocesorze C8051. Ostatnio takşe CLR, a więc maszyna wirtualna .NET, została przystosowana do aplikacji IEC 61131-3 [17]. Powstały równieş narzędzia o przeznaczeniu dydaktycznym, ograniczone do wybranych elementów normy IEC 61131-3, np. UniSim [18] lub Whimori CDU [19]. Z nowszych przykładów WEB PLC Simulator [20] pozwala na implementację modelu fabryki i sterowania w języku ST. HT-PLC [21] bazujący na Arduino z modułem Ethernet jest programowalny w LD. Mimo licznych aplikacji, szczegóły dotyczące kompilatorów języków IEC 61131-3 są ujawniane jedynie sporadycznie. Moşliwości standardowej składni SSA (ang. Static Single Assignment – jednokrotne statyczne przypisanie) i zasady stosowanej tu translacji kierowanej składnią opisano m.in. w [22]. Translatory diagramów LD na języki IL lub ST zazwyczaj bazują na grafach AOV (ang. Activity on Vertex) [23, 24]. Translator wbudowany w CPDev równieş korzysta z grafu AOV, z którego generowany jest program w języku ST. Grafy EDFG (ang. Enhanced Data Flow Graphs) [25] pozwalają na implementowanie programów napisanych w IL, LD i SFC w FPGA. Rozwaşając interfejsy HMI naleşy wspomnieć o zasadach graficznego projektowania aplikacji sterowania [26]. Istnieją takşe przemysłowe standardy w tym obszarze, jak na przykład niemiecki standard VDI/VDE 3699 [27].

22

P

O

M

I

A

R

Y

•

A

U

T

O

M

Rys. 1. Przetwarzanie programów sterowania w środowisku CPDev Fig. 1. Processing of control programs in the CPDev environment

Z punktu widzenia uĹźytkownika podstawowe funkcjonalnoĹ›ci CPDev sÄ… podobne do innych Ĺ›rodowisk inĹźynierskich. Pewnym wyróşnikiem jest tu mechanizm automatycznego wyznaczania poĹ‚Ä…czeĹ„ miÄ™dzy blokami w edytorach FBD i LD [28], ktĂłry bazuje na algorytmie A* [29]. RĂłwnieĹź edytor ekranĂłw HMI korzysta z niezaleĹźnych od sprzÄ™tu komponentĂłw zapisanych w bibliotekach. Kompilator generuje dodatkowo plik XML z zestawem danych o rozmieszczeniu zmiennych globalnych, co jest wymagane dla interfejsĂłw komunikacyjnych i moduĹ‚Ăłw wejść/wyjść. Na podstawie modeli w diagramach SysML [30] moĹźliwe jest generowanie szablonĂłw programĂłw i zadaĹ„ komunikacyjnych [10]. Testy jednostkowe i tablicowe mogÄ… korzystać z IEC 61131-3 lub dedykowanego jÄ™zyka [11]. ModuĹ‚y CPDev majÄ… wbudowane interfejsy XML, co pozwala na zwinne i wahadĹ‚owe podeĹ›cie inĹźynierii oprogramowania [31]. Poza maszynÄ… wirtualnÄ… wykonujÄ…cÄ… zadania sterowania, Ĺ›rodowisko uruchomieniowe moĹźe zawierać moduĹ‚ wykonawczy HMI obsĹ‚ugujÄ…cy interfejs graficzny. Maszyna wirtualna i moduĹ‚ HMI dziaĹ‚ajÄ… rĂłwnolegle i niezaleĹźnie, wymieniajÄ…c dane przez zmienne globalne.

A

T

Y

K

A

•

R

O

B

O

T

Y

K

A

NR 1 / 20 20


! " !

X1 2" Definicja języka pośredniego VMASM obejmuje wszystkie typy danych, instrukcje i składnie. Wieloplatformowe implementacje wymagają jednak parametryzowanego kompilatora.

okreĹ›lajÄ…cego zasoby sprzÄ™towe, typy danych, instrukcje i konwersje. Tak wiÄ™c róşne wersje, przeznaczone na docelowe platformy sprzÄ™towe lub do okreĹ›lonych zastosowaĹ„, mogÄ… być tworzone z jednego ogĂłlnego kompilatora i powiÄ…zanej z nim ogĂłlnej maszyny wirtualnej.

X1^1

X1S1

VMASM obsługuje wszystkie typy danych zdefiniowane w normie IEC 61131-3 poza typem WSTRING. Z uwagi na występowanie problemów podczas mieszania typów łańcuchowych jednobajtowych z dwubajtowymi zdecydowano pozostawić w implementacji tylko jeden z nich (tablice konwersji oparte na języku i stronie kodowej, w których mają być te teksty umieszczone, ponadto występowanie znaków modyfikujących litery znacznie utrudnia implementację takich konwersji). Z uwagi na małą przestrzeń adresową w 16-bitowej wersji maszyny wirtualnej zdecydowano pozostać tylko przy typie STRING. W niektórych wdroşeniach CPDev, gdzie znaki międzynarodowe są niezbędne, typ STRING jest interpretowany jako wielobajtowy i jest równowaşny typowi WSTRING. Typ BOOL zajmuje 1 bajt, INT – 2 bajty, REAL – 4 bajty, DATE_AND_TIME – 8 bajtów (struktura z polami); podobnie dla pozostałych typów. Przez parametryzację kompilatora liczba typów wymagana w konkretnym zastosowaniu moşe być ograniczona. Instrukcje VMASM składają się z funkcji i procedur. Procedury kontrolują przepływ realizacji programu, wywołują podprogramy, obsługują kopiowanie obszarów pamięci itd. Instrukcje VMASM mają następującą składnię:

Plik XML z kodem źródłowym programu jest kompilowany przez skaner i parser do pliku z mnemonikami VMASM. Za pomocą osobnego zestawu słów kluczowych skaner ST przetwarza takşe język IL, zastępując rejestr CR tworzonymi ad hoc tymczasowymi zmiennymi [32]. Parser wyprowadza drzewo składni abstrakcyjnej według schematu z góry na dół, stosując translację kierowaną składnią [22]. Podstawowe komponenty skanera i parsera są deklarowane jako klasy w języku C#. Listy stosowane są we wszystkich fazach kompilacji. Przykład fragmentu programu w języku ST i odpowiadającego mu tłumaczenia VMASM dla generatora pojedynczego impulsu na wyjściu OUT po czasie T#5s od aktywacji zboczem narastającym na wejściu IN pokazano na rysunku 2. Blok R_TRIG1 wykrywa zbocze narastające, natomiast przerzutnik RS1 i timer TON1 ze sprzęşeniem zwrotnym generują impuls. Parser początkowo zapisuje rezultat do zmiennych tymczasowych (SSA zapisuje do wirtualnych rejestrów). Następnie, aby ograniczyć liczbę takich zmiennych, kompilator przechodzi przez fazę optymalizacji, w której zastępuje nadmiarowe zmienne tymczasowe zmiennymi uşytkownika (globalnymi lub lokalnymi) oraz nakłada na siebie adresy tych zmiennych tymczasowych, które nie są uşywane do obliczeń w tym samym czasie.

[:etykieta] instrukcja [operand1] [,operand2] [,operand3] ...

Y1 (

Etykieta jest opcjonalna, instrukcja określa jednocześnie liczbę operandów. Operandami mogą być zmienne, etykiety i bezpośrednie wartości. Symbol specjalny ? (znak zapytania) oznacza etykietę lub zmienną tymczasową z prefiksem ?LR?. Elementy struktur są wybierane operatorem kropka (.). W przypadku języka IL, wynik wykonywania rozkazu przechowywany jest w rejestrze CR (ang. Current Result), a następnie zawartość CR jest zapisywana w zmiennej. VMASM łączy te dwa kroki w jedną instrukcję, gdzie operand1 wskazuje lokalizację wyniku (operacja pamięć-pamięć). Kompilator i maszyna wirtualna, zaprojektowane dla wieloplatformowych implementacji, muszą brać pod uwagę rozmiar adresów docelowego procesora, bądź teş nie wymagają wszystkich typów danych zdefiniowanych w normie IEC 61131-3. By to uwzględnić, kompilator ST na VMASM jest parametryzowany za pomocą pliku XML LCF (ang. Library Configuration File)

Mnemoniki generowane przez kompilator podlegają konwersji do kodu binarnego dla maszyny wirtualnej. Maszyna jest zaprojektowana w architekturze harwardzkiej (rozdzielone przestrzenie adresowe pamięci programu i danych). W pierwszej fazie implementacji tworzony jest jej interfejs dla docelowej platformy sprzętowej.

Y1^1 3 * Podstawowe składniki maszyny wirtualnej, takie jak pamięci programu i danych, stosy programu i danych, moduł wykonywania instrukcji i interfejs dla docelowej platformy, pokazano na rysunku 3. Moduł wykonywania instrukcji pobiera rozkazy z pamięci programu, przetwarza je, pobiera operandy z pamięci danych lub programu (zmienne lub stałe) i zapisuje wyniki w pamięci danych.

! " # ! $ ! " # ! $ $ % && # ! " # ! $

Rys. 2. Program w ST i translacja na VMASM dla generatora impulsu Fig. 2. ST program and VMASM translation for the pulse generator

23


G:& : _ .! & ! $ & +# Y

Stos programu

Stos danych

programu

Interfejs dla platformy docelowej

danych

Prototypy funkcji niskopoziomowych

Rys. 3. OgĂłlna architektura maszyny wirtualnej Fig. 3. General architecture of the virtual machine

Z1^1 4 " # %& $

Interfejs dla docelowej platformy składa się z niskopoziomowych funkcji zaleşnych od sprzętu i systemu operacyjnego, jak aktualizacja wejść i wyjść, zarządzanie czasem cyklu, alokacja pamięci itp. Ogólna część maszyny wirtualnej jest napisana w standardowym języku C, podobnie jak większość tego typu maszyn wirtualnych i moşe być bezpośrednio kompilowana na typowe procesory. Maszyna wirtualna działa więc jak interpreter wykonując kolejne linie kodu. Pojedyncza instrukcja programu pobiera operandy w zaleşności od specyfikacji zdefiniowanej w pliku LCF i wykonuje stosowne obliczenia. W przypadku funkcji rezultat umieszczany jest pod odpowiednim adresem.

WspĂłlnÄ… cechÄ… edytorĂłw diagramĂłw LD i FBD jest mechanizm automatycznego wyznaczania poĹ‚Ä…czeĹ„ za pomocÄ… algorytmu A* [29]. Translatory zastÄ™pujÄ… wewnÄ™trzne poĹ‚Ä…czenia pomocniczymi zmiennymi lokalnymi niezbÄ™dnymi, by wyĹ›wietlić bieşącÄ… wartość na poĹ‚Ä…czeniu w trybie on-line. Wersja FBD przykĹ‚adowego fragmentu programu, wraz z jego translacjÄ… na ST, jest pokazana na rysunku 4a. Pomocnicza zmienna out_R_TRIG1_Q i dalsze z przedrostkiem out_ sÄ… tworzone automatycznie. Poza tymi zmiennymi tĹ‚umaczenie nie róşni siÄ™ zbytnio od oryginalnego kodu ST (rys. 2). Rysunek 4b przedstawia diagram LD odpowiadajÄ…cy FBD. SygnaĹ‚ OUT na wejĹ›ciu RS1 zapewnia sprzęşenie zwrotne. Nie ma ograniczeĹ„ dla zĹ‚oĹźonoĹ›ci szczebla, o ile tylko zachowano reguĹ‚y jÄ™zyka LD. Zmodyfikowany algorytm A* stosowany w edytorach Ĺ‚Ä…czy podejĹ›cie konwencjonalne z heurystycznym. Podczas wyzna-

Y1S1 0 0 OgĂłlna część maszyny wirtualnej zawiera zestaw funkcji do obsĹ‚ugi komponentĂłw procesora w kolejnych fazach dziaĹ‚ania maszyny, rozpoczynajÄ…c od zaĹ‚adowania programu z danego projektu. SÄ… to prototypy niskopoziomowych funkcji (poczÄ…tkowo puste), niezaleĹźne od CPU i zastosowanych rozwiÄ…zaĹ„ sprzÄ™towych. Cztery przykĹ‚ady takich prototypĂłw pokazano poniĹźej. −

– inicjalizacja sprzÄ™tu, zapis poczÄ…tkowego stanu (czas, parametry), − VMP_PreCycle – aktualizacja zmiennych z zewnÄ™trznych wejść przed rozpoczÄ™ciem obliczeĹ„, zapis poczÄ…tkowego stanu zegara systemowego, − VMP_PostCycle – aktualizacja zewnÄ™trznych wyjść rezultatem obliczeĹ„ z bieşącego cyklu, wykonanie procedur testowych lub komunikacyjnych, − VMP_CurrentTime – zwraca bieşącÄ… wartość zegara systemowego do zmiennej typu TIME. Kod niskopoziomowych funkcji jest przygotowywany w C/C++ podczas wdroĹźenia na docelowÄ… platformÄ™ i konsolidowany z ogĂłlnÄ… częściÄ… maszyny wirtualnej. Po tej fazie implementacja maszyny wirtualnej dla docelowej platformy sprzÄ™towej jest gotowa do uruchomienia.

(a)

(b)

Z1 4 '( Jak wspomniano w rozdziale 3, programy utworzone w jÄ™zykach graficznych sÄ… poczÄ…tkowo tĹ‚umaczone do ST, a nastÄ™pnie kompilowane. DziÄ™ki dwuwarstwowej strukturze oprogramowania dla paneli HMI, narzÄ™dzie do projektowania interfejsĂłw graficznych moĹźe współpracować z róşnymi urzÄ…dzeniami.

24

P

O

M

I

A

R

Y

•

Rys. 4. Diagramy i translacja generatora impulsu: (a) FBD, (b) LD Fig. 4. Diagrams and translation of the pulse generator: (a) FBD, (b) LD

A

U

T

O

M

A

T

Y

K

A

•

R

O

B

O

T

Y

K

A

NR 1 / 20 20


! " !

czania połączenia obliczany jest jego koszt, biorący pod uwagę liczbę przecięć z innymi połączeniami i liczbę zmian kierunków [28], aby moşliwie zmniejszyć długość połączeń, zachowując jednocześnie przejrzystość schematu.

Z1S1 4 " )% Diagramy SFC przechowywane są w pamięci jako drzewa. Drzewo moşe składać się z kroków, tranzycji, skoków, wyboru sekwencji i sekwencji współbieşnych. Pierwsze trzy elementy są podstawowe i tworzą dwa dalsze. Akcje przywiązane są do kroków, a typy akcji określane są kwalifikatorem zgodnie z normą IEC 61131-3 [3]. Translacja z SFC na ST korzysta z dwóch bloków funkcjonalnych z biblioteki systemowej, SFC_STEP oraz SFC_ACTION_CONTROL. Blok SFC_STEP wyznacza aktywność poszczególnych kroków na podstawie flagi next-step-flag powiązanej z wejściem. Blok ma dwa wyjścia, X i T, oznaczające aktywność i czas, który minął od aktywacji (dla tranzycji i akcji). Blok STEP_ACTION_CONTROL aktywuje akcję powiązaną z krokiem w zaleşności od kwalifikatora. Translator łączy wyjście X z SFC_STEP z wejściem SFC_ACTION_CONTROL odpowiadającym uşytemu kwalifikatorowi. Wykonywanie kodu akcji uruchamiane jest wyjściem A.

Z1V1 0 '( Graficzne panele operatorskie, zazwyczaj z ekranem dotykowym, stosowane sÄ… w systemach wykorzystujÄ…cych sterowniki PLC i PAC. Panele takie niekiedy zintegrowane sÄ… ze sterownikami, jak np. w przypadku urzÄ…dzeĹ„ pochodzÄ…cych z firm Beckhoff, Unitronix czy Horner. ObsĹ‚uga paneli HMI zostaĹ‚a zaimplementowana w Ĺ›rodowisku CPDev w ramach narzÄ™dzia CPVis obejmujÄ…cego edytor graficzny dedykowany do tworzenia ekranĂłw z predefiniowanych komponentĂłw. Zmienne globalne, bÄ…dĹş staĹ‚e, przypisywane sÄ… jako atrybuty komponentĂłw. Dane projektu zapisywane sÄ… w pliku XML i eksportowane do kodu binarnego wykorzystywanego w uruchomieniowym docelowego sterownika. Aby zaimplementować oprogramowanie HMI na docelowym urzÄ…dzeniu, inĹźynier powinien przygotować zestaw procedur rysujÄ…cych podstawowe elementy graficzne (np. linia, koĹ‚o, tekst), wykorzystujÄ…c mechanizmy i biblioteki specyficzne dla urzÄ…dzenia, jak np. RamTex, GLCD, GDI+ lub inne. Na podstawowych elementach bazuje domyĹ›lna biblioteka CPVis ze zĹ‚oĹźonymi obiektami graficznymi jak BarGraph, ProcessValue, TouchableBox, Gauge itp. DziÄ™ki temu utworzone obiekty sÄ… niezaleĹźne od sprzÄ™tu i mogÄ… być wyĹ›wietlone na róşnych urzÄ…dzeniach.

\1 + Podczas wdraşania środowiska na docelowej platformie naleşy takşe opracować mechanizmy komunikacji i konfiguracji wejść/ wyjść. Aby to umoşliwić, kompilator, poza kodem binarnym, tworzy plik XML (rozszerzenie DCP) z mnemonikami VMASM (dla debugowania) i podstawowymi danymi na temat zmiennych globalnych. Na podstawie tych danych moşliwe jest powiązanie zmiennych z zewnętrznymi interfejsami.

\1^1 " 0 Konfigurator zapewnia trzy funkcjonalnoĹ›ci: − ustalenie parametrĂłw interfejsu komunikacyjnego, − powiÄ…zanie zmiennych globalnych z interfejsami, − przesĹ‚anie kodu binarnego, parametrĂłw komunikacyjnych i tablicy powiÄ…zaĹ„ do sterownika.

Typowe parametry interfejsu komunikacyjnego to prędkość transmisji, numer urządzenia itd. (dla łącza szeregowego) czy adres IP (dla łącza Ethernet). Aby wyjaśnić, jak moşe wyglądać prosty konfigurator, rozwaşmy system, gdzie sterownik komunikuje się z trzema zdal-

Rys. 5. Konfigurator komunikacji Fig. 5. Communication configurer

nymi moduĹ‚ami wejĹ›cia/wyjĹ›cia [33] w protokole Modbus RTU (pierwsze przemysĹ‚owe wdroĹźenie CPDev [7]). ZaĹ‚óşmy, Ĺźe zmienna IN z przykĹ‚adu jest ustawiana pierwszym wejĹ›ciem z moduĹ‚u wejść binarnych (urzÄ…dzenie podrzÄ™dne nr 1, adres Modbus 4003). Podobnie zmienna OUT jest zapisywana do moduĹ‚u wyjść binarnych (urzÄ…dzenie podrzÄ™dne 2, adres Modbus 4205). Zasadnicza część okna konfiguracyjnego zawierajÄ…ca definicje zadaĹ„ komunikacyjnych pokazana jest na rysunku 5. Pierwszy wiersz z funkcjÄ… FC3 Modbus odczytuje jeden rejestr z urzÄ…dzenia nr 1 spod adresu 4003 i zapisuje wartość do zmiennej IN. Drugi wiersz z funkcjÄ… FC16 zapisuje zmiennÄ… OUT pod adres 4205 urzÄ…dzenia nr 2. PoniewaĹź zmienna typu BOOL zajmuje jeden bajt, wykonywane sÄ… konwersje 8- 16-bit. Obecna implementacja maszyny wirtualnej na komputer PC (softcontroller) zawiera wbudowany podstawowy serwer opracowany na podstawie publicznie dostÄ™pnego LightOPC [34].

\1S1 Jak wspomniano, Ĺ›rodowisko inĹźynierskie moĹźe być przeniesione na docelowÄ… platformÄ™ po opracowaniu: − interfejsu dla platformy docelowej, − narzÄ™dzia konfigurujÄ…cego komunikacjÄ™ i wejĹ›cia/wyjĹ›cia, − moduĹ‚u uruchomieniowego umoĹźliwiajÄ…cego przesĹ‚anie kodu binarnego i danych konfiguracyjnych do sterownika. Podsystemy automatyki okrÄ™towej, jak sterowanie napÄ™dami, kursem, zarzÄ…dzanie poborem energii i inne, naleşące do systemu Mega-Guard z firmy Praxis [35] sÄ… najistotniejszym wdroĹźeniem CPDev. KaĹźdy podsystem skĹ‚ada siÄ™ z procesora sterujÄ…cego, jednostki bÄ…dĹş jednostek wejĹ›cia/wyjĹ›cia i panelu dotykowego TFT, bazujÄ…cych na CPU ARM. Procesor komunikuje siÄ™ z moduĹ‚ami I/O przez CAN, a z TFT przez Ethernet. WartoĹ›ci zmiennych procesowych pokazywane sÄ… na ekranie TFT. Sterownik StTr-PLC, skĹ‚adnik zintegrowanej platformy komunikacyjnej GSM/GPRS z firmy Nauka i Technika [36], nadzoruje i steruje rozproszonymi instalacjami. Sterownik zawiera procesor ARM-Cortex CPU, dotykowy panel TFT, wejĹ›cia/wyjĹ›cia i moduĹ‚ komunikacyjny. Poza komunikacjÄ… GSM/GPRS, sterownik StTr-PLC implementuje Wi-Fi oraz ZigBee. DziÄ™ki komunikacji bezprzewodowej urzÄ…dzenia z serii StTr sÄ… takĹźe uĹźywane w zastosowaniach mobilnych, jak monitoring miejskiej komunikacji autobusowej. Inne przykĹ‚adowe wdroĹźenia obejmujÄ… jednostki RTU z firmy iGrid [37] do automatyki podstacji energetycznych (protokoĹ‚y IEC 60870 i 61850) oraz sterownik PLC1 z firmy Bart-Com [38] ze zdalnymi moduĹ‚ami wejĹ›cia/wyjĹ›cia (Profibus DP, Modbus RTU) dedykowany do inteligentnych domĂłw.

25


G:& : _ .! & ! $ & +# Y

]1

10. Jamro M., RzoĹ„ca D., RzÄ…sa W., Testing communication tasks in distributed control systems with SysML and Timed Colored Petri Nets model, “Computers in Industryâ€?, Vol. 71, 2015, 77–87, DOI: 10.1016/j.compind.2015.03.007. 11. Jamro M., POU-Oriented Unit Testing of IEC 61131-3 Control Software, “IEEE Transactions on Industrial Informaticsâ€?, Vol. 11, No. 5, 2015, 1119–1129, DOI: 10.1109/TII.2015.2469257. 12. B. Venners, Inside the Java Virtual Machine. New York: McGraw-Hill Inc., 1997. 13. Richter J., Richter A., CLR via C#. Microsoft Press, 2006. 14. Schoeberl M., A Java Processor Architecture for Embedded Real-time Systems, “Journal of Systems Architectureâ€?, Vol. 54, No. 1–2, 2008, 265–286, DOI: 10.1016/j.sysarc.2007.06.001. 15. Zhou C., Chen H., Development of a PLC Virtual Machine Orienting IEC 61131-3 Standard, [in:] 2009 International Conference on Measuring Technology and Mechatronics Automation, Vol. 3, 2009, 374–379, DOI: 10.1109/ICMTMA.2009.422. 16. Zhang M., Lu Y., Xia T., The Design and Implementation of Virtual Machine System in Embedded SoftPLC System, [in:] 2013 International Conference on Computer Sciences and Applications, 775–778, DOI: 10.1109/CSA.2013.185. 17. Cavalieri S., Puglisi G., Scroppo M.S., Galvagno L., Moving IEC 61131-3 applications to a computing framework based on CLR Virtual Machine, [in:] 2016 IEEE 21st International Conference on Emerging Technologies and Factory Automation (ETFA), 1–8, DOI: 10.1109/ETFA.2016.7733632. 18. De Tommasi G., Pironti A., An educational open-source tool for the design of IEC 61131-3 compliant automation software, [in:] 2008 International Symposium on Power Electronics, Electrical Drives, Automation and Motion, 486–491, DOI: 10.1109/SPEEDHAM.2008.4581144. 19. Shin S., Kwon M., Rho S., Whimori CDK: A Control Program Development Kit, [in:] 2009 International Conference on Computing, Engineering and Information, 115–118, DOI: 10.1109/ICC.2009.33. 20. Palma L.B., Brito V., Rosas J., Gil P., WEB PLC simulator for ST programming, [in:] 2017 4th Experiment@International Conference (exp.at’17), 303–308, DOI: 10.1109/EXPAT.2017.7984410. 21. Inzunza VillagĂłmez H.I., PĂŠrez Arce B., HernĂĄndez Ruiz S.I., LĂłpez Corella J.A., Design and implementation of a development environment on ladder diagram (HT-PLC) for Arduino with Ethernet connection, [in:] 2018 IEEE International Conference on Automation/XXIII Congress of the Chilean Association of Automatic Control (ICAACCA), 1–6, DOI: 10.1109/ICA-ACCA.2018.8609850. 22. Cooper K.D., Torczon L., Engineering a Compiler (Second Edition). Morgan Kaufmann, Boston 2012. 23. Fen G., Ning W., A Transformation Algorithm of Ladder Diagram into Instruction List Based on AOV Digraph and Binary Tree, [in:] TENCON 2006 – 2006 IEEE Region 10 Conference, 1–4, DOI: 10.1109/TENCON.2006.343937. 24. Huang L., Liu W., Liu Z., Algorithm of transformation from PLC ladder diagram to structured text, [in:] 2009 9th International Conference on Electronic Measurement Instruments, 4-778–4-782, DOI: 10.1109/ICEMI.2009.5274701. 25. Milik A., Hrynkiewicz E., Distributed PLC Based on Multicore CPUs – Architecture and Programming, “IFAC-PapersOnLineâ€?, Vol. 49, No. 25, 2016, 1–7, DOI: 10.1016/j.ifacol.2016.12.001. 26. Fiset J.-Y., Human-Machine Interface Design for Process Control Applications. Instrumentation, Systems and Automation Society, 2009.

W artykule zaprezentowano przenoĹ›ne Ĺ›rodowisko inĹźynierskie, przeznaczone do implementacji w sterownikach przemysĹ‚owych z 8-, 16- lub 32-bitowymi procesorami. Ĺšrodowisko oparte jest na maszynie wirtualnej wykonujÄ…cej kod poĹ›redni VMASM, do ktĂłrego kompilowane sÄ… programy z jÄ™zykĂłw ST lub IL. JÄ™zyki graficzne sÄ… najpierw tĹ‚umaczone do ST. Kompilator i maszyna wirtualna sÄ… parametryzowane za pomocÄ… plikĂłw konfiguracyjnych XML. Prototypy niskopoziomowych funkcji wbudowane w maszynÄ™ wirtualnÄ… umoĹźliwiajÄ… jej wdroĹźenie na róşnych platformach sprzÄ™towych. DziÄ™ki rozdzieleniu oprogramowania HMI na warstwy zaleĹźne i niezaleĹźne od sprzÄ™tu, projekty HMI mogÄ… być wyĹ›wietlane na róşnych urzÄ…dzeniach. Generowany przez kompilator plik XML z danymi o zmiennych globalnych umoĹźliwia ich powiÄ…zanie z interfejsami komunikacyjnymi i I/O. Zazwyczaj producenci urzÄ…dzeĹ„ automatyki mogÄ… samodzielnie zaimplementować opisane Ĺ›rodowisko inĹźynierskie. Rozszerzenia Ĺ›rodowiska o programowanie zorientowane obiektowo, wykonywanie zadaĹ„ wyzwalane zdarzeniowo i przeniesienie wieloprojektowego Ĺ›rodowiska na wielordzeniowe procesory, ze współbieĹźnym uruchamianiem projektĂłw na poszczegĂłlnych rdzeniach, sÄ… obecnie opracowywane.

" Autorzy dziękują Marcinowi Jamro za pomoc przy rozwoju środowiska kilka lat temu. Projekt finansowany w ramach programu Ministra Nauki i Szkolnictwa Wyşszego pod nazwą „Regionalna Inicjatywa Doskonałości� w latach 2019–2022 nr projektu 027/RID/2018/19 całkowita kwota finansowania 11 999 900 zł.

& L 0 1. Vogel-Heuser B., SchĂźtz D., Frank T., Legat C., Model-driven engineering of Manufacturing Automation Software Projects – A SysMLbased approach, “Mechatronicsâ€?, Vol. 24, No. 7, 2014, 883–897, DOI: 10.1016/j.mechatronics.2014.05.003. 2. Thramboulidis K., A cyber–physical system-based approach for industrial automation systems, “Computers in Industryâ€?, Vol. 72, 2015, 92–102, DOI: 10.1016/j.compind.2015.04.006. 3. IEC 61131-3 - Programmable controllers - Part 3: Programming languages, 2003, 2013. 4. Hsieh S.-J., Cheng Y.-T., Algorithm and intel ligent tutoring system design for programmable controller programming, “The International Journal of Advanced Manufacturing Technologyâ€?, Vol. 71, No. 5–8, 2014, 1099–1115, DOI: 10.1007/s00170-013-5539-z. 5. ISaGRAF Technology, [www.isagraf.com]. 6. COPA-DATA France, Software components for industrial control, [www.straton-plc.com]. 7. RzoĹ„ca D., Sadolewski J., Stec A., Ĺšwider Z., Trybus B., Trybus L., Mini-DCS system programming in IEC 61131-3 Structured Text, “Journal of Automation, Mobile Robotics and Intelligent Systemsâ€?, Vol. 2, No. 3, 2008, 48–54. 8. Cisek J., Mikluszka W., Ĺšwider Z., Trybus L., A LowCost DCS with Multifunction Instruments and CAN Bus, “IFAC Proceedings Volumesâ€?, Vol. 34, No. 29, 2001, 64–69, DOI: 10.1016/S1474-6670(17)32794-5. 9. Hajduk Z., Trybus B., Sadolewski J., Architecture of FPGA Embedded Multiprocessor Programmable Controller, “IEEE Transactions on Industrial Electronicsâ€?, Vol. 62, No. 5, 2015, 2952–2961, DOI: 10.1109/TIE.2014.2362888.

26

P

O

M

I

A

R

Y

•

A

U

T

O

M

A

T

Y

K

A

•

R

O

B

O

T

Y

K

A

NR 1 / 20 20


! " !

27. VDI/VDE 3699 Process control using display screens, 2015. 28. Jamro M., RzoĹ„ca D., Automatic connections in IEC 61131-3 Function Block Diagrams, [in:] 2013 Federated Conference on Computer Science and Information Systems, 463–469. 29. Hart P.E., Nilsson N.J., Raphael B., A Formal Basis for the Heuristic Determination of Minimum Cost Paths, “IEEE Transactions on Systems Science and Cyberneticsâ€?, Vol. 4, No. 2, 1968, 100–107, DOI: 10.1109/TSSC.1968.300136. 30. OMG, “OMG Systems Modeling Language, V1.3,â€? 2012. 31. Jamro M., RzoĹ„ca D., Agile and hierarchical round-trip engineering of IEC 61131-3 control software, “Computers in Industryâ€?, Vol. 96, 2018, 1–9, DOI: 10.1016/j.compind.2018.01.004. 32. Sadolewski J., Szmyd E., Polski kompilator oraz sterowniki programowane za pomocÄ… jÄ™zyka IL normy IEC 61131-3, „Pomiary Automatyka Robotykaâ€?, R. 13, Nr 2, 2009, 615–622. 33. Lumel S.A. [www.lumel.com.pl/en]. 34. Light OPC Server. [www.ipi.ac.ru]. 35. Praxis Automation Technology B.V. [www.praxis-automation.nl].

36. Nauka i Technika. [www.nit.pl]. 37. iGrid T&D. [www.igrid-td.com]. 38. Bart-Com. [www.bart-com.pl].

- 6 K ( ( K R % L @Q @ ( 2% 8 The IEC 61131-3 standard defines five languages, dedicated for programming industrial controllers. The standard is commonly used, there are numerous engineering environments fully or partially compatible with it. Several academic solutions have been described in the literature, but they typically implement only selected parts of the IEC 61131-3 standard (e.g. only one or two languages). On the other hand, commercial engineering environments usually implement all languages, but their documentation focuses on the application of the environment, whereas details about internal architecture and implementation are rarely disclosed. The paper describes such internal details of the CPDev engineering environment. The architecture based on the virtual machine makes the environment portable, thus facilitate implementation on diverse hardware platforms. Several industrial implementations of CPDev are also mentioned. KeywordsU -K B** *> $ ( ( $ % ( ( $ $ $ F"-$ $ %

( - / 0

( 1

% ' % ORCID: 0000-0001-5724-0978

' % ORCID: 0000-0001-7370-9027

X O . )!!)P$ ( V 6 O@ . )!!&P$ % % > 6 $ Y > 6 O@ Z [ )!*)P #% )!!& $ % )!* % T % - 6 > ; @ . \ ( [ @ ( ( % [ [

;/ 0 % K - 6 > @ . O)!!BP 0 )!*) U % > % 6 0 % ; > $ K - 6 @ Z [> H \ ( [ A A ( $ A %

27


G:& : _ .! & ! $ & +# Y

( 2 # 1

9 %( ( 3% 4

' % ORCID: 0000-0002-5615-3626

% /' % ORCID: 0000-0003-3504-5340

;/ 0 % K - 6 > @ . O*++ P > U % )!!& #/ % % % T > % - 6 ; @ . > ( % % [> A / % A

;/ 0 % K - 6 > @ . O*+=&P J 0 % ; $ K - 6 > @ Z [ H U % O*++)P % / ( > O)!!&P #% [ % $ % % ( A $ % > V % ( %A

( 5 6 %

( 9 %( ( 7 6 %

/ / ' % ORCID: 0000-0002-4588-3973

/ ' > ORCID: 0000-0002-1415-3679

;% T % - 6 ; @ . U % 0 % K $ ; $ - 6 > K ;HF T Q 6 )!!& \ ( ( A / % % [ A > ( % ( > [ (

U ;HF T A O*+G!P$ (% A V % $ / #% U> % A @ . > ; % )!! / 0 > T ; . / @;J ( > $

28

P

O

M

I

A

R

Y

•

A

U

T

O

M

A

T

Y

K

A

•

R

O

B

O

T

Y

K

A

NR 1 / 20 20


Pomiary Automatyka Robotyka, ISSN 1427-9126, R. 24, Nr 1/2020, 29–34, DOI: 10.14313/PAR_235/29

K% ( I A XQ 8<Q @Q 3% 4 @ . $ T % - 6 ; $ 0 @ )$ ?>+?+ . A

1 8 W artykule opisano edytory graficzne języków LD i FBD wykorzystywane w autorskim środowisku inşynierskim CPDev. Schematy stworzone za pomocą tych edytorów są wstępnie konwertowane do kodu źródłowego w ST, a następnie tłumaczone do autorskiego kodu pośredniego. Unikalną cechą edytorów jest mechanizm automatycznego wyznaczania połączeń między elementami schematu, wykorzystujący algorytm A*. Poszczególne elementy schematu nie mają sztywno określonego połoşenia w polu roboczym, co wpływa na przejrzystość schematu. W trybie śledzenia on-line, bezpośrednio na schemacie graficznym wyświetlane są wartości wyjść poszczególnych elementów. W tym celu schemat graficzny jest konwertowany do postaci grafu AOV, a następnie upraszczany i bezpośrednio z niego generowany jest kod źródłowy w języku ST. Opracowane edytory graficzne umoşliwiają tworzenie zarówno prostych jak i złoşonych programów sterowania, jak równieş zapewniają łatwą edycję, klonowanie fragmentów schematu, zapis, odczyt oraz drukowanie stworzonego diagramu. ) U

% V $ -K B** *> $ $ A XQ 8<Q$ % ( I $ ( 6 ;#]

1. Wprowadzenie

3 + U

/ ( Z % $ % /' %

przez inşynierów w przemyśle, jak i studentów. W kolejnych latach do pakietu dodano rozszerzenia dla 32- i 64-bitowych procesorów, uzupełniono je o translatory języków graficznych LD, FBD, SFC, narzędzie do projektowania interfejsów HMI i wieloprojektowe środowisko uruchomieniowe. Dwa kolejne rozszerzenia wsparły badania nad podejściem MDD (ang. Model Driven Development) [3] i testami jednostkowymi [4]. Do tej pory środowisko CPDev zostało wdroşone przez kilku znaczących producentów urządzeń automatyki w kraju i za granicą. Translatory języków graficznych (LD, FBD) na język ST, wbudowane w pakiety inşynierskie, często bazują na grafach AOV (ang. Activity on Vertex) [5, 6]. W pakiecie CPDev moduł translatora równieş korzysta z grafu AOV, z którego to bezpośrednio (po optymalizacji) generowany jest program w języku ST. Szczegóły zostaną przedstawione w rozdziale 5. W artykule zaprezentowano dwa elementy środowiska inşynierskiego CPDev – edytory graficzne języków LD i FBD, zgodnych z normą IEC 61131-3. W kolejnym rozdziale przedstawiono budowę środowiska, główne okno programu oraz interfejs uşytkownika. W rozdziale 3 opisano moşliwości edytorów LD i FBD, a w rozdziale 4 translator schematów graficznych na kod źródłowy w języku ST (wraz z przykładami konwersji). W podsumowaniu przedstawiono wybrane wdroşenia przemysłowe pakietu CPDev.

3 % *) !+ )!*+ $ % % !? *) )!*+

S1 <

Środowiska inşynierskie implementujące języki normy IEC 61131-3 [1] (przyjętej w Polsce jako PN-EN 61131-3) są powszechnie stosowane w przemyśle do tworzenia programów sterowania. Standard ten definiuje pięć języków programowania, w tym dwa tekstowe IL, ST, dwa graficzne LD, FBD oraz mieszany język SFC. Języki IL, LD i SFC są przeznaczone głównie do zastosowań w procesach produkcyjnych opartych na sterownikach PLC, natomiast języki ST, FBD są stosowane w obszarach wykorzystujących sterowniki PAC. Prace nad środowiskiem inşynierskim zgodnym z normą IEC 61131-3 rozpoczęły się juş ponad 10 lat temu [2]. Opracowane wtedy środowisko nazwane zostało CPDev (ang. Control Program Developer) i kompilowało jedynie programy z języka ST do autorskiego kodu VMASM (ang. Virtual Machine Assembler) interpretowanego następnie przez stworzoną maszynę wirtualną, zaimplementowaną początkowo na ośmiobitowych mikrokontrolerach MCS 51 i AVR. Od początku środowisko wspierało moşliwość samodzielnej implementacji maszyny wirtualnej na docelowym sprzęcie, zarówno

!

Środowisko inşynierskie, takie jak przedstawiany tu pakiet CPDev, moşna uznać za: (1) uniwersalne, jeśli umoşliwia gene-

29


@ ! ! A ` ! J " q & +# Y rowanie kodu wykonywalnego na różne Platforma 1 platformy sprzętowe, (2) otwarte pod Maszyna Interfejs Kod Program Program względem programowym i sprzętowym, wirtualna we/wy progr. Program w ST VMASM jeżeli dostępne są dla użytkownika końT w LD r Platforma 2 cowego narzędzia do tworzenia własnych a n bloków funkcjonalnych oraz specyfikaInterfejs Maszyna Kod Program s Kompilator wirtualna we/wy progr. l w FBD cje interfejsów wejścia/wyjścia, (3) elaa t styczne, jeżeli spośród wszystkich typów o Platforma 3 Program r danych zdefiniowanych w normie IEC Program w SFC Interfejs Kod Maszyna można swobodnie wybrać te, które najzasobów w IL we/wy progr. wirtualna lepiej odpowiadają danej aplikacji. Pierwsza wersja CPDev, wspierająca Rys. 1. Etapy tworzenia oprogramowania dla różnych platform sprzętowych Fig. 1. Stages of software development for various hardware platforms początkowo jedynie język ST, została w kolejnych latach rozszerzona o obsługę pozostałych języków normy IEC 611313, graficzne projektowanie interfejsów HMI, automatyczny generator dokumentacji oraz dodatkowe moduły o zastosowaniu badawczym. Na rysunku 1 przedstawiono kolejne etapy przetwarzania programów sterowania napisanych w różnych językach normy. Języki tekstowe (ST, IL) są tu bezpośrednio kompilowane do mnemoników opracowanego na potrzeby środowiska specjalizowanego języka VMASM. Diagramy graficzne LD, FBD i SFC są najpierw konwertowane na język ST, a następnie kompilowane do VMASM. Język ST jest więc bazowym językiem środowiska CPDev. Wykonywalny kod binarny programu jest generowany z mnemoników VMASM i ładowany do maszyny wirtualnej. Źródła maszyny wirtualnej napisano w całości w języku C, co znacząco ułatwia przenośność na różne platformy sprzętowe. Rys. 2. Główne okno programu i interfejs użytkownika w systemie CPDev Fig. 2. The main program window and the user interface in the CPDev system Podstawowe funkcjonalności CPDev są podobne do innych tego typu środowisk inżynierskich [7, 8]. Nowością jest autorski mechanizm komunikacyjnym potrzebne dane za pomocą zmiennych gloautomatycznego wyznaczania połączeń między elementami balnych. graficznymi na schematach FBD i LD [9] bazujący na algoNa rysunku 2 pokazano główne okno interfejsu CPDev, rytmie A* [10]. Również tworzony przez użytkownika schemat zawierające: − (po lewej stronie) drzewa struktury projektu, zmiennych graficzny jest konwertowany do postaci grafu AOV [5], który następnie jest upraszczany (eliminowane są nadmiarowe węzły) globalnych, wykonywanych zadań, zastosowanych bibliotek i dostępnych zasobów programowych, i bezpośrednio z niego generowany jest program w języku ST. − (na górze) menu główne i paski narzędziowe (ikony do szybKompilator wykorzystuje zbiór reguł języka ST, biblioteki bloków funkcjonalnych oraz wykaz instrukcji elementarkiego wyboru), − (na dole) okno komunikatów, raportów oraz informacji stanych realizowanych przez maszynę wirtualną. Oprócz kodu tusowych, wykonywalnego tworzone są informacje służące do śledze− (centralnie) obszar roboczy z oknami zawierającymi pronia, uruchamiania i symulacji programu. Konfiguracja zasobów sprzętowych dotyczy pamięci, interfejsu wejścia/wyjścia gramy użytkownika w językach normy IEC 61131-3 (ST, oraz interfejsu komunikacyjnego, a specyfikacja obejmuje typy IL, LD, FBD, SFC). W obszarze roboczym (rys. 2) otwarte są dwa okna: jedno i obszary pamięci, liczby oraz typy wejść i wyjść oraz kanały komunikacyjne. programu (prog_1) w języku FBD oraz drugie funkcji użytkowPodstawowe składniki maszyny wirtualnej to: pamięci pronika (fn_1) w języku LD – funkcja ta użyta jest w programie gramu i danych, osobne stosy programu i danych, moduł prog_1. Interfejsy obu edytorów graficznych (FBD i LD) są wykonywania instrukcji oraz interfejs dla docelowej platformy. identyczne, co znacząco ułatwia ich obsługę przez użytkownika Maszyna wirtualna działa jako interpreter wykonując kolejne końcowego tworzącego programy sterowania. W programie są linie kodu programu. Interfejs dla docelowej platformy składa to jednak dwie osobne klasy FBDEditor oraz LDEditor dziedziczące od wspólnej klasy bazowej GraphicEditor. się z niskopoziomowych funkcji zależnych od sprzętu i systemu Poszczególne programy lub funkcje (napisane w dowolnych operacyjnego, jak aktualizacja wejść i wyjść czy też zarządzajęzykach normy) mogą także wymieniać dane przez zmienne nie czasem cyklu. globalne. Do dyspozycji użytkownika są też gotowe biblioteki Poza maszyną wirtualną wykonującą główne zadania sterowania, środowisko uruchomieniowe może zawierać również funkcji i bloków funkcjonalnych zgodnych z normą IEC 61131-3, moduły HMI obsługujące poszczególne interfejsy graficzne do zarówno z wejściem EN jak i bez niego. Na bieżąco dołączane komunikacji z operatorem. Maszyna wirtualna i moduł HMI są także własne biblioteki. działają wtedy równolegle i niezależnie, wymieniając kanałem

30

P

O

M

I

A

R

Y

A

U

T

O

M

A

T

Y

K

A

R

O

B

O

T

Y

K

A

NR 1 / 20 20


V1 0 " # %& $

Uşytkownik moşe równieş tworzyć własne funkcje i bloki funkcjonalne gromadząc je w swoich bibliotekach – moşna tu korzystać ze wszystkich dołączonych bibliotek i dostępnych języków (ST, IL, LD, FBD, SFC). Na rys. 5 pokazano przykład funkcji uşytkownika (o nazwie fn_1) opracowanej w języku LD. Funkcja ma dwa wejścia (in1, in2) oraz wyjście (o takiej samej nazwie jak nazwa funkcji). W oknie właściwości elementu moşna modyfikować jego nazwę, typ, działanie oraz określić, czy jest to wejście lub wyjście funkcji czy teş zmienna lokalna (pomocnicza) lub globalna.

WspĂłlnÄ… cechÄ… zaimplementowanych w pakiecie CPDev edytorĂłw diagramĂłw FBD i LD jest mechanizm automatycznego wyznaczania poĹ‚Ä…czeĹ„ miÄ™dzy elementami za pomocÄ… zmodyfikowanego algorytmu A* [10], Ĺ‚Ä…czÄ…cego podejĹ›cie konwencjonalne z heurystycznym. Modyfikacja ta polega na dodaniu współczynnikĂłw wagowych [9], ktĂłrych odpowiedni dobĂłr wpĹ‚ywa znaczÄ…co na liczbÄ™ przecięć z innymi poĹ‚Ä…czeniami, jak teĹź na liczbÄ™ zmian kierunkĂłw (w gĂłrÄ™, w dół, w lewo, w prawo), aby moĹźliwie zmniejszyć dĹ‚ugość poĹ‚Ä…czeĹ„. DziÄ™ki temu elementy schematu, takie jak bloki, funkcje, styki czy cewki, nie majÄ… Ĺ›ciĹ›le przywiÄ…zanego poĹ‚oĹźenia w polu roboczym (np. poziomo w drabince LD) i mogÄ… być rozmieszczone dowolnie w polu roboczym. WpĹ‚ywa to znaczÄ…co na przejrzystość schematu i pozwala w Ĺ‚atwy sposĂłb go modyfikować i dodawać nowe elementy w razie potrzeby. PrzykĹ‚adowy program (diagram) Rys. 3. Program w FBD utworzony w edytorze graficznym pakietu CPDev w jÄ™zyku FBD jest pokazany na rys. Fig. 3. The program in FBD created in the graphic editor of the CPDev package 3. UĹźyto tu instancji bloku bibliotecznego (TOF) oraz bramek AND i OR. Zwróćmy uwagÄ™, Ĺźe w odróşnieniu od innych tego typu pakietĂłw inĹźynierskich (np. [7, 8]), poĹ‚oĹźenie elementĂłw schematu (blokĂłw, funkcji itp.) jest tu dowolne, a kolejność ich przetwarzania jest zdefiniowana przez uĹźytkownika (okreĹ›la to liczba w dolnej części prostokÄ…ta, np. bramka AND bÄ™dzie przetwarzana jako pierwsza). OczywiĹ›cie uĹźytkownik moĹźe w kaĹźdej chwili zmienić tÄ™ kolejność, wstawić lub usunąć jakiĹ› element, czy teĹź sklonować fragment schematu (kolejność elementĂłw zostanie wtedy automatycznie przenumerowana). Tak utworzone schematy sÄ… przeksztaĹ‚cane do programĂłw ĹşrĂłdĹ‚owych w jÄ™zyku ST, gdzie mogÄ… być dowolnie modyfikowane. Podobnie bloki funkcjonalne lub funkcje, napisane przez uĹźytkownika w innych jÄ™zykach normy, sÄ… Rys. 4. Program w LD utworzony w edytorze graficznym pakietu CPDev automatycznie obrazowane w edytorze Fig. 4. The program in LD created in the graphic editor of the CPDev package graficznym i mogÄ… być tam uĹźyte do tworzenia kolejnych schematĂłw. PrzykĹ‚adowy schemat w jÄ™zyku drabinkowym (LD) pokazano na rys. 4. SkĹ‚ada siÄ™ on z trzech szczebli, gdzie w pierwszym zastosowano zestyki a na wyjĹ›ciu cewkÄ™ (out1). Tutaj rĂłwnieĹź, w zaleĹźnoĹ›ci od preferencji uĹźytkownika, moĹźna trzymać siÄ™ „klasycznegoâ€? sposobu tworzenia schematu LD (elementy w jednej linii) lub zastosować format „swobodnyâ€? (np. wysuniÄ™ty w gĂłrÄ™ zestyk in2). W drugim szczeblu uĹźyto funkcji bibliotecznej AND z wejĹ›ciem EN oraz celowo wysuniÄ™tÄ… w gĂłrÄ™ zmiennÄ… wejĹ›ciowÄ… in3. W trzecim szczeblu zastosowano instancjÄ™ bloku funkcjonalnego TON (takĹźe z wejRys. 5. PrzykĹ‚ad tworzenia funkcji uĹźytkownika w edytorze LD Fig. 5. An example of creating a user function in the LD editor Ĺ›ciem EN).

31


@ ! ! A ` ! J " q & +# Y

X1 4 " # $ %&

linii programu w ST oraz wprowadzane są dodatkowe zmienne lokalne reprezentujące wyjścia elementów schematu (z prefiksem, np. out_contact_ czy teş out_bp_, oraz postfiksem, np. _80_80 oznaczającym współrzędne elementu na schemacie). Zatem zmienna out_contact_input1_80_80 oznacza wyjście elementu input1 (zestyku) o współrzędnych (80, 80) – na grafie AOV odpowiada jej węzeł wirtualny vn1 (virtiual node). Podobnie, wyjściu elementu input3 odpowiada węzeł vn2. Połączenie szeregowe węzła wirtualnego i rzeczywistego tłumaczone jest jako operacja AND (np. vn4 := vn3 AND input2), natomiast równoległe dwóch węzłów wirtualnych jako OR (np. vn3 := vn1 OR vn2). W podobny sposób konwertowane są złoşone schematy LD. Ze względu na swobodny format diagramu LD (elementy szczebla nie muszą leşeć w jednej linii), kolejność przetwarzania elementów na schemacie wyznaczana jest na podstawie grafu AOV, a nie ich fizycznego połoşenia (współrzędnych) na diagramie. Dlatego teş wysunięcie zestyków in2 oraz out2 na schemacie (rys. 8) nie ma şadnego wpływu na generowany kod (analizowany jest graf AOV, a nie połoşenie elementów na diagramie). Funkcje i bloki funkcjonalne w języku LD mogą mieć dodatkowe wejście EN (enable). Norma IEC 61131-3 nie traktuje go jako zwykłego wejścia, dlatego teş programy uşywające funkcji lub bloków z EN naleşy w sposób specjalny przekonwertować na ST (rys. 9). Konwertowanie programów w FBD jest prostsze (rys. 10), gdyş kolejność przetwarzania elementów schematu jest definiowana przez uşytkownika (w oknie właściwości).

Jednym z załoşeń przy tworzeniu pakietu CPDev było to, aby w trybie debugowania moşliwe było wyświetlanie bezpośrednio na schemacie (diagramie) wartości wyjść wszystkich uşytych elementów (styków, cewek, bloków funkcjonalnych i funkcji). Przedstawiono to na rys. 6. Z lewej strony okna, w miejscu drzewa projektu, prezentowane są wtedy wartości wybranych zmiennych (globalnych i lokalnych) oraz wejść i wyjść uşytych bloków i funkcji. Dodatkowo na schemacie w oknie roboczym w trybie on-line, po najechaniu kursorem na połączenie, wyświetlane są aktualne wartości zmiennych (np. FALSE na wyjściu zestyku ALARM) oraz poszczególne połączenia między elementami schematu zmieniają kolor lub atrybut (np. TRUE – linia ciągła niebieska, FALSE – linia przerywana czarna). Dlatego teş stworzony przez uşytkownika schemat w języku LD jest najpierw konwertowany do postaci grafu AOV, którego to wierzchołkami (vertices) są te właśnie elementy schematu (reprezentujące zmienne, zadania lub czynności), a krawędzie grafu (edges) definiują połączenia (relacje) między nimi (rys. 7). Tak stworzony graf AOV jest kolejno upraszczany (eliminowane są nadmiarowe węzły), a następnie bezpośrednio z niego generowany jest program w języku ST. W przeciwieństwie do translatorów opisywanych m.in. w pracach [5, 6], tutaj graf AOV nie jest przekształcany do drzewa binarnego, gdyş (zgodnie z pierwotnym załoşeniem) potrzebne są wartości na wyjściach kaşdego elementu. Moşna to zaobserwować we fragmencie programu LD (rys. 7), gdzie jeden wiersz diagramu tłumaczony jest na kilka

Rys. 6. WyglÄ…d okienek pakietu CPDev w trybie debugowania on-line Fig. 6. The appearance of CPDev package windows in on-line debug mode

vn0

input1

vn1

input3

vn3

input2

vn4

output1

vn5

vn2

vn1: vn2: vn3: vn4: vn5: Rys. 7. Program w LD, odpowiadający mu graf AOV oraz tłumaczenie na język ST Fig. 7. The LD program, the corresponding AOV graph and translation into ST

32

P

O

M

I

A

R

Y

•

A

U

T

O

M

A

T

Y

K

A

•

R

O

B

O

T

Y

K

A

NR 1 / 20 20


Rys. 8. Przykład tłumaczenia szczebla drabinki w LD na język ST Fig. 8. Example of ladder rung translation into ST language

Rys. 9. Program z blokiem z wejściem EN i jego tłumaczenie na język ST Fig. 9. Program with a block with EN input and its translation into ST

(1) (2) (3)

Rys. 10. Program w języku FBD i jego tłumaczenie na język ST Fig. 10. The program in FBD and its translation into ST

Z1 W artykule zaprezentowano edytory języków LD i FBD stosowane w środowisku inşynierskim CPDev. Programy w językach graficznych normy IEC 61131-3, jak LD, FBD i SFC, są wstępnie konwertowane do kodu źródłowego w ST, natomiast programy w językach tekstowych ST i IL są juş bezpośrednio tłumaczone do kodu pośredniego VMASM. Unikalną cechą opracowanych edytorów graficznych diagramów FBD i LD jest mechanizm automatycznego wyznaczania połączeń między elementami schematu z wykorzystaniem zmodyfikowanego algorytmu A*. Dzięki temu poszczególne elementy schematu nie mają z góry narzuconego połoşenia w polu roboczym (np. w drabince LD), a więc mogą być rozmieszczone dowolnie, co znacząco wpływa na przejrzystość schematu i jednocześnie pozwala w łatwy sposób go modyfikować. Przy projektowaniu pakietu CPDev przyjęto, şe w trybie debugowania moşliwe będzie wyświetlanie bezpośrednio na schemacie graficznym (diagramie) wartości wyjść jego poszczególnych elementów. Dlatego schemat w języku LD jest najpierw konwertowany do postaci grafu AOV, który to jest kolejno upraszczany (eliminowane są nadmiarowe węzły), a bezpośrednio z niego generowany jest kod źródłowy w języku ST (przykłady zamieszczono w rozdziale 4). Sterowniki podsystemów automatyki okrętowej, naleşące do systemu Mega-Guard z firmy Praxis [11], są najistotniejszym wdroşeniem pakietu CPDev. Kaşdy moduł składa się z procesora sterującego, jednostek wejścia/wyjścia i panelu dotykowego TFT, komunikujących się przez CAN lub Ethernet. Natomiast wdroşenia firmy Nauka i Technika [12] bazują na sterowniku StTr-PLC, będącym składnikiem zintegrowanej platformy wykorzystującej moduły komunikacyjne GSM, Wi-Fi oraz ZigBee.

" Autor dziękuje współtwórcom środowiska CPDev, w szczególności Leszkowi Trybusowi, Bartoszowi Trybusowi, Janowi Sadolewskiemu, Dariuszowi Rzońca oraz Marcinowi Jamro, za wszelką pomoc przy tworzeniu i modyfikacjach opisywanych tu edytorów graficznych.

& L 0 1. IEC 61131-3 – Programmable controllers – Part 3: Programming languages, 2003, 2013. 2. RzoĹ„ca D., Sadolewski J., Stec A., Ĺšwider Z., Trybus B., Trybus L., Mini-DCS system programming in IEC 61131-3 Structured Text, “Journal of Automation, Mobile Robotics and Intelligent Systemsâ€?, Vol. 2, No. 3, 2008, 48–54. 3. Jamro M., RzoĹ„ca D., RzÄ…sa W., Testing communication tasks in distributed control systems with SysML and Timed Colored Petri Nets model, “Computers in Industryâ€?, Vol. 71, 2015, 77–87, DOI: 10.1016/j.compind.2015.03.007. 4. Jamro M., POU-Oriented Unit Testing of IEC 61131-3 Control Software, “IEEE Transactions on Industrial Informaticsâ€?, Vol. 11, No. 5, 2015, 1119–1129, DOI: 10.1109/TII.2015.2469257. 5. Fen G., Ning W., A Transformation Algorithm of Ladder Diagram into Instruction List Based on AOV Digraph and Binary Tree [in:] TENCON – IEEE Region 10 Conference, 2006, DOI: 10.1109/TENCON.2006.343937. 6. Huang L., Liu W., Liu Z., Algorithm of transformation from PLC ladder diagram to structured text [in:] 9th International Conference on Electronic Measurement Instruments, 2009, 4-778–4-782, DOI: 10.1109/ICEMI.2009.5274701. 7. 3S-Smart Software Solutions GmbH, CODESYS, [www. codesys.com].

33


@ ! ! A ` ! J " q & +# Y

H K% 6 XQ % 8<Q X ( ( @Q @ ( 2% 8 The article describes graphic editors of LD and FBD languages used in the CPDev proprietary engineering community. The diagrams created with the help of these editors are pre-converted to source code in ST, and then translated into the author’s intermediate code. A unique feature of these editors is the mechanism of automatically determining connections between diagram elements using the A* algorithm. Individual elements of the diagram do not have a rigid position in the working field (e.g. LD ladder), which significantly affects the transparency of the diagram. In on-line tracking mode, the output values of its individual elements are displayed directly on the graphic scheme. To ensure this, the graphic schema is first converted to an AOV graph, and then simplified and the ST source code is directly generated from it. Developed graphic editors allow creating both simple and complex control programs, as well as ensure easy editing, cloning of fragments of the scheme, saving, loading and printing of the created diagram. KeywordsU ( ( $ -K B** *> $ $ XQ % 8<Q ( ( $ ( % $ ;#] (

9 %( ( 3% 4 % /' % ORCID: 0000-0003-3504-5340 ;/ 0 % K - 6 > @ . O*+=&P J 0 % ; $ K - 6 > @ Z [ H U % O*++)P % / ( > O)!!&P #% [ % $ % % ( A $ % > V % ( %A

34

P

O

M

I

A

R

Y

•

A

U

T

O

M

A

T

Y

K

A

•

R

O

B

O

T

Y

K

A

NR 1 / 20 20


Pomiary Automatyka Robotyka, ISSN 1427-9126, R. 24, Nr 1/2020, 35–40, DOI: 10.14313/PAR_235/35

@ % ( F"- % V @Q - / 0 @ . $ T % - 6 ; $ 0 @ )$ ?>+?+ . A

1 8 Panele operatorskie HMI są powszechnie stosowane w systemach automatyki przemysłowej. Pozwalają na wizualizację sterowania procesem przemysłowym, jak równieş na zmianę parametrów. Wartości prezentowane operatorowi na ekranie procesowym pochodzą ze sterownika, bądź sterowników, połączonych łączem komunikacyjnym. Wydajna komunikacja między HMI a sterownikiem jest niezbędna dla prawidłowego działania systemu automatyki. W artykule przeanalizowano kilka aspektów takiej komunikacji i zaproponowano rozwiązania pozwalające na skrócenie czasu cyklu komunikacyjnego. Opisane metody zostały zaimplementowane w pakiecie inşynierskim CPDev. ) U $ @X $ $ F"-$

1. Wprowadzenie Środowisko inşynierskie CPDev [1, 2] jest opracowanym w Katedrze Informatyki i Automatyki Politechniki Rzeszowskiej zestawem narzędzi pozwalającym na programowanie sterowników PLC (ang. Programmable Logic Controller) i PAC (ang. Programmable Automation Controller) w językach normy IEC 61131-3, przyjętej w Polsce jako PN-EN 61131-3 [3]. Norma ta definiuje pięć języków programowania, dwa tekstowe: ST (ang. Structured Text) i IL (ang. Instruction List), dwa graficzne: FBD (ang. Function Block Diagram) i LD (ang. Ladder Diagram) oraz mieszany język SFC (ang. Sequential Function Chart). Środowisko CPDev pozwala na programowanie w kaşdym z wymienionych języków. Pakiet CPDev został wdroşony w kilku rozwiązaniach technicznych, przygotowanych przez polskich i zagranicznych producentów urządzeń automatyki przemysłowej. Pakiet CPDev zawiera narzędzie CPVis pozwalające na przygotowanie ekranów procesowych dla panelu operatorskiego HMI (ang. Human-Machine Interface). Wizualizacja przebiegu procesu sterowania na panelu HMI jest rozwiązaniem często stosowanym w systemach automatyki. Charakterystyczną cechą CPDev jest przygotowywanie wizualizacji w powiązaniu z programem sterowania. Wysokopoziomowe mechanizmy wizualiza-

3 + U

Q . U $ % ' > 3 % *B *! )!*+ $ % % )G ** )!*+

!

cyjne są niezaleşne od sprzętu, mogą być wdroşone na docelowej platformie sprzętowej, po opracowaniu zestawu niskopoziomowych funkcji graficznych. Wąskim gardłem moşe być jednak interfejs komunikacyjny. Wymagania wydajnościowe były motywacją do przeprowadzenia opisanych w artykule badań i przetestowania proponowanych rozwiązań w praktyce. W kolejnym rozdziale przedstawiono krótki przegląd literatury powiązanej z tematyką artykułu. Trzeci rozdział zwięźle przedstawia środowisko inşynierskie CPDev, zwłaszcza w kontekście przygotowywania wizualizacji dla paneli HMI. Kolejny z rozdziałów poświęcony jest problematyce wymiany danych między sterownikiem a HMI i moşliwym optymalizacjom. Ostatni z rozdziałów podsumowuje artykuł.

S1 + WymianÄ™ danych miÄ™dzy sterownikiem a pozostaĹ‚ymi urzÄ…dzeniami automatyki, w tym panelami HMI, zazwyczaj zapewnia dedykowana przemysĹ‚owa sieć komunikacyjna [4]. Typowo bazuje ona na magistrali polowej [5] i jednym z przemysĹ‚owych protokoĹ‚Ăłw komunikacyjnych zdefiniowanych w normie IEC 61158 [6]. W literaturze opisywano takĹźe inne, niestandardowe rozwiÄ…zania, na przykĹ‚ad korzystajÄ…ce z protokoĹ‚u HTTP (ang. Hypertext Transfer Protocol ) zamiast specjalizowanego protokoĹ‚u przemysĹ‚owego [7, 8], ale nie sÄ… one zazwyczaj stosowane w praktyce. Komunikacja w systemach automatyki przemysĹ‚owej moĹźe korzystać z róşnych paradygmatĂłw dostÄ™pu do Ĺ‚Ä…cza komunikacyjnego, takich jak na przykĹ‚ad producent-dystrybutor-konsument, przekazywanie znacznika (ang. token passing), czy najczęściej stosowany paradygmat master-slave [9]. KaĹźdy z nich bazuje na multipleksowaniu z podziaĹ‚em czasu TDM (ang. Time Division Multiplexing) definiujÄ…c szczeliny czasowe, gdy poszczegĂłlne urzÄ…dzenia majÄ… dostÄ™p do Ĺ‚Ä…cza. PrzykĹ‚a-

35


# & ! _ : & :! $ & : & : g/G _ .! : +# Y dowo w paradygmacie master-slave jedno z urządzeń podłączonych do wspólnej magistrali jest urządzeniem nadrzędnym, inicjującym transmisję, a pozostałe urządzeniami podrzędnymi, mogącymi przesłać komunikat jedynie w odpowiedzi na polecenie mastera. Alternatywne podejście, korzystające z multipleksowania z podziałem częstotliwości FDM (ang. Frequency Division Multiplexing) jest rozwaşane w literaturze [10], ale nie zostało przyjęte w praktyce. Zasady graficznego projektowania aplikacji sterowania, do których naleşą takşe ekrany procesowe HMI, przedstawiono w pracach [11, 12]. Obszaru tego dotyczy takşe standard VDI/ VDE 3699 [13]. Sposoby uwzględnienia czynnika ludzkiego podczas projektowania HMI przedstawiono w pracach [14, 15]. Pierwsze wersje rozszerzeń pakietu inşynierskiego CPDev o moşliwość projektowania interfejsów graficznych opisano w [16, 17]. Aktualną funkcjonalność w tym zakresie pokazano w [18].

teş złoşone (np. bargraf, wykres). Parametry poszczególnych obiektów (rozmiar, kolor itp.) mogą być ustalone jako stałe, bądź powiązane ze zmiennymi z programu sterowania, wizualizując stan procesu. Takie powiązanie moşe dotyczyć zmiennej wejściowej, bezpośrednio odczytywanej z sensora (np. stan zaworu otwarty/zamknięty), bądź dodatkowej zmiennej, obliczanej wyłącznie na potrzeby wizualizacji (np. kolor obiektu zmienny przedziałami, uzaleşniony od temperatury). W drugim przypadku jest konieczne przygotowanie wraz z wizualizacją dodatkowych, prostych programów w jednym z języków IEC 61131-3 (typowo w ST), obliczających wartości wizualizowanych zmiennych. Proces ten szerzej opisano w [18]. Naleşy podkreślić, şe takie programy wizualizacyjne mogą być przygotowane w innym języku niş główny program sterowania. Przykładowy wygląd edytora graficznego CPVis pokazano na rys. 1. Druga część – środowisko wykonawcze – jest uruchamiana na panelu HMI. Wizualizacja zaprojektowana na komputerze PC w programie CPVis jest kompilowana do kodu pośredniego, który jest interpretowany przez środowisko wykonawcze uruchomione na panelu HMI. Kod pośredni zawiera informacje o obiektach z biblioteki uşytych na poszczególnych ekranach, ich lokalizacji, wielkości, powiązaniu ze zmiennymi itd. Interpretacja tego kodu pozwala na obliczenie bieşącego wyglądu ekranu procesowego i wyświetlenie go operatorowi. Proces ten ponawiany jest cyklicznie, z zadanym interwałem. Biblioteka obiektów graficznych bazuje na podstawowych elementach, jak na przykład linia, koło czy tekst. Podczas implementacji środowiska wykonawczego CPVis na docelowym panelu HMI jest konieczne przygotowanie procedur graficznych rysujących te podstawowe elementy, w sposób zaleşny od sprzętu. Pozostała część środowiska wykonawczego jest niezaleşna od sprzętu, co ułatwia wdroşenie. Jedno z takich wdroşeń, dla autopilota okrętowego, przedstawiono w [19].

V1 4 '(

Jak wspomniano w poprzednich rozdziałach środowisko inşynierskie CPDev pozwala na programowanie sterowników przemysłowych w językach normy IEC 61131-3. Jednym z modułów wbudowanych w pakiet CPDev jest CPVis, narzędzie dedykowane do przygotowywania wizualizacji w powiązaniu z implementacją programów sterowania. CPVis składa się z dwóch części – edytora graficznego uruchamianego na komputerze PC i środowiska wykonawczego implementowanego na docelowym panelu operatorskim HMI [17]. Edytor graficzny pozwala na projektowanie wizualizacji korzystającej z biblioteki obiektów graficznych. Standardowa biblioteka zawiera zarówno proste obiekty (np. prostokąt), jak

Rys. 1. Edytor graficzny CPVis Fig. 1. CPVis graphical editor

36

P

O

M

I

A

R

Y

•

A

U

T

O

M

A

T

Y

K

A

•

R

O

B

O

T

Y

K

A

NR 1 / 20 20


X1 ; * "

'( Panele HMI wyĹ›wietlajÄ… operatorowi ekrany procesowe, przedstawiajÄ…ce stan obiektu, bieşące wartoĹ›ci sygnaĹ‚Ăłw, sterowania, wartość zadanÄ… itp. Wiele z elementĂłw graficznych, z ktĂłrych zbudowane sÄ… ekrany procesowe, to elementy dynamiczne, a nie statyczne, co oznacza, Ĺźe ich aktualny wyglÄ…d zaleĹźy od wartoĹ›ci poszczegĂłlnych zmiennych. Dynamika moĹźe wprowadzać zmianÄ™ elementu graficznego w zaleĹźnoĹ›ci od stanu sygnaĹ‚u (np. odmienne grafiki przedstawiajÄ…ce zawĂłr otwarty lub zamkniÄ™ty), jak teĹź zmianÄ™ jego parametrĂłw (np. wysokość prostokÄ…ta ilustrujÄ…cego poziom cieczy w zbiorniku, czy jego kolor odzwierciedlajÄ…cy temperaturÄ™ pĹ‚ynu). By to osiÄ…gnąć niezbÄ™dne jest cykliczne przekazywanie do panelu HMI bieşących wartoĹ›ci zmiennych, powiÄ…zanych z elementami graficznymi. Taka wymiana danych prowadzona jest zazwyczaj w jednym z przemysĹ‚owych protokoĹ‚Ăłw komunikacyjnych. Na potrzeby dalszej analizy przyjmijmy, Ĺźe zastosowano protokół Modbus RTU. Nie zawęşa to jednak ogĂłlnoĹ›ci rozwaĹźaĹ„, wiele dalszych kwestii moĹźna analogicznie rozpatrywać takĹźe dla innych protokoĹ‚Ăłw. Protokół Modbus RTU bazuje na paradygmacie dostÄ™pu do Ĺ‚Ä…cza typu master-slave. Oznacza to, Ĺźe jedno z urzÄ…dzeĹ„ jest urzÄ…dzeniem nadrzÄ™dnym, inicjujÄ…cym transmisjÄ™, a pozostaĹ‚e sÄ… urzÄ…dzeniami podrzÄ™dnymi. W przypadku komunikacji panelu HMI ze sterownikiem moĹźliwa jest zarĂłwno konfiguracja, gdzie panel HMI jest urzÄ…dzeniem typu master (nadrzÄ™dnym), a sterownik – slave (urzÄ…dzeniem podrzÄ™dnym) jak teĹź sytuacja odwrotna (sterownik – master, HMI – slave). WybĂłr odpowiedniej konfiguracji dla danego systemu automatyki zaleĹźy od moĹźliwoĹ›ci komunikacyjnych sterownika, panelu HMI, jak teĹź od liczby poĹ‚Ä…czonych sterownikĂłw i paneli. JeĹźeli panel HMI ma wyĹ›wietlać obrazy procesowe wymagajÄ…ce odczytu zmiennych z kilku sterownikĂłw, to zazwyczaj konfiguruje siÄ™ je jako slave, a panel jako master. JeĹźeli natomiast do jednego sterownika ma być podĹ‚Ä…czonych kilka paneli HMI, to czÄ™sto konfiguracja jest odwrotna i to sterownik zapisuje wartoĹ›ci do panelu HMI. ZakĹ‚adajÄ…c ustalonÄ… liczbÄ™ zmiennych, ktĂłrych wartoĹ›ci naleĹźy przesĹ‚ać, konfiguracja ta nie ma wiÄ™kszego wpĹ‚ywu na liczbÄ™ transmitowanych bajtĂłw, moĹźe natomiast poĹ›rednio wpĹ‚ywać na czas cyklu komunikacyjnego, w zaleĹźnoĹ›ci od czasu odpowiedzi poszczegĂłlnych urzÄ…dzeĹ„. Dla uproszczenia przyjmijmy w dalszych rozwaĹźaniach, Ĺźe urzÄ…dzeniem nadrzÄ™dnym jest panel HMI. W protokole Modbus zdefiniowano polecenia (funkcje) pozwalajÄ…ce na wymianÄ™ danych. Najczęściej uĹźywane wymieniono poniĹźej: − FC1 – odczyt zmiennych binarnych, − FC2 – odczyt wejść binarnych, − FC3 – odczyt rejestrĂłw, − FC4 – odczyt rejestrĂłw wejĹ›ciowych, − FC5 – zapis pojedynczej zmiennej binarnej, − FC6 – zapis pojedynczego rejestru, − FC15 – zapis wielu zmiennych binarnych, − FC16 – zapis wielu rejestrĂłw. Zmienne binarne i rejestry mogÄ… być zarĂłwno odczytywane i zapisywane, wejĹ›cia binarne i rejestry wejĹ›ciowe sÄ… tylko do odczytu. Podczas korzystania z funkcji bitowych (FC1, FC2, FC5, FC15) stan zmiennej binarnej kodowany jest na pojedynczym bicie, co pozwala na przesĹ‚anie informacji o oĹ›miu zmiennych w jednym bajcie. Rejestry sÄ… szesnastobitowe. W praktyce zestaw zaimplementowanych funkcji spoĹ›rĂłd wymienionych i adresacja wykorzystana w sterowniku zaleĹźy od producenta. Spotykane sÄ… na przykĹ‚ad rozwiÄ…zania implementujÄ…ce jedynie funkcje dotyczÄ…ce zmiennych binarnych i rejestrĂłw (bez wejść binarnych i rejestrĂłw wejĹ›ciowych) i mapujÄ…ce wejĹ›cia

pod odpowiednimi adresami pozostaĹ‚ych zmiennych. Niekiedy zmienne binarne mapowane sÄ… w przestrzeni adresowej rejestrĂłw, co pozwala na odczyt zmiennych róşnego typu (takĹźe binarnych) jednym poleceniem, wraz z innymi rejestrami. RozwaĹźmy polecenie odczytujÄ…ce rejestry (FC3). Jego ramkÄ™ przedstawiono na rysunku 2. W jednym poleceniu urzÄ…dzenie nadrzÄ™dne moĹźe zaşądać od urzÄ…dzenia podrzÄ™dnego przesĹ‚ania wartoĹ›ci wielu zmiennych (rejestrĂłw). Liczba rejestrĂłw odczytywanych pojedynczym poleceniem nie moĹźe przekroczyć 125, z uwagi na ograniczenie wielkoĹ›ci pojedynczej wiadomoĹ›ci (odpowiedzi) do 256 bajtĂłw. Oznacza to, Ĺźe starszy bajt w polu liczby rejestrĂłw bÄ™dzie zawsze rĂłwny zero. Adres slave

Kod funkcji

Adres poczÄ…tkowy

Liczba rejestrĂłw

Suma kontrolna

1B

1B (0x03)

2B

2B

2B

Rys. 2. Ramka polecenia FC3 Modbus RTU Fig. 2. Frame of Modbus RTU FC3 function

Adres slave

Kod funkcji

Liczba bajtĂłw

Dane

Suma kontrolna

1B

1B (0x03)

1B

n Ă— 2B

2B

Rys. 3. Ramka odpowiedzi FC3 Modbus RTU Fig. 3. Frame of reply to Modbus RTU FC3 function

W odpowiedzi urzÄ…dzenie podrzÄ™dne przesyĹ‚a ramkÄ™ (rys. 3). Jej dĹ‚ugość jest zmienna i zaleĹźy od liczby odczytywanych rejestrĂłw. Ĺ atwo zauwaĹźyć, Ĺźe przesĹ‚anie w jednej transakcji komunikacyjnej (zapytanie-odpowiedĹş) wartoĹ›ci wielu rejestrĂłw wymaga, by byĹ‚y to kolejne rejestry. Oznacza to, Ĺźe najkorzystniejsza jest sytuacja, gdy wszystkie zmienne wykorzystywane na danym ekranie sÄ…siadujÄ… ze sobÄ… w pamiÄ™ci sterownika. Aby zapewnić korzystnÄ…, sÄ…siedniÄ… lokalizacjÄ™ zmiennych, najprostsze jest ich wĹ‚aĹ›ciwe rozmieszczenie bezpoĹ›rednio na etapie implementacji programu sterowania. W przypadku zmiennych globalnych i programu w jÄ™zyku ST inĹźynier moĹźe wpĹ‚ywać na lokalizacjÄ™ zmiennych za pomocÄ… modyfikatora AT. Jest to jednak Ĺźmudne rozwiÄ…zanie, moĹźe takĹźe prowadzić do komplikacji podczas dalszych modyfikacji programu. Zadanie to znacznie upraszcza siÄ™, jeĹźeli pakiet inĹźynierski wspiera inĹźynieriÄ™ wahadĹ‚owÄ… [20] lub przynajmniej udostÄ™pnia szablony kodĂłw ĹşrĂłdĹ‚owych na podstawie tworzonych modeli, na przykĹ‚ad w jÄ™zyku SysML [21]. Niestety, optymalne, z uwagi na wymagania komunikacyjne, rozmieszczenie wszystkich zmiennych niekiedy jest niemoĹźliwe, zwĹ‚aszcza dla zmiennych zĹ‚oĹźonych (tablic, struktur) lub wykorzystywanych na wielu ekranach procesowych. Innym rozwiÄ…zaniem jest utworzenie kopii wszystkich transmitowanych zmiennych, sÄ…siadujÄ…co w kolejnych komĂłrkach pamiÄ™ci. Pozwala to na odczytanie jednym poleceniem wielu zmiennych bÄ™dÄ…cych elementami róşnych struktur czy tablic, jak teĹź wykorzystywanych na wielu ekranach (wĂłwczas tworzonych jest wiele kopii, osobna dla kaĹźdego ekranu). Niestety podejĹ›cie to wymaga kaĹźdorazowej synchronizacji wartoĹ›ci oryginalnej zmiennej i kaĹźdej jej kopii, po dowolnej modyfikacji. Alternatywne podejĹ›cie, proponowane w tym artykule, nie wymaga modyfikacji programu sterowania. ZauwaĹźmy, Ĺźe niekiedy korzystniejsze czasowo moĹźe być odczytanie wiÄ™kszego fragmentu pamiÄ™ci, zawierajÄ…cego oprĂłcz wymaganych zmiennych takĹźe inne rejestry i zignorowanie nadmiarowych informacji, tylko po to by wymiana danych bazowaĹ‚a na pojedynczej transakcji komunikacyjnej, a nie dwĂłch, bÄ…dĹş nawet kilku, sukcesywnie odczytujÄ…cych jedynie wymagane obszary. Nie zawsze jednak takie rozwiÄ…zanie bÄ™dzie prowadzić do poprawy para-

37


# & ! _ : & :! $ & : & : g/G _ .! : +# Y

metrĂłw czasowych. Przedstawiona dalej analiza teoretyczna pozwala na obliczenie czasu cyklu komunikacyjnego w róşnych przypadkach i wybranie korzystniejszego. RozwaĹźmy sytuacjÄ™, gdy wymagany jest odczyt dwĂłch szesnastobitowych zmiennych (dwĂłch rejestrĂłw Modbus) tak rozmieszczonych w pamiÄ™ci sterownika, Ĺźe miÄ™dzy nimi leşą takĹźe inne rejestry. PrzykĹ‚ad takiej sytuacji pokazano na rysunku 4.

na łączną długość pojedynczej ramki Modbus. W takim przypadku czas cyklu wynosi:

Róşnica tcycle1 − tcycle2 okreĹ›la, o ile krĂłtszy jest czas cyklu komunikacyjnego w drugim przypadku. WartoĹ›ci dodatnie oznaczajÄ…, Ĺźe drugi przypadek jest korzystniejszy; ujemne, Ĺźe korzystniejszy jest przypadek pierwszy.

Przestrzeń adresowa sterownika

(

)

tcycle1 − tcycle2 = 20 − 2k tb + tm + ts Ĺ atwo zauwaĹźyć, Ĺźe dla k 10 istnieje korzyść z zastosowania drugiego sposobu odczytu, niezaleĹźnie od czasĂłw tm, ts > 0. Dla k > 10, wybierajÄ…c optymalny sposĂłb naleĹźy wziąć pod uwagÄ™ czasy tm i ts zaleĹźne od zastosowanych urzÄ…dzeĹ„. OczywiĹ›cie analogiczne obliczenia moĹźna przeprowadzić dla wielu grup wizualizowanych zmiennych, rozdzielonych innymi zmiennymi w pamiÄ™ci sterownika. Takie rozwiÄ…zanie, dynamicznie wybierajÄ…ce sposĂłb transmisji w zaleĹźnoĹ›ci od poĹ‚oĹźenia zmiennych, zaimplementowano w pakiecie inĹźynierskim CPDev. Rys. 4. PrzykĹ‚adowe rozmieszczenie zmiennych w pamiÄ™ci sterownika Fig. 4. Example location of variables in the controller’s memory

Y1 W artykule przedstawiono wpĹ‚yw rozmieszczenia zmiennych globalnych, wizualizowanych na panelu HMI, na opóźnienia komunikacyjne. Zaproponowano metody poprawy parametrĂłw czasowych, w szczegĂłlnoĹ›ci bazujÄ…ce na koncepcji grupowania zmiennych i zbiorczego odczytu. Przedstawiono sposĂłb obliczania czasu cyklu komunikacyjnego w zaleĹźnoĹ›ci od przyjÄ™tej metody odczytu, pozwalajÄ…cy na stwierdzenie czy automatyczne grupowanie poprawi parametry czasowe w konkretnym przypadku. Wspomniany mechanizm zostaĹ‚ zaimplementowany w pakiecie inĹźynierskim CPDev.

Pokazane na rysunku 4 zmienne Valves[1] i Tank[2]. Temperature sÄ… wizualizowane na jednym ekranie procesowym i ich wartoĹ›ci muszÄ… być cyklicznie odczytywane przez panel HMI. Nie ma moĹźliwoĹ›ci zmiany adresĂłw tych zmiennych, tak by leĹźaĹ‚y obok siebie, gdyĹź sÄ… to elementy zĹ‚oĹźonych zmiennych (tablic i struktury). Zmienne te mogÄ… być odczytywane pojedynczo, w dwĂłch osobnych transakcjach komunikacyjnych, bÄ…dĹş grupowo, w jednej transakcji, ale wraz z nadmiarowymi rejestrami leşącymi miÄ™dzy nimi. Przeanalizujmy te dwie moĹźliwoĹ›ci pod kÄ…tem wpĹ‚ywu na czas cyklu komunikacyjnego. Dla zachowania ogĂłlnoĹ›ci zaĹ‚óşmy, Ĺźe interesujÄ…ce nas zmienne sÄ… odseparowane od siebie przez k innych rejestrĂłw. Przy pojedynczym odczycie zmiennych w ramach jednego cyklu komunikacyjnego przesyĹ‚ane sÄ… dwie pary zapytanie/odpowiedĹş. KaĹźdorazowo zapytanie wymaga przesĹ‚ania 8 bajtĂłw, a odpowiedĹş 7 bajtĂłw (zgodnie z ramkami przedstawionymi na rysunkach 2 i 3). W cyklu komunikacyjnym przesyĹ‚ane jest wiÄ™c 30 bajtĂłw. Dodatkowo konieczne jest speĹ‚nienie wymagaĹ„ czasowych protokoĹ‚u Modbus RTU. Protokół wymaga, by miÄ™dzy ramkami przesyĹ‚anymi na magistralÄ™ wystÄ™powaĹ‚y okresy ciszy na linii, o minimalnej dĹ‚ugoĹ›ci rĂłwnej czasowi transmisji 3,5 znaku. Dalsze opóźnienia wprowadzane sÄ… przez przetwarzanie danych po stronie obu urzÄ…dzeĹ„. Oznaczmy jako tb czas transmisji pojedynczego bajtu (zaleĹźny od ustalonej prÄ™dkoĹ›ci Ĺ‚Ä…cza komunikacyjnego), tm – czas potrzebny na przygotowanie zapytania przez urzÄ…dzenie nadrzÄ™dne (master), ts – czas potrzebny na przygotowanie odpowiedzi przez urzÄ…dzenie podrzÄ™dne (slave), a tcycle1 – Ĺ‚Ä…czny czas cyklu komunikacyjnego w i-tym przypadku. BazujÄ…c na poprzednio przedstawionych wyliczeniach uzyskujemy:

(

" Projekt finansowany w ramach programu Ministra Nauki i Szkolnictwa Wyşszego pod nazwą „Regionalna Inicjatywa Doskonałości� w latach 2019–2022 nr projektu 027/ RID/2018/19 całkowita kwota finansowania 11 999 900 zł.

& L 0 1. RzoĹ„ca D., Sadolewski J., Stec A., Ĺšwider Z., Trybus B., Trybus L., CPDev engineering environment for control programming, [in:] Trends in Advanced Intelligent Control, Optimization and Automation (W. Mitkowski, J. Kacprzyk, K. OprzÄ™dkiewicz, P. Skruch, eds.), (Cham), Vol. 577, 303–314, Springer International Publishing, 2017, DOI: 10.1007/978-3-319-60699-6_29. 2. Jamro M., RzoĹ„ca D., Sadolewski J., Stec A., Ĺšwider Z., Trybus B., Trybus L., CPDev Engineering Environment for Modeling, Implementation, Testing, and Visualization of Control Software, [in:] Recent Advances in Automation, Robotics and Measuring Techniques (R. Szewczyk, C. ZieliĹ„ski, and M. KaliczyĹ„ska, eds.), (Cham), Vol. 267, 81–90, Springer International Publishing, 2014, DOI: 10.1007/978-3-319-05353-0_9. 3. IEC 61131-3 - Programmable controllers – Part 3: Programming languages, 2003, 2013. 4. Silva M., Pereira F., Soares F., LeĂŁo C.P., Machado J., Carvalho V., An Overview of Industrial Communication Networks, [in:] New Trends in Mechanism and Machine Science (P. Flores and F. Viadero, eds.), (Cham),

)

tcycle1 = 2 tm + 8tb + 3, 5tb + ts + 7tb + 3, 5tb = 44tb + 2tm + 2ts W drugim przypadku, jeşeli zmienne będą transmitowane w ramach jednej transakcji zapytanie/odpowiedź, zapytanie równieş wymaga przesłania 8 bajtów, ale długość odpowiedzi zaleşy od liczby k dodatkowych transmitowanych rejestrów i wyraşa się wzorem 9 + 2k. Oczywiście k nie moşe przekroczyć wartości 123, by spełnić wspomniane wcześniej ograniczenie

38

P

O

M

I

A

R

Y

•

A

U

T

O

M

A

T

Y

K

A

•

R

O

B

O

T

Y

K

A

NR 1 / 20 20


Vol. 24, 933–940, Springer International Publishing, 2015, DOI: 10.1007/978-3-319-09411-3_97. 5. Thomesse J., Fieldbus Technology in Industrial Automation, “Proceedings of the IEEEâ€?, Vol. 93, No. 6, June 2005, 1073–1101, DOI: 10.1109/JPROC.2005.849724. 6. IEC 61158 - Industrial Communication Networks – Fieldbus Specifications, 2007. 7. Jestratjew A., KwiecieĹ„ A., Using HTTP as Field Network Transfer Protocol, [in:] Computer Networks (A. KwiecieĹ„, P. Gaj, P. Stera, eds.), (Berlin, Heidelberg), Vol. 160, 2011, 306–313, Springer Berlin Heidelberg, DOI: 10.1007/978-3-642-21771-5_33. 8. Jestratjew A., KwiecieĹ„ A., Performance of HTTP Protocol in Networked Control Systems, “IEEE Transactions on Industrial Informaticsâ€?, Vol. 9, No. 1, 2013, 271–276, DOI: 10.1109/TII.2012.2183138. 9. Gaj P., Jasperneite J., Felser M., Computer Communication within Industrial Distributed Environment – a Survey, “IEEE Transactions on Industrial Informaticsâ€?, Vol. 9, No. 1, 2013, 182–189, DOI: 10.1109/TII.2012.2209668. 10. StĂłj J., Real-Time Communication Network Concept Based on Frequency Division Multiplexing, [in:] Computer Networks (A. KwiecieĹ„, P. Gaj, P. Stera, eds.), (Berlin, Heidelberg), Vol. 291, 2012, 247–260, Springer Berlin Heidelberg, DOI: 10.1007/978-3-642-31217-5_27. 11. Fiset J.-Y., Human-Machine Interface Design for Process Control Applications. Instrumentation, Systems and Automation Society, 2009. 12. Zhang P., Human-machine interfaces, [in:] Advanced Industrial Control Technology (Zhang P., ed.), 527–555, Oxford: William Andrew Publishing, 2010. 13. VDI/VDE 3699 Process control using display screens, 2015. 14. Oshana R., Human Factors and User Interface Design for Embedded Systems, in Software Engineering for Embedded Systems (R. Oshana, M. Kraeling, eds.), 417–440, Oxford: Newnes, 2013. 15. Nachreiner F., Nickel P., Meyer I., Human factors in process control systems: The design of human–machine interfaces, “Safety Scienceâ€?, Vol. 44, No. 1, 2006, 5–26. Safety and Design, DOI: 10.1016/j.ssci.2005.09.003. 16. Jamro M., Trybus B., Configurable Operator Interface for CPDev Environment, “Pomiary Automatyka Robotykaâ€?, R. 17, Nr 2, 2013, 426–431.

17. Jamro M., Trybus B., IEC 61131-3 programmable human machine interfaces for control devices, [in:] 6th International Conference on Human System Interactions (HSI), 2013, 48–55, DOI: 10.1109/HSI.2013.6577801. 18. RzoĹ„ca D., Stec A., Trybus B., Control Program Development in CPDev Using SFC Language, HMI and Runtime Environment, [in:] Automation 2018 (R. Szewczyk, C. ZieliĹ„ski, and M. KaliczyĹ„ska, eds.), (Cham), 223–232, Springer International Publishing, DOI: 10.1007/978-3-319-77179-3_21. 19. Jamro M., RzoĹ„ca D., Sadolewski J., Stec A., Ĺšwider Z., Trybus B., Trybus L., Structure and Functionalities of Ship Autopilot Simulator, [in:] Challenges in Automation, Robotics and Measurement Techniques (R. Szewczyk, C. ZieliĹ„ski, and M. KaliczyĹ„ska, eds.), (Cham), 2016, 223–231, Springer International Publishing, DOI: 10.1007/978-3-319-29357-8_20. 20. Jamro M., RzoĹ„ca D., Agile and hierarchical round-trip engineering of IEC 61131-3 control software, “Computers in Industryâ€?, Vol. 96, 2018, 1–9, DOI: 10.1016/j.compind.2018.01.004. 21. Jamro M., RzoĹ„ca D., SysML-based Optimisation of Global Variables Arrangement for Visualisation in Distributed Control Systems Oriented Towards Communication Performance, [in:] MATEC Web Conf., Vol. 252, 2019, DOI: 10.1051/matecconf/201925201005.

@ 6 - 6 @X R F"- @Q K ( ( K 2% 8 HMI (Human-Machine Interface) panels are commonly used in industrial automation systems. They facilitate the visualization of industrial process control as well as enable the change of parameters. The values displayed on a HMI are read from a controller or controllers connected by a communication link. Thus efficient PLC – HMI communication is essential for proper functioning of the whole automation system. Several aspects of such communication are analyzed in the paper and some solutions proposed to reduce the communication cycle. The described methods have been implemented in the CPDev engineering environment. KeywordsU % $ @X $ $ F"-$

39


# & ! _ : & :! $ & : & : g/G _ .! : +# Y

( - / 0 % ' % ORCID: 0000-0001-5724-0978 X O . )!!)P$ ( V 6 O@ > . )!!&P$ % > % 6 $ Y > 6 O@ Z [ )!*)P ; T % ; - 6 > @ . % )!!& \ ( > [ @ ( ( % [ [

40

P

O

M

I

A

R

Y

•

A

U

T

O

M

A

T

Y

K

A

•

R

O

B

O

T

Y

K

A

NR 1 / 20 20


Pomiary Automatyka Robotyka, ISSN 1427-9126, R. 24, Nr 1/2020, 41–47, DOI: 10.14313/PAR_235/41

( ( ( [ [ [ U R A ( [% 7 0

@ ^A% $ 0 % K $ K $ - 6 ; $ - ; $ < 6 ( *=_))$ +!>+)& ^A%`

1 8 Strategie sterowania ślizgowego są cenione za swoją całkowitą niewraşliwość na klasę zakłóceń i niepewności modelu. Uzyskanie tej właściwości jest moşliwe przez sprowadzenie punktu opisującego dynamikę układu na pewną hiperpowierzchnię przełączeń zdefiniowaną w przestrzeni stanów. W początkowym etapie sterowania, w którym punkt opisujący zblişa się do tej hiperpowierzchni, układ pozostaje wraşliwy na zakłócenia, co utrudnia projektowanie skutecznych strategii sterowania ślizgowego. Aby zapewnić odporność układu na zakłócenia i niepewności modelu na wszystkich etapach procesu sterowania liczni autorzy zaproponowali zastosowanie ruchomych hiperpowierzchni przełączeń. Celem niniejszego artykułu przeglądowego jest przedstawienie najwaşniejszych osiągnięć z zakresu sterowania ślizgowego z wykorzystaniem takich hiperpowierzchni. Omówione są pionierskie prace proponujące zastosowanie ruchomych hiperpowierzchni przełączeń oraz przedstawione są metody ich projektowania. Następnie podkreślone są najwaşniejsze osiągnięcia z zakresu sterowania ślizgowego wykorzystującego ruchome hiperpowierzchnie przełączań zarówno dla układów ciągłych jak i dyskretnych. ) U $ ( $ [ U

1. Wprowadzenie Następnie stosowany jest sygnał sterujący Strategie sterowania ślizgowego układami ciągłymi zaistniały w literaturze rosyjskiej w połowie XX wieku [1–3]. Istotą ich działania jest sprowadzenie punktu opisującego dynamikę układu na tak zwaną hiperpowierzchnię ślizgową zdefiniowaną w przestrzeni stanów oraz utrzymanie go na tej hiperpowierzchni. Zastosowanie tego rodzaju strategii skutkuje całkowitą niewraşliwością układu na klasę zakłóceń oraz niepewności modelu [4] spełniającą tak zwane warunki dopasowania. Projektowanie regulatora ślizgowego dla układów ciągłych rozpoczyna się od zdefiniowania zmiennej ślizgowej oraz odpowiadającej jej hiperpowierzchni przełączeń w następujący sposób

Ďƒ (t ) = c Te (t ) = c T ⎥⎣xd − x (t ) ⎤⎌ = 0,

(1)

gdzie x jest wektorem stanu, xd – wektorem zadanym, a przez e oznaczamy uchyb zmiennych stanu.

3 + U

@ X U $ ' % 3 % *& !* )!)! $ % % *+ !) )!)!

!

⎧u + ⎪ u t =⎨ ⎪⎊u −

()

() Ďƒ (t ) < 0,

dla Ďƒ t ≼ 0 dla

(2)

który sprowadza punkt opisujący dynamikę układu na hiperpowierzchnię ślizgową dla dowolnych warunków początkowych. Zmienna struktura sygnału (2) zapewnia, şe punkt opisujący jest utrzymywany na tej hiperpowierzchni, dzięki czemu wpływ zakłóceń na dynamikę obiektu jest odrzucony. W podobny sposób regulatory ślizgowe zostały zaprojektowane dla układów dyskretnych [5, 6]. W przypadku dyskretnym stan obiektu x(k) nie jest sprowadzany bezpośrednio na hiperpowierzchnię ślizgową (1), lecz do jej ustalonego otoczenia

{x : c e ≤ δ } T

(3)

zwanego warstwą ślizgową, gdzie 2d > 0 jest szerokością tej warstwy. Mimo şe w przypadku dyskretnym niemoşliwe jest całkowite odrzucenie wpływu zakłóceń na układ, dyskretne regulatory ślizgowe zapewniają stopień odporności na te zakłócenia proporcjonalny do szerokości warstwy ślizgowej. Odporność na zakłócenia i niepewności modelu jest ceniona właściwością regulatorów ślizgowych, zarówno w przypadku układów ciągłych jak i dyskretnych. Właściwość ta jest jednak zapewniona jedynie w drugim etapie

41


_ < :] < & & < ] & $] > J & ]

sterowania, po sprowadzeniu punktu opisującego dynamikę układu do otoczenia hiperpowierzchni ślizgowej. Zanim ta hiperpowierzchnia zostanie osiągnięta, układ pozostaje natomiast wraşliwy na zakłócenia, co moşe mieć negatywny wpływ na dynamiczne właściwości obiektu. Faza osiągania trybu ślizgowego moşe ponadto być długa dla względnie duşych warunków początkowych. Aby zapewnić odporność układu na zakłócenia i niepewności modelu na wszystkich etapach procesu sterowania, wielu autorów zaproponowało wykorzystanie ruchomych hiperpowierzchni przełączeń w sterowaniu ślizgowym. Zastosowanie takich hiperpowierzchni sprawia, şe ruch ślizgowy rozpocznie się natychmiast, dzięki czemu wpływ zakłóceń na dynamikę obiektu będzie zawsze odrzucony. Niniejszy artykuł ma na celu przedstawienie najwaşniejszych osiągnięć z zakresu sterowania ślizgowego z ruchomymi hiperpowierzchniami przełączeń i opisanie przykładowych metod projektowania takich hiperpowierzchni. Artykuł jest uporządkowany w następujący sposób. W rozdziale 2 omówione są najistotniejsze publikacje dotyczące ruchomych hiperpowierzchni przełączeń dla układów ciągłych. W tym samym rozdziale zaprezentowane są przykładowe ruchome hiperpowierzchnie mające na celu zlikwidowanie fazy osiągania trybu ślizgowego. Rozdział 3 poświęcony jest ruchomym hiperpowierzchniom przełączeń dla układów dyskretnych. W rozdziale 4 właściwości ruchomych hiperpowierzchni przełączeń są zilustrowane za pomocą przykładu symulacyjnego. Rozdział 5 zawiera krótkie podsumowanie.

wraşliwości układu na zakłócenia w chwilach, w których skokowe funkcje cr(t) i a(t) zmieniają wartość. W odpowiedzi na ten problem, autor artykułu [10] zaproponował modyfikację hiperpowierzchni (4) i (5), w której skokowe cr(t) i a(t) zostały zastąpione liniowymi funkcjami czasu. Autorzy pracy [11] zaproponowali modyfikacje ruchomych hiperpowierzchni (4) oraz (5) z wykorzystaniem logiki rozmytej. Określając stopień przynaleşności punktu opisującego dynamikę układu do zdefiniowanych zbiorów rozmytych, autorzy uzyskują ciągłe funkcje obrotu lub przesunięcia hiperpowierzchni ślizgowej. Zaproponowana strategia została wykorzystana do sterowania manipulatorem robota o dwóch stopniach swobody. W artykule [12] równieş wykorzystano właściwości logiki rozmytej do zaprojektowania ruchomej hiperpowierzchni ślizgowej. Funkcje przynaleşności stanu układu do rozwaşanych zbiorów rozmytych zaprojektowano tak, aby ograniczyć niepoşądane oscylacje wokół powierzchni ślizgowej (tzw. chattering). W pracy [13] zaproponowano trzy nowe metody projektowania ruchomych hiperpowierzchni przełączeń dla układów drugiego rzędu. W pierwszej metodzie rozwaşana jest liniowa powierzchnia

Strategie sterowania ślizgowego wykorzystujące ruchome hiperpowierzchnie przełączeń są znacznie częściej stosowane dla układów ciągłych niş dla dyskretnych. Wynika to z bardziej korzystnych właściwości ciągłego ruchu ślizgowego, gdzie punkt opisujący dynamikę układu moşe być utrzymany na hiperpowierzchni przełączeń, a nie tylko w jej otoczeniu, jak ma to miejsce w przypadku dyskretnym. W tym rozdziale zaprezentowane zostaną najwaşniejsze prace dotyczące zastosowania ruchomych hiperpowierzchni ślizgowych w sterowaniu układami ciągłymi.

Ďƒ (t ) = cr (t ) e1 (t ) + e2 (t ) = 0,

(4)

gdzie cr(t) jest funkcją skokową powodującą kilkakrotny obrót tej hiperpowierzchni wokół początku układu współrzędnych o ustalony kąt. Druga z zaproponowanych hiperpowierzchni ma postać

Ďƒ (t ) = c pe1 (t ) + e2 (t ) − Îą (t ) ,

(5)

gdzie a(t) jest skokową funkcją odpowiadającą za jej liniowe przesunięcie. Dla obydwu zaproponowanych hiperpowierzchni, funkcje cr(t) oraz a(t) są wybrane tak, aby w chwili 0 hiperpowierzchnia zawierała punkt opisujący warunki początkowe układu. Ponadto w skończonym czasie t0 hiperpowierzchnia zostaje sprowadzona do postaci zapewniającej stabilność układu zamkniętego. Zaproponowane podejście charakteryzuje się prostotą implementacji, lecz nie zapewnia całkowitej nie-

M

I

A

R

Y

dla

0

(6)

t ≼T

•

A

U

T

O

M

⎧⎪At 2 + Bt + C

dla t < T

⎪⎊

dla

0

t ≼T

(7)

Trzecia hiperpowierzchnia jest opisana nieliniową formułą gwarantującą zniwelowanie uchybu regulacji w skończonym czasie. Wszystkie zaproponowane metody dąşą do minimalizacji wskaźnika IAE przy ograniczeniach nałoşonych na sygnał sterujący. W artykule [14] strategia ślizgowa z hiperpowierzchnią (6) została ponadto wykorzystana do sterowania ruchem przenośnika podwieszonego. W pracy [15] wykorzystano trzy rodzaje ruchomych hiperpowierzchni zaproponowanych wcześniej [13] do sterowania połoşeniem statku kosmicznego. Parametry tych hiperpowierzchni zostały dobrane tak, aby zminimalizować wskaźnik optymalności ISE. Udowodniono, şe zastosowanie ruchomych hiperpowierzchni zapewnia stabilność układu i pozwala zrealizować śledzenie trajektorii. Autor artykułu [16] wykorzystał ruchomą hiperpowierzchnię ślizgową w sterowaniu stęşeniem substratów w bioreaktorze. Mimo silnej nieliniowości rozwaşanego reaktora i konieczności zaspokojenia istotnych fizycznych ograniczeń dotyczących stęşenia pierwiastków, autor udowodnił, şe zaproponowana metoda zapewnia wszystkie poşądane właściwości układu. Artykuł [17] opisuje alternatywne podejście do projektowania ruchomych hiperpowierzchni dla układów dynamicznych drugiego rzędu. Zaproponowano nową metodę wyboru parametrów ruchomej hiperpowierzchni ślizgowej (6) bazującą na minimalizacji wskaźnika ITAE. Ponadto rozwaşono problem ograniczenia sygnału sterującego oraz zmiennej stanu odpowiadającej za prędkość.

W artykułach [7–9] zaproponowano dwie metody projektowania ruchomych hiperpowierzchni przełączeń dla układów ciągłych drugiego rzędu. W pierwszej metodzie rozwaşana jest hiperpowierzchnia

O

⎪⎊

Ďƒ (t ) = e1 (t ) + βe2 (t ) + ⎨

S1^1 _ "

P

dla t < T

przesuwająca się ze stałą prędkością od punktu opisującego warunki początkowe obiektu do początku układu współrzędnych. Druga z zaproponowanych hiperpowierzchni jest linią przesuwającą się ze stałym przyspieszeniem

S1 +

42

⎧⎪At + B

Ďƒ (t ) = e1 (t ) + βe2 (t ) + ⎨

A

T

Y

K

A

•

R

O

B

O

T

Y

K

A

NR 1 / 20 20


# $ "

S1S1 _ " W artykule [18] zaproponowano modyfikację liniowej hiperpowierzchni ślizgowej (6) dla układów trzeciego rzędu. W szczególności omówiono wybór parametrów A i B tej hiperpowierzchni dla dwóch przypadków. Najpierw rozwaşono przypadek z ograniczeniami nałoşonymi na przyspieszenie, a następnie przypadek ograniczenia zarówno prędkości jak i przyspieszenia. W obydwu przypadkach parametry hiperpowierzchni zostały wybrane tak, aby zminimalizować wskaźnik jakości IAE. Minimalizacja współczynnika ITAE dla analogicznej strategii została dodatkowo rozwaşona w artykule [19]. W pracy [20] uwzględniono dodatkowe ograniczenie nałoşone na sygnał sterujący. Pokazano, şe zaproponowana strategia z ruchomą hiperpowierzchnią ślizgową moşe jednocześnie zapewnić ograniczenie prędkości, przyspieszenia i sygnału sterującego. Podobne ograniczenia rozwaşono w artykule [21], ale rozpatrzono dodatkowo problem minimalizacji współczynnika jakości ITAE. Zastosowanie ruchomych hiperpowierzchni do ograniczenia wartości zmiennych stanu w układach trzeciego rzędu zostało równieş rozpatrzone w pracy [22]. Zbadano dwa typy ograniczeń prędkości w rozwaşanym układzie – konwencjonalne stałe ograniczenie tej wartości oraz elastyczne ograniczenie zdefiniowane przy pomocy funkcji kosztu. Skuteczność zaproponowanej strategii zilustrowano na przykładzie serwomechanizmu elektrohydraulicznego. Wyniki dotyczące optymalnego wykorzystania ruchomych hiperpowierzchni w sterowaniu układami drugiego i trzeciego rzędu zostały zbiorczo opisane w publikacji [23].

S1V1 _ " W pracy [24] zaproponowano uogĂłlnienie hiperpowierzchni Ĺ›lizgowych (4) oraz (5) na przypadek ukĹ‚adu dowolnego rzÄ™du. Podobnie jak w artykuĹ‚ach [7–9] zastosowano skokowÄ… funkcjÄ™ zapewniajÄ…cÄ… obrĂłt lub przesuniÄ™cie hiperpowierzchni w ustalonych odstÄ™pach czasu. Autorzy wykorzystali normÄ™ wektora stanu do wyznaczenia poczÄ…tkowego poĹ‚oĹźenia hiperpowierzchni Ĺ›lizgowej i obliczyli n − 1 parametrĂłw odpowiadajÄ…cych za jej ruch w n-wymiarowej przestrzeni stanĂłw. Autorzy artykuĹ‚u [25] zaproponowali nowÄ… metodÄ™ projektowania ruchomej hiperpĹ‚aszczyzny Ĺ›lizgowej dla n-wymiarowego ukĹ‚adu. Metoda ta wykorzystuje ciÄ…gĹ‚e funkcje l(t) oraz b(t) dobrane tak, aby zapewnić szybkie tempo zbieĹźnoĹ›ci do stanu ustalonego jednoczeĹ›nie gwarantujÄ…c niewraĹźliwość ukĹ‚adu na zakĹ‚Ăłcenia w kaĹźdym etapie procesu sterowania. Nieliniowe funkcje wykorzystane przez autorĂłw zostaĹ‚y zaprojektowane z uĹźyciem modelu rozmytego Takagi i Sugeno [26]. Inna metoda projektowania ruchomych hiperpowierzchni z wykorzystaniem logiki rozmytej zostaĹ‚a zaproponowana w pracy [27]. Autorzy wykorzystali model rozmyty Jamshidi i współautorĂłw [28] do zaprojektowania hiperpowierzchni o dynamicznie zmieniajÄ…cej siÄ™ prÄ™dkoĹ›ci obrotu. ZaproponowanÄ… strategiÄ™ wykorzystali do sterowania serwomechanizmem elektrohydraulicznym. W artykuĹ‚ach [29] oraz [30] zaproponowano strategiÄ™ sterowania Ĺ›lizgowego ukĹ‚adami dowolnego rzÄ™du. Strategia wykorzystuje zmodyfikowanÄ… hiperpowierzchniÄ™ o parabolicznym ksztaĹ‚cie. IdeÄ… tej strategii jest dopasowanie ksztaĹ‚tu hiperpowierzchni do naturalnej zmiany stanu ukĹ‚adu poddanego sterowaniu Ĺ›lizgowemu. Parametry rozwaĹźanej paraboli sÄ… zmienne w czasie, ale ograniczone z gĂłry i z doĹ‚u przez wybrane staĹ‚e. W przeciwieĹ„stwie do klasycznych podejść, nowa metoda zapobiega gwaĹ‚townym zmianom stanu ukĹ‚adu w przejĹ›ciu miÄ™dzy fazÄ… osiÄ…gania a fazÄ… Ĺ›lizgowÄ…. W szczegĂłlnoĹ›ci, w celu ograniczenia wartoĹ›ci sygnaĹ‚u sterujÄ…cego w poczÄ…tkowych chwilach procesu sterowania, autorzy proponujÄ… rozpoczÄ™cie ruchu hiperpĹ‚aszczyzny Ĺ›lizgowej z opóźnieniem.

W pracy [31] zaproponowano zastosowanie strategii sterowania ślizgowego z ruchomą hiperpowierzchnią przełączeń do sterowania manipulatorem elastycznym. Autorzy proponują zastosowanie dwóch hiperpowierzchni ślizgowych. Pierwsza z nich, odpowiadająca za kąt nachylenia piasty, jest niezmienna w czasie. Druga hiperpowierzchnia jest ruchoma i odpowiada za kompensację drgań elastycznego ramienia robota. W artykułach [32–34] wykorzystano ruchome hiperpowierzchnie przełączeń w sterowaniu silnikami prądu stałego oraz silnikami indukcyjnymi. Pokazano, şe zastosowanie takich hiperpowierzchni zapewnia odporność na niepewności modelu na kaşdym etapie procesu sterowania oraz ogranicza niepoşądane oscylacje wokół hiperpowierzchni ślizgowej. W szczególności w artykule [32] eksperymentalnie wykazano odporność układu na niespodziewane zmiany parametrów i zilustrowano wydajność obliczeniową zastosowanego algorytmu. Autorzy artykułu [35] zaproponowali nową strategię sterowania ślizgowego dla układów o jednym wejściu, w których wartość bezwzględna sygnału sterującego jest ograniczona. Zaproponowana ruchoma hiperpowierzchnia zawiera dwa składniki: stały oraz wykładniczo zbieşny do zera. Wykazano, şe zastosowanie takiej hiperpowierzchni pozwala na ograniczenie wartości sygnału sterującego na kaşdym etapie procesu sterowania, jeśli tylko zakłócenia wpływające na układ spełniają warunki dopasowania. W pracy [36] zaproponowano nową strategię sterowania bazującą na podziale układu czwartego rzędu na dwa podukłady drugiego rzędu. Dla obydwu dwuwymiarowych podukładów zaproponowano zastosowanie obrotowej hiperpowierzchni ślizgowej wykorzystującej reguły rozmyte do wyznaczenia kąta obrotu. Zaproponowane podejście zapewnia stabilność układu i jednocześnie znacznie upraszcza jego strukturę.

V1 Strategie wykorzystujące ruchome hiperpowierzchnie ślizgowe w sterowaniu dyskretnymi obiektami dynamicznymi nie są tak powszechne jak ich odpowiedniki dla układów ciągłych. Znacznie powszechniejszą metodą zapewnienia odporności układu dyskretnego na zakłócenia i niepewności modelu są tak zwane predefiniowane przebiegi zmiennej ślizgowej [37, 38]. Niemniej jednak, kilku autorów zdecydowało się wykorzystać takie hiperpowierzchnie równieş w sterowaniu układami ciągłymi. W artykule [39] zaprojektowano ruchomą hiperpowierzchnię ślizgową dla układów dyskretnych drugiego rzędu. Hiperpowierzchnia ta zawiera składnik „zapominający�, dzięki któremu punkt opisujący dynamikę obiektu znajduje się na tej hiperpowierzchni juş w pierwszej chwili, a odpowiedź układu upodabnia się do dead-beatowej w skończonym czasie. Zaproponowana strategia została wykorzystana do sterowania serwomotorem synchronicznym. Nowe podejście do problemu projektowania ruchomych hiperpowierzchni ślizgowych zostało przedyskutowane w artykule [40]. Zaproponowana hiperpowierzchnia jest przesuwana tak, aby punkt opisujący dynamikę układu znajdował się na niej w kaşdym kroku. Hiperpowierzchnia ta jest jednak ograniczona do ustalonego obszaru przestrzeni stanów. Krawędź tego obszaru zastępuje hiperpowierzchnię ślizgową, gdy punkt opisujący przyjmuje niedopuszczalne wartości. Zaproponowana strategia została wykorzystana w sterowaniu ramieniem robota o jednym stopniu swobody. W pracy [41] zaproponowano strategię sterowania ślizgowego dla twardych dysków. Zastosowano dyskretną hiperpowierzchnię ślizgową, która jest obracana w kilku początkowych chwilach procesu sterowania, podobnie do tej opisanej wzorem (4).

43


_ < :] < & & < ] & $] > J & ]

X1

PrÄ™dkość obrotu tej hiperpowierzchni jest dobrana tak, aby uzyskać najmniejszy moĹźliwy czas odczytu danych. Autorzy artykuĹ‚u [42] rozwaĹźali dyskretne ukĹ‚ady dynamiczne z opóźnionym sprzęşeniem zwrotnym. Zaproponowana przez nich nieliniowa hiperpowierzchnia Ĺ›lizgowa zmienia siÄ™ w czasie w zaleĹźnoĹ›ci od odczytanego wejĹ›cia obiektu i ma na celu zapewnienie stabilnoĹ›ci ukĹ‚adu w obecnoĹ›ci opóźnieĹ„. Autorzy wykorzystali sterowanie rĂłwnowaĹźne sprowadzajÄ…ce stan obiektu na hiperpowierzchniÄ™ Ĺ›lizgowÄ… w kaĹźdej chwili i wykazali stabilność ruchu Ĺ›lizgowego przy uĹźyciu metody Lapunowa. Autorzy pracy [43] rozwaĹźyli problem ograniczenia sygnaĹ‚u sterujÄ…cego w dyskretnym sterowaniu Ĺ›lizgowym. Zastosowali oni hiperpowierzchniÄ™ z dodatkowym skĹ‚adnikiem zaleĹźnym od przeszĹ‚ego stanu ukĹ‚adu. Waga tego skĹ‚adnika zmienia siÄ™ w czasie i dÄ…Ĺźy asymptotycznie do zera. Parametr reprezentujÄ…cy tÄ™ wagÄ™ moĹźe być dobrany tak, aby zmniejszyć wartoĹ›ci sygnaĹ‚u sterujÄ…cego w poczÄ…tkowej fazie sterowania. Autorzy wykorzystali zaproponowanÄ… strategiÄ™ do sterowania podwĂłjnym wirnikiem.

W tym rozdziale zasada dziaĹ‚ania strategii sterowania Ĺ›lizgowego z ruchomymi hiperpowierzchniami przeĹ‚Ä…czeĹ„ zostanie zilustrowana na przykĹ‚adzie ukĹ‚adu drugiego rzÄ™du. RozwaĹźany ukĹ‚ad ciÄ…gĹ‚y jest podobny do tego wykorzystanego w publikacji [13], a jego dynamika ma postać (8) () () x (t ) = ⎥⎣1 + δ (t ) ⎤⎌ f ( x , t ) + ⎥⎣1 + δ (t ) ⎤⎌ f ( x , t ) + u (t ) + d (t ) ,

x 1 t = x 2 t , 2

1

1

2

2

δ1 (t ) = δ 2 (t ) = 0,1 sin (15t ) ,

( ) f ( x , t ) = −0, 2 (1 − x ) , d (t ) = 0,12 sin (10t ) . f1 x , t = −0, 5x14 ,

gdzie

(9)

2 2

2

Rys. 1. Pierwsza zmienna stanu Fig. 1. The first state variable

Rys. 3. Sygnał sterujący dla hiperpowierzchni (6) Fig. 3. Control signal for hypersurface (6)

Rys. 2. Sygnał sterujący dla hiperpowierzchni niezmiennej w czasie Fig. 2. Control signal for the time-invariant hypersurface

Rys. 4. Sygnał sterujący dla hiperpowierzchni (7) Fig. 4. Control signal for hypersurface (7)

44

P

O

M

I

A

R

Y

•

A

U

T

O

M

A

T

Y

K

A

•

R

O

B

O

T

Y

K

A

NR 1 / 20 20


# $ "

W niniejszym przykładzie trzy strategie sterowania ślizgowego zostaną zastosowane do sterowania tym układem. Celem procesu sterowania jest sprowadzenie stanu obiektu z x(0) = [1 0]T do zera. Rozwaşane strategie to: A) Konwencjonalne sterowanie ślizgowe z nieruchomą hiperpowierzchnią przełączeń s(t) = x2(t) + 0,6x1(t) oraz sygnałem sterującym

(10)

B) Strategia z ruchomÄ… hiperpowierzchniÄ… o staĹ‚ej prÄ™dkoĹ›ci (6) zaproponowana w [13]. Parametry hiperpowierzchni to T = 5, A = 0,12, B = −0,6, a sygnaĹ‚ sterujÄ…cy

() ()

⎧0, 6x 2 t + A dla t ≤ T ⎪ u t = u0 t − ⎨ dla t > T . ⎪⎊ 0, 6x 2 t

()

()

(11)

C) Strategia z ruchomÄ… hiperpowierzchniÄ… o staĹ‚ym przyspieszeniu (7) zaproponowana w [13]. Parametry hiperpowierzchni to T = 5, A = −0,024, B = 0,12, C = −0,6, a sygnaĹ‚ sterujÄ…cy

() ()

⎧0, 6x 2 t + 2At + B dla t ≤ T ⎪ u t = u0 t − ⎨ dla t > T . ⎪⎊ 0, 6x 2 t

()

()

(12)

Następujące cztery rysunki ilustrują wyniki porównania. Pierwszy rysunek ilustruje przebieg pierwszej zmiennej stanu, a pozostałe trzy – wartości sygnałów sterujących. Z rysunku 1 widać, şe strategie wykorzystujące ruchome hiperpowierzchnie (6) oraz (7) zapewniają szybsze tempo zbieşności pierwszej zmiennej do stanu ustalonego niş konwencjonalne podejście z nieruchomą hiperpowierzchnią ślizgową. Rysunki 2–4 ilustrują, şe wszystkie strategie generują podobne wartości sygnału sterującego w fazie ślizgowej, natomiast strategie B i C zapewniają rozpoczęcie oscylacji wokół ruchomej hiperpowierzchni juş na początku procesu sterowania, dzięki czemu rozwaşany układ jest zawsze niewraşliwy na zakłócenia i niepewności modelu.

Y1 W niniejszym artykule dokonano przeglądu strategii sterowania ślizgowego wykorzystujących ruchome hiperpowierzchnie przełączeń. Ideą takich strategii jest zapewnienie, şe punkt opisujący dynamikę układu zawsze znajduje się w bezpośrednim otoczeniu hiperpowierzchni, dzięki czemu korzystne właściwości regulatorów ślizgowych są zapewnione na kaşdym etapie procesu sterowania. Zaprezentowano najwaşniejsze publikacje omawiające wykorzystanie takich hiperpowierzchni, zarówno dla układów ciągłych jak i dyskretnych. Zasada działania ruchomych hiperpowierzchni została równieş zilustrowana na przykładzie ciągłego układu drugiego rzędu.

" Autor artykułu dziękuje Fundacji na rzecz Nauki Polskiej za wsparcie finansowe w ramach programu START 2019.

& L 0 1. Emelyanov S.V., Variable Structure Control Systems, Nauka, Moskwa 1967. 2. Itkis Y., Control Systems of Variable Structure, Nauka, Moskwa, 1976. 3. Utkin V., Variable structure systems with sliding modes, “IEEE Transactions on Automatic Controlâ€?, Vol. 22, No. 2, 1976, 212–222, DOI: 10.1109/TAC.1977.1101446. 4. Drazenovic B., The invariance conditions in variable structure systems, “Automaticaâ€?, Vol. 5, No. 3, 1969, 287–295, DOI: 10.1016/0005-1098(69)90071-5. 5. Milosavljevic C., General conditions for the existence of a quasi-sliding mode on the switching hyperplane in discrete variable structure systems, “Automation and Remote Controlâ€?, Vol. 46, No. 3, 1985, 307–314. 6. Drakunov S. V., Utkin V., On discrete-time sliding modes, “IFAC Proceedings Volumesâ€?, Vol. 22, No. 3, 1989, 273–278, DOI: 10.1016/S1474-6670(17)53647-2. 7. Choi S.B., Cheong C.C., Park D.W., Moving switching surfaces for robust control of second-order variable structure systems, “International Journal of Controlâ€?, Vol. 58, No. 1, 1993, 229–245, DOI: 10.1080/00207179308922999. 8. Choi S.B., Park D.W., Jayasuriya S., A time-varying sliding surface for fast and robust tracking control of second-order uncertain systems, “Automaticaâ€?, Vol. 30, No. 5, 1994, 899–904, DOI: 10.1016/0005-1098(94)90180-5. 9. Choi S.B., Park D.W., Moving sliding surfaces for fast tracking control of second-order dynamical systems, “Journal of Dynamic Systems, Measurement and Controlâ€?, Vol. 116, No. 1, 1994, 154–158, DOI: 10.1115/1.2900671. 10. Bartoszewicz A., A comment on ’A time-carying sliding surface for fast and robust tracking control of second-order uncertain systems’, “Automaticaâ€?, Vol. 31, No. 12, 1995, 1893–1895, DOI: 10.1016/0005-1098(95)00122-1. 11. Ha Q., Rye D., Durrant-Whyte H., Fuzzy moving sliding mode control with application to robotic manipulators, “Automaticaâ€?, Vol. 35, No. 4, 1999, 607–616, DOI: 10.1016/S0005-1098(98)00169-1. 12. Zhang J., Jiang K., Chen Z., Zhao Z., Global robust fuzzy sliding mode for a class of non-linear system, “Transactions of the Institute of Measurement and Controlâ€?, Vol. 28, No. 3, 2006, 219–227, DOI: 10.1191/0142331206tim174oa. 13. Bartoszewicz A., Time-varying sliding modes for second-order systems, “IEE Proceedings – Control Theory and Applicationsâ€?, Vol. 143, No. 5, 1996, 455–462, DOI: 10.1049/ip-cta:19960535. 14. Nowacka-Leverton A., MichaĹ‚ek M., Pazderski D., Bartoszewicz A., Experimental verification of SMC with moving switching lines applied to hoisting crane vertical motion control, “ISA Transactionsâ€?, Vol. 51, No. 6, 2012, 682–693, DOI: 10.1016/j.isatra.2012.05.003. 15. Yongqiang J., Xiangdong L., Wei Q., Chaozhen H., Time-varying sliding mode controls in rigid spacecraft attitude tracking, “Chinese Journal of Aeronauticsâ€?, Vol. 21, No. 4, 2008, 352–360, DOI: 10.1016/S1000-9361(08)60046-1. 16. Tokat S., Sliding mode controlled bioreactor using a time-varying sliding surface, “Transactions of the Institute of Measurement and Controlâ€?, Vol. 31, No. 5, 2009, 435–456, DOI: 10.1177/0142331208100893. 17. Nowacka-Leverton A., Bartoszewicz A., ITAE optimal variable structure control of second order system with input signal and velocity constraints, “Kybernetesâ€?, Vol. 38, No. 7–8, 2009, 1093–1105, DOI: 10.1108/03684920910976844.

45


_ < :] < & & < ] & $] > J & ]

18. Bartoszewicz A., Nowacka A., Reaching phase elimination in variable structure control of the third order system with state constraints, “Kybernetika”, Vol. 42, No. 1, 2006, 111–126, http://eudml.org/doc/33795. 19. Bartoszewicz A., Nowacka A., Optimal design of the shifted switching planes for VSC of a third-order system, “Transactions of the Institute of Measurement and Control”, Vol. 28, No. 4, 2006, 335–352, DOI: 10.1177/0142331206070366. 20. Bartoszewicz A., Nowacka A., Sliding mode control of the third-order system subject to velocity, acceleration and input signal constraints, “International Journal of Adaptive Control and Signal Processing”, Vol. 21, No. 8-9, 2007, 779-794, DOI: 10.1002/acs.970. 21. Bartoszewicz A., Nowacka-Leverton A., ITAE optimal sliding modes for third-order systems with input signal and state constraints, “IEEE Transactions on Automatic Control”, Vol. 55, No. 8, 2010, 1928–1932, DOI: 10.1109/TAC.2010.2049688. 22. Bartoszewicz A., Nowacka-Leverton A., SMC without the reaching phase – the switching plane design for the third order system, “IET Control Theory and Applications”, Vol. 1, No. 5, 2007, 1461–1470, DOI: 10.1049/ietcta:20060458. 23. Bartoszewicz A., Nowacka-Leverton A., Time-Varying Sliding Modes for Second and Third Order Systems, Springer-Verlag, Berlin, 2009. 24. Roy R. G., Olgac N., Robust nonlinear control via moving sliding surfaces – n-th order case, 36th Conference on Decision & Control, San Diego, USA, 1997, 943–948, DOI: 10.1109/CDC.1997.657564. 25. Lee H., Kim E., Kang H. J., Park M., Design of a sliding mode controller with fuzzy sliding surfaces, “IEEE Proceedings – Control Theory and Applications”, Vol. 145, No. 5, 1998, 411–418, DOI: 10.1049/ip-cta:19982242. 26. Takagi T., Sugeno M., Fuzzy identification of systems and its applications to modeling and control, “IEEE Transactions on Systems, Man, and Cybernetics”, Vol. SMC-15, No. 1, 1985, 116-132, DOI: 10.1109/TSMC.1985.6313399. 27. Park D. W., Choi S. B., Moving sliding surfaces for high-order variable structure systems, “International Journal of Control”, Vol. 72, No. 11, 1999, 960–970, DOI: 10.1080/002071799220506. 28. Jamshidi M., Vadiee N., Ross T. J., Fuzzy Logic and Control: Software and Hardware Applications, Prentice Hall, Eaglewood Cliffs, NJ, 1993. 29. Tokat S., Eksin I., Guzelkaya M., A new design method for sliding mode controllers using a linear time-varying sliding surface, “Proceedings of the Institution of Mechanical Engineers, Part I: Journal of Systems and Control Engineering”, Vol. 216, No. 1, 2002, 455–466, DOI: 10.1243/095965102321042218. 30. Eksin I., Tokat S., Guzelkaya M., Soylemez M. T., Design of a sliding mode controller with a nonlinear time-varying sliding surface, “Transactions of the Institute of Measurement and Control”, Vol. 25, No. 2, 2003, 145–162, DOI: 10.1191/0142331203tm079oa. 31. Fung E. H. K., Lee C. K. M., Variable structure tracking control of a single-link flexible arm using time-varying sliding surface, “Journal of Robotic Systems”, Vol. 16, No. 12, 1999, 715–726, DOI: 10.1002/(SICI)1097-4563 (199912)16:12<715::AID-ROB4>3.0.CO;2-6. 32. Betin F., Pinchon D., Capolino G., A time-varying sliding surface for robust position control of a DC motor drive, “IEEE Transaction on Industrial Electronics”, Vol. 49, No. 2, 2002, 462–473, DOI: 10.1109/41.993280. 33. Sivert A., Betin F., Faqir A., Capolino G. A., Robust control of an induction machine drive using a time-varying

46

P

O

M

I

A

R

Y

A

U

T

O

M

sliding surface, Proceedings of the IEEE International Symposium on Industrial Electronics, Ajaccio, Francja, 2004, 1369–1374, DOI: 10.1109/ISIE.2004.1572012. 34. Sivert A., Faqir A., Nahidmobarakeh B., Betin F., Capolino G. A., Moving switching surfaces for high precision position control of electrical drives, Proceedings of the IEEE International Conference on Industrial Technology, Hammamet, Tunezja, 2004, 175–180, DOI: 10.1109/ICIT.2004.1490278. 35. Corradini M. L., Orlando G., Linear unstable plants with saturating actuators: Robust stabilization with a time-varying sliding surface, “Automatica”, Vol. 43, No. 1, 2002, 88–94, DOI: 10.1016/j.automatica.2006.07.018. 36. Yorgancioglu F., Komurcugil H., Decoupled sliding-mode controller based on time-varying sliding surfaces for fourth-order systems, “Expert Systems with Applications”, Vol. 37, No. 10, 2010, 6764–6774, DOI: 10.1016/j.eswa.2010.03.049. 37. Gao W., Wang Y., Homaifa A., Discrete-time variable structure control systems, IEEE Transactions on Industrial Electronics, Vol. 42, No. 2, 1995, 117–122, DOI: 10.1109/41.370376. 38. Latosinski P., Sliding mode control based on the reaching law approach – a brief survey, 22nd International Conference on Methods and Models in Automation and Robotics, Międzyzdroje, Polska, 2017, 519–524, DOI: 10.1109/MMAR.2017.8046882. 39. Yu W. C., Wang G. J., Chang C. C., Discrete sliding mode control with forgetting dynamic sliding surface, “Mechatronics”, Vol. 14, No. 7, 2004, 737–755, DOI: 10.1016/j.mechatronics.2004.01.003. 40. Kanai Y., Mori Y., Discrete time sliding mode control with time varying switching hyper plane, SICE Annual Conference, Tokio, Japonia, 2008, 2349–2352, DOI: 10.1109/SICE.2008.4655058. 41. Hu Q., Du C., Xie L., Wang Y., Discrete-time sliding mode control with time-varying surface for hard disk drives, “IEEE Transactions on Control Systems Technology”, Vol. 17, No. 1, 2009, 175–183, DOI: 10.1109/TCST.2008.922505. 42. Yadav N. K., Singh R. K., Discrete-time nonlinear sliding mode controller, “International Journal of Engineering, Science and Technology”, Vol. 3, No. 3, 2011, 94–100. 43. Corradini M. L., Cristofano A., Orlando G., Stabilization of discrete-time linear systems with saturating actuators using sliding modes: application to a twin-rotor system, 50th Conference on Decision and Control and European Control Conference, Orlando, FL, USA, 2011, 1–6, DOI: 10.1109/CDC.2011.6160601.

A

T

Y

K

A

R

O

B

O

T

Y

K

A

NR 1 / 20 20


# $ "

% ( " % ( 7 >] ( ( F 6 R < 6 2% 8 Sliding mode control strategies are valued for their total insensitivity to the class of disturbances and uncertainty of the model. Obtaining this property is possible by bringing a point describing the dynamics of the system to a certain switching hypersurface defined in the state space. At the initial stage of control, where the description point approaches this hypersurface, the system remains sensitive to interferences, which hinders the design of effective sliding mode control strategies. To ensure the system’s resistance to interference and model uncertainty at all stages of the control process, many authors proposed the use of mobile switching hypersurfaces. The purpose of this review article is to present the most important achievements in the area of sliding mode control using such hypersurfaces. Discussed are pioneering works proposing the use of mobile switching hypersurfaces and methods of their design are presented. Next, the most important achievements in the area of sliding mode control using movable switching hypersurfaces for both continuous and discrete systems are highlighted. KeywordsU $ % ( % $ > ( % ( 6

7 0

' % ORCID: 0000-0001-5580-352X Q @ X U O *+=+P - ; @ > ^A% U % > )!*= V \ ( % / ( % / (A ( % > % ( ( ( 0 )!*+ V ( % 7;.7 6 % ( 8 % J @ O8J@P \ ( / A V AV > % % A

47


NR 3/2015

48

P

O

M

I

A

R

Y

A

U

T

O

M

A

T

Y

K

A

R

O

B

O

T

Y

K

A

NR 1 / 20 20


Pomiary Automatyka Robotyka, ISSN 1427-9126, R. 24, Nr 1/2020, 49–60, DOI: 10.14313/PAR_235/49

6 0 % 7 " Q % X % " 8 ( / ; ) / % $ *%

0 6 7 ( $ 8 6 @ % ; K ( ($ - 6 ; % ; % " $ Q 6 " $ J )&$ !!>BB?$ 0 $ @ %

2% 8 This article presents the results of wind tunnel testing of a model of a missile intended for a vertical cold launch system. The objective of this work was to obtain nondimensional aerodynamic coefficients to build a lookup table database for a six-degree-of-freedom numerical simulation of the missile launch phase. The material model of the full-scale missile was designed in UG/NX Siemens software and manufactured. Low speed measurements were conducted at the Warsaw University of Technology and as a result, static forces and moments characteristics were obtained using six component internal balance for a wide range of angles of attack and sideslip with a 1° interval. Finally, 200 Monte-Carlo simulations in MATLAB/Simulink were evaluated to investigate the missile behavior in the launch phase with the measured results. It was observed that the rolling moment resulting, i.a. from fin cant angles misalignments in the initial roll rate of the missile significantly affects the trajectories. ) U % $ / $ $ % $ %

1. Introduction This article presents the results of low velocity wind tunnel testing of the vertically cold launched missile model and applies them to the numerical simulation. The missile is launched vertically (Fig. 1) with an external device (e.g., hot gas generator, spring, elastic rope) with the velocity order several meters per second. Next, a set of small, mostly solid propellant, lateral thrusters is used to change the attitude rapidly. The main missile motor firing takes place out of the launch platform when the object has the desired attitude. This approach has significant advantages over the classical hot vertical launching strategy, such as better firing coverage, lower acoustic, visual and thermal signatures [1]. It is worth mentioning that there are only a few missiles which have this launch capability, for example: 9M330, 9M96E, KM-SAM or CAMM. Moreover, aerodynamic data for existing cold launched missiles, especially at low speeds, are often classified and not widely available. At rough first approximation due to low dynamic pressure the aerodynamic loads acting on the object might be neglected [2]. On the other hand, there always exist some disturbances that might influence the missile trajectory. At the rapid turnover maneuver high angles of attacks might occur. In the literature

there are some examples of data for missiles at very low subsonic speeds [3. 4]. These characteristics must be known in advance in order to build an aerodynamic database for performing a six-degree-of-freedom (6 DoF) numerical simulation of the launch phase [5]. The abovementioned characteristics may be determined in different ways [6] using semi-empirical engineering level codes (e.g.: Missile DATCOM [7], AP97 [8], MISL3), Computational Fluid Dynamics, wind tunnel testing or identification from flight tests data. Wind tunnel experimental methodology was chosen in this work because it is one of the most reliable methods of obtaining aerodynamic characteristics. A serious disadvantage of this technique are relatively high costs. Therefore, it is important to plan a test program carefully in order to minimize the required number of test cases.

3 + U

" \ $ ' % 3 % *= ** )!*+ $ % % != !* )!)!

!

Fig. 1. Missile vertical cold launch Rys. 1. Zimny pionowy start rakiety

49


Use of Wind Tunnel Measurements Data in Cold Launched Missile Flight Simulations

S1 3

( It is quite a difficult task to maintain full geometric, kinematic and dynamic similarities between flow around a real object and its scaled model during experiments. For the considered case, gravity and unsteady effects were assumed to be negligible. For this reason, Reynolds number Re and Mach number Ma were chosen as main similarity criteria for static measurements. The Reynolds number is

Re =

Ď Vd Îź

Fig. 3. Shape of the nose section (dimensions in millimeters) Rys. 3. Kształt części nosowej (wymiary w milimetrach)

(1)

where r is air density, V – characteristic flow velocity, d – missile diameter and m is dynamic viscosity. The Mach number is

Ma =

V a

(2) Fig. 4. Material model of the missile Rys. 4. Model materialny rakiety

where a is the speed of sound. When these nondimensional numbers are the same for the real and scaled flow then both flows will be dynamically similar and as a result, the force and moment coefficients will be the same for the model and full-scale flows. Sometimes it might be impossible to match both numbers simultaneously. The required velocity for the flow in the experiment should be: Vm =

Ď l Îźm V Ď m lm Îź

(a)

(3)

(b)

(c)

Fig. 5. Components of the model (a) nose section (b) fins (c) mounting frame Rys. 5. Komponenty modelu (a) sekcja nosowa (b) stabilizatory (c) wręga mocująca

where lowercase index m refers to model parameters, and the quantities without the index refer to the full scale prototype. Using a downscaled model to keep the Reynolds numbers equal, either the airspeed or air density must be increased. On the other hand, increasing the airspeed will also bring the Mach number to a high range, while the area of interest is Ma << 1. In the considered low-speed flight region, Reynolds number effects predominate and matching of the Mach number is not so critical [6]. 3D CAD modeling methodology in UG/NX Siemens software was used to design the test object. The virtual assembly was used for model elements machining. The resulting material model was 52.5% in size with respect to the full scale missile

due to the limited volume of the wind tunnel test section. The shape of the model was presented in Fig. 2 and Fig. 3. A spherically blunted tangent ogive nose section was applied. Flat plate airfoil (1.2 mm thick) was used in four trapezoidal fins rigidly mounted in cruciform configuration. The material model (Fig. 4) was made of a wooden nose section, aluminum cylindrical body and steel fins. The surface of the model was polished to achieve the desired roughness. For the preliminary tests the model was mounted to the aerodynamic scale with the steel rear support. A visual marker in the form of chessboard was added to observe potential model vibrations at high inflow angles. The mass of the model (without support) was approximately 2.3 kg. Some of the model components are presented in Fig. 5.

V1 ` The tests were conducted in a subsonic closed circuit wind tunnel located at the Warsaw University of Technology (Fig. 6). The diameter of the circular open test section is 1.6 m and the maximum achievable flow speed is 50 m/s [9]. The movable mounting allows continuous or step-by-step movement to investigate the aerodynamic characteristics in the range of Âą20° angles of attack and sideslip. The series of initial tests for both “+â€? (roll angle 0°) and x (roll angle 45°) stabilizer configurations were performed. Finally, the missile model was mounted in the “+â€? configuration with respect to the horizontal and vertical planes.

Fig. 2. Basic geometric characteristics of the missile model (dimensions in millimeters) Rys. 2. Podstawowe charakterystyki geometryczne modelu rakiety (wymiary w milimetrach)

50

P

O

M

I

A

R

Y

•

A

U

T

O

M

A

T

Y

K

A

•

R

O

B

O

T

Y

K

A

NR 1 / 20 20


' $ ^.J / =$`

Fig. 6. Material model during preliminary wind tunnel measurements Rys. 6. Model materialny w czasie wstępnych pomiarów wagowych

Fig. 7. Six-component aerodynamic internal balance Rys. 7. Sześciokomponentowa aerodynamiczna waga wewnętrzna

Next the mounting interface was slightly modified and the six-component aerodynamic internal balance (Fig. 7) was used to measure the forces and moments which act on the model. Various coordinate systems [10] were used during the experiment (Fig. 8). The positive sign convention was marked with the pink arrows. The aerodynamic loads were measured in the body-fixed coordinate system Obxbybzb. The dynamic pressure was 1 Pa. The flow velocity was obtained from the measured dynamic pressure and was equal to 34.5 m/s. The mean flow temperature in the test section was 28 °C, Mach number 0.1 and Reynolds number 120,000. These conditions correspond to the flow velocity around a full scale missile ~17 m/s (the beginning of the powered flight phase). The tests were conducted for angles of attack from the range –20° a 20° and sideslip angles –20° b 5° with 1° step size (for both parameters). The missile has cruciform symmetry. Therefore, measuring loads from the above region allow quick approximation of larger positive angles of sideslip. A fully automatic laboratory test stand was used to acquire the results (Fig. 9). The presence of the balance could dramatically disturb the obtained results, especially the axial force coefficient. The twosteps method was used to overcome this difficulty in order to

Fig. 8. Coordinate systems used in the experiment Rys. 8. Układy współrzędnych uşyte w eksperymencie

measure the loads properly and ensure high accuracy of data. At first the model with external flow was tested. Next, measurements with no flow were performed to obtain tare weight. Finally, to obtain pure aerodynamic loads acting on the model, the no flow load was subtracted from the results with flow. The nondimensional aerodynamic force coefficients [11] in body fixed frame Obxbybzb were obtained with the formulas: CX =

CY =

CZ =

2X a 0

Ď V02Sm 2Ya 0

Ď V02Sm 2Z a 0

Ď V02Sm

(4)

(5)

(6)

where Xa0, Ya0, Za0 are the measured forces. CX, CY, CZ are axial, side and normal forces nondimensional coefficients, is air density, V0 is flow velocity, Sm = π dm2 4 is the model cross section area and dm is the model diameter.

Fig. 9. Measurement device with a strain/bridge input module Rys. 9. Układ pomiarowy z modułem wejściowym

51


Use of Wind Tunnel Measurements Data in Cold Launched Missile Flight Simulations

In a similar way, the moment coefficients were calculated as: CL =

2La 0 Ď V02Smdm

(7)

CM =

2M a 0 Ď V02Smdm

(8)

CN =

2N a 0 Ď V02Smdm

(9)

where cx, cy, cz are drag, side and lift force coefficients, respectively. Similarly, cl, cm, cn are roll, pitch and yaw moment coefficients. Some of the obtained drag force, lift force, rolling and pitching moments coefficients expressed in wind axes were presented in Fig. 10 as a function of angle of attack for various sideslip angles. The drag coefficient presents a typical parabolic curve with the minimum of –0.35 for zero angles of attack and sideslip. The lift force characteristics are linear, coincide with each other and their slope is negative (approx. –0.1/°) in the whole range of a. For a = 0° there is a 0.02 bias offset in the coefficient value. A small nonzero rolling moment at a = 0° is observed. This effect is caused by imperfections in fin mounting. With the perfect material model all the curves should cross the plot origin. The slope of pitching moment coefficient curves for b = –15°, –10°, –5°, 0° and 5° is negative and linear in the range –15° a 15°, which means that the missile is statically stable at low angles of sideslip. In a similar way the selected coefficients of drag force, side force, rolling and yawing moments for various angles of attack as a function of sideslip angle for some specific sideslip angles were presented in Fig. 11. Drag coefficient curves have a similar, parabolic shape. The pair of lines for Âą5°, Âą10°, Âą15° and Âą20° nearly overlaps with each other, which is a correct result. The side force coefficient at angle of attack a = 0° is linear and its slope is negative. The lines crosses with the vertical axis a = 0° at cy = 0.15, which is quite a significant value. Moreover, for larger inflow angles some nonlinearities have appeared. The rolling moment coefficient for a = 0° is nearly a horizontal, straight line but again a bias error with the value –0.05 has occurred, which means a missile rolling tendency at zero inflow angles. This fact might disturb the missile roll angle immediately after exit from the launch device in the ascending, unpowered phase of flight, which will result in lateral trajectories dispersion. The yawing moment coefficient corresponds with a particular side force and for a = 0° the characteristic is linear with a negative slope, which means missile lateral stability. Nonlinearities occurred especially at a = Âą20° and low b, which results in instability for these regions.

where La0, Ma0, Na0 are the measured moments. CL, CM, CN are rolling, pitching and yawing moments coefficients. The moments were measured about the point located 0.3Â m from the missile base. Standard corrections for open test sections presented in [12] were partially applied to postprocess the results.

X1 : To present the data in the most intuitive and readable manner, the measured data were converted from body fixed Obxbybzb to wind axes Owxwywzw with the expressions [11]: ⎥cx ⎤ ⎥ cos Îą cos β ⎢ ⎼ ⎢ ⎢cy ⎼ = ⎢ − cos Îą sin β ⎢ ⎼ ⎢ ⎢c ⎼ ⎢ − sin Îą ⎣ z⎌ ⎣

⎥ cl ⎤ ⎥ cos Îą cos β ⎢ ⎼ ⎢ ⎢cm ⎼ = ⎢ − cos Îą sin β ⎢ ⎼ ⎢ ⎢ ⎼ ⎢ ⎣cn ⎌ ⎣ − sin Îą

sin β cos β 0

sin β cos β 0

sin Îą cos β ⎤ ⎥C X ⎤ ⎼⎢ ⎼ − sin Îą sin β ⎼ ⎢CY ⎼ ⎼⎢ ⎼ ⎼ ⎢C ⎼ cos Îą ⎌⎣ Z ⎌

(10)

sin Îą cos β ⎤ ⎥C L ⎤ ⎼⎢ ⎼ − sin Îą sin β ⎼ ⎢C M ⎼ ⎼⎢ ⎼ ⎼⎢ ⎼ cos Îą ⎌ ⎣C N ⎌

(11)

Fig. 10. Aerodynamic forces and moments coefficients for various angles of sideslip Rys. 10. Współczynniki siĹ‚ i momentĂłw aerodynamicznych dla róşnych kÄ…tĂłw Ĺ›lizgu

52

P

O

M

I

A

R

Y

•

A

U

T

O

M

A

T

Y

K

A

•

R

O

B

O

T

Y

K

A

NR 1 / 20 20


' $ ^.J / =$`

Fig. 11. Aerodynamic forces and moments coefficients for various angles of attack Rys. 11. Współczynniki siĹ‚ i momentĂłw aerodynamicznych dla róşnych kÄ…tĂłw natarcia

Selected data expressed in a wind axes coordinate system were presented in Table 1–Table 6.

To assess the whole database space the results were visualized using contour plots (Fig. 12). The dot symbols indicate the measured points.

Fig. 12. Forces and moments coefficients as a function of angles of attack and sideslip Rys. 12. Współczynniki sił i momentów jako funkcja kątów natarcia i ślizgu

53


Use of Wind Tunnel Measurements Data in Cold Launched Missile Flight Simulations

Table 1. Drag force coefficients Tabela 1. Współczynniki siły oporu

a/b [°]

–20

–16

–12

–8

–4

0

4

–20

–1.9577

–1.5791

–1.4293

–1.3136

–1.2416

–1.2542

–1.3220

–16

–1.6612

–1.2769

–1.1110

–0.9793

–0.9160

–0.9600

–0.9847

–12

–1.4268

–1.0363

–0.8721

–0.7323

–0.6783

–0.7142

–0.7427

–8

–1.2734

–0.8830

–0.7098

–0.5795

–0.5145

–0.5233

–0.5645

–4

–1.1796

–0.8087

–0.6071

–0.4659

–0.3908

–0.3882

–0.4397

0

–1.1697

–0.7723

–0.5756

–0.4318

–0.3556

–0.3550

–0.3942

4

–1.2181

–0.8108

–0.6040

–0.4846

–0.3864

–0.3764

–0.4260

8

–1.3141

–0.8945

–0.6979

–0.5726

–0.4901

–0.4827

–0.5287

12

–1.4744

–1.0295

–0.8553

–0.7196

–0.6456

–0.6425

–0.6760

16

–1.7549

–1.2565

–1.0669

–0.9615

–0.8933

–0.8916

–0.8906

20

–2.1002

–1.5795

–1.3669

–1.2873

–1.2133

–1.1852

–1.2208

Table 2. Side force coefficients Tabela 2. Współczynniki siły bocznej

a/b [°]

–20

–16

–12

–8

–4

0

4

–20

2.2609

1.5614

1.0004

0.4021

–0.0258

–0.2011

–0.3682

–16

2.2631

1.5907

1.0926

0.5780

0.0963

–0.1299

–0.4493

–12

2.3577

1.6489

1.2031

0.7213

0.2261

–0.1053

–0.5236

–8

2.3941

1.7102

1.2597

0.7720

0.2989

–0.1045

–0.5659

–4

2.4297

1.7502

1.2999

0.8254

0.3193

–0.1187

–0.5968

0

2.4574

1.7618

1.2815

0.8275

0.3165

–0.1356

–0.6178

4

2.5373

1.7666

1.2947

0.8140

0.3084

–0.1203

–0.6062

8

2.5149

1.7477

1.2631

0.7953

0.3017

–0.1362

–0.5933

12

2.4827

1.6872

1.2385

0.7305

0.2555

–0.1370

–0.5723

16

2.4970

1.5823

1.0914

0.6293

0.1635

–0.1572

–0.5125

20

2.4172

1.5794

0.9713

0.4906

0.0407

–0.2303

–0.4732

Table 3 Lift force coefficients Tabela 3 Współczynniki siły nośnej

54

a/b [°]

–20

–16

–12

–8

–4

0

4

–20

2.4996

2.4199

2.5620

2.6031

2.5397

2.4989

2.5922

–16

2.0724

1.9725

2.0513

2.0558

2.0198

2.0580

2.0424

–12

1.5508

1.4762

1.5831

1.5297

1.5697

1.6223

1.5814

–8

0.9784

0.9503

1.0691

1.0640

1.0761

1.0998

1.0808

–4

0.4752

0.4816

0.5357

0.5535

0.5737

0.5719

0.5210

0

0.1258

0.0881

0.1012

0.1414

0.0944

0.0931

0.0546

4

–0.2539

–0.2509

–0.3392

–0.3562

–0.3934

–0.3909

–0.3983

8

–0.7837

–0.7727

–0.8121

–0.8370

–0.8819

–0.9055

–0.8821

12

–1.3973

–1.2198

–1.3527

–1.3622

–1.3748

–1.4029

–1.4007

16

–1.9321

–1.7594

–1.8126

–1.8866

–1.8797

–1.8630

–1.8500

20

–2.5604

–2.2476

–2.2943

–2.4283

–2.3736

–2.2421

–2.3409

P

O

M

I

A

R

Y

A

U

T

O

M

A

T

Y

K

A

R

O

B

O

T

Y

K

A

NR 1 / 20 20


' $ ^.J / =$`

Table 4. Rolling moment coefficients Tabela 4. WspóÅ‚czynniki momentu przechylajÄ…cego

a/b [°]

–20

–16

–12

–8

–4

0

4

–20

0.3896

0.2254

0.0856

–0.0716

–0.1673

–0.0743

0.0496

–16

0.2692

0.1238

0.0886

–0.0526

–0.1130

–0.0486

–0.0300

–12

0.1010

0.0246

0.0107

–0.0852

–0.1196

–0.0540

–0.0628

–8

0.0849

0.0003

–0.0147

–0.0529

–0.0828

–0.0512

–0.0578

–4

–0.0056

0.0087

–0.0314

–0.0527

–0.0511

–0.0578

–0.0933

0

–0.0513

–0.0595

–0.0466

–0.0491

–0.0466

–0.0648

–0.0912

4

–0.0593

–0.0736

–0.0595

–0.0393

–0.0483

–0.0361

–0.0664

8

–0.0400

–0.0814

–0.0426

–0.0271

0.0005

–0.0225

–0.0454

12

–0.0668

–0.1237

–0.0416

–0.0219

0.0243

–0.0005

–0.0264

16

–0.2089

–0.1052

–0.0286

0.0272

0.0729

0.0372

–0.0161

20

–0.3176

–0.2029

–0.0058

0.0936

0.1520

0.0866

0.0056

Table 5. Pitching force coefficients Tabela 5. WspóÅ‚czynniki momentu pochylajÄ…cego

a/b [°]

–20

–16

–12

–8

–4

0

4

–20

–0.3664

0.1285

0.6599

0.9613

1.0791

1.0336

1.0873

–16

–0.0581

0.3229

0.6779

0.8538

0.9290

1.0677

1.0108

–12

–0.0032

0.3761

0.6265

0.7872

0.8602

0.9483

0.9311

–8

–0.2631

0.1562

0.3840

0.4851

0.5824

0.6379

0.5853

–4

–0.2888

–0.0401

0.1642

0.2165

0.2700

0.3002

0.2732

0

0.0612

0.0220

0.0389

0.0310

0.0309

0.0205

0.0166

4

0.2797

0.1315

–0.1033

–0.1743

–0.2051

–0.2251

–0.2313

8

0.2250

–0.0730

–0.3229

–0.4688

–0.5300

–0.5867

–0.5405

12

0.0773

0.0320

–0.5494

–0.6886

–0.7643

–0.8221

–0.8188

16

0.0982

0.0195

–0.4246

–0.8332

–0.9318

–1.0370

–0.9700

20

0.4688

0.3783

–0.1233

–0.9376

–1.0597

–0.9449

–1.1938

Table 6. Yawing force coefficients Tabela 6. WspóÅ‚czynniki momentu odchylajÄ…cego

a/b [°]

–20

–16

–12

–8

–4

0

4

–20

–0.2028

–0.0244

0.0913

0.1862

0.2716

–0.0851

–0.4960

–16

–0.7635

–0.4904

–0.4102

–0.1583

0.0927

–0.1027

–0.2808

–12

–1.2948

–0.9599

–0.7443

–0.4794

–0.1312

–0.0742

0.0426

–8

–1.3242

–1.0927

–0.9071

–0.5731

–0.2160

–0.0279

0.1859

–4

–1.3477

–1.1354

–0.9298

–0.6136

–0.2245

–0.0040

0.2828

0

–1.3337

–1.0984

–0.8767

–0.5969

–0.2115

0.0307

0.3309

4

–1.3842

–0.9824

–0.8459

–0.5119

–0.1598

0.0709

0.3591

8

–1.2146

–0.8714

–0.7253

–0.4349

–0.0879

0.1341

0.3628

12

–1.0733

–0.5834

–0.5320

–0.2575

0.0271

0.1291

0.2759

16

–0.6418

–0.1358

–0.0589

0.0362

0.2746

0.1668

0.0810

20

0.1192

0.4686

0.5123

0.4348

0.5525

0.2879

–0.1449

55


Use of Wind Tunnel Measurements Data in Cold Launched Missile Flight Simulations

⎤ ⎥1 sin ÎŚ tan Θ ⎥Ό cos ÎŚ tan Θ ⎤ ⎥P ⎤ ⎢ ⎼ ⎢ ⎼⎢ ⎼ ⎼ = ⎢0 âŽ˘Î˜ cos ÎŚ − sin ÎŚ ⎼ ⎢Q ⎼ ⎢ ⎼ ⎢ ⎼⎢ ⎼ ⎢Ψ ⎼⎢ ⎼ ⎼ ⎢ ⎣ ⎌ ⎣0 sin ÎŚ / cos Θ cos ÎŚ / cos Θ ⎌ ⎣R ⎌

The smallest absolute value of drag has occurred at zero inflow angles and the plot has a circular symmetry, which is typical for objects with an axisymmetric body. The contour maps for side force and lift force coefficients have a mirror symmetry with respect to vertical and horizontal lines corresponding with a = 0° and b = 0°. In the rolling moment coefficient plot there are some small irregular regions. The pitching moment coefficient is not perfectly symmetric with respect to a = 0° for b < –12°. Next, the results were implemented into two-dimensional lookup tables and used in the 6DoF numerical flight simulation.

where U0, V0, W0 are missile linear velocities in the body axis frame, P0, Q0, R0 are missile roll rates, ÎŚ0, Θ0, Ψ0 are initial Euler angles (roll, pitch and yaw), xn, yn, zn are initial position coordinates of the missile center of mass. The dot symbol above some variables denotes a derivative with respect to time. is projectile mass and I is the inertia matrix in the form

Y1

( [ ( % *

)

⎥I x ⎢ I= ⎢0 ⎢ ⎢0 ⎣

A set of Monte-Carlo flight simulations [13] was evaluated to investigate the full-scale missile behavior using the aerodynamic database which was developed using wind tunnel tests methodology. The main goal of the numerical experiments was to assess the repeatability of the cold launch maneuver under various external disturbances. The minimal number of thrusters which allows controlled, rapid orientation change is equal to two [2, 5]. Two lateral thrusters placed before the missile center of mass, 1.3Â m from the base at the opposite sides of the fuselage were used to perform the cold launch maneuver. In this configuration the missile is uncontrolled in the roll channel. Most of the existing cold launch missiles are roll stabilized. The mathematical model of the missile described in [5, 14] was used and implemented into MATLAB 2018a software. Flat Earth approximation was used for the simulation. Air thermodynamic properties were assumed according to [15]. The missile was modeled as a variable mass rigid body with six degrees of freedom. The center of mass location shift due to main motor grain burnout was included in the model. The full-scale missile maximum velocity was predicted to be approximately 90 m/s, so for such a subsonic range it was assumed that the coefficients variation with speed is negligible. The wind influence on the missile trajectory was neglected. The equations of motion of the missile were as follows [5, 16]:

⎥U ⎤ ⎥X b ⎤ ⎥ 0 ⎢ ⎼ 1 ⎢ ⎼ ⎢ ⎢V ⎼ = ⎢Yb ⎼ − ⎢ R ⎢ ⎼ m⎢ ⎼ ⎢ ⎢W ⎼ ⎢ Z ⎼ ⎢ −Q ⎣ ⎌ ⎣ b⎌ ⎣

−R 0 P

⎥P ⎤ ⎥ Lb ⎤ ⎥ 0 ⎢ ⎼ ⎢ ⎼ ⎢ ⎢Q ⎼ = I−1 ⎢M b ⎼ − I−1 ⎢ R ⎢ ⎼ ⎢ ⎼ ⎢ ⎢R ⎼ ⎢N ⎼ ⎢ −Q ⎣ ⎌ ⎣ b⎌ ⎣

Q ⎤ ⎥U ⎤ ⎼⎢ ⎼ −P ⎼ ⎢V ⎼ ⎼⎢ ⎼ 0 ⎼⎌ ⎢⎣W ⎼⎌

0 P

P

O

M

I

A

R

Y

•

A

Iy 0

(16)

Forces Fb and moments Mb which act on the missile were calculated as [16] ⎥X b ⎤ ⎢ ⎼ Fb = ⎢Yb ⎼ = Fg + Fs + Fa + Fc ⎢ ⎼ ⎢Z ⎼ ⎣ b⎌

(17)

where Fg are gravity, Fs propulsive, Fa aerodynamic and Fc control forces generated by lateral thrusters. Similarly ⎥ Lb ⎤ ⎢ ⎼ M b = ⎢M b ⎼ = M g + M s + M a + M c ⎢ ⎼ ⎢N ⎼ ⎣ b⎌

(18)

are the corresponding moments. The gravity loads Fg and Mg in the body coordinate system Obxbybzb were calculated according to [5, 17]. The main motor thrust axis misalignment was included in the model. The propulsive forces are [17]

⎥X s ⎤ ⎥cos Ψ T cos ΘT ⎤ ⎢ ⎼ ⎢ ⎼ Fs = ⎢Ys ⎼ = T t ⎢ cos ΘT sin Ψ T ⎼ ⎢ ⎼ ⎢ ⎼ ⎢Z ⎼ ⎢ − sin Θ ⎼ T ⎣ s⎌ ⎣ ⎌

()

(19)

(13)

⎥x n ⎤ ⎥cos Θ cos Ψ sin ÎŚ sin Θ cos Ψ âˆ’ cos ÎŚ sin Ψ cos ÎŚ sin Θ cos Ψ + sin ÎŚ sin Ψ âŽ¤ ⎥U ⎤ ⎢ ⎼ ⎢ ⎼⎢ ⎼ ⎢y n ⎼ = ⎢ cos Θ sin Ψ sin ÎŚ sin Θ sin Ψ + cos ÎŚ cos Ψ cos ÎŚ sin Θ sin Ψ âˆ’ sin ÎŚ cos Ψ âŽĽ ⎢V ⎼ ⎢ ⎼ ⎢ ⎼⎢ ⎼ ⎢z ⎼ ⎢ − sin Θ ⎼ ⎢W ⎼ sin ÎŚ cos Θ cos ÎŚ cos Θ n ⎣ ⎌ ⎣ ⎌⎣ ⎌

56

0⎤ ⎼ 0⎼ ⎼ I z ⎼⎌

0

(12)

Q ⎤ ⎥P ⎤ ⎼ ⎢ ⎼ −P ⎼ I ⎢Q ⎼ ⎼ ⎢ ⎼ 0 ⎼⎌ ⎢⎣R ⎼⎌

−R

(15)

U

T

O

M

A

T

Y

K

A

•

R

O

(14)

B

O

T

Y

K

A

NR 1 / 20 20


' $ ^.J / =$`

and the moments ⎥ Ls ⎤ ⎥ ⎤ 0 ⎢ ⎼ ⎢ ⎼ M s = ⎢M s ⎼ = T t ⎢ −ln sin ΘT ⎼ ⎢ ⎼ ⎢ ⎼ ⎢N ⎼ ⎢ − cos Θ sin Ψ âŽĽ T T⎌ ⎣ s⎌ ⎣

()

(20)

where T(t) is the main motor thrust, ΘT and ΨT are thrust pitch and yaw misalignment angles; ln is the distance from the center of mass to the main motor nozzle exit plane. The center of mass location from the base before and after main motor burnout was 0.66/0.7 m.

Fig. 13. Lateral thruster thrust force Rys. 13. CiÄ…g silnika korekcyjnego

The aerodynamic forces which act on the projectile are

(

⎥C X Îą , β , E state ⎢ 1 Xa = Ď V02S ⎢ CY Îą , β ⎢ 2 ⎢ C Îą, β Z ⎣

( (

) )

)

⎤ ⎼ ⎼ ⎼ ⎼ ⎌

(21)

time of the thrusters was set to 0.9Â s and the thrust force amplitude to approximately 60 N (Fig. 13). The first and second thruster were initialized in 0.95 s and 1 s of flight, respectively. The main motor missile was fired with 0.4 s time delay after second thruster firing. Each of the individual disturbances was modelled as Gauss distribution. The simulation initial conditions are presented in Table 7.

and the aerodynamic moments are described by

⎥ Pd ⎤ ⎢ C L Îą , β + C LP Îą , β ⎼ 2 V0 ⎼ ⎢ ⎢ ⎼ 1 Qd ⎼ M a = Ď V02Sd ⎢C M Îą , β + C MQ Îą , β ⎢ 2 2V0 ⎼ ⎢ ⎼ ⎢ Rd ⎼ ⎢C N Îą , β + C NR Îą , β ⎼ 2V0 ⎌⎼ ⎣⎢

(

)

(

Table 7. Monte-Carlo simulation initial conditions Tabela 7. Warunki poczÄ…tkowe dla symulacji Monte-Carlo

)

(

)

(

)

(

)

(

)

(23)

and ⎥ 0 ⎤ ⎢ ⎼ M c = ∑ lltT ⎢ sin ÎŚi ⎼ ⎢ ⎼ i ⎢ − cos ÎŚ ⎼ i⎌ ⎣

parameter

mean value

standard deviation

unit

1

m0

15.67

0.05

kg

2

mk

14.94

0.05

kg

3

Ix0

0.057

0.01

kgm2

4

Ixk

0.056

0.01

kgm2

4

Iyk

3.6

0.01

kgm2

4

Iyk

3.45

0.01

kgm2

5

U0

17

1

m/s

6

V0

0

0.1

m/s

7

W0

0

0.1

m/s

8

P0

0

10

°/s

9

Q0

0

1

°/s

10

R0

0

1

°/s

11

ÎŚ0

0

0.2

°

12

Θ0

90

0.1

°

13

Ψ0

0

0.1

°

14

xn

0

0.02

m

15

yn

0

0.02

m

16

zn

0

0.02

m

17

ΘT

0

0.01

°

18

ΨT

0

0.01

°

(22)

where r is air density, V0 is total aerodynamic velocity, S = wd2/4 is the projectile cross section area, d is the missile diameter, a is angle of attack, b – angle of sideslip. CX, CY, CZ are axial, side and normal force nondimensional coefficients. CL is spin driving moment coefficient due to fin mounting misalignments, and CLP, CMQ, CNR are roll, pitch and yaw damping moment coefficients, which were estimated using the method described in [18]. Estate is the main motor state (0 – powered flight, 1 – unpowered). Aerodynamic coefficients were implemented into the software using the lookup table method. Due the high cost of modernization of the laboratory stand in order to measure the damping moment coefficients they were obtained using semi–empirical methods presented in [19]. The lateral thruster loads were computed as: ⎥ 0 ⎤ ⎢ ⎼ n Xc = ∑T ⎢ sin ÎŚi ⎼ ⎢ ⎼ i ⎢ − cos ÎŚ ⎼ i⎌ ⎣

no.

n

(24)

where l lt is the distance between the center of mass and lateral thruster nozzle projected on the longitudinal axis of the missile and Fi is the angular location of the thruster. The operation

m0, mk – missile mass, Ix0/Ixk – longitudinal, Iy0/Iyk and Iz0/Izk – lateral moments of inertia before/after main motor firing. The Marsenne-Twister algorithm was used to generate pseu-

57


Use of Wind Tunnel Measurements Data in Cold Launched Missile Flight Simulations

Fig. 14. Missile trajectories visualisation Rys. 14. Wizualizacja trajektorii rakiety

Z1

dorandom numbers. 200 numerical simulations were performed using Simulink rapid accelerator mode on a desktop PC with i7–4790 CPU @3.60 GHz and 16 GB DDR3 RAM. The flight duration for each case was set to 5 s. Figure 14 shows initial portions of the missile trajectories. The missile altitude change maneuver takes place when the object is at the attitude of 17 m. The black, dotted line means a reference trajectory for zero standard deviations each from the parameters. For nonexistent error sources, all the trajectories should be the same and coincide with this line. Strong lateral dispersion on the left and right from the Onxnzn plane is observable. The lateral dispersion at the end of the flight was from –91 to 88.7. The differences in elevation are smaller but also not negligible. The simulations proved that the full–scale missile is statically stable. The dispersion of trajectories is mainly the result of nonzero initial missile roll rate P0 about its longitudinal axis. It proves that the used methodology of wind tunnel measurements could be used successfully for numerical flight dynamic simulation purposes.

58

P

O

M

I

A

R

Y

•

A

U

T

O

M

This paper presents the results of subsonic wind tunnel testing of a model missile intended for the vertical cold launch system. The static aerodynamic characteristics were acquired successfully as a function of angles of attack and sideslip with the internal six component balance. The aerodynamic database obtained during wind tests was used in the Monte-Carlo simulations of the missile trajectories. Due to lack of roll stabilization a significant dispersion has been observed. It was concluded that the fin mounting must be checked carefully to eliminate possible rolling moment due to nonzero fin cant angles. Oscillations of the test object might occur at high angles of attack, which results in limited quality of some coefficients. During wind tunnel tests it was observed that the main problem was connected with testing objects with small lifting surfaces like missile fins, so it is necessary to have high accuracy aerodynamic balance, which determines the quality of the results. For further work, oil, tufts or pressure sensitive

A

T

Y

K

A

•

R

O

B

O

T

Y

K

A

NR 1 / 20 20


' $ ^.J / =$`

paint visualization should be performed to study the flow field around the missile body in detail.

References 1. Titchener P.E., Veitch A.J., UK Soft Vertical Launch – A Flexible Solution to an Integral Concept for Ground & Naval Air Defence, [in:] RTO MP–063, 2000. 2. Taur D.–R., Chern J.–S., Optimal Side Jet Control for Vertically Cold Launched Tactical Missiles, [in:] XIAA Guidance, Navigation, and Control Conference and Exhibit, Denver, 2000, DOI: 10.2514/6.2000-4164. 3. Ocokoljić G., RaĹĄuo B., Testing an Anti Tank Missile Model with Jet Simulation in the T–35 Subsonic Wind Tunnel, “Scientific Technical Reviewâ€?, Vol. 62, No. 3–4, 2012, 14–20. 4. Ocokoljić G., RaĹĄuo B., Aerodynamic testing model guided missiles with jets simulations in the T–35 wind tunnel, 2014, 629–634, DOI: 10.5937/tehnika1404629O. 5. Jacewicz M., GĹ‚Ä™bocki R., Simulation study of a missile cold launch system, “Journal of Theoretical and Applied Mechanicsâ€?, Vol. 56, No. 4, 2018, 901–913, DOI: 10.15632/jtam-pl.56.4.901. 6. Barlow J.B., Rae W.H., Pope A., Low-Speed Wind Tunnel Testing, New York: John Wiley & Sons, Inc., 1999. 7. Rosema C., Doyle J., Blake W., Missile Data Compendium (DATCOM) – User Manual – 2014 Revision, 2014. 8. Moore F., Hymer T., The 2002 Version of the Aeroprediction Code: Part I – Summary of New Theoretical Methodology, Naval Surface Warfare Center, 2002. 9. SmÄ™dra K., Ĺšwierkot R., KubryĹ„ski K., Low speed wind tunnel test of the jet trainer model at high angles of attack, “Journal of KONES Powertrain and Transportâ€?, Vol. 23, No. 4, 2016, 471–478, DOI: 10.5604/12314005.1217285.

10. Allerton D., Principles of Flight Simulation, Wiltshire: John Wiley & Sons, 2009. 11. Ĺ adyĹźyĹ„ska-KozdraĹ› E., Filipowicz M., Maryniak J., Modelowanie dynamiki oraz identyfikacja aerodynamiczna zmodyfikowanego pocisku moĹşdzierzowego kalibru 74 mm, „Problemy mechatroniki. Uzbrojenie, lotnictwo, inĹźynieria bezpieczeĹ„stwaâ€?, Vol. 2, No. 8, 2012, 51–62. 12. Advisory Group For Aerospace Research & Development, AGARDograph 336 Wind tunnel wall correction, North Atlantic Treaty Organization, 1998. 13. Ilg M., Rogers J., Costello M., Projectile Monte-Carlo Trajectory Analysis Using a Graphics Processing Unit, [in:] AIAA Atmospheric Flight Mechanics Conference, Portland, 2011, DOI: 10.2514/6.2011-6266. 14. GĹ‚Ä™bocki R., Jacewicz M., Missile Vertical Launch System with Reaction Control Jets, Vol. 145, No. 1, 2018, 25–46, DOI: 10.5604/01.3001.0012.1271. 15. National Aeronautics and Space Administration, U.S. Standard Atmosphere, Washington, D.C., 1976. 16. Jitpraphai T., Costello M., Dispersion Reduction of a Direct Fire Rocket Using Lateral Pulse Jets, “Journal of Spacecraft and Rocketsâ€?, Vol. 38, No. 6, 2001, 929–936, DOI: 10.2514/2.3765. 17. Department of Defense, Military Handbook. Missile Flight Simulation. Part One – Surface to Air missiles, Department of Defense, 17 July 1995. 18. Danberg J., Weinacht P., An Approximate Method for Pitch-Damping Prediction, Aberdeen Proving Ground: Army Research Laboratory, 2003. 19. STANAG 4655 – An Engineering Model To Estimate Aerodynamic Coefficient, NATO Standardization Agency, Bruxelles 2014.

V % A ( ( 1 8 Niniejszy artykuĹ‚ przedstawia wyniki testĂłw w tunelu aerodynamicznym modelu rakiety dedykowanej dla pionowego zimnego startu. Celem pracy byĹ‚o uzyskanie bezwymiarowych współczynnikĂłw aerodynamicznych potrzebnych do opracowania bazy w postaci tablic dla numerycznej symulacji lotu o szeĹ›ciu stopniach swobody. Model materialny peĹ‚nowymiarowej rakiety zostaĹ‚ zaprojektowany przy wykorzystaniu programu Siemens UG/NX. Testy zostaĹ‚y przeprowadzone na Politechnice Warszawskiej przy niskiej prÄ™dkoĹ›ci przepĹ‚ywu a charakterystyki statycznych siĹ‚ i momentĂłw uzyskano za pomocÄ… szeĹ›cioskĹ‚adnikowej wagi wewnÄ™trznej dla szerokiego zakresu kÄ…tĂłw natarcia i Ĺ›lizgu z krokiem 1°. Ostatecznie, przeprowadzono 200 symulacji Monte-Carlo w programie MATLAB/Simulink w celu zbadania zachowania pocisku w fazie startu z uĹźyciem zmierzonych wartoĹ›ci. ZostaĹ‚o zaobserwowane, Ĺźe moment przechylajÄ…cy wynikajÄ…cy m.in. z niedokĹ‚adnoĹ›ci montaĹźowych stabilizatorĂłw wpĹ‚ywa znaczÄ…co na uzyskiwane trajektorie. ) U % $ ( $ $ $ %

59


Use of Wind Tunnel Measurements Data in Cold Launched Missile Flight Simulations

/ ; )1

) )1

(' % ORCID: 0000-0002-5703-8830

' % ORCID: 0000-0002-7173-0890

H % % O)!*BP 6 0 > 6 7 ( F @ Q % % 8 6 @ % ; K ( > ( F L % $ % ; % ( (

H % % O)!*?P 6 0 > 6 7 ( F @ Q % 8 6 @ % ; K ( > ( 6 0 7 F % L % ( % $ % ( (

( / % $ *% -1 ( 9 ( / ' % ORCID: 0000-0002-2389-7653 @ 6 6 0 6 7 > ( R 8 6 @ % ; K ( ( F 6 % L $ $ ;]$ $ / $ ; 6 / % / > % % % 6 > % ( ( % > @ % 6 $ % %

60

P

O

M

I

A

R

Y

•

A

U

T

O

M

A

T

Y

K

A

•

R

O

B

O

T

Y

K

A

NR 1 / 20 20


Pomiary Automatyka Robotyka, ISSN 1427-9126, R. 24, Nr 1/2020, 61–66, DOI: 10.14313/PAR_235/61

T ( % [ % A/ $ < Y < % ^ R - X $ 7 ( T $ ; T **!_**&$ !)>)?B 0

1 8 Do rozwiązania problemu unikania kolizji przez samolot w przestrzeni powietrznej niezbędne jest wykrycie przeszkody, sprawdzenie czy stanowi zagroşenie dla bezpieczeństwa samolotu oraz podjęcie właściwych decyzji o odpowiednim sposobie jej ominięcia. To wszystko są istotne fazy poprzedzające automatyczne ominięcie ruchomej przeszkody. W pracy zaprezentowano algorytm omijania ruchomej przeszkody o niedających się przewidzieć zmianach jej ruchu. Przedstawiono schemat logicznych działań mających na celu nie tylko bezpieczne uniknięcie kolizji z manewrującą przeszkodą, ale takşe powrót do lotu wzdłuş zaplanowanej przed startem trasy. Zaproponowaną metodę zilustrowano symulacyjnym przykładem automatycznego ominięcia wspomnianej przeszkody dla wybranego scenariusza. ) U $ $ $

1. Wprowadzenie WĹ›rĂłd wielu róşnych niebezpiecznych scenariuszy, jakie mogÄ… wystÄ™pować w czasie lotu samolotu, jest zagroĹźenie wystÄ…pienia kolizji z ruchomÄ… przeszkodÄ… wykonujÄ…cÄ… manewry o niedajÄ…cym siÄ™ przewidzieć przebiegu. Nie jest w zwiÄ…zku z tym moĹźliwe wyznaczenie przebiegu caĹ‚ej trajektorii ominiÄ™cia wspomnianej przeszkody, podobnie jak w przypadku Ĺ›ledzenia celu przez rakietÄ™ [7]. Dodatkowym czynnikiem, jaki wpĹ‚ywa na pogorszenie przewidywalnoĹ›ci jest ograniczony zasiÄ™g wykrywania przeszkĂłd wynikajÄ…cy z technicznych moĹźliwoĹ›ci zastosowanego detektora przeszkĂłd. W trakcie lotu samolotu zmniejszajÄ… siÄ™ odlegĹ‚oĹ›ci do niektĂłrych obiektĂłw (znajdujÄ…cych siÄ™ w przedniej półpĹ‚aszczyĹşnie), dziÄ™ki czemu moĹźna obserwować kolejne przeszkody, wczeĹ›niej niewykryte. Podobne zjawisko moĹźe wystÄ™pować w wyniku ograniczonego kÄ…ta widzenia detektora, czÄ™sto znacznie mniejszego od 360°. W wielu pracach [6, 8, 10, 12] poĹ›wiÄ™conych opisywanej problematyce nie sÄ… uwzglÄ™dniane wymienione uwarunkowania, ktĂłre w sposĂłb znaczÄ…cy wpĹ‚ywajÄ… na wybĂłr odpowiedniej metody pozwalajÄ…cej na efektywne omijanie ruchomych przeszkĂłd. InnÄ… istotnÄ… kwestiÄ…, ktĂłra powinna podlegać szczegółowej analizie w procesie przygotowania dziaĹ‚aĹ„ omijania

3 + U

\ H 66 $ ( 66 ' % 3 % *= ** )!*+ $ % % != !* )!)!

!

przeszkód jest dynamika obiektu, jakim jest samolot. Przygotowanie manewrów w płaszczyźnie horyzontalnej wymaga znajomości zakresów dopuszczalnych parametrów samolotu. Na te ograniczenia dla wybranego typu samolotu moşe mieć wpływ długa lista czynników, wśród których są m.in. zmienne stanu ruchu samolotu, charakterystyki zastosowanych układów wykonawczych oraz fazy lotu.

S1 " L 0

- W powszechnie spotykanych warunkach, w jakich odbywajÄ… swoje loty samoloty pasaĹźerskie, powstajÄ…ce zagroĹźenia kolizji sÄ… rozwiÄ…zywane na drodze porozumienia miÄ™dzy pilotami lecÄ…cych obiektĂłw i naziemnej kontroli ruchu z wykorzystaniem znanych i opisanych metod [6, 8]. Jednak w pracy przyjÄ™to odmienne rozwiÄ…zanie, zgodne z podanymi wyĹźej zaĹ‚oĹźeniami, w celu znalezienia rozwiÄ…zania dla sytuacji braku Ĺ‚Ä…cznoĹ›ci miÄ™dzy samolotami i w sytuacjach deficytu czasu [3–5]. Ocena bieşącej sytuacji zagroĹźenia wystÄ…pienia kolizji z ruchomymi przeszkodami wymaga sformuĹ‚owania odpowiedniego kryterium. W pracy przyjÄ™to zaĹ‚oĹźenia omijania ruchomych przeszkĂłd: − dostÄ™pność informacji o przeszkodach jest moĹźliwa tylko w ograniczonym obszarze stanowiÄ…cym bliskie otoczenie samolotu; − wykrywanie przeszkĂłd i ich omijanie odbywa siÄ™ tylko w przedniej półpĹ‚aszczyĹşnie; − znane sÄ… wielkoĹ›ci przeszkĂłd i bieşące parametry ich ruchu; − nie jest dostÄ™pna informacja o sposobie ruchu przeszkĂłd w przyszĹ‚oĹ›ci; − unikniÄ™cie kolizji i jej ominiÄ™cie odbywa siÄ™ bez negocjacji z innymi ruchomymi obiektami;

61


8 & : ! : : & ! & ] ` & ! ! & J

V1 ) #L #

− nie sÄ… uwzglÄ™dniane przepisy w ruchu lotniczym; − manewr omijania odbywa siÄ™ w pĹ‚aszczyĹşnie poziomej; − sterowanie i stabilizacja lotu samolotu obejmuje 6 stopni swobody.

Manewr ominięcia ruchomej przeszkody składa się z fazy antykolizyjnej oraz manewru powrotu do lotu wzdłuş zaplanowanej trasy. Z uwagi na moşliwość wykonywania nieprzewidywalnych manewrów przeszkody, pierwsza faza moşe być realizowana ze zmiennym kątem przechylenia w czasie zakrętu (8). Z tego samego powodu faza powrotu do lotu po zaplanowanej trasie moşe zostać w kaşdej chwili przerwana i ponownie uruchamiany jest manewr omijania. W dalszej części pracy zostaną sformułowane kryteria mające na celu określenie początku i końca wymienionych faz oraz parametry manewrów. Jeśli po wykryciu przeszkody i stwierdzeniu, şe występuje niebezpieczeństwo kolizji odległość od przeszkody jest odpowiednio duşa, to nie ma konieczności natychmiastowego rozpoczęcia omijania jej. Przyjęto, şe odległość rSPi niewymagająca natychmiastowego rozpoczęcia manewru to taka, dla której potrzebny czas na wykonanie zakrętu jest mniejszy niş czas, w jakim samolot zblişy się do przeszkody na odległość rCMB. Manewr antykolizyjny powinien zostać uruchomiony przed momentem, w którym spełniony zostanie warunek:

y

OP (x1P, y1P) x rCMB

rSP1

VP

VP rSP2

VSP2

VSP1

VS2

(

rSPi < VSP β i / ωZak 1s / Ď 2i − Ď 1i

VS1

VS1

SP1

SP1

21

VS2

SP2

SP2

OS (x1S, y1S)

VSP β i = VS cos Ψ SV − βSPi + VPi cos Ψ PVi − βSPi

Rys. 1. Zmienne opisujące układ relacji samolot – przeszkoda Fig. 1. The Variables describing the aircraft — obstacle configuration

Ď 1, Ď 2 = βSP B arcsin (rCMB / rSP ) ,

Istotnym parametrem manewru antykolizyjnego jest wartość zadana kÄ…ta przechylenia ÎŚZ samolotu, ktĂłra wyliczana jest z zaleĹźnoĹ›ci: ÎŚZ = ÎŚZaki + kÎŚ1Ď ji + kÎŚ 2 Δ Ď Î¨ + kÎŚ 3V SP β i

−

1S

)/(

1P

−

1S

gdzie: ÎŚZaki – kÄ…t przechylenia odpowiadajÄ…cy przyjÄ™tej prÄ™dkoĹ›ci zakrÄ™tu, kÎŚ1 – współczynnik wzmocnienia dla pochodnej kÄ…ta wybranej stycznej, kÎŚ2 – współczynnik wzmocnienia od pochodnej róşnicy SVsp = Ď ji − ΨVR , kÎŚ3 – współczynnik wzmocnienia od prÄ™dkoĹ›ci zbliĹźania samolotu do przeszkody.

)

) .

(2)

oraz dodatkowa zaleşność tego kąta:

βSPi = 2β 0i

(3) Relację między prędkością zakrętu a kątem przechylenia wynikającą z dynamiki lotu określa wzór:

Odległość między obiektami: rSP =

(x

1P

− x1S

) + (y 2

1P

− y1S

)

(9)

2

(4) W pracy zaproponowano trzy nastÄ™pujÄ…ce wartoĹ›ci odniesienia kÄ…ta przechylenia ÎŚZaki: 40°, 50° i 60° wykorzystywane w czasie manewru antykolizyjnego. Ze wzglÄ™du na bezpieczeĹ„stwo antykolizyjnego manewru kierunek ominiÄ™cia przeszkody (kierunek zakrÄ™tu) okreĹ›la siÄ™ w nastÄ™pujÄ…cy sposĂłb:

Kąt wektora prędkości wypadkowej (samolotu i przeszkody) wynosi:

(

)

ΨVR = arctg (y 1S + y 1P ) / (x 1S + x 1P ) .

(5)

jeĹ›li speĹ‚niona jest nierĂłwność Ď 1 − ΨVR < Ď 2 − ΨVR to zakrÄ™t wykonywany jest w lewo czyli ωZak1s < 0, w przeciwnym razie jest ωZak1s > 0.

Okrąg o promieniu rCMB jest hipotetyczną figurą reprezentującą swoim wymiarem sumę maksymalnych gabarytów samolotu, przeszkody i marginesu bezpieczeństwa.

62

P

O

M

(8)

(1)

gdzie SP kąt patrzenia opisuje zaleşność: 1P

(7)

Ę˜Zak1s – przyjÄ™ta prÄ™dkość kÄ…towa zakrÄ™tu w manewrze antykolizyjnym.

W dalszej części tego rozdziału zostaną podane matematyczne zaleşności opisujące wybrane zmienne [10], pokazane na rys. 1 dla dwóch połoşeń samolotu (indeksy 1 i 2). Kąty stycznych do okręgu o promieniu rCMB wynoszą:

βSP = Ä‚Ä‚Ä‚Ä‚ ((

(6)

gdzie: VSPɴi – prędkość zblişania się samolotu do przeszkody wynosi:

x

22

)

I

A

R

Y

•

A

U

T

O

M

A

T

Y

K

A

•

R

O

B

O

T

Y

K

A

NR 1 / 20 20


! = f

Do zakończenia manewru antykolizyjnego niezbędne jest spełnienie jednocześnie dwóch warunków (10):

Wykrycie Przeszkody

(10)

Parametry Przeszkody

Podczas gdy speĹ‚nione jest: Ď 2i > Ď 1i JednoczeĹ›nie speĹ‚nienie nierĂłwnoĹ›ci (10) jest momentem rozpoczÄ™cia manewru powrotu. PrzyjÄ™to, Ĺźe skĹ‚ada siÄ™ on z dwĂłch zakrÄ™tĂłw wykonanych z kÄ…tem przechylenia ÎŚZak1 rĂłwnym:

Sprawdzenie

WybĂłr lub Zmiana ParametrĂłw Manewru

, (11) gdzie DSPT =

(x

1S

− xTP

) + (y 2

1S

− yTP

)

2

jest odlegĹ‚oĹ›ciÄ… samolotu o współrzÄ™dnych (x1S y1S) od najbliĹźszego punktu zaplanowanej trasy o współrzÄ™dnych (xTP yTP). Przy czym pierwszy zakrÄ™t wykonywany jest z zadanym kÄ…tem odchylenia samolotu rĂłwnym koĹ„cowemu kÄ…towi w manewrze antykolizyjnym i w kierunku przeciwnym do ωZak1s, a drugi w tym samym kierunku co ωZak1s z zadanym kÄ…tem odchylenia rĂłwnym kÄ…towi ΨTPi najbliĹźszego odcinka drogi wynikajÄ…cego z planu lotu przygotowanego przed startem. ZakoĹ„czenie manewru powrotu wymaga speĹ‚nienia dwĂłch nastÄ™pujÄ…cych warunkĂłw: ΨTPi − Ψ S ≤ Îľ Ψ

DSPT ≤ ξ D

Parametry Samolotu

Kolizji

(12)

Pierwszy warunek dotyczy osiÄ…gniÄ™cia şądanego kursu samolotu z przyjÄ™tÄ… dokĹ‚adnoĹ›ciÄ… ɸΨ a drugi dotyczy poĹ‚oĹźenia samolotu zgodnego z najbliĹźszym odcinkiem zaplanowanej trasy z dokĹ‚adnoĹ›ciÄ… ɸD.

X1 7

L L

*

przeszkód Sposób współdziałania istotnych elementów podejmowania decyzji o sposobie omijania manewrującej przeszkody przedstawiono na schemacie (rys. 2). Wykrycie i zidentyfikowanie przez detektor [2] wcześniej nieznanej, manewrującej przeszkody wraz z estymacją aktualnych parametrów jej ruchu i samolotu stanowią pierwszy etap wyboru bezpiecznego manewru. Powinien zostać poprzedzony analizą szeregu zmiennych charakteryzujących ruch samolotu i przeszkody i ich wzajemnych relacji (rys. 1). Na tej podstawie w sposób ciągły sprawdzane jest czy występuje zagroşenie kolizji z wykrytą przeszkodą (10). Jeśli takie zagroşenie wystąpiło to wyliczane

Realizacja Manewru Powrotu

WybĂłr lub Zmiana Manewru Powrotu

Manewru Powrotu

Realizacja Manewru Antykolizyjnego

Manewru Antykolizyjnego

Kontynuacja Plan Lotu

Rys. 2. Automatyczne sterowanie manewrem omijania Fig. 2. Automatic control of anti-collision maneuver

są parametry manewru antykolizyjnego i sprawdzany jest czas uruchomienia tego manewru. Po uruchomieniu automatycznie wykonywanego manewru antykolizyjnego (zgodnie z prawami sterowania (13), (14), (15) i (16)) sprawdzany jest warunek zagroşenia i wyliczana jest aktualna wartość kąta przechylenia w zakręcie (8). Po stwierdzenie braku zagroşenia kolizją następuje zakończenie manewru antykolizyjnego wyliczenie niezbędnych parametrów manewru powrotu na zaplanowaną trasę i jego uruchomienie. W trakcie trwania tego manewru nadal cały czas sprawdzane jest czy występuje zagroşenie kolizji. Jeśli pojawi się wspomniane zagroşenie następuje powrót do wyliczenia aktualnych parametrów manewru antykolizyjnego i w przypadku konieczności, czyli gdy czas uruchomienia jest właściwy, następuje przerwanie powrotu i przejście do realizacji manewru antykolizyjnego. Zakończenie całego manewru omijania nastąpi w sytuacji, jeśli nie występuje zagroşenie kolizji (10) i zostały osiągnięte załoşone dokładności kąta kursu i połoşenia względem aktualnego odcinka drogi w planie lotu (12). W symulacji zastosowano nieliniowy model matematyczny dynamiki samolotu typu I-23 Manager zgodnie z [3] i [5] spełniający typowe załoşenia upraszczające [4]. Automatyczne sterowanie manewrem omijania działa w oparciu o prawa sterowania w czterech kanałach (pochylania (13), przechylania (14) odchylania (15) i prędkości (16):

δ HS = K1HΘ (Θz − Θ) + K1HQ (Qz − Q) +1HW (Wz − W ) + K1Hz (z1z − z1) + K1HU (U z − U ) (13) 1

(14) (15) (16)

63


8 & : ! : : & ! & ] ` & ! ! & J

500

gdzie: V0 = ⎥⎣U V W ⎤⎌ , Ί = ⎥⎣P Q R ⎤⎌ – skĹ‚adowe prÄ™dkoĹ›ci liniowej i kÄ…towej, ⎥⎣x1 y1 z1 ⎤⎌ , Λ = ⎥⎣Ό Θ Ψ âŽ¤âŽŚ – poĹ‚oĹźenie liniowe i kÄ…towe samolotu, u = ⎥⎣δ HS δVS δ LS δTS ⎤⎌ – wektor sterowania (wychylenie powierzchni sterowych i manetki gazu). FormuĹ‚a ta przy doborze wĹ‚aĹ›ciwych wsp ółczynnikĂłw wzmocnienia zapewnia uzyskanie zakrÄ™tu z zadanym kÄ…tem przechylenia, ktĂłry odpowiada okreĹ›lonemu, w stanie ustalonym promieniowi zakrÄ™tu. Współczynniki wzmocnienia wyliczone zostaĹ‚y metodÄ… LQR [1, 9, 11]. Dla przyjÄ™tej w badaniach symulacyjnych prÄ™dkoĹ›ci lotu uzyskano wartoĹ›ci podane w tabeli 1. UkĹ‚ad rĂłwnaĹ„ róşniczkowych opisujÄ…cych ruch samolotu rozwiÄ…zywany byĹ‚ za pomocÄ… oprogramowania MATLAB z uĹźyciem procedury rk4 z krokiem 0,01 s. W trakcie symulacji lotu samolot wykonaĹ‚ zĹ‚oĹźony, sterowany manewr ominiÄ™cia ruchomej przeszkody poruszajÄ…cej siÄ™ w znany, ale nieprzewidywalny sposĂłb. KsztaĹ‚t trajektorii obu obiektĂłw pokazano

2

1 PRZESZKODA

400

3

300

6 200

SAMOLOT 0

3

2

1

7

8 9

4 5

4

100

Y [m]

7

5

10

11

12

6

13

8 -100

9 -200

10

-300 -400

13

11 12

-500 -600

-200

0

200

400

600

800

1000

1200

X [m]

Rys. 3. Trajektoria samolotu i manewrujÄ…cej przeszkody Fig. 3. Trajectory of the airplane and trajectory of maneuvering obstacle

na rys. 3. Przy czym dla samolotu jej przebieg nie był wcześniej wyznaczony dla znanego ruchu przeszkody ale został uzyskany z symulacji zgodnie z przyjętą metodą dla manewrującej przeszkody. Zakręty wykonywane były z zadanym kątem przechylenia określonym zaleşnością (8) zmiany kąta odchylenia były konsekwencją zaleşności (10) oraz (12). Obiekty przemieszczały się na stałej wysokości równej 200 m ze stałymi prędkościami lotu

Tabela 1. Współczynniki wzmocnienia praw sterowania Table 1. Controller gains of the control laws

64

⎥0 s⎤ K1HU ⎢ ⎼ ⎣⎢ m ⎌⎼

⎥0 s⎤ K1HW ⎢ ⎼ ⎣⎢ m ⎌⎼

⎥0s⎤ K1HQ ⎢ ⎼ ⎣⎢ rad ⎌⎼

⎥0 ⎤ K1Hz1 ⎢ ⎼ ⎣⎢ m ⎌⎼

⎥ 0 ⎤ K1HΘ ⎢ ⎼ ⎣⎢ rad ⎌⎼

0,4477

0,3579

–9,8324

0,1032

–58,4015

⎥0 s⎤ K1VV ⎢ ⎼ ⎣⎢ m ⎌⎼

⎥0s⎤ K1VP ⎢ ⎼ ⎣⎢ rad ⎌⎼

⎥0s⎤ K1VR ⎢ ⎼ ⎣⎢ rad ⎌⎼

⎥ 0 ⎤ K1VΌ ⎢ ⎼ ⎣⎢ rad ⎌⎼

⎥ 0 ⎤ K VΨ âŽ˘ ⎼ ⎣⎢ rad ⎌⎼

2,1645

1,9199

–1,286

–0,9571

0,0

⎥0 s⎤ K1LV ⎢ ⎼ ⎣⎢ m ⎌⎼

⎥0s⎤ K1LP ⎢ ⎼ ⎣⎢ rad ⎌⎼

⎥0s⎤ K1LR ⎢ ⎼ ⎣⎢ rad ⎌⎼

⎥ 0 ⎤ K1LΌ ⎢ ⎼ ⎣⎢ rad ⎌⎼

⎥ 0 ⎤ K1LΨ âŽ˘ ⎼ ⎣⎢ rad ⎌⎼

1,4796

6,2199

–16,125

120,594

0,0

⎥0 s⎤ K1TU ⎢ ⎼ ⎣⎢ m ⎌⎼

⎥0 s⎤ K1TW ⎢ ⎼ ⎣⎢ m ⎌⎼

⎥0s⎤ K1TQ ⎢ ⎼ ⎣⎢ rad ⎌⎼

⎥0 ⎤ K1Tz 1 ⎢ ⎼ ⎣⎢ m ⎌⎼

⎥ 0 ⎤ K1TΘ ⎢ ⎼ ⎣⎢ rad ⎌⎼

452,1

23,5

–177,1

–3,9

–140,1

P

O

M

I

A

R

Y

•

A

U

T

O

M

A

T

Y

K

A

•

R

O

B

O

T

Y

K

A

NR 1 / 20 20


! = f

wzglÄ™dem powierzchni Ziemi, tzn. dla samolotu rĂłwnej VS = 50 m/s, a przeszkody VP = 72 m/s. Uzyskano szereg zmiennych opisujÄ…cych ten ruch i sterujÄ…cych, z ktĂłrych część zaprezentowano poniĹźej. Do automatycznie wykonania manewru omijania ruchomej przeszkody wzdĹ‚uĹź pokazanej na rys. 3 trajektorii byĹ‚y niezbÄ™dne wychylenia kÄ…towe steru kierunku i lotek zamieszczone na rys. 4. Uzyskane wartoĹ›ci poĹ‚oĹźeĹ„ lotek Ĺ›wiadczÄ… o krĂłtkotrwaĹ‚ych okresach, w ktĂłrych te powierzchnie sterowe osiÄ…gaĹ‚y swoje graniczne poĹ‚oĹźenia. W czasie symulowanego lotu przebiegi prÄ™dkoĹ›ci kÄ…towej przechylania i odchylania (rys. 5) skĹ‚adaĹ‚y siÄ™ z podobnych sekwencji charakterystycznych dla energicznie wykonywanych zakrÄ™tĂłw. Przedstawione na rys. 4 zmiany poĹ‚oĹźenia kÄ…towego samolotu potwierdzajÄ… przewidywane ekstremalne wartoĹ›ci kÄ…ta przechylenia bliskie pierwszemu zaĹ‚oĹźonemu poziomowi odniesienia (40°). Z tego wynika pokazane na wykresie (rys. 5) zmiany kÄ…ta odchylenia zgodne z dynamikÄ… obiektu. WartoĹ›ci ekstremalne tego kÄ…ta sÄ… konsekwencjÄ… logicznych warunkĂłw zgodnie z zaleĹźnoĹ›ciami (10) i (12).

5. Wnioski Przedstawiony materiaĹ‚ teoretyczny oraz wyniki symulacji ruchu samolotu omijajÄ…cego manewrujÄ…cÄ… przeszkodÄ™ pozwala na sformuĹ‚owanie nastÄ™pujÄ…cych wnioskĂłw: − zaproponowane w pracy formuĹ‚y matematyczno-logiczne i struktura decyzyjna stanowiÄ… spĂłjnÄ… przesĹ‚ankÄ™ do rozwiniÄ™cia autonomicznego omijania przez samolot manewrujÄ…cych przeszkĂłd; − uzyskane wyniki symulacji Ĺ›wiadczÄ… o efektywnoĹ›ci dokonanego wyboru parametrĂłw manewru pozwalajÄ…cego dla wybranego scenariusza ominąć bezpiecznie przeszkodÄ™ o nieprzewidywalnym ruchu; − zaproponowana metodyka moĹźe zostać wykorzystana do róşnych obiektĂłw latajÄ…cych w tym statkĂłw bezzaĹ‚ogowych, wykonujÄ…cych manewry omijania ruchomych przeszkĂłd; przedstawiona metoda wymaga dalszych badaĹ„ dla szeregu scenariuszy obejmujÄ…cych róşne konfiguracje wzajemnych ruchĂłw i poĹ‚oĹźeĹ„ samolotu i przeszkody.

Rys. 4. Połoşenie lotek, steru kierunku oraz kąty przechylenia i odchylenia samolotu Fig. 4. Ailerons and ruder deflections and roll yaw of airplane

Rys. 5. Prędkości kątowe przechylania i odchylania samolotu Fig. 5. Angular velocities of roll and yaw of airplane

65


8 & : ! : : & ! & ] ` & ! ! & J

& L 0 7. Koruba Z., Chatys R, Gyroscope-based control and stabilization of unmanned aerial mini-vehicle (mini-UAV), “Aviation�, No. 9, 2005, 10–16, DOI: 10.3846/16487788.2005.9635898. 8. Lin C.E., Wu Y.-Y., Collision avoidance solution for low-altitude flights, “Journal Aerospace Engineering�, Vol. 225, No 7, 2011, 779–790, DOI: 10.1177/0954410011399211. 9. Nelson R.C., Flight Stability and Automatic Control, MCGraw-Hill Book Company, New York 1997. 10. Paielli R.A., Modeling maneuver dynamics in air traffic conflict resolution, “Journal of Guidance, Control, and Dynamics�, Vol. 26, No. 3, 2003, 407 – 415, DOI: 10.2514/2.5078. 11. Stevens B.L., Levis F.L., Aircraft Control and Simulation. J. Wiley & Sons, Inc., 2016. 12. Tang J., Piera M.A., Baruwa O.T., A discrete-event modeling approach for the analysis of TCAS-induced collisions with different pilot response times, “Journal Aerospace Engineering�, Vol. 229, No. 13, 2015, 2416–2428, DOI: 10.1177/0954410015577147.

1. Athans M., Falb P., Sterowanie optymalne, wstÄ™p do teorii i jej zastosowania, WNT, Warszawa 1969. 2. Graffstein J., Functioning of air anti-collision system during test flight, “Aviationâ€?, Taylor & Francis Group Vilnius Gediminas Technical University, Vol. 18, No. 1, 2014, 44–51, DOI: 10.3846/16487788.2014.865945. 3. Graffstein J., DobĂłr parametrĂłw manewru antykolizyjnego i jego przebieg, „Prace Instytutu Lotnictwaâ€?, Nr 224, 2012, 31–43. 4. Graffstein J., Elementy procesu wykrycia zagroĹźenia kolizjÄ… i automatycznie sterowany manewr awaryjny. „Pomiary Automatyka Robotykaâ€?, R. 16, Nr 2/2012, 383-387. 5. Graffstein J., Selected aspects of automatic maneuver control to avoid moving obstacles resulting from the simulation analysis of the course of aircraft movement, Advances in Intelligent Systems and Computing, “Challenges in Automation, Robotics and Measurement Techniquesâ€?, Vol. 440, 2016, 127–139, DOI: 10.1007/978-3-319-29357-8_12. 6. Jung T., Piera M.A., Ruiz O.S., A causal model to explore the ACAS induced col lisions, Journal Aerospace Engineering, Vol. 228, No. 10, 2015, 1735–1748, DOI: 10.1177/0954410014537242.

-% 6 ; % ; > " ; % % / " ( #/ 2% 8 To solve the problem of aircraft avoiding collision, it is necessary to detect an obstacle, check if it poses a threat to the safety of the aircraft and make the right decisions about the appropriate way to bypass it. These are all important phases preceding the automatic bypassing of a moving obstacle. The work presents an algorithm for bypassing a moving obstacle with unpredictable changes in its movement. A diagram of logical actions was presented to not only safely avoid collision with a maneuvering obstacle, but also to return to flight along the route planned before the start. The proposed method is illustrated by a simulation example of automatically bypassing an obstacle for the selected scenario. KeywordsU % $ $ a ( $

( $ < ( b ' % ORCID: 0000-0002-9329-8648 ;% 7 ( T - X \ ( > / [ ( % % % / A > [ $ % V % $ ( % A

66

P

O

M

I

A

R

Y

•

A

U

T

O

M

A

T

Y

K

A

•

R

O

B

O

T

Y

K

A

NR 1 / 20 20


Pomiary Automatyka Robotyka, ISSN 1427-9126, R. 24, Nr 1/2020, 67–74, DOI: 10.14313/PAR_235/67

-% I ( V U % / U [% U - 7 " @ U 0 V % 7 $ 0 % @ $ T % ; . / $ " =$ >*!! 7 A

1 8 W artykule przedstawiono wybrane zagadnienia bezpieczeństwa urządzeń Internetu Rzeczy. Przedstawiono klasyfikację zagroşeń w środowisku współdziałających urządzeń IoT w modelu 5M + E. Jako podstawową przyjęto klasyfikację TOP-10 OWASP dla IoT i dostosowano ją do potrzeb analizy przy pomocy diagramu Ishikawy. Powiązano zagroşenia z grupami przyczyn i zastosowano diagram Ishikawy do oceny jakościowej zagroşeń. Zaproponowano macierzowy model bezpieczeństwa układu urządzeń pracujących zgodnie z zasadą IFTTT. Przyjęto typowy, trójstanowy model oceny stanu bezpieczeństwa kaşdego z urządzeń i wykazano przydatność modelu macierzowego do oceny stanu pracy i bezpieczeństwa systemu. Wskazano na moşliwości podziału zadań w modelu macierzowym na obliczenia we mgle i w chmurze. ) U - . $ ( V $ / U $ % $ % ( -

1. Wprowadzenie Ewolucja IoT w okresie 20 lat od wprowadzenia tego pojęcia przez Kevina Ashtona przyczyniła się w istotny sposób do powstania Przemysłu 4.0. Dąşąc do intensywnego rozwoju oferowanych produktów producenci często marginalizowali problemy cybernetycznego bezpieczeństwa tych urządzeń. Szereg incydentów takich, jak Stuxnet czy wykorzystanie kamer do ataków DDoS obnaşyły słabości systemu bezpieczeństwa IoT i uwypukliły konieczność intensyfikacji prac nad bezpieczeństwem tych urządzeń. Prognozy Gartnera [1] juş w 2014 r. wskazały, şe w 2020 r. liczebność urządzeń IoT osiągnie 25 miliardów, (z tego ponad 13 mld będzie w grupie tzw. urządzeń konsumenckich), a zatem problem ich bezpieczeństwa jest wyzwaniem o podstawowym znaczeniu. Prace, które pojawiły się w ostatnich kilku latach wskazują na konieczność poszukiwania nowych metod, gdyş konwencjonalne podejście oparte głównie na ochronie punktu końcowego oraz tworzenie zapór na brzegu sieci nie jest adekwatne do oceny i neutralizacji aktualnie występujących zagroşeń. W artykule [2] został dokonany obszerny przegląd stosowanych metod bezpieczeństwa Internetu Rzeczy. W pracy [3] zwrócono uwagę na specyfikę zagroşeń i rozwiązań z zakresu bezpieczeństwa w środowisku robotów przemysłowych, w pracy [4] wskazano na złoşoność ochrony urządzeń w środowisku kon-

3 + U

0 % - $ ' % 3 % *= ** )!*+ $ % % *) !) )!)!

!

sumenckim, zwłaszcza ze względu na interakcje urządzeń poza siecią TCP/IP, w pracy [16] przedstawiono syntetycznie istotne grupy ataków. Identyfikowanie wektorów zagroşeń jest prowadzone przez wielu praktyków i badaczy, a takşe organizacje, w tym OWASP (ang. Open Web Application Security Project) [5], jednakşe w zaproponowanej przez OWASP liście 10 najistotniejszych zagroşeń [6] nie ujęto problemów wynikających z interakcji środowiskowych między urządzeniami. Interesująca metodyka analizy takich interakcji, pozwalająca na ocenę tej grupy zagroşeń, z uwzględnieniem problemu skalowalności, została przedstawiona w pracy [4]. Do identyfikacji jakościowej zagroşeń moşna wykorzystać metody znane z zarządzania, np. diagramy Ishikawy (metodykę 5M + E: Man, Material, Machine, Method, Management + Environment) [7–9] i – poszerzając interpretację wektora E o interakcje między urządzeniami – połączyć w analizie listę TOP-10 organizacji OWASP i szeroko rozumiane zagroşenia środowiskowe. Celem niniejszej pracy była analiza moşliwości zastosowania opisu zagroşeń i interakcji środowiskowej między urządzeniami IoT z wykorzystaniem modelu macierzowego reprezentującego ocenę stanu bezpieczeństwa i stanu pracy kaşdego z urządzeń wchodzących w skład systemu IoT.

S1 . *

0 L ,

+ ,

0 47 [^T 7;3) 4 Jedną z podstawowych metod stosowanych obecnie do szacowania ryzyka związanego z informacją jest analiza jakościowa oparta na ocenie ryzyka wywołania incydentu przez ocenę zagroşenia na jednym z trzech poziomów – niskim, umiarkowanym lub wysokim. Dla urządzeń IoT moşna przyjąć, şe poziomy te

67


G !A . : !: : & ! & ] G odpowiadają trzem stanom bezpieczeństwa – prawidłowemu, niepewnemu i błędnemu. Dla kaşdego urządzenia moşna utworzyć diagram Ishikawy i – przypisując do kaşdej z gałęzi klasyfikację zagroşenia – na jednym z trzech poziomów ocenić jego stan bezpieczeństwa.

Tabela zawiera klasyfikacjÄ™ uszczegółowionych zagroĹźeĹ„ z listy TOP-10, podzielonych ze wzglÄ™du na ich zwiÄ…zek z grupÄ… przyczyn. Po takim uszczegółowieniu podziaĹ‚u w miejsce 10 zagroĹźeĹ„ ujÄ™tych na liĹ›cie OWASP moĹźna wyróşnić 23 zagroĹźenia, z ktĂłrych ponad 80% jest zwiÄ…zanych z zarzÄ…dzaniem, okoĹ‚o 60% z personelem instalujÄ…cym urzÄ…dzenia lub uĹźytkownikiem, a takĹźe sposobem eksploatacji urzÄ…dzeĹ„, okoĹ‚o 48% z wĹ‚aĹ›ciwoĹ›ciami urzÄ…dzeĹ„ zaleĹźnymi od producentĂłw, a 35% od otoczenia. Nie ma przesĹ‚anek do wiÄ…zania jakiegokolwiek zagroĹźenia wskazanego w klasyfikacji OWASP z materiaĹ‚ami. Jak wspomniano, pewnÄ… sĹ‚aboĹ›ciÄ… wykazu zagroĹźeĹ„ w klasyfikacji OWASP i identyfikacji jakoĹ›ciowej podatnoĹ›ci urzÄ…dzeĹ„ na potencjalne ataki tylko zgodnie z listÄ… OWASP TOP-10 jest brak uwzglÄ™dnienia zagroĹźeĹ„ Ĺ›rodowiskowych, wynikajÄ…cych z oddziaĹ‚ywania na urzÄ…dzenia innych urzÄ…dzeĹ„ oraz parametrĂłw Ĺ›rodowiska, analizowanych w szczegĂłlnoĹ›ci w pracy [3]. ZagroĹźenia te, jak np. wartoĹ›ci parametrĂłw fizycznych Ĺ›rodowiska czy wzajemnych zaleĹźnoĹ›ci stanĂłw pracy urzÄ…dzeĹ„ mogÄ… być analizowane w grupie przyczyn E, przy czym wĂłwczas konieczne jest dodanie do klasyfikacji przedstawionej w tabeli 1 uzupeĹ‚niajÄ…cych zagroĹźeĹ„ „otoczeniaâ€? 11.a. – rozumianego jako zagroĹźenia wynikajÄ…ce z bĹ‚Ä™dĂłw lub zaniedbaĹ„ dostawcĂłw urzÄ…dzeĹ„, 11.b. – zagroĹźeĹ„ wskutek niekontrolowanego wpĹ‚ywu parametrĂłw Ĺ›rodowiska fizycznego i 11.c. – zagroĹźeĹ„ bÄ™dÄ…cych skutkiem wzajemnego oddziaĹ‚ywania urzÄ…dzeĹ„. Graficzna prezentacja przeprowadzonej analizy zagroĹźeĹ„ za pomocÄ… diagramu Kaoru Ishikawy jest przedstawiona na rysunku 1.

S1^1 8 0 , 7;3) OWASP, analizując wektory zagroşeń dla Internetu Rzeczy, opublikowała w 2018 r. klasyfikację 10 najistotniejszych zagroşeń bezpieczeństwa w tym sektorze. Klasyfikacja ta obejmuje następujące zagroşenia: 1. Korzystanie z haseł słabych, podatnych na atak siłowy, haseł publicznie dostępnych lub teş niezmiennych (ang. Weak, Guessable, or Hardcoded Passwords). 2. Niezabezpieczone lub zbędne usługi sieciowe, podatne na zagroşenia wynikające z naruszenia poufności, integralności, dostępności lub nieuprawnionego uwierzytelnienia (ang. Insecure Network Services). 3. Niezabezpieczone (zwykle mobilne) punkty dostępu w systemie, niewłaściwe przetwarzanie danych w chmurze, niezabezpieczone API, wskutek niewłaściwego zabezpieczenia uwierzytelniania, autoryzacji, szyfrowania i filtrowania/ walidacji danych (ang. Insecure Ecosystem Interfaces). 4. Brak moşliwości bezpiecznej aktualizacji oprogramowania urządzenia, w szczególności sprawdzania poprawności zainstalowanego oprogramowania, szyfrowania aktualizacji w procesie ich przesyłania, brak powiadomień o aktualizacjach i zapewnienia moşliwości powrotu do ostatniej prawidłowo działającej wersji oprogramowania (ang. Lack of Secure Update Mechanism). 5. Korzystanie z przestarzałych lub niezabezpieczonych komponentów oprogramowania, jak równieş ze sprzętu z nieautoryzowanego łańcucha dostaw (ang. Use of Insecure or Outdated Components). 6. Brak wystarczającej ochrony prywatności danych osobowych (ang. ). 7. Brak szyfrowania i autoryzacji dostępu w kaşdym z trzech stanów danych – zwłaszcza podczas przesyłu i przechowywania danych (ang. Insecure Data Transfer and Storage). 8. Brak wsparcia dla bezpieczeństwa urządzeń na kaşdym etapie cyklu şycia, w szczególności zarządzania aktualizacjami (ang. Lack of Device Management). 9. Stosowanie urządzeń i oprogramowania dostarczanego z ustawieniami domyślnymi bez wystarczających zabezpieczeń lub brak moşliwości rekonfiguracji ustawień fabrycznych (ang. Insecure Default Settings). 10. Brak moşliwości utwardzania sprzętowego (ang. Lack of Physical Hardening). Pewnym mankamentem tej klasyfikacji jest znikome uwzględnienie wektorów oddziaływań środowiskowych i brak analizy wzajemnych oddziaływań między urządzeniami.

Rys. 1. Diagram Ishikawy oceny stanu bezpieczeństwa IoT w modelu 5M + E Fig. 1. Ishikawa IoT safety assessment diagram in the 5M + E model

Tworzenie diagramu Ishikawy do jakościowej oceny stanu bezpieczeństwa urządzenia lub systemu moşe być równieş z powodzeniem stosowane przy przyjęciu innych klasyfikacji zagroşeń, np. zaproponowanych w pracy [10].

S1S1 2 + ,

Y( h

V1 (

L , + ,

Przedstawione (tab. 1) zaklasyfikowanie jakoĹ›ciowe kaĹźdego z wymienionych zagroĹźeĹ„ do grupy przyczyn zostaĹ‚o przeprowadzone z uwzglÄ™dnieniem klasycznego modelu 5M + E, przy czym: − CzĹ‚owiek oznacza personel instalujÄ…cy urzÄ…dzenie oraz uĹźytkownika, − Metoda jest rozumiana bardziej jako procedury stosowane podczas eksploatacji urzÄ…dzeĹ„, niĹź jako stosowane w trakcie produkcji urzÄ…dzeĹ„ technologie czy normy, − ZarzÄ…dzanie rozumiane jest gĹ‚Ăłwnie jako konserwacja (pielÄ™gnacja) urzÄ…dzenia (wystÄ™pujÄ…ca zwykle jako kolejna przyczyna w podejĹ›ciu 8M) a nie struktura organizacyjna, czy teĹź kierownictwo lub organizacja pracy producenta, − Otoczenie oznacza dostawcĂłw urzÄ…dzeĹ„.

68

P

O

M

I

A

R

Y

•

A

U

T

O

M

W pracy [4] wskazano, iş oprócz konwencjonalnych ataków, wśród których moşna w szczególności wymienić ataki DDoS, ataki związane z wykorzystaniem urządzeń IoT, wyciekiem danych i przejęciem kontroli danych nad inteligentnymi licznikami energii elektrycznej czy teş przejęciem kontroli nad kamerami dozorującymi zachowanie małych dzieci, moşliwe są takşe skuteczne ataki korzystające z urządzeń pracujących zgodnie z zasadą IF-This-Then-That (IFTTT). Przykładowo wskazano, şe przejęcie kontroli nad inteligentną wtyczką (np. Belkin Wemo) umoşliwia włączenie ogrzewania w pokoju, co skutkuje wzrostem temperatury wywołującym otwarcie okien i fizyczne naruszenie bezpieczeństwa. A

T

Y

K

A

•

R

O

B

O

T

Y

K

A

NR 1 / 20 20


;$ ! $ G Tabela 1. Powiązanie zagrożeń OWASP TOP-10 IoT z grupami przyczyn Table 1. Association of OWASP TOP-10 IoT threats with cause groups

×

×

1.b. Hasła publicznie dostępne

×

×

1.c. Hasła niezmienne (sprzętowe)

×

1.a. Słabe hasła

×

2.a. Niezabezpieczone usługi sieciowe 2.b. Zbędne usługi sieciowe

×

×

×

×

×

3.a. Niezabezpieczone punkty dostępu

×

3.b. Niewłaściwe przetwarzanie danych w chmurze

×

×

×

3.c. Niewłaściwy dobór API

×

×

×

4.a. Brak szyfrowania aktualizacji w drodze

×

×

4.b. Brak weryfikacji poprawności zainstalowanego oprogramowania

×

×

×

×

4.c. Brak powiadomień o aktualizacjach

Otoczenie

Zarządzanie

Metoda

×

Zagrożenie

Materiał

Człowiek

Urządzenie

Grupa przyczyn

×

× ×

×

×

×

5.b. Korzystanie z nieautoryzowanego sprzętu

×

×

6. Brak wystarczającej ochrony prywatności

×

×

×

×

×

7.a. Brak szyfrowania i autoryzacji dostępu do danych „w drodze”

×

×

×

×

×

7.b. Brak szyfrowania i autoryzacji dostępu do danych „w spoczynku”

×

×

×

×

7.c. Brak szyfrowania i autoryzacji dostępu do przetwarzanych danych

×

×

×

×

8.a. Brak wsparcia dla zarządzania aktualizacjami ×

8.b. Brak wsparcia dla bezpieczeństwa urządzeń w cyklu życia urządzenia

9.b. Stosowanie urządzeń i oprogramowania z ustawieniami domyślnymi

Aby przeciwdziałać takim potencjalnym zagrożeniom konieczne jest budowanie modeli oddziaływań zarówno w sieci, jak też w środowisku fizycznym. Należy podkreślić, że urządzenia IoT charakteryzują się ograniczonymi zasobami i heterogenicznością systemów operacyjnych, zatem dążenie do tworzenia oprogramowania antywirusowego dla tak szerokiej gamy urządzeń nie jest uzasadnione. Dla pewnej grupy urządzeń, np. smartTV pracujących na platformie systemu Android, takie oprogramowanie jest rozwijane, jednakże – jak wynika z analizy zagrożeń OWASP TOP-10 – założenie o powszechności instalowania i aktualizacji oprogramowania antywirusowego jest nieuprawnione. Aktualizacja oprogramowania użytkowego w celu eliminacji luk także napotyka na szereg przeszkód, m.in. ze względu na konieczność ręcznego wykonywania tego procesu lub też brak aktualizacji oprogramowania przez producentów. W konsekwencji zadania ochrony punktu końcowego muszą być przenoszone na brzeg sieci, względnie do chmury lub mgły.

×

×

×

×

9.a. Brak możliwości rekonfiguracji ustawień fabrycznych

10. Brak możliwości utwardzania sprzętowego

×

×

× ×

×

×

W koncepcji IoTSec przedstawionej w pracy [3] przewiduje się tworzenie dodatkowych elementów sieci, tzw. μmboxów (realizujących funkcje mikrobezpieczeństwa sieci), które działają jako bramki bezpieczeństwa dla każdego urządzenia IoT. Logicznie scentralizowany kontroler IoTSec monitoruje konteksty różnych urządzeń i środowiska operacyjnego i generuje widok globalny dla wymuszania zasad dla różnych urządzeń. Na podstawie tego widoku tworzone są zasady ochrony i konfigurowane są poszczególne μmboxy. Taka koncepcja ochrony jest dość ogólna i może korzystać z różnych modeli zarządzania IoT, np. modelu urządzeń bezpośrednio połączonych do punktu centralnego IoT i kontrolowanych przez smartfony. Założenie o zapewnieniu na smartfonie zasobów wystarczających dla potrzeb bezpieczeństwa systemu jest jednakże założeniem bardzo optymistycznym; pod względem dostępności zasobów i skalowalności systemu realne jest podejście przetwarzania w chmurze, jednakże wiąże się ze zwiększeniem opóźnienia w podejmowaniu decyzji przez oprogramowanie odpowiedzialne

69


G !A . : !: : & ! & ] G

za stan bezpieczeĹ„stwa systemĂłw i ich przesyĹ‚aniu do urzÄ…dzeĹ„ koĹ„cowych. W wielu pracach wskazano, Ĺźe przeniesienie zadaĹ„ scentralizowanego kontrolera IoTSec do warstwy mgĹ‚y i jednoczesne rozproszenie realizacji tych zadaĹ„ do kontrolerĂłw monitorujÄ…cych pracÄ™ urzÄ…dzeĹ„ faktyczne i potencjalnie współdziaĹ‚ajÄ…cych ze sobÄ… pozwoli na wykorzystanie zalet koncepcji mgĹ‚y, przede wszystkim zmniejszenie opóźnieĹ„ w ocenie bezpieczeĹ„stwa dziaĹ‚ajÄ…cych urzÄ…dzeĹ„.

Kaşde z urządzeń moşe przyjmować dwa stany pracy: ti – włączony, fi – wyłączony. Przy takim załoşeniu zbiór stanów pracy dla k urządzeń moşna oznaczyć jako W2k = {t1, f1, t2, f2, ‌, tk, fk}. Wtedy przestrzeń wszystkich moşliwych stanów bezpieczeństwa i stanów pracy dla rozwaşanych w przykładzie trzech urządzeń moşna przedstawić jako iloczyn macierzy

V1^1 3 # ObszernÄ… analizÄ™ zagadnieĹ„ bezpieczeĹ„stwa przetwarzania we mgle zawiera przeglÄ…dowy artykuĹ‚ [11]. W pracy [4] zwraca siÄ™ uwagÄ™, Ĺźe w opisie interakcji miÄ™dzy urzÄ…dzeniami zachodzÄ… pewne istotne ograniczenia bezpieczeĹ„stwa, wynikajÄ…ce m.in. z zaĹ‚oĹźenia, Ĺźe reguĹ‚y bezpieczeĹ„stwa mogÄ… być okreĹ›lane niezaleĹźne dla kaĹźdego urzÄ…dzenia, co moĹźe prowadzić do konfliktĂłw reguĹ‚ lub niejednoznacznoĹ›ci wynikĂłw (np. generowanie takiego samego sygnaĹ‚u alarmowego dla róşnych zdarzeĹ„), a takĹźe z trudnoĹ›ci identyfikacji wszystkich moĹźliwych interakcji. Problem powiÄ…zania stanu bezpieczeĹ„stwa urzÄ…dzeĹ„ IoT i ich interakcji moĹźe być rozwiÄ…zywany przez utworzenie modelu macierzowego stanĂłw bezpieczeĹ„stwa i pracy urzÄ…dzeĹ„. Dla przykĹ‚adu moĹźna rozwaĹźyć trzy urzÄ…dzenia, z ktĂłrych dwa D1 i D2 mogÄ… zostać wĹ‚Ä…czone wtedy, gdy trzecie urzÄ…dzenie D3 przyjmuje okreĹ›lony stan, np. jest wyĹ‚Ä…czone. PrzykĹ‚adem takiego ukĹ‚adu moĹźe być wyodrÄ™bniony w ukĹ‚adzie typowej automatyki domowej ukĹ‚ad obejmujÄ…cy sterowanie oĹ›wietleniem wybranych pomieszczeĹ„ (D1), siĹ‚ownikami otwierania okien (D2) i instalacjÄ™ alarmowÄ… (D3). ZakĹ‚ada siÄ™, Ĺźe ukĹ‚ady sterowania oĹ›wietleniem wybranych pomieszczeĹ„ oraz otwierania okien mogÄ… być wĹ‚Ä…czone dopiero wtedy, gdy instalacja alarmowa zostaje wyĹ‚Ä…czona, czyli gdy w domu obecni sÄ… mieszkaĹ„cy. OczywiĹ›cie, moĹźna urzÄ…dzenie D3 zastÄ…pić np. czujnikami ruchu, a wtedy zmienić warunek dopuszczalnoĹ›ci wĹ‚Ä…czania D1 i D2 stanem aktywnoĹ›ci mieszkaĹ„cĂłw, przypisujÄ…c mu stan pracy urzÄ…dzenia „wĹ‚Ä…czonyâ€?. ZaĹ‚oĹźenie o podziale oĹ›wietlenia wybranych pomieszczeĹ„ wynika z koniecznoĹ›ci zapewnienia moĹźliwoĹ›ci sterowania wĹ‚Ä…czaniem i wyĹ‚Ä…czaniem Ĺ›wiateĹ‚ przy wĹ‚Ä…czonej instalacji alarmowej w celu symulacji obecnoĹ›ci mieszkaĹ„cĂłw i uniemoĹźliwienia potencjalnym wĹ‚amywaczom ustalenia faktycznej obecnoĹ›ci domownikĂłw. ZaĹ‚oĹźenie o blokadzie systemu sterowania otwieraniem okien, zasygnalizowane juĹź wyĹźej przy omawianiu pracy [4] uniemoĹźliwia automatyczne otwarcie okien w opisanym tam przypadku wzrostu temperatury przy przechwyceniu przez intruza kontroli nad systemem ogrzewania, a blokada systemu sterowania oĹ›wietleniem dla wybranych pomieszczeĹ„ wyklucza straty finansowe wynikajÄ…ce z przejÄ™cia przez intruza kontroli nad tym systemem, jeĹ›li instalacja alarmowa jest wĹ‚Ä…czona. Typowo przyjmuje siÄ™, Ĺźe stan bezpieczeĹ„stwa kaĹźdego z urzÄ…dzeĹ„ moĹźe przyjmować trzy wartoĹ›ci: p – prawidĹ‚owy, n – niepewny, u – bĹ‚Ä™dny, nieprawidĹ‚owy (np. nieaktualizowany, mimo udostÄ™pnienia aktualizacji przez producenta). ZbiĂłr moĹźliwych stanĂłw bezpieczeĹ„stwa dla k urzÄ…dzeĹ„ moĹźna oznaczyć przez

Z = S33 Ă— 3 â‹… W3 Ă— 23

P

O

M

I

A

R

Y

•

A

U

T

O

M

p3 ⎤ ⎼ p2 n 3 ⎼ ⎼ p2 u 3 ⎼ ⎼ n 2 p3 ⎼ ⎼ ⎥t1 t1 t1 ! f1 f1 ⎤ ! !⎼ ⎢ ⎼ ⎼ ⋅ ⎢t t f ! f f ⎼ 2 2 2 2 2 ⎼ ⎼ (1) n 2 n3 ⎢ ⎼ ⎢ ⎼⎌ ! t f t t t 3 3 3 3 3 ⎼ ⎣ n2 u3 ⎼ ⎼ u 2 p3 ⎼ ⎼ u 2 n3 ⎼ ⎼ u 2 u 3 ⎌⎼ p2

W podanym przykładzie uzyskuje się macierz Z o wymiarach 3k × 2k:

(2)

Macierz moĹźe być interpretowana jako zbiĂłr Z elementĂłw trĂłjek par: Z ={[(p1, t1), (p2, t2), (p3, t3)], [(p1, t1), (p2, t2), (p3, f3)], ‌, [(u1, f1), (u2, f2), (u3, t3)], [(u1, f1), (u2, f2), (u3, f3)]}. W zbiorze Z wszystkich moĹźliwych stanĂłw bezpieczeĹ„stwa i stanĂłw pracy moĹźna wybierać trĂłjkÄ™ par okreĹ›lajÄ…cÄ… aktualny stan pracy i bezpieczeĹ„stwa urzÄ…dzeĹ„, np. poşądany stan [(p1, t1), (p2, t2), (p3, f3)], wskazujÄ…cy stan pracy wĹ‚Ä…czonego urzÄ…dzeĹ„ D1 z bezpiecznym oprogramowaniem, wĹ‚Ä…czonego urzÄ…dzenia D2 z bezpiecznym oprogramowaniem i wyĹ‚Ä…czonego urzÄ…dzenia D3, z bezpiecznym oprogramowaniem. W rozwaĹźanym przykĹ‚adzie poşądanymi stanami ukĹ‚adu sÄ… tylko dwie trĂłjki: Z* = {[(p1, t1), (p2, t2), (p3, f3)], [(p1, f1), (p2, f2), (p3, t3)]} natomiast pozostaĹ‚e stany albo stanowiÄ… potencjalne zagroĹźenie bezpieczeĹ„stwa lub wskazujÄ… na niedopuszczalne dziaĹ‚anie urzÄ…dzeĹ„ i powinny być odpowiednio sygnalizowane lub blokowane. W rozwaĹźanym przykĹ‚adzie ze zbioru wszystkich stanĂłw Z moĹźna wyróşnić, oprĂłcz zbioru Z* takĹźe zbiĂłr Z** stanĂłw dopuszczalnych, w tym takĹźe stanowiÄ…cych potencjalne zagroĹźenie bezpieczeĹ„stwa, w ktĂłrych D1 i D2 sÄ… wĹ‚Ä…czone, D3 wyĹ‚Ä…-

Sk = {p1, n1, u1, p2, n2, u2, ‌, pk, nk, uk}.

70

⎥ p1 ⎢ ⎢ p1 ⎢ ⎢ p1 ⎢ ⎢ p1 ⎢ ⎢! =⎢ ⎢u ⎢ 1 ⎢ ⎢u1 ⎢ ⎢u1 ⎢ ⎢u1 ⎢ ⎣⎢u1

A

T

Y

K

A

•

R

O

B

O

T

Y

K

A

NR 1 / 20 20


;$ ! $ G

czone lub teş – jeśli D3 jest w stanie „włączone�, to D1 i D2 są wyłączone. Przy takim załoşeniu macierz odwzorowującą zbiór stanów Z** moşna przedstawić jako zmodyfikowane równanie (1) w postaci:

Z∗∗ = S33 Ă—3 â‹… W3 Ă— 2

⎥ p1 ⎢ ⎢ p1 ⎢ ⎢p ⎢ 1 ⎢p ⎢ 1 ⎢ ⎢! =⎢ ⎢u1 ⎢ ⎢u1 ⎢ ⎢u1 ⎢ ⎢u1 ⎢ ⎢⎣u1

p3 ⎤ ⎼ p2 n 3 ⎼ ⎼ p2 u 3 ⎼ ⎼ n 2 p3 ⎼ ⎼ ⎥t f ⎤ ⎼ 1 1⎼ ! !⎼ ⎢ ⎢ ⎼ ⎼ ⋅ t 2 f2 ⎼ n 2 n3 ⎼ ⎢ ⎢ ⎼ ⎼ ⎣ f3 t 3 ⎌ n2 u3 ⎼ ⎼ u 2 p3 ⎼ ⎼ u 2 n3 ⎼ ⎼ u 2 n3 ⎼⎌ p2

(3)

lub teş zastąpienie tych elementów macierzy Z, które reprezentują stany niedozwolone zerami: ⎥ 0 p1 ⋅ t1 + p2 ⋅ t 2 + p3 ⋅ f3 ⎢ ⎢ 0 p1 ⋅ t1 + p2 ⋅ t 2 + n3 ⋅ f3 Z=⎢ ⎢! ! ⎢ ⎢ 0 u ⋅t + u ⋅t + u ⋅ f 1 1 2 2 3 3 ⎣

! p1 â‹… f1 + p2 â‹… f2 + p3 â‹… t3 ! p1 â‹… f1 + p2 â‹… f2 + n3 â‹… t3 !

!

! u1 â‹… f1 + u 2 â‹… f2 + u 3 â‹… t3

rzeczywistym komunikatu o wykrytym zagroşeniu bezpieczeństwa systemu. W zaleşności od wiedzy a priori o układzie moşna rozwaşać dowolne scenariusze stanów pracy i bezpieczeństwa systemów i ustalać zbiory Z* i Z**. W szczególności moşna zakładać, şe do zbioru Z* mogą naleşeć tylko takie elementy, w których ocena stanu bezpieczeństwa jest ustalona jako prawidłowa lub teş takie elementy, dla których stany pracy przyjmują wyznaczone wartości. W identyfikacji stanu bezpieczeństwa i ustalania urządzeń IoT w systemie, dla którego są wyznaczane zbiory Z* i Z** moşna posłuşyć się rozmaitymi metodykami, np. opisaną w pkt. 2 metodyką diagramów Ishikawy czy teş wywodzącym się z tzw. dobrych praktyk frameworkiem CSA [12] posługującym się takşe trójpoziomową oceną bezpieczeństwa badanego systemu. Przegląd właściwości rozmaitych frameworków został przedstawiony w pracy [13]. Kontroler, analizujący stany pracy, musiałby dysponować odpowiednimi zasobami w celu zapamiętywania macierzy Z oraz Z* i wykonania operacji porównania stanów w czasie rzeczywistym w celu zezwolenia lub zablokowania przejścia do kolejnego stanu układu. Zaleşność (4) moşna uogólnić dla n stanów bezpieczeństwa i m stanów pracy urządzeń zapisując je w postaci:

0⎤ ⎼ 0⎼ ⎼ !⎼ ⎼ 0 ⎼⎌

(4) Macierz Z jest macierzą rzadką, co implikuje moşliwości stosowania metod numerycznych charakterystycznych dla tej grupy macierzy, ale – jak widać z powyşszego przykładu – nie jest macierzą symetryczną.

V1S1 _ #

L , + , Ogólnie, dla k urządzeń, charakteryzujących się typowymi trzema stanami bezpieczeństwa (w szczególności eksploatowanego na nich oprogramowania), z których kaşde moşe być włączone lub wyłączone, zapis przestrzeni wszystkich stanów pracy i bezpieczeństwa moşna przedstawić następująco:

(6) gdzie: sj,i – stan (poziom) bezpieczeństwa j dla urządzenia i, j = 1, 2, ‌, n; i = 1, 2, ‌, k wp,j – stan (poziom) pracy p dla urządzenia i, p = 1, 2, ‌, m; i = 1, 2, ‌, k. Moc zbioru Z zaleşy wykładniczo od liczby urządzeń k i wymaga znacznych zasobów pamięci, jednakşe dysponując informacjami o stanach poşądanych i o stanach dopuszczalnych moşna redukować problem budowy i zapisywania macierzy stanów bezpieczeństwa i pracy do określenia poşądanego zbioru Z* lub dopuszczalnego zbioru Z** i analizy przez kontroler, czy stany rzeczywiste lub stany, do których system opisywany macierzą Z ma przejść, występują w zbiorze Z* lub Z**. Rozwaşanie zbiorów Z* i Z** zamiast zbioru Z skutkuje takşe moşliwością korzystania z oprogramowania stosowanego do obliczeń macierzy rzadkich, co istotnie zmniejsza zapotrzebowanie na zasoby kontrolera.

V1V1

,

* (5) Zbiór stanów poşądanych Z* zawiera arbitralnie ustalone i wybrane stany, które z punktu widzenia bezpieczeństwa urządzeń i ich interakcji uznaje się za prawidłowe i bezpieczne. Analogicznie, moşna – takşe arbitralnie – ustalić zbiór Z**, zawierający stany, które z punktu widzenia bezpieczeństwa systemu są obarczone pewnym ryzykiem wymagającym powiadomienia uşytkownika, jednakşe mogą być uznane przez kontroler za dopuszczalne i skutkują jedynie przesyłaniem w czasie

Zasoby wymagane do zastosowana proponowanego modelu macierzowego Z mogą być udostępnione w chmurze. Za takim rozwiązaniem przemawia skalowalność rozwiązań chmurowych, jednakşe w warunkach konieczności podejmowania w czasie rzeczywistym decyzji o ocenie bezpieczeństwa stanu istniejącego i stanu, do którego ma przejść system, krytycznym parametrem staje się czas przesłania danych, wypracowania decyzji i przesłania jej do urządzeń. Czasy transmisji danych do chmury sięgają co najmniej setek milisekund i mogą być nieakceptowalne.

71


G !A . : !: : & ! & ] G

Rozwijana w ostatnich kilku latach koncepcja przetwarzania danych we mgle rozszerza model rozwiÄ…zaĹ„ chmurowych przez moĹźliwość wykonywania obliczeĹ„ rozproszonych, lokalnie, w róşnorodnych Ĺ›rodowiskach i wypracowywanie decyzji z mniejszymi opóźnieniami w porĂłwnaniu do tradycyjnego podejĹ›cia przetwarzania danych w chmurze. Propozycja obliczeĹ„ we mgle zaproponowana w dokumentach CISCO [14] zostaĹ‚a sformalizowana w dokumencie NIST SP 500-325 [15]. W pracy [17] wskazano, Ĺźe obliczenia we mgle mogÄ… być rozwaĹźane jako nowa warstwa miÄ™dzy warstwÄ… procesĂłw produkcji i warstwÄ… nadrzÄ™dnego sterowania procesami. Dobre praktyki ochrony automatyki przemysĹ‚owej dla infrastruktury krytycznej, np. opublikowane przez RzÄ…dowe Centrum BezpieczeĹ„stwa [18] wskazujÄ…, Ĺźe wymagane czasy reakcji sÄ… rzÄ™du milisekund. Zasadnicze znaczenie dla speĹ‚nienia tego wymagania ma czas opóźnienia pakietĂłw transmitowanych w sieci. Zagadnienia szacowania opóźnienia dla obliczeĹ„ we mgle zostaĹ‚y przedstawione w pracy [19]. PrzyjÄ™to typowo, Ĺźe sumaryczna wartość opóźnienia transmisji pakietĂłw wyraĹźa siÄ™ zaleĹźnoĹ›ciÄ…: Dend-to-end = N¡(dproc + dqueue + dseri + dprop)

blokadzie przejĹ›cia ukĹ‚adu do stanu przyszĹ‚ego. JeĹźeli decyzja podejmowana przez kontroler w chmurze zezwala na przejĹ›cie do przyszĹ‚ego stanu, to stan ten jest dopisywany do zbioru Z*, przy czym decyzja uĹźytkownika, ktĂłra co do zasady jest podejmowana po czasie dĹ‚uĹźszym niĹź czas podjÄ™cia decyzji przez kontroler w chmurze, ma najwyĹźszy priorytet. Za podziaĹ‚em zadaĹ„ kontrolera na warstwy mgĹ‚y i chmury przemawia takĹźe istotne poprawienie bezpieczeĹ„stwa systemu w sytuacji utraty Ĺ‚Ä…cznoĹ›ci z chmurÄ…, gdyĹź zadanie notyfikacji uĹźytkownika o potencjalnym zagroĹźeniu jest realizowane w warstwie mgĹ‚y, a zadanie podjÄ™cia decyzji przez kontroler w warstwie chmury jest realizowane po odzyskaniu Ĺ‚Ä…cznoĹ›ci. W sytuacji utraty Ĺ‚Ä…cznoĹ›ci z chmurÄ… kontroler w warstwie mgĹ‚y moĹźe zmieniać algorytm pracy w ten sposĂłb, Ĺźe jeĹ›li stan przyszĹ‚y jest elementem zbioru Z** – Z*, to nastÄ™puje wstrzymanie decyzji do odzyskania Ĺ‚Ä…cznoĹ›ci z chmurÄ… lub teĹź do podjÄ™cia przez uĹźytkownika decyzji o moĹźliwoĹ›ci przejĹ›cia ukĹ‚adu do stanu przyszĹ‚ego. Za umiejscowieniem kontrolera dla systemĂłw urzÄ…dzeĹ„ IoT w warstwie mgĹ‚y i rozproszeniu jego zadaĹ„ przemawia rĂłwnieĹź przesĹ‚anka moĹźliwoĹ›ci dekompozycji macierzy Z* i Z** dla takich systemĂłw, w ktĂłrych moĹźna wyróşnić podzbiory urzÄ…dzeĹ„, ktĂłrych stany pracy oddziaĹ‚ujÄ… na siebie w danym podzbiorze, lecz nie wpĹ‚ywajÄ… na stan pracy urzÄ…dzeĹ„ w innych podzbiorach.

(7)

gdzie: dproc – opóźnienie zwiÄ…zane z przetwarzaniem pakietu w węźle sieci, dqueue – opóźnienie zwiÄ…zane z kolejkowaniem, dseri – opóźnienie zwiÄ…zane z serializacjÄ…, dprop – opóźnienie zwiÄ…zane z propagacjÄ…, N – liczba segmentĂłw sieci, jakie pakiet przebywa w ekosystemie IoT.

X1 Zaproponowany macierzowy model pozwala na opisanie stanu bezpieczeństwa i stanu pracy systemów urządzeń IoT charakteryzujących się dowolną liczbą stanów bezpieczeństwa i stanów pracy. Określanie macierzy Z* stanów poşądanych oraz macierzy Z** stanów dopuszczalnych upraszcza zagadnienie przechowywania i przeszukiwania macierzy Z opisującej przestrzeń wszystkich hipotetycznie moşliwych stanów systemu. Identyfikacja jakościowa stanów bezpieczeństwa kaşdego urządzenia moşe być realizowana zaproponowaną metodą analizy uszczegółowionej i poszerzonej o zagroşenia środowiskowe listy OWASP TOP-10 dla urządzeń IoT przy zastosowaniu diagramu Ishikawy.

Wskazano, Ĺźe aktualnie wartoĹ›ci dproc oraz dseri sÄ… rzÄ™du mikrosekund na wÄ™zeĹ‚, dprop – okoĹ‚o 5 Îźs/km. Wartość opóźnienia dqueue moĹźe być optymalizowana dziÄ™ki stosowaniu lepszych polityk niĹź FIFO i zastosowaniu technik QoS. W konsekwencji, skoro dla obliczeĹ„ we mgle w porĂłwnaniu do obliczeĹ„ czasu opóźnienia dla transmisji chmurowych moĹźna zmniejszyć liczbÄ™ segmentĂłw do jednego, a czas propagacji ze wzglÄ™du na fizycznÄ… bliskość wÄ™zĹ‚Ăłw jest najmniejszy z moĹźliwych, czas odpowiedzi na şądanie elementu wykonawczego speĹ‚ni warunek opóźnienia rzÄ™du milisekund i jest akceptowalny. W przypadku gdy wÄ™zĹ‚y mgĹ‚y nie sÄ…siadujÄ… ze sobÄ…, do oszacowania opóźnienia moĹźna stosować przeanalizowane w [19] algorytmy NCS (ang. Network Coordinate System), takie jak GNP (ang. Global Network Positioning), NPS (ang. Network Positioning System), Vivaldi i Pharos, jednakĹźe ze wzglÄ™du na duşą zmienność poĹ‚oĹźenia wÄ™zĹ‚Ăłw poszukiwane sÄ… nowe algorytmy, ktĂłre umoĹźliwiÄ… precyzyjniejsze szacowanie opóźnieĹ„ w ekosystemach IoT. Dla uzyskiwania wynikĂłw dobrze przybliĹźajÄ…cych wartoĹ›ci rzeczywistego opóźnienia, obliczane w algorytmach NCS istotne sÄ… wÄ™zĹ‚y o staĹ‚ych lokalizacjach, np. serwery aplikacji, w tym aplikacji kontroli poprawnoĹ›ci stanu bezpieczeĹ„stwa i pracy urzÄ…dzeĹ„. Dla rozwaĹźanego modelu macierzowego zbiory Z* i Z** mogÄ… być umieszczane na kontrolerach w warstwie mgĹ‚y, w staĹ‚ych lokalizacjach, co pozwala na ocenÄ™ stanu bezpieczeĹ„stwa i pracy w czasie „jednego skokuâ€?, a zatem z wzglÄ™dnie staĹ‚ym opóźnieniem rzÄ™du pojedynczych milisekund. JeĹźeli stan rzeczywisty lub przyszĹ‚y jest elementem zbioru Z*, kontroler zezwala na pracÄ™ lub przejĹ›cie do przyszĹ‚ego stanu (np. nie podejmuje Ĺźadnej akcji). JeĹźeli przyszĹ‚y stan jest elementem zbioru Z** – Z*, do uĹźytkownika wysyĹ‚ane jest ostrzeĹźenie, przejĹ›cie jest wstrzymywane, a jednoczeĹ›nie do chmury wysyĹ‚ana jest informacja o przyszĹ‚ym stanie w celu wypracowania przez kontroler w chmurze decyzji o zezwoleniu lub

72

P

O

M

I

A

R

Y

•

A

U

T

O

M

& L 0

1. Gartner Says 4.9 Billion Connected “Thingsâ€? Will Be in Use in 2015. [www.gartner.com/en/newsroom/press-releases/2014-11-11-gartner-says-nearly-5-billion-connected-thingswill-be-in-use-in-2015]. 2. Kouicem D.E., Bouabdallah A., Kakhlef H., Internet of things security: A top-down survey, “Computer Networksâ€?, Vol. 141, 2018, 199–221, DOI: 10.1016/j.comnet.2018.03.012. 3. Quarta D., Pogliani M., Polino M., Maggi F., Zanchettin A.M., Zanero S., An Experimental Security Analysis of an Industrial Robot Controller, [www.ieee-security.org/TC/ SP2017/papers/20.pdf]. 4. Zu T., Sekar V., Seshan S., Agarwal Y., Xu Ch., Handling a trillion (unfixable) flaws on a billion devices: Rethinking network security for the Internet-of-Things. Proceedings of the 14th ACM Workshop on Hot Topics in Networks, November 2015 Article No. 5, DOI: 10.1145/2834050.2834095. 5. OWASP TOP10 Internet of Things 2018, [www.owasp.org/ index.php/OWASP_Internet_of_Things_Project]. 6. [www.owasp.org/images/1/1c/OWASP-IoT-Top-10-2018final.pdf]. 7. PaĹ‚Ä™ga M., KnapiĹ„ski M., Rydz D., Identyfikacja i ocena zagroĹźeĹ„ bezpieczeĹ„stwa informacji za pomocÄ… wybranych

A

T

Y

K

A

•

R

O

B

O

T

Y

K

A

NR 1 / 20 20


;$ ! $ G

instrumentĂłw zarzÄ…dzania jakoĹ›ciÄ…. MateriaĹ‚y z konferencji: Innowacje w ZarzÄ…dzaniu JakoĹ›ciÄ…, 2018, 283–295. 8. Dobrynin I., Radivilowa T., Maltseva N., Ageyev D., Use of Approaches to the Methodology of Factor Analysis of Information Risks for the Quantitative Assessment of Information Risks Based on the Formation of Cause-And-Effect Links, 2018 International Scientific-Practical Conference Problems of Infocommunications. Science and Technology, DOI: 10.1109/INFOCOMMST.2018.8632022. 9. Wawak S., ZarzÄ…dzanie jakoĹ›ciÄ…. Podstawy, systemy i narzÄ™dzia, Helion, Gliwice 2011. 10. Frustaci M., Pace P., Aloi G., Fortino G., Evaluating Critical Security Issues of the IoT World: Present and Future Challenges, “IEEE Internet of Things Journalâ€?, Vol. 5, No. 4, 2018, 2483–2495, DOI: 10.1109/JIOT.2017.2767291. 11. Khan S., Parkinson S., Qin Y., Fog computing security: a review of current applications and security solutions, “Journal of Cloud Computing, Advances, Systems and Applicationsâ€?, Vol. 6, No. 19, 2017, DOI: 10.1186/s13677-017-0090-3. 12. CSA Guide to the IoT Security Controls Framework, CSA IoT Controls Framework, https://cloudsecurityalliance. org/artifacts/guide-to-the-iot-security-controls-framework, 03.05.2019. 13. Ammar M., Russello G., Crispo B., Internet of Things: A survey on the security of IoT frameworks, “Journal of Information Security and Applicationsâ€?, Vol. 38, 2018, 8–27, DOI: 10.1016/j.jisa.2017.11.002. 14. Fog Computing and the Internet of Things: Extend the Cloud to Where the Things Are, 2015, [www.cisco.com/c/dam/ en_us/solutions/trends/iot/docs/computing-overview.pdf]. 15. https://csrc.nist.gov/publications/detail/sp/500-325/final, marzec 2018. 16. Gurunath R., Agarwal M., Nandi A., Samanta D., An Overview: Security Issue in IoT Network, Proceedings of the Second International Conference on I-SMAC (IoT in Social, Mobile, Analytics and Cloud) (I-SMAC 2018), IEEE Xplore Part Number:CFP18OZV-ART; ISBN:978-1-5386-1442-6, 104–107. 17. Matt C., Fog Computing – Complementing Cloud Computing to Facilitate Industry 4.0, “Business & Information Systems

Engineering�, Vol. 60, No. 4, 2018, 351–355, DOI: 10.1007/ s12599-018-0540-6. 18. Standardy i dobre praktyki ochrony infrastruktury krytycznej. Automatyka przemysłowa w sektorze elektroenergetycznym. Rządowe Centrum Bezpieczeństwa, 2019, https://rcb.gov. pl/wp-content/uploads/Standardy-i-dobre-praktyki-ochronyinfrastruktury-krytycznej-%E2%80%93-automatykaprzemys%C5%82owa-w-sektorze-elektroenergetycznym.pdf. 19. Li J., Zhang J., Jin J., Yang Y., Yuan D., Gao L., Latency Estimation for Fog-based Internet of Things, 27th International Telecommunication Networks and Applications Conference (ITNAC) 2017, DOI: 10.1109/ATNAC.2017.8215403.

-% I 6 7 " E " % 6 6 0 % 6 - 7 Q 2% 8 The paper presents selected issues of Internet of Things security. The classification of threats in the environment of cooperating IoT devices in the 5M + E model is presented. The TOP-10 OWASP classification for IoT was adopted as the basic one and was adapted to the needs of the analysis using the Ishikawa diagram. Threats were mapped to cause groups and the Ishikawa diagram was used to qualitatively assess the threats. A matrix security model of the ecosystem of devices operating in accordance with the IFTTT principle was proposed. A typical three-state model for assessing the safety status of each device was adopted and the usefulness of the matrix model for assessing the state of work and system security was justified. The possibilities of dividing tasks in the matrix model into fog computing and in the cloud were pointed out. KeywordsU - 6 7 ( $ $ E % $ - % (

73


G !A . : !: : & ! & ] G

( " ' % ORCID: 0000-0002-5253-7710 ;% T % ; . / > @ U 0 V > % 7 $ A / *++=R)!!G ; / $ / ( % % > A 6 > #% T V

( / " % #/ Y T / [ ( % ( I / > U A % I %A

74

P

O

M

I

A

R

Y

•

A

U

T

O

M

A

T

Y

K

A

•

R

O

B

O

T

Y

K

A

NR 1 / 20 20


Pomiary Automatyka Robotyka, ISSN 1427-9126, R. 24, Nr 1/2020, 75–82, DOI: 10.14313/PAR_235/75

K A % A A Zygmunt Lech Warsza Y < % ^ R @ - ; @ A @-;@$ ; \ )!)$ !)>&=B 0

Jacek Puchalski H A [% " $ K )$ !!>!!* 0

Streszczenie: OmĂłwiono zasady szacowania niepewnoĹ›ci punktĂłw funkcji opisujÄ…cej charakterystykÄ™ na podstawie wynikĂłw pomiarĂłw w dwu punktach kontrolnych. NiepewnoĹ›ci typu B o rozkĹ‚adzie rĂłwnomiernym szacuje siÄ™ na podstawie wartoĹ›ci dopuszczalnych maksymalnych bĹ‚Ä™dĂłw przyrzÄ…du przyjmujÄ…c współczynnik korelacji rĂłwny 1 dla pomiarĂłw tym samym przyrzÄ…dem oraz 0 dla róşnych przyrzÄ…dĂłw. NiepewnoĹ›ci typu A pomiarĂłw w punktach kontrolnych szacuje siÄ™ metodÄ… statystycznÄ…. Przy pomiarach tych przeprowadzonych synchronicznie estymuje siÄ™ teĹź współczynnik korelacji. NastÄ™pnie metodÄ… Monte Carlo estymuje siÄ™ niepewnoĹ›ci skĹ‚adowe, zĹ‚oĹźone i rozszerzone oraz korelacjÄ™ punktĂłw funkcji opisujÄ…cej badanÄ… charakterystykÄ™. ) U $ Y ; <$ A $ % "

1. Wprowadzenie W pomiarach laboratoryjnych i przemysĹ‚owych, w badaniu systemĂłw pomiarowych, ich czĹ‚onĂłw i elementĂłw oraz w kontroli aparatury, procesĂłw produkcji i wyrobĂłw rozróşniamy dwa rodzaje zagadnieĹ„: − wyznaczanie przebiegĂłw funkcji opisujÄ…cych badanÄ… charakterystykÄ™ i dokĹ‚adnoĹ›ci jej modelu wg okreĹ›lonego kryterium, np. najmniejszych kwadratĂłw, dla zbioru wynikĂłw obserwacji pomiarowych rozmieszczonych dowolnie, lub w sposĂłb okreĹ›lony, np. rĂłwnomiernie w badanym zakresie xmax – x0; − ustalenie, w ktĂłrych punktach i z jakÄ… dokĹ‚adnoĹ›ciÄ… naleĹźy kontrolować badanÄ… charakterystykÄ™, by stwierdzić czy nie przekroczono wymaganej niepewnoĹ›ci bezwzglÄ™dnej lub wzglÄ™dnej. Dotyczy to m.in. kalibracji przyrzÄ…dĂłw, czujnikĂłw, przetwornikĂłw i innych czĹ‚onĂłw systemĂłw pomiarowych, analizy wĹ‚aĹ›ciwoĹ›ci substancji pod wpĹ‚ywem zmian jej skĹ‚adu, kontroli wytwarzania elementĂłw i podzespoĹ‚Ăłw, monitorowania i diagnostyki urzÄ…dzaĹ„ oraz statystycznej kontroli jakoĹ›ci i sterowania ciÄ…gĹ‚ymi i dyskretnymi procesami produkcji masowej. W badaniach uĹźytkowych istnieje wiele ograniczeĹ„ dotyczÄ…cych gÄ™stoĹ›ci punktĂłw pomiarowych, czasu podejmowania i trwania

3 + U

( X 0 $ *+ B'( 3 % !& !) )!)! $ % % *! ! )!)!

!

eksperymentu, dostępności obiektu badań, próbek i zautomatyzowanej aparatury oraz kosztów wykonania pomiarów. Niezbędne staje się zminimlizowanie liczby pomiarów w punktach kontrolnych oraz wybór odpowiedniego ich rozmieszczenia, czasu i wielkości pozyskiwanych zbiorów danych. Zaleşy to od rodzaju badań i zakresu wartości badanych wielkości oraz od moşliwości uzyskania wymaganej w tych badaniach niepewności pomiarów i od dokładności uşytej aparatury pomiarowej. Występuje teş wymaganie dotyczące rozmieszczenia punktów kontrolnych zaleşne z innych przyczyn niş dokładność pomiarów, np. ograniczenie objętości, wymiarów, przepływów, mocy i energii, zuşycie uşytych substancji itp.

S1 . #

* W pomiarach występują błędy o przebiegu zdeterminowanym, zwane błędami systematycznymi i błędy przypadkowe. Błędy systematyczne o znanym przebiegu i wartościach eliminuje się za pomocą poprawek. Pozostałe, tj. nieznane błędy systematyczne i błędy przypadkowe podlegają ocenie dokładności wyników pomiaru, w której stosuje się obecnie zalecenia zawarte w międzynarodowym przewodniku GUM [1]. Podstawą tej oceny jest estymacja niepewności standardowej u, zwanej złoşoną, jako sumy geometrycznej dwu niepewności składowych u = uA2 + uB2 . Składnik uA, czyli niepewność typu A, wyznacza się w znany sposób z rozrzutu wartości określonej liczby powtarzanych pomiarów wielkości mierzonej. Składnik uB, czyli niepewność typu B, ujmuje zrandomizowany łączny wpływ przewidywanych oddziaływań na obiekt badany, system pomiarowy i na wskazania przyrządów

75


@ !: & _ & J < ! ! J < & : J ! < Pozostałe macierze we wzorze (1a) dla pomiarów pośrednich menzurandu 2D Y = [y1, y2]T i elementy diagonalne jego macierzy UY oraz współczynnik korelacji, są następujące:

w określonych dopuszczalnych warunkach i w znamionowym okresie eksploatacji, nieznanych co do wartości w danym eksperymencie [1, 2]. Oszacowanie to opiera się na wiedzy o przewidywanych zakresach i rozkładach prawdopodobieństwa tych oddziaływań. Szacuje się teş heurystycznie cząstkowe ich udziały w niepewności uB i łączną estymatę jej wartości wg określonego kryterium. Autorzy w kilku publikacjach [3–6] omówili szczegółowo proponowaną metodę estymacji niepewności punktów charakterystyki przetwornika pomiarowego lub badanego urządzenia na podstawie pomiarów kontrolnych w dwu lub więcej określonych, np. krańcowych punktach zakresu badanej charakterystyki. Taką kontrolę przetwornika moşna przeprowadzić in situ podczas pracy w rzeczywistych warunkach uşytkowania. Omówiono dwie metody estymacji wartości i niepewności dla dwu punktów funkcji opisującej tę charakterystykę. Metoda I – deterministyczna – słuşy do wyznaczania niepewności uB1, uB2 z wartości dopuszczalnego błędu maksymalnego podanego przez producenta lub otrzymanego w wyniku wiarygodnej kalibracji. Metodą II – statystyczną – z rozrzutu wartości x1, x2 powtarzanych pomiarów w obu punktach kontrolnych szacuje się niepewności składowe uA1, uA2. Z nich, dla dowolnych wartości xci badanej charakterystyki, których nie mierzy się bezpośrednio, znajduje się oszacowania odchyleń standardowych unc niepewności bezwzględnych i względnych di (uxi – ux0)/xi. Są one funkcją względnego połoşenia kc punktu xci w przedziale między punktami kontrolnymi. Moşna teş wyznaczyć zakres zmiennej x o zadanych granicznych wartościach niepewności oraz niepewności punktów yi wielkości zaleşnych od x wg funkcji opisującej charakterystykę y = f(x) przetwornika lub badanego urządzenia [3–6]. Rozwaşania uogólnia się przez normalizację niepewności unc, tj. odniesieniu ich do niepewności ux2 (rys. 1), do szerokości przedziału między punktami kontrolnymi x2 – x1, do zakresu pomiarowego xmax – x0 lub do wartości xmax. Do wyznaczenia relacji między niepewnościami w punkcie estymowanym oraz jednym z punktów kontrolnych, lub między dwoma punktami estymowanymi, autorzy zastosowali macierzowe prawo propagacji wariancji w pomiarach pośrednich wieloparametrowych [3–6]. Macierze kowariancji UX i UY wieloparametrowych menzurandów, tj. mierzonego bezpośrednio, czyli wejściowego X i wyznaczanego pośrednio menzurandu wyjściowego Y = F(X), powiązane są wynikającym z prawa propagacji wariancji ogólnym równaniem macierzowym (1a) o postaci rozwiniętej (1b) dla macierzy składowych typów A i B:

uy21 = uy21A + uy21B ,

Ď y1,2 =

uy22 = uy22A + uy22B ,

Ď Auy1Auy 2A + Ď Buy1Buy 2B uy21A + uy21B uy22A + uy22B

liniowych.

W praktyce naleĹźy korzystać ze wzoru (1b), tj. osobno szacować niepewnoĹ›ci typu A i B. Wynika to z przyjÄ™tej w przewodniku GUM definicji niepewnoĹ›ci uA i uB. PierwszÄ… z nich wyznacza siÄ™ dla rzeczywistych odchyleĹ„ losowych w krĂłtkim czasie zbierania wynikĂłw pomiarĂłw, a druga jest przyjmowana heurystycznie dla odchyleĹ„ przewidywanych w okresie waĹźnoĹ›ci kalibracji uĹźytych przyrzÄ…dĂłw. Skorelowane mogÄ… być tylko zbiory odchyleĹ„ menzurandu o niepewnoĹ›ciach jednego typu. Pomiary kontrolne wartoĹ›ci punktĂłw x1, x2 charakterystyki, np. do celĂłw monitoringu lub diagnostyki, powinno siÄ™ wykonywać wielokrotnie i synchronicznie w podobnych warunkach, tymi samymi lub podobnymi przyrzÄ…dami i na zakresach o jednakowej lub zbliĹźonej dokĹ‚adnoĹ›ci. UmoĹźliwia to wyznaczenie współczynnika korelacji rA(x1, x2) miÄ™dzy zbiorami odchyleĹ„ w obu punktach kontrolnych. Od wartoĹ›ci tego współczynnika zaleĹźy wartość niepewnoĹ›ci typu A estymowanej w punktach xci i korelacja miÄ™dzy wartoĹ›ciami xci dwu dowolnych punktĂłw charakterystyki. JeĹ›li te warunki nie sÄ… speĹ‚nione, to dla bezpieczeĹ„stwa naleĹźy zaĹ‚oĹźyć, Ĺźe ich niepewnoĹ›ci nie sÄ… skorelowane i przyjmuje siÄ™ współczynnik korelacji r1,2 = 0. Przy wyznaczaniu wartoĹ›ci niepewnoĹ›ci uB sĹ‚uşącej do oceny niepewnoĹ›ci zĹ‚oĹźonej u podczas dalszych badaĹ„ obiektu z uĹźyciem tego samego przyrzÄ…du, naleĹźy uwzglÄ™dnić jego niepewność typu B oraz współczynnik korelacji 1. MetodÄ… II – statystycznÄ… – z rozrzutĂłw wynikĂłw pomiarĂłw wartoĹ›ci punktĂłw kontrolnych szacuje siÄ™ ich estymatory i odchylenia jako niepewnoĹ›ci standardowe typu A o oznaczeniach u1A, u2A. JeĹ›li dla niepewnoĹ›ci skĹ‚adowych uA i uB przyjmie siÄ™ jako przybliĹźenie rozkĹ‚ady normalne, to wg przewodnika GUM niepewnoĹ›ci zĹ‚oĹźone i rozszerzone wyznacza siÄ™ metodÄ… klasycznÄ…. Dla prĂłbek z innych rozkĹ‚adĂłw i rozkĹ‚adu rĂłwnomiernego bĹ‚Ä™du stosuje siÄ™ metodÄ… Monte Carlo wg Suplementu 1 do przewodnika GUM [1].

Jako przykład podano ponişej macierz kowariancji Ux menzurandu dwuelementowego (2D) X = [x1, x2]T o współczynniku korelacji rx1,2 i jej macierze składowe typów A i B, tj.: UXA, UXB.

V1 *

#

*

UY = SUXST

(1a)

UY = UYA + UYB = SUXAST + SUXBST

(1b)

gdzie: S = ∂y j ∂x i

∂F – macierz czuĹ‚oĹ›ci (jakobian) o elementach ∂X

tak samo wyznaczanych dla funkcji liniowych, jak i nie-

V1^1 9 q 3 Niepewność typu A, wyznacza się z serii wielokrotnych pomiarów w danym punkcie pomiarowym. Zwykle przyjmuje się, şe rozkład odchyleń wielkości mierzonej ma rozkład gaussowski. Niepewność estymowana w punkcie znormalizowana względem końcowego punktu kontrolnego dla skorelowanych odchyleń (błędów) od estymatorów wartości mierzonych w dwu punktach kontrolnych ma, wg [5], następującą postać

(1c)

76

P

O

M

I

A

R

Y

•

A

U

T

O

M

A

T

Y

K

A

•

R

O

B

O

T

Y

K

A

NR 1 / 20 20


! : " < ; # <

()

unA k =

( )=

uA k uA 2

Îľ A2 (1 − k ) + k 2 + 2 Ď AÎľ A (1 − k ) k 2

()

()

()

()

()

2 2 uC2 k = uA2 k + uB2 k = unA k uA2 2 + unB k uB2 2

(2)

gdzie: uA(k), unA – niepewność typu A i jej wartość znormalizowana do uA2; uA1, uA2 – niepewności typu A w początkowym i końcowym punkcie kontrolnym; eA = uA1/uA2; rA – współczynnik korelacji między danymi pomiarowymi w punktach kontrolnych x1, x2; k – względna pozycja punktu xc w przedziale między punktami kontrolnymi 0 k 1 o estymowanej niepewności uA.

Po oznaczeniu stosunku niepewności typu A i B w punkcie końcowym przez r = uA2/uB2, otrzymuje się wzór dla niepewności uc znormalizowanej do jej wartości w punkcie końcowym:

(5)

V1S1 9 q & Niepewność typu B ma z załoşenia odmienny charakter statystyczny niş typu A. Wyznacza się ją heurystycznie na podstawie dopuszczalnego błędu maksymalnego uşytych przyrządów i wiedzy uzyskanej o warunkach pomiarów i ich oddziaływań przewidywanych w długim okresie uşytkowania przyrządu w danym eksperymencie pomiarowym, nie dłuşszym jednak niş waşność jego kalibracji. Przyjmuje się zwykle, şe rozkład statystyczny przewidywanych błędów opisanych niepewnością typu B ma rozkład prostokątny (jednostajny). Przykładowo dla typowego miernika uniwersalnego niepewność ta jest opisana liniową charakterystyką wyznaczoną przez dwa parametry: składnik addytywny i multiplikatywny. Jej znormalizowaną formułę moşna przedstawić w postaci:

()

unB k =

( )=

uB k uB 2

(

)

2

(

)

⎥ξ B 1 − k + k ⎤ = 1 − Îľ B k + Îľ B ⎣ ⎌

(4)

(3)

gdzie: uB(k) – interpolowana niepewność typu B, eB = uB1/uB2, uB1, uB2 – niepewności typu B w punktach pomiarowych. Formułę (3) otrzymuje się z (2) przy załoşeniu pełnej korelacji, tj. rB = 1. Przebiegi znormalizowanych niepewności standardowych typu A (metoda II) i typu B (Metoda I) podano na rys. 1.

V1V1 9 q Do wyznaczenia caĹ‚kowitej niepewnoĹ›ci stosuje siÄ™ ogĂłlnie przyjÄ™tÄ… zasadÄ™ splotu nieskorelowanych wielkoĹ›ci typu A i typu B. Dla punktu xc otrzymuje siÄ™ niepewność zĹ‚oĹźonÄ… geometrycznie jako:

lub po uproszczeniu:

(6) WariancjÄ™ jako kwadrat znormalizowanej niepewnoĹ›ci w funkcji r opisuje parabola o ramionach skierowanych w gĂłrÄ™, gdyĹź współczynnik przy skĹ‚adniku kwadratowym, niezaleĹźnie od współczynnika korelacji rA, jest nieujemny. Współczynnik rĂłwna siÄ™ zeru, gdy eB = 1 oraz r = 0 lub Ď A =

1 + Îľ A2 . 2Îľ A

Na rysunkach 2a–f podano znormalizowane charakterystyki niepewnoĹ›ci zĹ‚oĹźonej (5) dla róşnych parametrĂłw r, eA, eB, i rA. uB 2 1 u r oraz A 2 = stanowiÄ…ce = 2 uC 2 uC 2 1+r 1+ r2 udziaĹ‚y niepewnoĹ›ci odpowiednio typu B i typu A w estymowanej niepewnoĹ›ci zĹ‚oĹźonej. Dla krzywych na rysunkach 2a–f przyjÄ™to parametry r odpowiadajÄ…ce udziaĹ‚om niepewnoĹ›ci typu A i B w niepewnoĹ›ci caĹ‚kowitej, tj.: linia zielona r = 3,33, uA2/uC2 = 96%, uB2/uC2 = 29%; linia czerwona r = 1, uA2/uC2 = uB2/uC2 = 71%; linia niebieska r = 0,3, uA2/uC2 = 29%, uB2/uC2 = 96%. Z rysunkĂłw 2 wynika, Ĺźe wzrost udziaĹ‚u niepewnoĹ›ci typu A (linia zielona ) powoduje zwiÄ™kszenie caĹ‚kowitej niepewno-

SÄ… to wyraĹźenia

Rys. 1. Znormalizowane niepewnoĹ›ci bezwzglÄ™dne jako funkcje unc = f(k) wzglÄ™dnego poĹ‚oĹźenia k dla ilorazu niepewnoĹ›ci Îľ = 2/3; Îľ = 1 oraz współczynnika korelacji Ď 1,2 = 1; Ď 1,2 = 0 punktĂłw kontrolnych (metody: I i II) [7] Fig. 1. Normalized absolute uncertainty as a function of unc = f(k) of the relative position k for the quotient of uncertainties Îľ = 2/3; Îľ = 1 and a correlation coefficient Ď 1,2 = 1 and Ď 1,2 = 0 (methods: I and II) of control points data [7]

77


@ !: & _ & J < ! ! J < & : J ! <

a)

b)

c)

d)

e)

f)

Rys. 2. Znormalizowana standardowa niepewność złożona un w funkcji względnego położenia k punktu xc dla różnych wartości parametru r – udziału niepewności składowych typu A, B w niepewności un dla: εA = εB = 1 i a) ρA = 0; b) ρA = 0,5; dla εA = εB= 0,5 i c) ρA = 0; d) ρA = –0,5; oraz dla e) εA = 0,1; εB = 0,8; ρA = 0; i f) εA = 0,2; εB = 0,1; ρA = –1 Fig. 2. Normalized combined standard uncertainty un as a function of relative location parameter k of point xc for various values of parameter r – share of component uncertainties types A, B in uncertainty un for: εA = εB = 1 and a) ρA = 0; b) ρA = 0,5; for εA = εB= 0,5 and c) ρA = 0; d) ρA = –0,5; and e) εA = 0,1; εB = 0,8; ρA = 0; f) εA = 0,2; εB = 0,1; ρA = –1

ści w interpolowanym przedziale w porównaniu do sytuacji, gdy dominuje udział niepewności typu B. Tylko na wykresie (rys. 2f) dla współczynnika korelacji 1, w niedużym początkowym przedziale interpolacji, jest na odwrót, tj. dominacja niepewności B powoduje zwiększenie niepewności całkowitej. Przy współczynnikach korelacji między obserwacjami w punktach kontrolnych k = 0, k = 1 w przebiegach interpolowanej niepewności typu

78

P

O

M

I

A

R

Y

A

U

T

O

M

A występuje minimum. Natomiast przy braku korelacji przebieg zbliża się do liniowego. Trójwymiarową zależność niepewności znormalizowanej (6) w funkcji parametru położenia k i współczynnika korelacji rA dla wybranych parametrów eA = eB dla różnych wartości parametru r przedstawia rysunek 3. W przypadku pełnej korelacji dla odchyleń o niepewności typu A, tj. rA = 1, niezależnie od jej udziału r w niepewności A

T

Y

K

A

R

O

B

O

T

Y

K

A

NR 1 / 20 20


! : " < ; # <

Rys. 3. ZaleĹźnoĹ›ci znormalizowanej niepewnoĹ›ci un w funkcji 0 ≤ k ≤ 1 poĹ‚oĹźenia w kontrolowanym przedziale i dla peĹ‚nego zakresu współczynnikĂłw korelacji –1 ≤ Ď A ≤ 1 dla niepewnoĹ›ci typu A przy róşnych udziaĹ‚ach niepewnoĹ›ci skĹ‚adowych typu A i B w un , tj. r = 0,3; 1; 3,33 i wartoĹ›ciach stosunkĂłw niepewnoĹ›ci punktĂłw pomiarowych ÎľA = ÎľB = 0,5 Fig. 3. Relationships of normalized uncertainty un in function 0 ≤ k ≤ 1 of place in the estimated range and for a full range of correlation coefficients –1 ≤ Ď A ≤ 1 for type A uncertainty with different participation of A and B uncertainty components in un, i.e. r = 0.3; 1; 3.33, and parameter values ÎľA = ÎľB = 0.5

zĹ‚oĹźonej, zaleĹźność niepewnoĹ›ci w funkcji k ma charakter liniowy. W miarÄ™ zmniejszania siÄ™ współczynnika korelacji rA zaznaczajÄ… siÄ™ róşnice w stosunku do nadal liniowego charakteru przy dominacji niepewnoĹ›ci typu B (r = 0,3). Zmniejszenie niepewnoĹ›ci nastÄ™puje ze zwiÄ™kszeniem udziaĹ‚u niepewnoĹ›ci typu A dla r = 1; 3,33 (rys. 3) – powierzchnie niebieska i purpurowa, przy czym minima niepewnoĹ›ci sytuujÄ… siÄ™ dla wartoĹ›ci k mniejszych od 0,5 w pobliĹźu centrum przedziaĹ‚u interpolacji. Najmniejsze wartoĹ›ci uzyskuje siÄ™ dla rA = –1 i caĹ‚kowitej dominacji niepewnoĹ›ci typu A.

X1 ; MiarÄ… dokĹ‚adnoĹ›ci wg Przewodnika GUM jest niepewność rozszerzona wyznaczajÄ…ca przedziaĹ‚, w ktĂłrym moĹźe znaleźć siÄ™ estymator wartoĹ›ci mierzonej z okreĹ›lonym prawdopodobieĹ„stwem p. Do jej oszacowania niezbÄ™dna jest znajomość współczynnika rozszerzenia kp jako mnoĹźnika zĹ‚oĹźonej niepewnoĹ›ci standardowej. ZaleĹźy on od rodzaju rozkĹ‚adu i licznoĹ›ci prĂłbki i jest wyznaczany analitycznie dla rozkĹ‚adu Gaussa, Studenta i kilku innych, np. prostokÄ…tnego i trapezowego [2]. W pozostaĹ‚ych typach rozkĹ‚adĂłw, splotach i sumach rozkĹ‚adĂłw stosuje siÄ™ rozwiÄ…zania caĹ‚kowania numerycznego czy teĹź metody Monte Carlo bazujÄ…ce na generatorach prĂłb pseudolosowych. Dla przedziaĹ‚u interpolowanego znormalizowana niepewność rozszerzona wynosi: Un(k) = kp(k)¡un(k)

(7)

Metoda propagacji niepewności pozwala wyłącznie na oszacowanie niepewności standardowych dla rozkładów wielkości wyjściowych (w tym tekście omawia się funkcję liniową i tego typu błędy nie występują). Wskutek linearyzacji funkcji pomiaru dla większych niepewności wielkości mierzonych pojawiają się dodatkowe błędy wielkości wyjściowych. W tej metodzie jest wyznaczany numerycznie przedział rozszerzenia. Do interpolacji zmiennej losowej wewnątrz przedziału wykorzystano sumę waşoną dwóch zmiennych losowych: w punkcie początkowym i końcowym. Zmienne te stanowią sploty dwóch rozkładów:

Gaussa dla niepewnoĹ›ci typu A i jednostajnego dla niepewnoĹ›ci typu B. Rozszerzony obszar pokrycia, odchylenie standardowe oraz współczynnik rozszerzenia dla prawdopodobieĹ„stwa p = 95% rozkĹ‚adu wypadkowego wyznaczono metodÄ… Monte Carlo w Ĺ›rodowisku programistycznym MATLAB. WykreĹ›lono charakterystyki zaleĹźnoĹ›ci współczynnika rozszerzenia kp dla niepewnoĹ›ci rozszerzonej w funkcji parametru poĹ‚oĹźenia k w przedziale interpolowanym dla róşnych stosunkĂłw niepewnoĹ›ci eA, eB udziaĹ‚Ăłw niepewnoĹ›ci typu A/B zawartych w parametrze r i dla kilku współczynnikĂłw korelacji rA. PrzyjÄ™to uproszczenie zerowych wartoĹ›ci oczekiwanych zastosowanych rozkĹ‚adĂłw. KorelacjÄ™ dla rozkĹ‚adĂłw Gaussa otrzymano przez zastosowanie dwĂłch nieskorelowanych zmiennych losowych XA1 i X o rozkĹ‚adzie Gaussa i o zerowych wartoĹ›ciach oczekiwanych oraz odchyleniach standardowych odpowiednio eAuA2 oraz uA 2 1 − Ď A2

(

1 − Ď A Îľ A

)

2

.

(

)

2

Za pomocÄ… XA1 i X A 2 = Ď AX A1 Îľ A + 1 − Ď A Îľ A X opisane sÄ… zmienne losowe dla punktĂłw skrajnych przedziaĹ‚u interpolacji niepewnoĹ›ci typu A. Ich odchylenia standardowe wynoszÄ… odpowiednio eAuA2 i uA2. SÄ… one skorelowane ze współczynnikiem korelacji rA, a zmienna interpolowana dla typu A ma postać: XA = (1 – k)XA1 + kXA2

(8)

Zmienna losowa XB dla typu B jest sumÄ… dwĂłch caĹ‚kowicie skorelowanych zmiennych o róşnych odchyleniach standardowych, tj.: XB = (1 – k)XB1 + kXB2 (9) Ich wartoĹ›ci oczekiwane sÄ… rĂłwne zeru, a odchylenia standardowe wynoszÄ… eBuB2 oraz uB2. Wypadkowa zmienna losowa X w przedziale interpolacji wyraĹźa siÄ™ wzorem: X = XA + XB = (1 – k)(XA1 + XB1) + k(XA2 + XB2)

(10)

79


@ !: & _ & J < ! ! J < & : J ! <

Po normalizacji do niepewności końcowego punktu przedziału interpolacji otrzymuje się:

Xn =

(1 − k )( X

A1

)

(

+ X B1 + k X A 2 + X B 2 u

2 A2

+u

)

wia, że współczynnik rozszerzenia jest najmniejszy w środku przedziału i dla zerowej korelacji niepewności A, czyli dla rA = 0, znajduje się dla k = 0,45; kp = 1,69. Przemieszcza się on do środka dla rA = 0,5 i kp = 1,72, przy czym wartości jego rosną w kierunku końców przedziału do kp = 1,73–1,74. Dla rozkładu o dominacji niepewności typu A, tj. rozkładu Gaussa, otrzymano współczynnik równy około 1,96. Na rysunku 5 porównano korytarze niepewności dla liniowej charakterystyki przetwornika. Korytarz hiperboliczny wyznaczono metodą regresji dla jednakowej niepewności 10 punktów, a korytarz paraboliczny – wg metody dwupunktowej. Metoda ta służy głównie do estymacji niepewności typu A i jej zmian w warunkach pracy przetwornika. Natomiast charakterystykę znamionową tego przetwornika wyznacza się metodą wielopunktową w procesie kalibracji w warunkach laboratoryjnych.

(11)

2 B2

Współczynnik rozszerzenia kp dla wartości xc o położeniu k i p = 95% podano na rysunku 4. Współczynnik ten wyznacza się ze średniej arytmetycznej sumy wartości granicznych o pokryciu 2,5% i 97,5%, znormalizowanej do odchylenia standardowego rozkładu wypadkowego. Skorzystano ze standardowych funkcji prctile() i std() środowiska MATLAB. Z rysunku 4 wynika, że znormalizowana niepewność wypadkowa Xn osiąga minimum około k = 0,35 dla kp = 1,87, a na krańcach interpolowanego przedziału wzrasta do kp = 1,91. Dominacja niepewności typu B o rozkładzie prostokątnym, spra-

Rys. 4. Zależność współczynnika rozszerzenia kp estymowanej niepewności rozszerzonej w funkcji parametru k dla stopnia pokrycia 95% i różnych wartości r, εA , εB , ρA Fig. 4. Dependence of the expansion coefficient kp of the estimated expanded uncertainty as a function of the parameter k for a coverage degree of 95% and various values of r, εA , εB , ρA

Rys 5. Ilustracja charakterystyki liniowej wyznaczonej metodą regresji z hiperbolicznym korytarzem niepewności i metodą dwupunktową z korytarzem parabolicznym Fig. 5. Illustration of the linear characteristic determined by the regression method with a hyperbolic corridor of uncertainty and a two-point method with a parabolic corridor

80

P

O

M

I

A

R

Y

A

U

T

O

M

A

T

Y

K

A

R

O

B

O

T

Y

K

A

NR 1 / 20 20


! : " < ; # <

Y1

W pracy zaprezentowano metodÄ™ estymacji niepewnoĹ›ci zĹ‚oĹźonej i rozszerzonej dla punktĂłw funkcji opisujÄ…cej charakterystykÄ™ przetwornika pomiarowego lub badanego urzÄ…dzenia w rzeczywistych warunkach jego pracy. Metoda bazuje na pomiarach kontrolnych w dwĂłch punktach tej charakterystyki. Z wynikĂłw pomiarĂłw wyznacza siÄ™ niepewnoĹ›ci typu A. Natomiast niepewnoĹ›ci typu B szacowane sÄ… heurystycznie z danych technicznych stosowanej aparatury oraz jej warunkĂłw pracy i warunkĂłw badanego obiektu. Niepewność typu A estymuje siÄ™ dla wybranego punktu funkcji jako waĹźonÄ… sumÄ™ zmiennych losowych opisujÄ…cych wyniki obu pomiarĂłw kontrolnych, zaleĹźnÄ… od wzglÄ™dnego poĹ‚oĹźenia w przedziale interpolacyjnym. Niepewność typu B przyrzÄ…du lub przetwornika zaleĹźy liniowo od mierzonej wielkoĹ›ci i opisuje odchylenie standardowe spodziewanego zbioru odchyleĹ„ od jej estymaty w okresie waĹźnoĹ›ci kalibracji aparatury i w okreĹ›lonych warunkach pomiaru. JeĹ›li pomiary w obu kontrolowanych punktach wykonuje siÄ™ tÄ… samÄ… aparaturÄ…, to moĹźna traktować, Ĺźe wskazania sÄ… w peĹ‚ni skorelowane. W pracy wyznaczono znormalizowanÄ… niepewność zĹ‚oĹźonÄ… i rozszerzonÄ… mierzonego poĹ›rednio menzurandu wyjĹ›ciowego metodÄ… propagacji niepewnoĹ›ci skĹ‚adowych. Współczynnik rozszerzenia zĹ‚oĹźonej niepewnoĹ›ci pomiaru wyznaczono dla niepewnoĹ›ci typu A metodÄ… propagacji rozkĹ‚adu Gaussa, zaĹ› dla niepewnoĹ›ci typu B z propagacji rozkĹ‚adu jednostajnego. Zanalizowano zaleĹźnoĹ›ci współczynnika rozszerzenia od przyjÄ™tych parametrĂłw, w tym w funkcji poĹ‚oĹźenia analizowanego punktu w interpolowanym przedziale i w zaleĹźnoĹ›ci od udziaĹ‚Ăłw wariancji (kwadratĂłw niepewnoĹ›ci) typu A, B w niepewnoĹ›ci caĹ‚kowitej. W treĹ›ci pracy sformuĹ‚owano wnioski szczegółowe wynikajÄ…ce z analizy zaleĹźnoĹ›ci zaprezentowanych na wykresach. PrzedstawionÄ… metodÄ™ moĹźna wykorzystać m.in. do: − kontroli niepewnoĹ›ci aparatury in situ, pracujÄ…cej w róşnych rzeczywistych warunkach otoczenia, zarĂłwno w przemyĹ›le, jak i w innych dziedzinach,

− monitoringu i statystycznego sterowania jakoĹ›ciÄ… procesĂłw wytwĂłrczych i innych, − szybkiego wyrywkowego sprawdzania wiarygodnoĹ›ci stanowisk i systemĂłw pomiarowych stosowanych w badaniach naukowych i technicznych w przemyĹ›le, medycynie, badaniach Ĺ›rodowiska i w technice wojskowej.

& L 0 1. JCGM100:2008, Evaluation of measurement data -Guide to the expression of uncertainty in measurement; +JCGM101:2008 Supplement 1 – Propagation of distributions using a Monte Carlo method; JCGM102:2011 Supplement 2 – Extension to any number of output quantities. 2. Warsza Z.L., Metody rozszerzenia analizy niepewności pomiarów. Monografia PIAP 2016, ISBN 978-83-6127831–3. 3. Warsza Z.L., Puchalski J., Estymacja niepewności charakterystyki z pomiarów w punktach kontrolnych, „Pomiary Automatyka Robotyka�. R. 22, Nr 4, 2018, 39–50, DOI: 1014311/PAR_230/39. 4. Warsza Z.L., Puchalski J., Ocena niepewności charakterystyki z dwu pomiarów kontrolnych, „Przemysł Chemiczny�, T. 98, Nr 6, 2019, 967–974, DOI: 10.15199/62.2019.6.22. 5. Warsza Z.L., Puchalski J., Ocena niepewności punktów charakterystyki z dwu pomiarów kontrolnych, Zeszyty Naukowe Wydziału Elektrotechniki i Automatyki Politechniki Gdańskiej, Nr 66, 2019, 101–108, DOI: 10.32016/1.66.21. 6. Warsza Z.L., Puchalski J., Idzkowski A., Application of the vector method for estimating characteristic function based on measurements uncertainty at two control points. Proc. of AMSA V 18–20 Sept. 2019, Novosibirsk NSTU, 60–73, ISSN 2313-870X (amsa.conf.nstu.ru). 7. Warsza Z.L., Puchalski J., Estimation of the uncertainty in selected points of measured function from two control measurements. Extended abstract and presentation on MATHMET 2019, Lisbon, Portugal, 22. Nov. 2019.

K 6 KE % % 6 @ 6 6 7 " Abstract: The idea of estimation the

uncertainty of function points describing the characteristics on the basis of measurement results at two control points was discussed. The uncertainties type B are estimated as for data with uniform distribution based on the permissible maximum errors of instrument, assuming a correlation coefficient of 1 for the measurements by same instrument and 0 by different. The uncertainties type A are estimated by the statistical method as for data with normal distribution. For synchronous control measurements, a correlation coefficient is also estimated. On this basis, component, complex and extended uncertainties and correlation coefficient are estimated for other points of the function describing the examined characteristic of tested object, using the Monte Carlo method. KeywordsU $ ; % <$ f $ " %

81


@ !: & _ & J < ! ! J < & : J ! <

( ( 3 ! 7 9

( 9

*+ B'( ORCID: 0000-0002-3537-6134

'( ( ORCID: 0000-0002-5055-8550

;/ 0 % K ( @ 0 *+?+$ % > *+BG$ % % *+G! @ L - K *+?=R*+B *++&R*++?$ @ 0 *+B!R*+G!$ @ Z *+G!R*+G= O ( % 0 % 7 . % P$ # ( L # % ; > @ - " ( H % 0 % *+G=R*+=) % ; @ A - @ *+= R*++) Q % " K% J % *++)R*++?$ @ . % *+= R)!!) #/ ( A @ - > ; @ A @-;@ ; % &! / $ B ( 6 $ % / % $ ** A > ) % A @ @ ( 7 " ( ( @ @;. ; % " (

;/ 0 % 8 7 > " O*+=B P 0 % K > O*+== P @ 0 > 0 *+=GR*++? @ 0 $ *++? / % [ T *! / V > ( 6 % [ [ [ @ ( > 6 % " 8 A % > [% U 6 #% )!!B H A > % " % [ ( % > A A % % ( $ / ( A ( % >

82

P

O

M

I

A

R

Y

•

A

U

T

O

M

A

T

Y

K

A

•

R

O

B

O

T

Y

K

A

NR 1 / 20 20


Pomiary Automatyka Robotyka, ISSN 1427-9126, R. 24, Nr 1/2020, 83–87, DOI: 10.14313/PAR_235/83

@ A % / / ( ! 5 1 ) 9 1 - @ Z $ 0 % " < % " $ 7 [ @ U @ ( G$ )?> *& T

Streszczenie: W artykule przedstawiono trzy wybrane metody pozycjonowania robota mobilnego w terenie oraz ich weryfikację na torze testowym, zbudowanym na potrzeby zawodów European Rover Challenge 2019. Badania zrealizowano z uşyciem łazika marsjańskiego „IMPULS II� zbudowanego przez studentów Politechniki Świętokrzyskiej. Przeprowadzone badania pozwoliły na porównanie dokładności pozycjonowania robota mobilnego w terenie. Do analizy oraz wizualizacji badań posłuşyła aplikacja umoşliwiająca sterowanie oraz śledzenie pozycji robota. Dodatkowo zostały wykonane pomiary odległości łazika od zadanego punktu. Analiza mapy terenu oraz zastosowane algorytmy pozwalają na dojazd robotem do zadanego punktu. ) U / / $ H@ $ U $ ( $ $ (

1. Wprowadzenie Współczesny rozwĂłj robotyki jest duĹźym wyzwaniem dla konstruktorĂłw i naukowcĂłw ze wzglÄ™du na juĹź istniejÄ…ce technologie czy wymagania uĹźytkownikĂłw. MoĹźna spotkać wiele urzÄ…dzeĹ„, ktĂłre realizujÄ… Ĺ›ciĹ›le okreĹ›lone zadania, m.in. roboty spawalnicze, sprzÄ…tajÄ…ce, wojskowe. Obecnie konstruktorzy skupiajÄ… siÄ™ na rozwoju systemĂłw autonomicznych. DziÄ™ki nim robot bÄ™dzie mĂłgĹ‚ samodzielnie podejmować decyzje – na podstawie widoku z kamer oraz informacji pochodzÄ…cych z czujnikĂłw. Kierunek rozwoju systemĂłw nawigacyjnych dla robotĂłw mobilnych jest przedmiotem wielu publikacji [1–3]. Nowoczesne urzÄ…dzenie poruszajÄ…ce siÄ™ w trudnym terenie powinno mieć wbudowane systemy autonomicznego pozycjonowania, wykrywania elementĂłw, przeszkĂłd czy nawet podejmowania decyzji. Do takich zadaĹ„ zostaĹ‚ rĂłwnieĹź przygotowany Ĺ‚azik marsjaĹ„ski „IMPULS IIâ€?. W artykule zostaĹ‚y przedstawione metody pozwalajÄ…ce na pozycjonowanie robota mobilnego w trenie, sÄ… to: − wyznaczanie współrzÄ™dnych robota za pomocÄ… odbiornika GPS i cyfrowego kompasu, − nawigacja inercyjna na podstawie odometrii i czujnikĂłw bezwĹ‚adnoĹ›ciowych (Ĺźyroskop i akcelerometr), − rozwiniÄ™cie nawigacji inercyjnej z wykorzystaniem systemĂłw wizyjnych.

3 + U

T < $ / +B'( 3 % *) ** )!*+ $ % % !? *) )!*+

!

S1 ) L

„IMPULS IIâ€? Istnieje wiele rozwiÄ…zaĹ„ problemu okreĹ›lenia pozycji robota mobilnego w terenie [4]. Jednym z nich jest zastosowanie bezpoĹ›rednich odczytĂłw lokalizacji za pomocÄ… moduĹ‚u GPS, a uĹźycie odbiornika dziaĹ‚ajÄ…cego w trybie róşnicowym pozwala zminimalizować bĹ‚Ä™dy pozycji. Robot mobilny zostaĹ‚ wyposaĹźony w moduĹ‚ GPS pracujÄ…cy w trybie róşnicowym, charakteryzujÄ…cy siÄ™ parametrami przedstawionymi w Tabeli 1. Tabela 1. Parametry moduĹ‚u GPS Table 1. GPS module parameters

Dokładność pozycji poziomej

2,5 m

Dokładność połoşenia w pionie

5,0 m

Rozdzielczość pozycji

1 mm

Dokładność statyczna

0,3°

Dokładność dynamiczna

0,3°

Rozdzielczość kątowa

< 0,05°

Powtarzalność kątowa

< 0,1°

Podczas planowania trasy przejazdu robota wymagane jest określenie współrzędnych geograficznych poszczególnych punktów. Jeşeli ich wyznaczenie jest wykonane podczas przejazdu trasy przez robota, to błąd pozycji jest równy błędowi odczytów pozycji zastosowanego w nim lokalizatora GPS. Jeśli natomiast punkty zostały wyznaczone za pomocą innego urządzenia lokalizacyjnego, błędy odczytów pozycji sumują się, przez co dokładność pozycjonowania robota w trakcie ruchu po wyznaczonym torze maleje. Duşą niedogodnością metody z uşyciem

83


PorĂłwnanie metod pozycjonowania robota mobilnego w terenie

odbiornika GPS jest znaczne pogorszenie lub brak sygnału z satelitów nadawczych w zamkniętych pomieszczeniach, co skutkuje brakiem moşliwości wyznaczenia pozycji urządzenia. Kolejną metodą pozycjonowania robota w terenie jest system nawigacji inercyjnej oparty na algorytmach przyrostowych. W przypadku robota „IMPULS II� jest to fuzja odometrii polegającej na zliczaniu przez procesor pokonanego dystansu za pomocą sygnałów generowanych przez enkodery inkrementalne będące na wyposaşeniu zespołu napędowego robota oraz modułu nawigacji inercyjnej. Przeliczając zmiany połoşenia kątowego kół określone zostaje połoşenie, natomiast system inercyjny zwraca orientację robota w lokalnym układzie współrzędnych. Układ ten zostaje określony wraz ze startem ruchu robota. Rozwiązanie to nie wymaga sygnałów zewnętrznych określających połoşenie, lecz wykorzystuje czujniki umieszczone na robocie. Jednak w przypadku uślizgu kół algorytm ten dodaje przemieszczenie, które nie zostało zrealizowane przez robota. Metoda ta oparta na całkowaniu powoduje teş nieograniczoną kumulację błędów. Znaczny wpływ ma tutaj równieş błąd orientacji robota w układzie współrzędnych. Ostatnią prezentowaną metodą pozycjonowania robota mobilnego jest połączenie nawigacji przyrostowej z wykrywaniem za pomocą kamer, znaczników nawigacyjnych w postaci ARTag o znanym połoşeniu, kształcie i wielkości. Zastosowanie systemu wizyjnego pozwala na wprowadzenie poprawki do pozycji wyznaczonej za pomocą algorytmu nawigacji inercyjnej, znacząco zwiększając precyzję pozycjonowania robota w terenie. Do efektywnych obliczeń, wymaganych przy operacjach morfologicznych, zastosowano wydajną jednostkę obliczeniową NVIDIA Jetson TX.

dratowej, czarnej ramki i wewnętrznej macierzy binarnej, która określa jego identyfikator (id). Czarna ramka ułatwia detekcję znacznika ARTag, a binarna kodyfikacja pozwala na jego identyfikację oraz zastosowanie technik wykrywania i korekcji błędów. Detekcja znacznika polega na wykonaniu następujących operacji na pojedynczym zdjęciu z kamery cyfrowej. Algorytm obejmuje proces: – progowania adaptacyjnego, – przeprowadzenia operacji morfologicznych (dylatacji, otwarcia, domknięcia oraz erozji), – analizy otrzymanego obrazu binarnego. Rozpoznanie markera rozpoczyna się od wykrycia kwadratowych kształtów, które są zblişone do znacznika ARTag. Następnie obraz poddany jest progowaniu, segmentacji, operacjom morfologicznym oraz szukaniu konturów. Kontury wklęsłe lub odbiegające kształtem od kwadratu są odrzucane. Kolejnym etapem jest filtrowanie (usuwanie zbyt małych lub zbyt duşych konturów, usuwanie konturów zbyt blisko siebie itp.). Po detekcji kształtu kandydującego następuje sprawdzenie czy wykryty element jest znacznikiem typu ARTag. Realizacja następuje przez analizę wewnętrznej kodyfikacji markera. Ten krok rozpoczyna się od wyszukania bitów kaşdego znacznika. Jest to moşliwe dzięki zastosowaniu transformacji perspektywicznej, która pozwala uzyskać marker w jego kanonicznej formie. Następnie obraz kanoniczny jest progowany do oddzielania białych i czarnych bitów. Obraz jest podzielony na komórki zgodnie z wielkością znacznika, wielkością ramki oraz liczbą czarnych lub białych pikseli na kaşdej komórce, aby ustalić czy jest to bit biały, czy czarny. Na koniec bity są analizowane w celu ustalenia, czy obiekt pasuje do biblioteki zapisanych znaczników ARTag.

V1 ) -

#

X1 & #

L

System wizyjny robota „IMPULS II� składa się z głowicy zawierającej dwie kamery pracujące w rozdzielczości 1080 px oraz jednostki obliczeniowej NVIDIA Jetson TX. Na podstawie otrzymanego obrazu algorytm zwraca poprawki pozycji robota, a następnie za pomocą interfejsu komunikacji szeregowej przesyła je do jednostki głównej robota. Program realizujący wyznaczanie pozycji oraz wprowadzanie poprawek, został napisany w języku C++ z wykorzystaniem autorskich rozwiązań rozpoznawania obrazu wspomaganych bibliotekami OpenCV. Znacznik typu ARTag (rys. 1) jest złoşony z kwa-

Rys. 1. Przykładowy znacznik nawigacyjny umieszczony w punkcie o ściśle określonych współrzędnych znanych a priori Fig. 1. Example of landmark placed in known specific point

84

P

O

M

I

A

R

Teren, na którym zostały przeprowadzone badania, to tor przygotowany na potrzeby zawodów robotycznych European Rover Challenge 2019, mieszczący się na terenie Politechniki Świętokrzyskiej. Dostarczone od organizatorów dane pozwoliły na wyznaczenie mapy (rys. 2), na której zaznaczone zostały zarówno punkty docelowe (czerwone), jak i miejsca ustawienia znaczników ARTag (szare). Badanie polegało na wykonaniu serii przejazdów łazikiem „IMPULS II� po wyznaczonej trasie z wykorzystaniem wcze-

Rys. 2. Mapa terenu zawodĂłw ERC 2019 Fig. 2. ECR 2019 competition terrain map

Y

•

A

U

T

O

M

A

T

Y

K

A

•

R

O

B

O

T

Y

K

A

NR 1 / 20 20


8 : ! & 8 / < $ $ ;$ !

Rys. 3. Pomiar odległości robota od miejsca docelowego Fig. 3. Measuring the distance between the rover and the target point

Ĺ›niej opisanych systemĂłw pozycjonowania robota oraz na pomiarze odlegĹ‚oĹ›ci urzÄ…dzenia od podanych punktĂłw (rys. 3). Pomiary zostaĹ‚y wykonane taĹ›mÄ… mierniczÄ… z dokĹ‚adnoĹ›ciÄ… do 10 mm. Róşnice pozycji Ĺ‚azika od punku docelowego wyznaczano od Ĺ›rodka geometrycznego Ĺ‚azika, do Ĺ›rodka geometrycznego znacznika umieszczonego na torze. Otrzymane wyniki zostaĹ‚y zaprezentowanie w Tabeli 2. Rozrzut wynikĂłw, rozumiany jako róşnica miÄ™dzy maksymalnÄ… a minimalnÄ… otrzymanÄ… wartoĹ›ciÄ… pomiaru przedstawiono na rys. 4. PrzedziaĹ‚y, w jakich zawierajÄ… siÄ™ otrzymane wartoĹ›ci, przedstawia rys. 5.

Dla zebranych wyników został wyznaczony średni błąd kwadratowy – wzór (1) S =

∑ (x

i

−x

)

2

(1)

n

gdzie: – wartość średnia x dla całej serii pomiarowej, n – liczba pomiarów, xi – wartość i-tego pomiaru. Wartość średniego błędu kwadratowego dokładności dla opisanych metod pozycjonowania robota mobilnego przedstawia rys. 6.

Tabela 2. UĹ›rednione wyniki róşnicy poĹ‚oĹźenia robota od punktu docelowego [m] Table 2. Average distance between the rover and the target point [m]

Punkt 1

Punkt 2

Punkt 3

Ĺšrednia

Pozycjonowanie GPS

0,28

0,21

0,48

0,32

Nawigacja inercyjna

1,09

1,21

2,09

1,46

Nawigacja inercyjna + ARTag

0,36

0,53

0,47

0,46

Rys. 4. Rozrzut wynikĂłw pomiarĂłw Fig. 4. Standard deviation of measurments data

85


PorĂłwnanie metod pozycjonowania robota mobilnego w terenie

Rys. 5. Przedziały, w których mieszczą się dane pomiarowe dla poszczególnych punktów Fig. 5. Specific points measurement data in characteristic range

standardowe [m]

1,00

0,89

0,90 0,80 0,70 0,60

ATRAGS

0,50

GPS

0,40

IMU

0,30

0,30

0,20

0,20 0,10 0,00

Rys. 6. Średni błąd kwadratowy Fig. 6. Mean Squared Error

5. Wnioski

& L 0

Na podstawie analizy otrzymanych wynikĂłw moĹźna stwierdzić, Ĺźe najmniejszy bĹ‚Ä…d pozycji robota zostaĹ‚ uzyskany podczas przejazdu trasy z uĹźyciem odczytu z róşnicowego odbiornika GPS. Natomiast najwiÄ™kszy bĹ‚Ä…d zostaĹ‚ uzyskany przy wykorzystaniu nawigacji inercyjnej. Poprawki otrzymywane na podstawie znacznikĂłw ARTag znaczÄ…co redukujÄ… odchyĹ‚kÄ™ pomiaru pozycji robota, skutkiem czego wyniki sÄ… zbliĹźone do metody wykorzystujÄ…cej system GPS. Pozycjonowanie robota bazujÄ…ce jedynie na nawigacji inercyjnej wykazuje najwiÄ™kszy rozrzut otrzymanych wynikĂłw. Oznacza to, Ĺźe metoda ta jest najmniej powtarzalna. W przypadku tym bĹ‚Ä…d pozycji roĹ›nie wraz z kolejnymi punktami docelowymi, co jest spowodowane ciÄ…gĹ‚Ä… akumulacjÄ… bĹ‚Ä™dĂłw powodowanych przez uĹ›lizgi kół. Najmniejsza róşnica miÄ™dzy minimalnÄ… a maksymalnÄ… wartoĹ›ciÄ… bĹ‚Ä™du wystÄ™puje w przypadku nawigacji inercyjnej, rozszerzonej o poprawki otrzymywane z systemu wizyjnego. RozwiÄ…zanie to cechuje siÄ™ najwiÄ™kszÄ… powtarzalnoĹ›ciÄ… otrzymanych wynikĂłw.

1. SkrzypczyĹ„ski P., PostÄ™py autonomii robotĂłw mobilnych: percepcja i nawigacja. „Pomiary Automatyka Robotykaâ€?, R. 14, Nr 2, 2010, 73–92. 2. Trojnacki M., Szynkarczyk P., Tendencje rozwoju mobilnych robotĂłw lÄ…dowych (3). Autonomia robotĂłw mobilnych stan obecny i perspektywy rozwoju. „Pomiary Automatyka Robotykaâ€?, R. 12, Nr 9, 2008, 5–9. 3. Giergiel J., Giergiel M., MaĹ‚ka P., Metody nawigacji minirobotĂłw koĹ‚owych na przykĹ‚adzie minirobota koĹ‚owego m.r.k. „Pomiary Automatyka Kontrolaâ€?, R. 53, Nr 10, 2007, 50–54. 4. Borenstein J., Everett H.R., Feng L., Wehe D., Mobile robot positioning: Sensors and techniques. “Journal of Robotic Systemsâ€?, Vol. 14, No. 4, 1997, 231–249.

86

P

O

M

I

A

R

Y

•

A

U

T

O

M

A

T

Y

K

A

•

R

O

B

O

T

Y

K

A

NR 1 / 20 20


8 : ! & 8 / < $ $ ;$ !

6 " / . / @ ( " % #b>. % % Abstract: The article presents three selected methods of positioning the mobile robot in the off-road conditions and their verification on the test track built for the European Rover Challenge 2019 competition. The research was carried out using the Mars rover „IMPULS II� built by students of the Kielce University of Technology. The research allowed comparison of the mobile robot positioning accuracy in the off-road conditions. The analysis and visualization of research was done using an application that allows control and tracking of the robot’s position. Additionally, measurements of the rover’s distance from the given point were made. Terrain map analysis and applied algorithms allow robot to get to the given point. KeywordsU / / $ H@ $ " $ ( $ % $ (

( ! 5

( 1

( ) 9 1

( -

/ +B'( ORCID: 0000-0002-2584-3536

'( ORCID: 0000-0002-4669-5851

+?'( ORCID: 0000-0002-1377-1088

% % *++?'( ORCID: 0000-0003-1149-0538

Q V - % % / % [ A U 0 % % [ > / $ % $ A [ Y [ U ( Y 0 [ / > 0 % " < % " @ Z 0 [( A % > % % % A U J [( % / ( % L > . ( )!*+ ;$ K . ( )!*= K . ( )!*+ T

87


NR 3/2015

88

P

O

M

I

A

R

Y

A

U

T

O

M

A

T

Y

K

A

R

O

B

O

T

Y

K

A

NR 1 / 20 20


# : ! : ! ! G B VPKULhVKT * KP B V?KDKD

Informacje dla Autorรณw ! $ ! > 8 : : / B ;!. Kh : KDVp * & ! J ! ! & : ! < > .! : E ! $ & ] ! ! ! ! < < :& ! !: ! !: < !: ! !: ] ! ! $ & : J < A ] & ] ! ! ! : ! ` & & ! & ! : ! ! [ A`\* ! $J ! < ` . & & : < ! < & < : A !: & : !: & ] !: J . ! : & *

Wskazรณwki dla Autorรณw + *

L ! $! $ & L < !: Pomiary Automatyka Robotyka & ! & $ E `& ] ! ' : % > ! $ ! $ [ & ] ! QD J \ ` ! & : : > : ` ? J L: A [ ! & $ & ! \ > ! $ [ ` _ VCD>KDD $J \ ` ! & : : > $ [C>Q < $\ ` ! & : ` ! : : > `_E ! $ > ` ! & : [ * :\ > & & ! & ! : ` ! & : ` ! : > ! $! ` ! & ` ! : > ? A ? ` & ' : * & * * & * f _ : * pDD & : * VDDD & _ & : ] A _ *

! $ & : E ` _E J ] : D T ! & & E ` _ V ! [PD DDD J & : pDDD :K J \ * Q $ . * ; & !& ! $J & ] ! < ` ` _E ! & $ `_ * Nie drukujemy komunikatรณw! ! $ : ] !E $] A ! < J [ ` ! ! $ \ ` _ CDD>UCD J < ' A *

& ! J J ! ` ! ! ! : : ! <* # & ] ! & ] ] & E ! $ *

) 3: : +

~

L *

*~ #

! * ! & ] $ ] & _E _E ! $ * ! : $J $ ! < & ] & & & * J _E & ! ` : ] E $ ! & !: : ] !E & : ! & $ : ` x J $ * 7 3 #

: # ) : J ! ` * & J _ & * # !$ ] ! $ .! ]E : ! ] & < ! $ > J < A ` A * & & & & < ! < & J ! $ ' : ! & ! ` !: : * ; & !& . ! < & :J & :! ]*

Kwartalnik naukowotechniczny Pomiary Automatyka Robotyka jest indeksowany w bazach BAZTECH, Google Scholar oraz INDEX COPERNICUS O- ] )!*=L G $B+P$ V w bazie naukowych / V ;.-;J7; @ [ [ % realizacji idei Otwartej Nauki, % / / naukowo-technicznym Pomiary Automatyka Robotyka. @ "J 0 / naukowe w kwartalniku Pomiary Automatyka Robotyka wynosi obecnie )! O naukowych i recenzowanych A 6 % % % * )!*+ $ )G+!)P @ % naukowe โ automatyka, elektrotechnika i elektronika.

Qh


GBq^ / + @ " X ^ •;

7 +

0

*

+ * "

L

L < Pomiary Automatyka Robotyka . ] & ! ` / B ;!. ] ] ` : ! $ J !: ? J ! $J & & & & ! ` : ! $ _ ] % 1. 0 "

wymieniowego Autora L > : ! & !& J * b < < &c * & ! ! J & J J ! < $ & & !$ :! J : $ : * 2. 0 " "

L * #L~

#

jej powstanie > : % > & . ! ! : ] $ & & ! $! ` &J$ ! ! J !: ? ! ` ] & : & ! & & > & . ! `& & !& b < c * ! `& ! J ] ! $ & ! $ $ !: &J$ !: & ` < : & !& J $ $ & & ”

hD

P

O

M

I

A

: ! : & ! & ] : `& ] < ] !: . ] : & & < !: $ : ! ! ! !: *

3. 0 " # *

! L ,~ # *

+

L > & !& A & & ! L ! & : ! !: & ' : x J _ J & `. ! < * bA c > ' : ! ! !: : : & ' : & ` A *

. # # ! $ : !: & :! J . : $! ' : ] ! < ! < ' ! < ! & ' ! . ! < & < < > $ : ! : : . E E _ * & :! ? & ! < _ ! < ]. ! <*

_

przeniesienie praw + * #

L +

[&€ < ] & ! ` ! $ & `& & : ] ! < & < ! `* X: & & ! & & : ! $ * ; & !& ! ! < ! $ : ] *

Redakcja kwartalnika Pomiary Automatyka Robotyka '

.

# ! ! $J & ! < L < !: # : ! : ! ! & :! & ! < J & $ ] ` & : : ^G &*%

Mariusz Olszewski, Modern Industrial Robotics, „Pomiary Automatyka Robotyka�, ISSN 1427-9126, R. 24, Nr 1/2020, 5–20, DOI: 10.14313/PAR_235/5.

R

Y

•

A

U

T

O

M

A

T

Y

K

A

•

R

O

B

O

T

Y

K

A

NR 1 / 20 20


czasopisma

pomiary

sprawdzian

miara

POLSPAR

eksperyment

automatyka PIAP

! $!

seminarium

kalendarium

szkolenie

kwartalnik

federacja

nauka

publikacje

automatyka

stowarzyszenie

HORIZON 2020 ]. innowacje organizacja projekt konkurs

konferencje

relacja

POLSPAR

POLSA

publikacje

AutoCAD streszczenie

agencja kosmiczna

dr h.c.

innowacje

IFAC

ZPSA

& x

profesura

recenzje

relacja

szkolenie

doktorat

robotyka seminarium

sterowanie

[

esa

szkolenie


92

P

O

M

I

A

R

Y

A

U

T

O

M

A

T

Y

K

A

R

O

B

O

T

Y

K

A

NR

1/2020


;™ @BG

J ( % $ AV % @ 6 \ T ! * # ( @ ! # # # % 9 9 ! 9 ! # ! 9 ! 9 # ! #

#! # 9 B

% # ! # ! 9 9( ; '++C ( E ! ! " ! 2 ! ! "2 #* 2 ! ) % / % " 1 ! E ! ! # 2 ! ( 9 ! E 9 * * # (

( 9 %( ( Janusz Kacprzyk @;J$ ( F U T A ; % J K 8 $ 8 -KKK$ J ( % @ A -KKK - ( $ -KKK Q T J ( % @ A " % T 6 < % - 8 ; O-8 ;P @ @ ( 7 < % U # \ / 0 % K @ 0 O*+G!P @ % [ / *+GG - < % U @;J 7 V / *++! % A` 6 ( < 6 [ ;$ 0 $ 0 < $ " \ % &!! / $ =! 6 % 6

Foreign Member of the Royal Flemish Academy of Belgium for Science and the Arts # ' 8 & ! V ! KDKD * $ : 8 J q : : B * 8m [8 m : : Y — Y ; < && 8 \ & . ] : ] !& J * $ & / ! VUUK * & B & & : $ ] J VQVT * . ' : ! : ˜ : VhUV * # ] !$ ' ` ! : ` ! ˜ : !$ J ` ! : ! $ J ! <* # ! $ ! & ˜ : `$! !E ! $ X ! = : ` & $ jGj * 8 !: : 8m :!_ : ! & $ ! ! & J ! ! !& !* # ' 8 & ! ! !: & : $ : : *

hp


; @BG

hP

P

O

M

I

A

R

Y

A

U

T

O

M

A

T

Y

K

A

R

O

B

O

T

Y

K

A

NR 1 / 20 20


# : ! : ! ! G B VPKULhVKT * KP B V?KDKD

Academician of the International Academy of Systems and Cybernetics Sciences # ' 8 & ! VP KDKD * $ ! ! $ : [ : :\ ! $ ! : ! < ! ! * ! < : ! : ! < ! ! > ! Up : J $ _ * # ' 8 & ! !: J < & < $ J : * : & '* ; *

( ^YT[ & 3 9 ^ ] ` & '* 8 & ! $! & ! _ VCDL $ : B J !$ ` VK & x KDVh * # ' !: $ & : ] ! : *

:!š

hC


KALENDARIUM

Kalendarium wybranych imprez Nazwa konferencji

Data konferencji : $

/

Informacje dodatkowe

Conference on European Control Conference ECC 2020

12–15 / 05 / 2020 10 / 10 / 2019

#

www: < & %?? KD* mail: ' W KD*

XX Krajowa Konferencja Automatyki KKA 2020

22–24 / 06 / 2020 20 / 01 / 2020

FJ x #

www: < & %?? * *&* *& mail: W ' *&* *&

14th International Conference : + ž Computing CONTROLO 2020

01–03 / 07 / 2020 01 / 02 / 2020

Bragança Portugalia

www: < & %?? KDKD* & *& mail: KDKDW & *&

21 Gq + ; +

12–17 / 07 / 2020 31 / 10 / 2019

Berlin Niemcy

25th International Conference / < / : MMAR 2020

24–27 / 08 /2020 02 / 03 / 2020

/ ` ! #

24th G !:& : on Mathematical Theory of B ! : MTNS 2020

24–28 / 08 / 2020 12 / 01 / 2020

+ : Wielka Brytania

www: < & %??: KDKD* * :* * ?

VT* 8 8 '

! KKR 2020

02–06 / 09 / 2020 02 / 03 /2020

8 8$ #

www: < & %?? *& * *& mail: W& * *&

CK* / ` ! 8 ' / J MKM 2020

07–09 / 09 / 2020

# #

22nd # @ && EPE 2020 ECCE

07–11 / 09 / 2020 19 / 12 / 2019

Lyon Francja

17th Gq + !:& : G ' : + # : in Manufacturing INCOM 2021

07–09 / 06 / 2021

& ;` !

www: < & %?? :KDKV*

pD*DQ>Dp*Dh ? KDKV

Jokohama Japonia

www: < &%?? * : KDKV* mail: : KDKVW * * * &

jjGGG ; + ' < G / : Confederation IMEKO 2021

96

P

O

M

I

A

R

Y

•

A

U

T

O

M

A

T

Y

www: < &%?? * ' KDKD*

www: < &%??:: * *& ? mail: :: W:: * *&

www: < & %??: :KDKD*& mail: : * ! !W: :KDKD*&

www: < &%?? * & KDKD* :? mail: ' W & KDKD* :

K

A

•

R

O

B

O

T

Y

K

A

NR 1 / 20 20


8^Bq@ @B+ @ v #^;G@ ÂĄ

III Konferencja GĂłrnictwa Kosmicznego $ ! BF # # # % #E ! #* # 0 E 9 E ! E E 0 # ( G ! # # # # # # ! # ( #* 'H ! # '+'+ (

; A : ! : ] ! < ` J L : !: ] ` ] : ! ] & ! ] & ! L & ! < & J ] ! < L & ] $J. & : <* + ` kosmos jako obszar niezagospodarowany & :! $ ] ] & $ * 8 & : J ! < & ] : ] & ! ` $ _ : – przez projekty badawcze i konstrukcyjne, & ! ] & ` < & L ` `E* ` ] E $` &` ] $` J .! : $ : < * & _ ] & & ] ! < & ! ]L ! < !_ < ] ! < J : : !:* q :! ! J : ] ` J : !: & ] :& : . _ ! : . L ] J & _ ] & : ` ! ! < L J & ! ! < ` ! < wsparcia naukowego, technicznego czy : * ^ ! _ ogromnym wyzwaniem – ekstremalne : : ] & ! < ! :J & L wiednich procedur oraz przygotowania kadry & J & ! ! < & ! w warunkach skrajnie nieprzyjaznych $ * # ' !$ ` KP : KDVQ * & & : # =g & '* < * ! ;! $ G .! / < ! & '* * < * .* 8 ;! $ = = A ! ^ < ! & '* * < * .* / ! ] # J

8 : + : 8 : ! < # : B [ &

< + # \ #^" > # 8 : ;! G .! / < ! & ! : =J Lg 8 *

; : $! < ' ` podzielona na trzy sekcje tematyczne:

( * Wyzwania technologiczne, konstrukcyjne : $ J : & ] : ! ! ! !: transportu i eksploracji kosmosu.

) 5# =J L & ! & ! J J & : [& & *\ . & ! < : ! ! !A : $J : . ! < ! J & J * : ! ] !: : ! J ! < & : ] : : & & ! ! < : $J *

) ~ & :J : ! < & J ! ! J : ! : J : ] ! < & ! < : ` ! ! < ! ] ! < & ! & J & : ] . &$! $ : $! ! : E ] & `*

J$ ' : < &%?? * * <* *& ? L ?*

97


8^Bq@ @B+ @ v #^;G@ ¡

@ V % / @ / % E #E #E ! ! # 9 9 * E * % #E * %* ! % F E ( 3 9 B # E % EF # ! * 9 9 % 9 @ / % 7

@! %* E * (

# `_E J J ! < . ! ! ! & < < ` ` < VC>Vh 8] $ # * > ^ ! : < @ & " ! J . # . !: & : < : & @ &!* ;! & : & J J & . ! $ _ <` ] @ " ! -

hQ

P

O

M

I

A

R

& _ @ + & ¢

> :J F ; ! & @ & q 8 : $J J * > . ` J < @ " & q !E & ' :` & & :! $ . & E & < < ! < & * B # 8] : ] ` ! & ] J ! < $J !: Y

•

A

U

T

O

M

A

T

Y

K

A

•

R

^ 0 U K8T O P \ J; ; O P

: & & ! < ! < . < !& '! * > ;! : ] !: & .! : ` & & $ ! : : & ! $ % & & . O

B

O

T

Y

K

A

NR 1 / 20 20


# : ! : ! ! G B VPKULhVKT * Kp B V?KDVh

! ! & _ . &! > :J 8 ! ' ; # < # J &J$ !* > ! J ! < : !:! & J @ " ] & ! $ _E * . $ : ] & E &! $!: _ ! < :! : E J $ J ! < < * !: : J ] !: & ` ! < < : !E `& =# & _ & ] & ! > ! ` ] *

^& J ! # @: ! @ & " : . ` + : J & ] ` & ! : ! : ] .! !: ` # ' : ] ] : ! ! & & ' J > A :! ! * 8 . < ! ` !: ! `_ & ! ] ! ; ! ;$ < # B : <* ^ : & `_ ! ]% @ & q 8 : # < # # + :

& :& L # & < ! ! : ` / B ;!. / $ ; J ; & * ` : ` ! ! < J @ &

" & A : + @+% Y + ' & < *

Q T 6 0 % K.0 @ ˜ 6 ˜] # % . /

hh


8^Bq@ @B+ @ v #^;G@ ยก

?) " % T 6 " (A 9 C N B '+'+ ( %* * # *F E ) * # ) (

/ ` ! 8 ' / J ! ] ' ] ! ] & _ & < * # ' & ] B 8 / @ ! @ !$ ` $ _ VhTT * ! !$ & : ! : * ;J $ ` & :! $ ! < & : J > / ` ! ! < B / J > & _ ` ! < & ! : & : & :$ ! < J . $ .] ! < ! : : ! ! ! * # /B/ & & '* @ : : VhTU * = < > & & '* VhTQ * 8 & $ $ ` ' : $ /B/ : & & ! < :$ ! < ! < & ! !: : ! < & J ! < > J J ! < $ ! ! < & ! & ! ! E ` :$ ! < J * = & -

Komitet Organizacyjny MKM 2020 # ] ! 8 : B < * .* $ : = !_ & '* #+ ; & ] ! 8 : B < * .* / ] & '* #^ # ] ! 8 : ^ ! < * .* ! & '* #

Konferencja organizowana jest 8 ^ $ =$J ! @ ! J # < [& < !\ 8 : / # B ^ $ 8 =$J X ` / *

1 ( > 4 / * ? + 9 @ ) # * 7 ) % 7 8 ' ` ` ! < ` < & & ` & $ . g ^ # < *

P

O

M

I

A

R

; ` ! < ' : ' :! < & %??: :KDKD*&

0 ! 2 7 7 " + 8 > : & : ! $ . ! : > $ _ & : > ! :! & : : & ! < & : ! < > & & : : ! & ! $J > & : ! _ : < ! < > & : ! _ ! ! < > & : ! _ : ! ! < > & : ! _ < : ! < > & : ! & < & :! $ ! < > .! : $ > & : ! & ! ' > & : ! : ! ! > & : ! ! > : > ! ! : *

9 ;<7 (1( <=<=

VDD

J : ! < !$ * 8 J J ! & . :& ! ! $ * # & CD ! < ' < ! < & _ $ # `$! $ ! ] J : ] ! < ` : ]* J . CK* ' ` ] & & J ! < _ ! < : ] ! < ` : ] # . & & :! $ ! : ] ! < ` & : : * ^ ! $ ] ! $ & : & . J & :! $ $ J ! @ ! J # < & &J ย < ] : & ! $ _ ]*

Y

โ ข

A

U

T

O

M

A

T

Y

K

A

โ ข

R

O

B

O

T

Y

K

A

NR 1 / 20 20



49

' $ ^.J / =$`

Use of Wind Tunnel Measurements Data in Cold Launched Missile Flight Simulations

61

! = f

67

;$ ! $ G

75

! : " < ; # <

83

Koncepcja automatycznie sterowanego manewru omijania przeszkody + " #L

! ,

/L , + , 4

#

* # *

# * 8 : ! & 8 / < $ $ ;$ !

# L L


Turn static files into dynamic content formats.

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