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/2021 ISSN 1427-9126 Indeks 339512
Cena 25,00 zł w tym 8% VAT
Technical Sciences Quarterly | - $ #
W numerze:
3
Od Redakcji
5
13
! " ! " #
19
# $%&! $ #
27
' ( )* +, % # # & # ' ( )
35
* Informacje dla Autorów – 73 | Rozwój robotyki w Polsce – 77
Rada Naukowa Rok 25 (2021) Nr 1(239) ISSN 1427-9126, Indeks 339512
Redaktor naczelny 8 :; < ) #
. =; ! ) #
. /
01 2 - ! H & # & # # # %K # 01 ! W X : Y Z > [ 01 * 3 G A # # G : & # # \ # 01 4" 51 6 0 ( W X : H Z > [
=; & ) # 8 :; ' > ? & # 8 :; ! : # =; ! ) # ? # & @ 8 :; # # ? & 8 :; < ) # ? #
7 &" " W X : & Z( & [
Korekta
01 9 -1 8 " ( W ] ! X ZW# [
=; > #
) / A # #
Druk # B C # 8; ; ; ( # DEE ;
Wydawca
01 ) / 8 F % # ? & G H & # & K GH '
01 & 1 8 8 # W ) &; ; '; # 01 21 * G : Z [ 01 2 ] W X Z > [ 01 - / ( # H# & # F ! &8 ' 5 1 W X : Z > [
F % # ? & G H & # J & K GH H ; & # LEL ELMOPQ '
Kontakt
01 2 : ' \ # # 01 ! -1 : " " G : < # ZC > [
C # > # # # M & H & # C # H ; & # LEL ELMOPQ '
; LL PTO EU OQ # V8 ;8 ;8 ;8
01 ) ^]X X _ ( W X ZW# [
Pomiary Automatyka Robotyka > 8 & & # M & & # UaaT ; UP # b > # & b #; H# # # # 8 >\ # J 8 # 8 8 # M # # & > & # # & ;
01 2 ) < W X Z! [
! # # M & H & # C # > # J H A<$ G(cAf <` AC(G<W ZG<g LEUa* TO LD[ J #= J # = 8 # 8 & # HCGH( H; \ >\ b > ` > ( # b8 & 8 # # # 8 # J# # # M & & H & # C # ; ' >\ 8 \ Z : > \[ > > 8 8 ; # > ( ' 8 # > # # # & H & # C # LE 8# ; Z # 8 & # & K # : > & b hU 8 LEUa ; 8 ; LTaEL[; 8 8 # M & # # # # # ;
! # > & & # & K H & # J C # `] HC ? > 8 \ > iF # M \ & & # # 8 & K 8 >\ > #b & b > GjH< GjC G A!`;
01 4 $ ' G = \ ' = # A# \ '
01 $ ) < W X Z' # [ 01 ' ) ' G = # > ] # # `8 # ! ) H ? G : H88 & & & $ Z( & [ 01 4 ; < ' # \ # 01 =" X # H & : Z > [ 01 8 0 * < G G : & # H & # C # # ' # 01 ' '/ C G W X ZH [
' # # & H & # C # ? B J & & aET@ McW(@LEUa i #K ( # # ' = 8 iF 8 >\ \ #b;
01 4 *1 5 ^! X _ ( W X ZW# [
& H & # C # G ( UOLTMaULQ C; LD ( U@LELU
3
Od Redakcji
5
Jerzy Graffstein w otoczeniu samolotu The Avoiding Manoeuvre Against Aggregated Group of Obstacles Moving Around the Airplane
13
! A prototype of an advanced ship autopilot implemented in the CPDev environment
19
! " # " #$% Traffic Monitoring Using Cloud Computing and FID Technology
27
$ # & ' () *+ dla systemów sterowania : & : A G & < : < & W hL H
35
% # # & # ' ( ) H & 88 g
41
< # " , : ' g H
49
H # ! M' # # g # ( " ' " , : < ] # < &8 : C 8 ] H: H : ( 8
53
i ) # " - c : : C : c < C &
1
G CA <G
L
61
c & # # # # ( % . ! ( / %. #0 %( 1 0 G & ( > ' \ # >* G(<CAcG <` A
67
H # H & # " , "
c : ' c : C W c 8 ( ( #
73
G : & > H K
77
C 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 21
`c CAcH!< G
Drodzy Czytelnicy, ' i # ) i& B & 8 ( # # ' = 8 > # ^' 8 8 & # _; c >
8 > # b i & iF 8 \ > ; W b8 & ) & # # \ b \ &; ; 8 K 8 > & # > # K \ # > & b > 8 ; ' = i& & 8 > # iF >b # \ # K 8 8 iF & \ # # ; C = ) ? 8 > & # K b# > ); 8 & # & # ; '# K 8 >& & b 8 # <` W ' : ; b & 8 b # & & >\ & K> # ; 8 8 # # K 8 > K # & 8 \ & # & # & # # b & & b > : # >; `8 i # # # : > 8 8 i #K # & # ; ' & ' ? > % # ? & G H & # & K GH ' ? \ 8 & # b > numeru.
Redaktor naczelny kwartalnika Pomiary Automatyka Robotyka 8 :; ; =; < ) #
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 21
Pomiary Automatyka Robotyka, ISSN 1427-9126, R. 25, Nr 1/2021, 5–12, DOI: 10.14313/PAR_239/5
/ & & & 0) 4
6 & 8 % ; < ) = > ? @ % A 8 --!B--E% !*F*GH I
Sukces uniknięcia kolizji z ruchomymi przeszkodami zależy od rozwiązania najistotniejszych problemów takich jak: szybkie wykrycie przeszkód, sprawdzenie czy stanowią zagrożenie oraz podjęcie właściwej decyzji o sposobie ich ominięcia. Do podjęcia tej decyzji niezbędna jest właściwa identyfikacja rodzaju zagrożenia, w tym między innymi czy wykryte przeszkody należy potraktować jako jedną zagregowaną grupę. Do typowych przypadków zalicza się agregację ruchomych przeszkód poruszających się blisko siebie. Opisano sytuacje, gdy dołączeniu do grupy podlegają obiekty przemieszczające się w większej odległości od siebie. Zaprezentowano algorytm podejmowania decyzji przypisania (zagregowania) ruchomych przeszkód do danej grupy. Przedstawiono sposób wyliczania jej charakterystycznych parametrów. Omawiane zagadnienia zostały zilustrowane wynikami symulacji manewrów omijania zagregowanej grupy ruchomych przeszkód dla wybranych scenariuszy. )/ H % % %
1. Wprowadzenie Istnieje wiele różnych szczególnie niebezpiecznych scenariuszy zagrożenia wystąpienia kolizji z ruchomymi przeszkodami, wśród których należy wymienić m.in.: brak możliwości przewidzenia ruchu przeszkód, zbyt późne wykrycie potencjalnego zagrożenia związane między innymi i ograniczonymi możliwościami technicznymi detektorów przeszkód [1] oraz występowanie przeszkód przemieszczających się blisko siebie w grupie. Ten ostatni przypadek zagrożenia bezpieczeństwa lotu samolotu będzie rozważany w obecnej pracy. Jednym z problemów, jakie występują w takiej sytuacji, jest często brak możliwości wyznaczenia trajektorii manewru omijania przechodzącej między wspomnianymi przeszkodami. Dotyczy to szczególnie sytuacji, gdy przeszkody przemieszczają się blisko siebie. W związku z tym takie przeszkody należy potraktować jako jedną grupę stanowiącą przeszkodę zastępczą, która będzie charakteryzowała się parametrami analogicznymi jak pojedyncza przeszkoda. W dalszej części pracy zostanie opisana propozycja sposobu podejmowania decyzji o włączeniu przeszkody do wybranej grupy. Zostanie podany algorytm i zależności służące do wyliczenia charakterystycznych parametrów zagregowanej grupy. Wśród nich występuje m.in. promień zastępczej przeszkody, który
- H " # $$ % & ' ( ) - / ) *+ -- *!*! % ) ) *. !- *!*!
!
w wielu wypadkach może stanowić poważny problem w czasie wykonywania manewru omijania wspomnianej grupy. Przyczyną napotykanych trudności jest zmienna wartość tego promienia w funkcji czasu spowodowana różnicami między prędkościami przemieszczania się poszczególnych przeszkód tworzących grupę. W dalszej części pracy będzie zasygnalizowana sytuacja, w której przeszkoda poruszająca się w większej odległości od pozostałych (od całej zagregowanej grupy) może stwarzać dodatkowe zagrożenie podczas manewru antykolizyjnego. Z tego powodu, jeśli rozpatrywana przeszkoda spełnia dodatkowe, podane dalej wymagania, zostaje zagregowana z innymi przeszkodami.
,1 / I # 0 J W powszechnie spotykanych warunkach, jakie występują podczas lotów samolotów pasażerskich, mogą powstawać zagrożenia kolizji rozwiązywane na drodze decyzji pilotów i poleceń uzyskanych od obsługi naziemnej kontroli ruchu lotniczego [5, 8, 11]. Biorąc pod uwagę sytuacje, w których nie ma na pokładzie samolotu pilota i nie jest możliwa łączność z naziemną kontrolą przyjęto odmienne podejście uwzgledniające podane w poprzednim rozdziale założenia. Polega ono na automatyzacji przygotowania wszelkich niezbędnych danych i automatycznym podjęciu decyzji o sposobie znalezienia rozwiązania [3, 6, 7, 10]. Ocena bieżącej sytuacji zagrożenia wystąpienia kolizji z ruchomymi przeszkodami opiera się na sformułowanym w pracach [2, 4] odpowiednim kryterium. Prezentowany sposób określania manewru omijania nie obejmuje swoim zakresem zagadnienia ucieczki przed pogonią, jak również działań celowo utrudniających uniknięcie kolizji. W pracy przyjęto założenia omijania ruchomych przeszkód: − wykrywanie przeszkód i ich omijanie odbywa się tylko w przedniej półpłaszczyźnie,
5
& > > 8 8 #K 8 >\ b & − znane są wielkości przeszkód, chwilowe położenia i bieżące parametry ich ruchu, − przeszkody poruszają się ze stałym modułem i stałym kątem wektora prędkości, − uniknięcie kolizji i jej ominięcie odbywa się bez negocjacji z innymi ruchomymi obiektami, − nie są rozważane przepisy w ruchu lotniczym, − manewr omijania odbywa się w płaszczyźnie poziomej. W dalszej części tego rozdziału zostaną podane podstawowe, matematyczne zależności opisujące wybrane zmienne [3, 4, 9] pokazane na rys. 1 dla samolotu i przeszkody. Kąty stycznych do okręgu o promieniu rCMB wynoszą:
1, 2 = SP ± arcsin(rCMB/rSP)
+1 ) # J W celu uzyskania większej efektywności projektowania samego manewru antykolizyjnego, a w szczególności jego drugiej fazy (omijania) proponuje się tworzenie zastępczej przeszkody w kształcie okręgu, w którym wpisane są w sposób geometryczny wszystkie przeszkody zakwalifikowane do tej samej grupy. Dotyczy to przede wszystkim przeszkód znajdujących się blisko siebie. Przynależność do danej grupy przeszkód jest uzależniona od spełnienia następujących kryteriów: 1. Warunek 1. (W1) Odległość między przeszkodami jest mniejsza niż przyjęta wartość (np. odniesiona do promienia rCMBi) rPiPj < εxy, gdzie:
(1)
gdzie bSP kąt patrzenia opisuje zależność:
SP = arctg[(y1P – y1S)/(x1P – x1S)]
rPiPj =
(2)
SPi = 2 0i
1P i
− x1Pj
) + (y 2
1P i
− y1Pj
)
2
(6)
gdzie: εxy – maksymalna odległość między kolejnymi parami przeszkód klasyfikująca je do zagregowanej grupy (przykładowo można przyjąć εxy = 3rCMB).
oraz dodatkowa zależność tego kąta:
(x
(3)
Odległość między obiektami:
2. Warunek 2. (W2) Podobieństwo wektora prędkości (co do modułu i kierunku) wszystkich przeszkód w danej grupie: (4) |ΨSi –
Kąt wektora prędkości wypadkowej (samolotu i przeszkody) wynosi:
ΨSj| < εy Ù |VSi – VSj| < εV.
(7)
gdzie: εΨ i εV – maksymalna różnica kątów wektorów prędkości oraz maksymalna różnica modułów prędkości między kolejnymi parami przeszkód. 3. Warunek 3. (W3) Występowanie wspólnych części trójkątów OsiAiBi utworzonych ze stycznych zgodnie z rys. 1:
(5) Okrąg o promieniu rCMB jest hipotetyczną figurą reprezentującą przeszkodę lub grupę przeszkód z charakterystycznym wymiarem stanowiącym sumę maksymalnego wymiaru samolotu, przeszkody i marginesu bezpieczeństwa [3, 4].
1j > 1i Ù 1j < 2i Ú 2j > 1i Ù 2j < 2i
(8)
4. Warunek 4. (W4) Gdy w danej parze przeszkód nie ma wspólnej części (jak w W3) sprawdzane są kąty najbliższych boków trójkątów OsiAiBi tworzące kąty (w układzie współrzędnych rys. 1) spełniające nierówności: | 2j – 1i| < ερ Ú | 1j – 2i| < ερ
(9)
gdzie: ερ – wielkość kątowa o małej wartości przyjmowana empirycznie (związana m.in. z dokładnościami pomiarów wielkości geometrycznych i kinematycznych). 5. Warunek 5. (W5) Wzajemne usytuowanie znacznie oddalonych przeszkód Pi oraz Pj) a także szybkie zbliżanie się przeszkody Pj do Pi: (10) Najczęściej spotykane są sytuacje, w których obiekty lecące w grupie mają podobne wymiary geometryczne. Przy tworzeniu zastępczej przeszkody nie jest stawiane wymaganie dotyczące podobieństwa kształtów lub wymiarów poszczególnych przeszkód. Istotne są odległości między nimi i podobieństwo ich wektorów prędkości. Różnice prędkości (co do modułów i kierunków) przeszkód w danej grupie mogą powodować zmianę wielkości promienia okręgu oraz inne przemieszczanie się środka zastępczego koła niż to wynika z przyjętej średniej prędkości dla zagregowanej grupy przeszkód. Gdy mamy do czynienia ze spadkiem wartości wspomnianego promienia, to ze względu na bezpieczeństwo możliwe jest przyjęcie jego stałej wartości równej wartości początkowej. Gdy wzrost promienia jest nieznaczny można przyjąć stałą wartość równą maksymalnej, jaką osiągnie zastępczy okrąg w trakcie procedury omijania danej grupy przeszkód. Bardziej efektywnym podejściem jest wyli-
Rys. 1. Zmienne opisujące układ samolot – zagregowane przeszkody Fig. 1. The Variables describing the aircraft – aggregated obstacles
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 21
czanie na bieżąco zmieniającej się wartości promienia okręgu dla zastępczej przeszkody. Jego wartość rCMBAG można opisać następującą zależnością:
rCMBAG
1⎛ = ⎜ max i, j 2⎝
(x
1P i
− x1Pj
) + (y 2
1P i
− y1Pj
)
2
⎞ ⎟ + rCMBi + rCMBj ⎠
(11) oraz położenie współrzędnych [xSAG, ySAG] środka zastępczego okręgu zagregowanej grupy opisują zależności: [xSAG, ySAG] = [x1Pi ± (x1Pi – x1Pj)/2, y1Pi ± (y1Pi – y1Pj)/2]
(12)
gdzie plus przed nawiasem jest dla x1Pi < x1Pj a minus dla x1Pi > x1Pj i analogicznie dla współrzędnej y. Zależność (12) można wykorzystać do wyznaczenia prędkości zmiany położenia środka zagregowanej grupy poprzez zróżniczkowanie współrzędnych środka. W ten sposób wyznaczona wartość jest bliska, ale nie jest równa wypadkowej prędkości przeszkody i-tej i przeszkody j-tej, które występują w zależności (11). Jednocześnie może się różnić od wypadkowej prędkością wszystkich przeszkód znajdujących się w danej grupie. Dodatkowo należy zauważyć, że istnieją sytuacje, w których następuje skokowa zmiana położenia środka zagregowanej grupy. Może to wystąpić, gdy zmieni się para przeszkód, według której liczony jest środek, czyli we wzorze (11) zmieni się wartość indeksu i lub j albo obu indeksów jednocześnie. Podjęcie decyzji o przynależności do zagregowanej grupy przeszkód jest złożonym zadaniem. Wymaga umiejętnej analizy wspomnianych kryteriów i ich wzajemnych relacji. Istotnym zagadnieniem jest oszacowanie na drodze np. eksperymentalnej wielkości typu: εxy, εΨ i εV oraz ερ użytych w podanych pierwszych czterech warunkach (6)–(9). Na wartości tych parametrów mają wpływ wymiary samolotu i przeszkód, a także prędkości poruszania się tych obiektów oraz liczba przeszkód występujących w najbliższym otoczeniu samolotu. Na obecnym etapie trudno jest wyodrębnić ściśle określoną grupę wskazań pozwalających na jednoznaczne określenie omawianych parametrów. Niezbędny jest kompromis między wielkością okręgu zawierającego zagregowaną grupę przeszkód, a złożonością manewru omijania. Nieprzyłączenie do grupy jednej przeszkody może spowodować, że grupa ta będzie miała mniejszy promień okręgu. Jednocześnie może spowodować, że niezbędne będzie wykonanie dwóch po sobie następujących manewrów. Gdy niewłączona do grupy przeszkoda Pk jest w dużo większej odległości od samolotu niż pozostała zagregowana grupa, to w pierwszej kolejności następuje uniknięcie kolizji z grupą, a w drugiej z oddzielną przeszkodą. Zdecydowaną przesłanką do włączenia tej przeszkody Pk jest po pierwsze spełnienie W3 lub W4. Po drugie jest nią jej prędkość, która powoduje szybkie zbliżanie do rozważanej grupy (prawdziwe W5). To spowoduje, że początkowy duży promień zagregowanej grupy będzie szybko zmniejszać się z upływem czasu. Jednocześnie wyeliminuje konieczność wykonania drugiego manewru ominięcia przeszkody Pk obarczonego dużym ryzykiem kolizji lub brakiem zachowania założonego marginesu bezpieczeństwa. Istnieje wiele możliwych scenariuszy dotyczących agregacji przeszkód i dlatego w dalszej części pracy zostaną opisane wyniki dla kilku wybranych, typowych przypadków. Spełnienie kryteriów W1 oraz W3 lub W4 jest sprawdzane rozłącznie. Oznacza to, że nie każda przeszkoda z każdą muszą je spełniać, a wystarczy, że każda z przeszkód spełnia przynajmniej z jedną. Odwrotna sytuacja jest z W2, który powinien być spełniony wzajemnie przez wszystkie przeszkody między sobą. Podstawowym kryterium dołączenia wybranej przeszkody do zastępczej przeszkody jest W1 i W2. Gdy nie są one spełnione, ale potwierdzony został W3 lub W4 to niezbędna jest analiza wektora prędkości wybranej przeszkody i wektora zagregowanych przeszkód.
L1 ) #
Manewr ominięcia ruchomej przeszkody składa się z fazy antykolizyjnej oraz manewru powrotu do lotu wzdłuż zaplanowanej trasy. Pierwsza faza ma na celu uniknięcie niebezpieczeństwa bezpośredniej kolizji z wybraną przeszkodą (lub zagregowaną grupą). W związku z możliwością pojawienia się nowego niebezpieczeństwa w czasie jej trwania istnieje prawdopodobieństwo przedłużenia tej fazy. Z tego samego powodu faza powrotu do lotu po zaplanowanej trasie może zostać w każdej chwil przerwana i będzie ponownie uruchamiany manewr antykolizyjny. W dalszej części pracy zostaną sformułowane kryteria mające na celu określenie początek i koniec wymienionych faz oraz parametry manewrów. Przyjęto, że odległość rSPi wymagają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ść rCMBi. Manewr antykolizyjny powinien zostać uruchomiony przed momentem, w którym spełniony zostanie warunek: rSPi < V /( Zak1s/| 2i –
ΨVR|)
(13)
gdzie: VSPβi – prędkość zbliżania się samolotu do przeszkody wynosi: V = VS cos|ΨSV – SPi| + VPi cos|ΨPVi – SPi|
(14)
ωZak1s – przyjęta prędkość kątowa zakrętu w manewrze antykolizyjnym. Relację między prędkością zakrętu a kątem przechylenia wynikającą z dynamiki lotu określa wzór:
z = g tg(ΦZ)/VS
(15)
W pracy zaproponowano trzy następujące wartości kąta przechylenia ΦZaki: 40°, 50° i 60° wykorzystywane w czasie manewru antykolizyjnego. Ze względu na bezpieczeństwo antykolizyjnego manewru kierunku ominięcia przeszkody (kierunek zakrętu) określa się w następujący sposób: 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. Manewr zakrętu jest wykonywany o taką wartość kąta odchylenia, która spowoduje, że kąt wektora prędkości względnej będzie wynosił dla zakrętu w prawo: ΨSV1 = 1 + 2 0 – arcsin[sin( 1 + 2 0 – ΨVP)VP/VS]
(16)
a w lewo przyjmie wartość następującą: ΨSV2 = 1 – arcsin[sin( 1 – ΨVP)VP/VS]
(17)
Do zakończenia manewru antykolizyjnego niezbędne jest spełnienie jednocześnie dwóch warunków [4]: ΨSPVi > 1i Ù ΨSPVi < 2i
(18)
gdy spełnione jest 2i > 1i. Jednocześnie prawdziwość nierówności (18) 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: ,
(19)
jest odległością samogdzie: lotu o współrzędnych (x1S, y1S) od najbliższego punktu zaplanowanej trasy o współrzędnych (xTP, yTP).
7
& > > 8 8 #K 8 >\ b & 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| d y DSPT d D
Kinematyka i Geometria Przeszkody
Wykrycie Przeszkody
Sprawdzenie Kolizji
Zmienne Stanu Samolotu
Agregacja Przeszkód
(20) Obliczenie Parametrów Grupy Przeszkód
Pierwszy warunek dotyczy osiągnięcia żądanego kursu samolotu z przyjętą dokładnością εy a drugi dotyczy położenia samolotu zgodnego z najbliższym odcinkiem zaplanowanej trasy z dokładnością εD.
Wybór Manewru Antykolizyjnego
Manewru Antykolizyjnego
M1 7
Wybór Manewru Powrotu
Sposób współdziałania istotnych etapów przygotowania i realizacji omijania zagregowanych przeszkód przedstawiono na schemacie (rys. 3). Wykrycie i zidentyfikowanie przez detektor [1] wcześniej nieznanych przeszkód wraz z estymacją aktualnych parametrów ich ruchu i samolotu stanowią niezbędne przesłanki wyboru bezpiecznego manewru. Na podstawie analizy szeregu zmiennych charakteryzujących ruch samolotu i przeszkód i ich wzajemnego położenia (rys. 3) sprawdzane jest czy występuje zagrożenie kolizji z wykrytymi przeszkodami [3, 4]. Następnie wszystkie zidentyfikowane przeszkody jako niebezpieczne są sprawdzane pod kątem możliwości ich zagregowania do jedne wspólnej grupy. W tym celu realizowany jest algorytm pokazany na rys. 2. Po dokonaniu wyboru przeszkód i ich sklasyfikowaniu do określonej grupy wyliczane są jej parametry takie jak prędkość i kierunek poruszania oraz promień okręgu, stanowiący geometryczną granicę dla tej grupy i ew. zmiany wartości tego promienia w funkcji czasu. Po wyliczeniu tych wielkości dobierany jest i wykonywany manewr omi-
Automatyczne Sterowanie
Manewru Powrotu
Trasa wg. Planu Lotu
Rys. 3. Schemat struktury omijania zagregowanej grupy ruchomych przeszkód Fig. 3. Structure diagram of avoiding of obstacles aggregated group
jania aż do momentu, gdy zostanie wyeliminowane zagrożenie i jednocześnie, gdy pochodna odległości samolotu od zagregowanej grupy osiągnie ujemną wartość. 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 manewru powrotu cały czas sprawdzane
Start
Parametry Przeszkód
i=i+1; j=j+1; k=l+1;
N
N T Sklasyfikowanie do Agregowanej Grupy Przeszkód
(W3 lub W4) & W5) & (dla Pi jest W2)
T
N i=n; & j=n; & k=n;
T Stop Rys. 2. Schemat blokowy algorytmu tworzenia zagregowanej grupy przeszkód Fig. 2. Block diagram of the algorithm of creating of an aggregated group of obstacles
8
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 21
Tabela 1. Parametry charakterystyczne dla przykładowych scenariuszy Table 1. Characteristic parameters of the example scenarios
Scenariusz – 1 (SC – 1) (rCMBi = 260 m) Nr przeszkody
P1
P2
P3
P4
P5
P6
Prędkość [m/s]
51
52
49
48
50
50
Kąt drogi [deg]
122
120
123
121
122
121
Minimalna odległość [m]
1185,9
739,8
452,2
1061,8
695,4
718,4
Scenariusz – 2 (SC – 2) (rCMBi = 100 m) Nr przeszkody
P1
P2
P3
P4
P5
P6
Prędkość [m/s]
51
52
49
48
50
50
Kąt drogi [deg]
122
120
123
121
122
121
Minimalna odległość [m]
1353,9
809,4
454,2
1152,7
920,0
811,3
Scenariusz – 3 (SC – 3) (rCMBi = 100 m) Nr przeszkody
P1
P2
P3
P4
P5
P6
Prędkość [m/s]
51
52
45
48
55
50
Kąt drogi [deg]
122
120
123
121
122
121
Minimalna odległość [m]
1188,8
741,1
464,4
1063,6
776,3
718,8
Scenariusz – 4 (SC – 4) (rCMBi = 100 m) Nr przeszkody
P1
P2
P3
P4
P5
P6
Prędkość [m/s]
51
52
55
48
45
50
Kąt drogi [deg]
122
120
123
121
122
121
Minimalna odległość [m]
1208,5
1265,5
847,5
1242,6
453,2
1089,4
jest, czy nie wystąpi nowe zagrożenie kolizji. Jeśli pojawi się wspomniane zagrożenie, następuje ponowne wyliczenie aktualnych parametrów manewru antykolizyjnego, a następnie przerywany jest manewr powrotu i rozpoczyna się realizacja nowego manewru antykolizyjnego. Zakończenie całego manewru omijania nastąpi w sytuacji, gdy nie są wykryte jakiekolwiek zagrożenia kolizji 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.
P1 / I Poniżej przestawiono przykłady manewrów omijania przez samolot zagregowanej grupy składającej się z pięciu przeszkód poruszających się blisko siebie. Dobór wartości modułów wektora prędkości i kąty wektorów prędkości tych przeszkód zostały wybrane dla różnych scenariuszy w sposób pozwalający uzyskać różne zachowanie się wartości promienia rCMBAG zastępczej zagregowanej przeszkody. W wyniku przyjętych przykładowych różnic między modułami i kątami wektora prędkości dla poszczególnych przeszkód uzyskano stałą wartość promienia rCMBAG, dla SC – 1, malejącą dla SC – 2 oraz rosnącą w mniejszym tempie dla SC – 3 i większym tempie dla SC – 4. Wszystkie przeszkody miały tę samą wartość promienia dla SC – 1 wynosił rCMBi = 260 m a dla pozostałych rCMBi = 100 m. Charakterystyczne parametry opisujące przyjęte scenariusze zamieszczono w tabeli 1. Pięć przeszkód poruszających się w zwartej grupie występujące we wszystkich scenariuszach ma podobne kąty wektora prędkości mieszczące się w przedziale między 120° a 123°. Poruszają się z podobną prędkością, różniącą się maksymalnie w granicach między 45 m/s a 55 m/s. Przy czym zakres tego przedziału jest
różny dla poszczególnych scenariuszy. Różnice modułu wektora prędkości powodują różne zachowania wartości promienia rCMBAG zagregowanej grupy przeszkód. Od SC – 1, w którym rCMBAG ma stałą wartość w czasie trwania całego manewru omijania, do scenariusza – 4, gdzie wartość rCMBAG charakteryzuje się tendencją szybkiego wzrostu. Na rysunkach 4, 6, 8 i 10 przedstawiono przebieg trajektorii samolotu i przeszkód dla SC – 1, 3 i 4. Dla SC – 1 uzyskano identyczną trajektorię samolotu w porównaniu do SC – 3. Na tych rysunkach zaznaczono przerywaną linią w kolorze czerwonym okrąg o promieniu rCMBAG reprezentujący zagregowaną grupę przeszkód w położeniu dla czasu t = 0 s. Kolejne położenia przeszkód i samolotu opisano liczbami naturalnymi od 1 dla t = 0 s aż do n dla czasu zakończenia symulacji. W początkowym położeniu dla każdej z przeszkód został narysowany okrąg o promieniu rCMBi. Dla SC – 1 przyjęte położenia chwilowe, prędkości ruchu przeszkód (tabela 1) oraz wyliczony promień rCMBAG = 710,6 m wymagał pokazanego na rys. 4 przebiegu trajektorii omijania grupy przeszkód. Najmniejsza odległość, w jakiej samolot omija zagregowaną grupę jest bliska wartości rCMBAG i wynosi rSPag = 718,4 m (tabela 1 i rys. 5). Najmniejsza odległość od samolotu w (trakcie wykonywania manewru omijania) jest dla przeszkody P5 i wynosi rSPi = 695,4 m i jest jednocześnie znacznie większa od rCMBi = 200 m. Pomimo zmian w czasie wartości promienia rCMBAG dla wszystkich pozostałych scenariuszy uzyskano (podczas symulowanych manewrów omijania) odległości na poziomie nie mniejszym niż SC – 1. Szczególnie niekorzystna sytuacja została wybrana dla SC – 4, gdzie występuje znaczny wzrost wartości promienia rCMBAG zawierający się w przedziale od 810,6 m do 1205,4 m (rys. 9). Jednak w chwili osiągnięcia najmniejszej odległości samolotu od zagregowanej grupy wynoszącej rSPag = 1089,4 m promień zagregowanej grupy osiągnął w tym czasie wartość rCMBAG = 1088,4 m.
9
& > > 8 8 #K 8 >\ b &
Rys. 4. Trajektorie samolotu i przeszkód dla SC – 1 Fig. 4. Trajectory of the airplane and trajectory of obstacles for SC – 1
Rys. 6. Trajektorie samolotu i przeszkód dla SC – 2 Fig. 6. Trajectory of the airplane and trajectory of obstacles for SC – 2
a)
a)
b)
b)
Rys. 7. a) Odległości każdej z pięciu przeszkód od samolotu, b) odległość przeszkody zastępczej od samolotu i przebieg promienia przeszkody zastępczej dla SC – 2 Fig. 7. The distances from the airplane to five obstacles and to an alternative obstacle and its radius for SC – 2
Rys. 5. a) Odległości każdej z pięciu przeszkód od samolotu, b) odległość przeszkody zastępczej od samolotu i przebieg promienia przeszkody zastępczej dla SC – 1 Fig. 5. The distances from the airplane to five obstacles and to an alternative obstacle and its radius for SC – 1
10
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 21
Rys. 10. Porównanie trajektorii manewrów ominięcia zagregowanej grupy ruchomych przeszkód dla SC – 1, 2, 3 i 4 Fig. 10. The comparison of manoeuvre trajectories of an aggregated group of moving obstacles
Rys. 8. Trajektorie samolotu i przeszkód dla SC – 4 Fig. 8. Trajectory of the airplane and trajectory of obstacles for SC – 4
a)
Dla tego ostatniego scenariusza samolot omija przeszkodę P5 w najmniejszej odległości wynoszącej 453,2 m. Nietypowy w tym scenariuszu, w porównaniu do pozostałych, jest stosunkowo długi czas równy 63,3 s, po którym następuje osiągnięcie najmniejszej z minimalnych odległości od przeszkody (w tym wypadku od P5). Powodem tak długiego czasu może być kształt trajektorii omijania dla SC – 4, pokazany na rys. 8 i 10, różniący się od pozostałych znacznie większą wartością maksymalnego kąta odchylenia manewrującego samolotu, który w tym scenariuszu osiągnął wartość 129,6°.
7. Wnioski
b)
Rys. 9. a) Odległości każdej z pięciu przeszkód od samolotu, b) odległość przeszkody zastępczej od samolotu i przebieg promienia przeszkody zastępczej dla SC – 4 Fig. 9. The distances from the airplane to five obstacles and to an alternative obstacle and its radius for SC – 4
Przedstawiony materiał teoretyczny oraz wyniki symulacji numerycznej agregacji przeszkód i manewru omijania ruchomych przeszkód pozwala na sformułowanie następujących wniosków: − Sformułowane w pracy logiczne warunki umożliwiają podjęcie właściwej decyzji o przypisaniu poruszających przeszkód do danej zagregowanej grupy. − Istnieją scenariusze, dla których podczas trwania manewru ominięcia zagregowanej grupy niezbędne jest uwzględnienie zmian wartości promienia okręgu rCMBAG. − Stosunkowo nieduże różnice prędkości między poruszającymi się przeszkodami w jednej zagregowanej grupie mogą powodować znaczne zmiany w czasie promienia okręgu rCMBAG. − Uzyskane doświadczenia w trakcie badań symulacyjnych wskazują, że 10 % różnice między wartościami prędkości poruszających się przeszkód są dopuszczalne przy tworzeniu z tych przeszkód zagregowanej grupy. − Wykonywanie zaproponowanych antykolizyjnych manewrów zapewniło utrzymanie wymaganych dystansów rCMBAG dla zastępczej przeszkody. Jednocześnie zostały zachowane, przeważnie z dużym zapasem, marginesy bezpieczeństwa dla wszystkich ruchomych przeszkód. Przedstawiona metoda wymaga dalszych badań dla szeregu scenariuszy uwzględniających różne wzajemne usytuowanie przeszkód, różne kąty wektora prędkości i jego moduły.
11
& > > 8 8 #K 8 >\ b & Q # 0
6. Lin C.E., Wu Y.-Y., Collision avoidance solution for low-al , “Journal of Aerospace Engineering”, Vol. 225, No. 1, 2011, 779–790, DOI: 10.1177/0954410011399211. 7. Lin Z., Castano L., Mortimer E., Xu H., Fast 3D col $ & )* +' , “Journal of Intelligent & Robotic Systems”, Vol. 97, 2019, 577–604, DOI: 10.1007/s10846-019-01037-7. 8. Orefice M., Di Vito V., Aircraft automatic collision avoidance , International Conference on Aerospace Sciences and Aviation Technology (ICASAT), 2016, 1–10, DOI: 10.5281/zenodo.1123671. 9. Paielli R.A., . $ / , “Journal of Guidance, Control, and Dynamics”, Vol. 26, No. 3, 2003, 407–415, DOI: 10.2514/2.5078. 10. Stevens B.L., Levis F.L, Aircraft Control and Simulation, Wiley & Sons, Inc., 2016. 11. Tang J., Piera M.A., Baruwa O.T., A discrete-event & & 0(' 1 2 , “Journal of Aerospace Engineering”, Vol. 229, No. 13, 2015, 2416–2428, DOI: 10.1177/0954410015577147.
1. Graffstein J., Functioning of air anti-collision system
, “Aviation”, Vol. 18, No. 1, 2014, 44–51, DOI: 10.3846/16487788.2014.865945. 2. Graffstein J., Dobór parametrów manewru antykolizyjnego i jego przebieg, „Prace Instytutu Lotnictwa”, Nr 224, 2012, 31–43. 3. Graffstein J., !" ! # „Pomiary Automatyka Robotyka”, R. 16, Nr 2, 2012, 383–387. 4. Graffstein J., Selected aspects of automatic maneuver control $ $ % & & & & $ , 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. 5. Jung T., Piera M.A., Ruiz S., A causal model to explore '(' , “Journal of Aerospace Engineering”, Vol. 228, No. 10, 2015, 1735–1748, DOI: 10.1177/0954410014537242.
6 A ) & / A& A&& & ) # $ KL / & A ) A Successful avoidance of a mid air collision with moving obstacles depends on solutions of some most essential problems, e.g.: quick detection of an obstacle, verification whether detected obstacle is a critical one and making right decision on evasive manoeuvre. This decision – making process requires an appropriate identification of a threat’s nature, including whether detected obstacles should be treated as one aggregated group. Aggregation of obstacles moving in short distance one to the other is a typical case. The paper addresses also the case of inclusion the obstacle to the group objects moving in longer distances one to the other. The algorithm used for deciding whether a moving obstacle should be added to (aggregated with) a given group has been presented. A method for computing its characteristic parameters has been presented too. Selected scenarios of avoiding the aggregated group of moving obstacles have been simulated and results obtained illustrates problems considered. KeywordsH ) % % J & %
& ' ( ) ORCID: 0000-0002-9329-8648 A) 6 & 8 ? @ " & F L 4 & ) ) ) L 0 F 4 % ) M ) % & ) 0
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 21
Pomiary Automatyka Robotyka, ISSN 1427-9126, R. 25, Nr 1/2021, 13–18, DOI: 10.14313/PAR_239/13
* $ $ $ + ! *, ŎŽǔǷȭǔƬ˹ ą˹ǔƞƬʁ
*
- " . ! / 0 1 " * 2 3 4 (&" 56'5' - 3
ăǜʁƬʊ˘Ƌ˘ƬȭǔƬƕ Autopiloty okrętowe można podzielić na konwencjonalne, zdolne jedynie do utrzymywania zadanego kursu, oraz zaawansowane, które dodatkowo mogą śledzić „ścieżkę” łączącą zadane punkty nawigacyjne na trasie statku. W artykule przedstawiono strukturę prototypowego autopilota statku zaimplementowanego w środowisku CPDev oraz wzory pozwalające wyznaczyć nastawy regulatora kursu (PID) oraz trasy (PI) w regulacji kaskadowej. Dla każdego z nich przyjęto pojedyncze parametry projektowe określające dynamikę zamkniętej pętli regulacji. Reguły te zastosowano w oprogramowaniu prototypu autopilota, stworzonego we współpracy z holenderską firmą projektującą systemy sterowania i wizualizacji dla statków. $ " */," !
" " + !
7
1. Wprowadzenie Sterowanie kursem statku jest realizowane zwykle przez konwencjonalne autopiloty, które automatycznie korygują kurs wykorzystując wbudowane urządzenia sterowe. Taki adaptacyjny autopilot dostosowuje ustawienia regulatora kursu w zależności od prędkości statku, stanu morza oraz innych czynników, a także, oprócz utrzymywania zadanego przez operatora kursu, jest w stanie śledzić „ścieżkę” łączącą kolejne punkty nawigacyjne na zaplanowanej trasie. Taki system wymaga modułu nawigacji obszarowej, który oblicza każde odchylenie od zaprogramowanej trasy, spowodowane np. oddziaływaniem wiatru i prądów morskich, a następnie automatycznie wprowadza konieczne poprawki korygujące kurs statku. Firmy o ugruntowanej pozycji, takie jak np. Sperry Marine, Raytheon, Kongsberg i wiele innych, oferują zarówno konwencjonalne, jak i bardzo zaawansowane autopiloty, w tym z funkcjami adaptacyjnymi. Literatura na temat autopilotów dla statków dotyczy w większości złożonych algorytmów opartych na modelu [1, 11]. Druga grupa obejmuje przykładowo algorytmy genetyczne [9], regulatory rozmyte [12] lub sieci neuronowe [13]. Prace nad uniwersalnym środowiskiem inżynierskim, zgodnym z normą IEC 61131-3, rozpoczęły się już ponad 10 lat temu [7]. Opracowane wtedy środowisko nazwane zostało CPDev (ang. Control Program Developer) i od początku wspierało możliwość samodzielnej implementacji na docelo-
wym sprzęcie, zarówno przez inżynierów w przemyśle, jak i studentów na uczelniach. 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. Środowisko CPDev zostało też wdrożone i jest nadal stosowane przez kilku znaczących producentów urządzeń automatyki w kraju oraz za granicą. Politechnika Rzeszowska od kilku lat współpracuje z firmą Praxis Automation Technology B.V. z Holandii przy wdrożeniu pakietu CPDev [6] do tworzenia systemów monitoringu i nawigacji statków, rozpoczęto również wspólne prace nad prototypem autopilota [8], z Rzeszowem odpowiedzialnym za jego implementację. Jednym z istotnych problemów były zasady strojenia poszczególnych bloków PID autopilota, ponieważ klasyczne podręczniki [3–5] nie są w tym zakresie wystarczająco szczegółowe. Ze względów praktycznych poszukiwano takich reguł, które oprócz wymagań braku oscylacji i przeregulowania, byłyby w stanie określić dynamikę kursu za pomocą zrozumiałych dla operatora parametrów projektowych. Dynamika ta jednak mocno zależy od konstrukcji statku oraz stanu morza (wiatr, fale). W artykule przedstawiono podstawy tworzenia takich reguł dla regulatora kursu (blok klasycznego regulatora PID) oraz regulatora „ścieżki” (blok PI lub regulator w przestrzeni stanów). Prototyp autopilota został przetestowany na pełnym (nieliniowym) modelu kontenerowca 4-DoF [14], zaimplementowanym również w pakiecie CPDev, a wybrane wyniki z badań symulacyjnych przedstawiono w dalszej części.
! " ! #$ ! $
! &' (( & & " $ ! ! &) ( & &
Pełny (nieliniowy) model statku 4-DoF jest opisany równaniami w przestrzeni stanów [14], jednak jest on zbyt złożony do określenia analitycznych wyrażeń dla nastaw poszczególnych regulatorów. Zwykle do takiego projektowania stosuje się uproszczony model statku, zwany modelem Nomoto
13
[3–5], w postaci połączenia członu całkującego z członem inercyjnym (1), który pokazuje, jak wychylenie steru d wpływa na kąt y (kurs), pod jakim statek płynie. Wzmocnienie k zależy wprost proporcjonalnie, a stała czasowa T odwrotnie proporcjonalnie od prędkości statku V, czyli
Przyjmuje się, że wartości referencyjne {k0, T0, V0} występujące we wzorach (1) są znane z wcześniejszych manewrów wykonanych podczas prób na otwartym morzu lub też bezpośrednio po wyjściu statku z portu. Tutaj wartości k0, T0 obejmują również dynamikę maszyny sterowej i samego steru (rys. 2).
(1)
Strukturę prototypowego regulatora kursu statku, będącego modyfikacją regulatorów przedstawianych w [3, 4], pokazano na rys. 3. Wielkości yref i y to odpowiednio wartość zadana i kurs rzeczywisty statku, natomiast d oznacza kąt wychylenia steru. Wielkości yL, yH są odpowiednio składowymi nisko- i wysokoczęstotliwościowymi, przy czym te ostatnie są indukowane głównie przez falowanie morza. Moduł obserwatora stanu generuje dwie estymaty ψˆ L i ψˆ H , z których to tylko ψˆ L (niskoczęstotliwościowa) jest wykorzystywana do sterowania kursem. Eliminacja składowych wysokoczęstotliwościowych redukuje znacznie reakcję steru na wpływ falowania morza. Obserwator stanu może być zaimplementowany jako filtr Kalmana lub też jako obserwator Luenbergera. Dodatkowy blok ARMAX estymuje nieznaną częstotliwość fal wn, która jest jednym ze współczynników w równaniach obserwatora. Należy pamiętać, że częstotliwość ta zależy od stanu morza oraz kierunku wiatru (w stosunku do kursu statku). Dodatkowo, ogranicznik prędkości eliminuje ewentualne przeregulowania po skokowej zmianie yref. Ustawienia regulatora PID są automatycznie dostosowane do prędkości statku V .
gdzie
Strukturę części autopilota dla kaskadowej regulacji trasy („ścieżki”) przedstawiono na rysunku 4. Jeśli zostanie wykryte odchylenie y pozycji statku od zadanej „ścieżki”, to regulator trasy (główny) koryguje wartość zadaną kursu yref o Δyref, tak więc suma yref + Δyref staje się nową wartością zadaną dla regulatora kursu (pomocniczego). Regulator trasy (główny) może być zaimplementowany jako regulator w przestrzeni stanów lub klasyczny regulator PI. Równania kinematyczne obejmujące aktualną pozycję statku (np. na podstawie sygnału GPS), prędkość V i kurs y (lub odchylenie Δy = y – yref) określają obie składowe ruchu (przemieszczenie do przodu x oraz odchylenie prostopadłe do kierunku ruchu y).
Rys. 1. Zmiana kursu przy stałym wychyleniu steru Fig. 1. Change course with constant rudder deflection
Rys. 3. Struktura regulatora kursu w autopilocie Fig. 3. Structure of course controller in autopilot
V0 [m/s]
k0 [1/s]
T0 [s]
2.85 0
.020 4
1
6.63 0
.048 1
9
0.082 1
2
10.2
Rys. 2. Przykładowe wartości k0, T0 dla różnych prędkości V0 Fig. 2. Exemplary values of k0, T0 for different speeds V0
14
P
O
M
I
A
Rys. 4. Struktura regulatora trasy („ścieżki”) w autopilocie Fig. 4. Structure of the track-keeping controller in autopilot
R
Y
•
A
U
T
O
M
A
T
Y
K
A
•
R
O
B
O
T
Y
K
A
NR 1 / 20 21
! "# Sterowanie kursem odbywa się za pomocą klasycznego regulatora PID (rys. 3)
T1 =
2T r
(5)
(2a)
Ostatecznie, nastawy regulatora PID, otrzymane na podstawie powyższych równań, wynoszą
(2b)
(6)
$ % Dla obliczeń nastaw regulatora przyjęto: (a) brak oscylacji w odpowiedziach przejściowych (b) stała czasowa zamkniętej pętli jest określona jako Tcl = T/r, r > 1 (c) brak przeregulowania dla skokowych zmian wartości zadanej yref.
Zwróćmy uwagę, iż ze względu na równanie (1), nastawy regulatora (6) zależą od prędkości statku V. Testy czułości wykazały, że ustawienia należy zmodyfikować, jeśli zmiana prędkości przekroczy 20 %. Odpowiedzi skokowe dla regulatora PID przy nastawach (6) dla różnych prędkości V pokazano na rys. 5.
Warunek (b) wymaga, aby stała czasowa Tcl była r razy mniejsza niż stała czasowa T w modelu statku (1). Współczynnik r jest tu parametrem projektowym. Zwiększając r można sprawić, że pętla będzie „szybsza”. Aby określić nastawy kp, Ti, Td regulatora PID przyjmijmy T2 = T. Wtedy transmitancje układu otwartego i zamkniętego, oraz wzmocnienie K, przyjmują postać:
Gopen ( s ) = K
Gloop ( s) =
2
T1s + 1 s2
K (T1s + 1)
s + K T1s + K
(7)
,
, K=
k pk Ti
(3)
Założenie (a) będzie spełnione, jeśli wyznacznik mianownika transmitancji Gloop wyniesie zero, co daje warunek na K oraz określa wartości podwójnego bieguna s1,2:
K=
& ' System zawierający tylko klasyczny regulator PID będzie wykazywał pewne przeregulowanie ze względu na człon T1s + 1 w liczniku transmitancji Gloop. Aby to ograniczyć lub wyeliminować, można zastosować filtr wstępny dla wartości zadanej (rys. 6). Transmitancja układu zamkniętego (bez ogranicznika prędkości narastania) wyniesie wtedy
K T1 2 4 =− , s1, 2 = − 2 2 T1 T1
(4)
Założenie (b) wymaga, aby stała czasowa układu zamkniębyła równa T/r, tak więc stała czasowa tego T1 będzie wynosić
( Ponieważ w praktyce wychylenie steru d nie może przekroczyć pewnej maksymalnej granicy dM, czyli |d| < dM, więc zwykle filtr wstępny 1/(T1s + 1) nie wystarcza, aby uniknąć przeregulowania przy skokowych zmianach y’ref (typowo max dM = 35°). Dodatkowo, wartość dM może zależeć od prędkości statku V. Autopilot jest więc wyposażony w ogranicznik narastania wartości zadanej, który to ogranicza prędkość zmian y’ref do założonej wartości n. Dla y’ref = n·t wyrażenie określające kąt wychylenia steru przyjmie postać
,
(8)
którego to postać czasowa ma maksimum dla Tcl < T (r > 1).
Rys. 5. Odpowiedzi skokowe dla regulatora PID dla różnych prędkości V Fig. 5. Step responses for PID controller at different speeds V
Rys. 6. Schemat regulatora kursu dla projektowania nastaw Fig. 6. Course control system for controller design
15
Rys. 7. Odpowiedzi skokowe regulatora kursu przy falowaniu morza Fig. 7. Step responses of course controller in the presence of sea waves
Należy zwrócić uwagę, że taki czas ustalania jest ponad 6 razy dłuższy, niż czas ustalania dla regulatora kursu (4Tcl). Poza tym, dla typowych danych wzmocnienie kp okazuje się małe, a stała czasowa całkowania Ti duża. Tak więc, jak można się spodziewać po [2], mamy regulator PI o stosunkowo niskim wzmocnieniu. Jeśli powolna dynamika regulatora „ścieżki” z wykorzystaniem PI nie jest zadowalająca, rozwiązaniem może być regulator w przestrzeni stanów (ang. state-space controller). Odchylenie y, odchylenie kursu Δy i jego pochodna Δψ⋅ są zmiennymi stanu. Aby skompensować zakłócenia w stanie ustalonym, musimy dodać całkę z odchylenia y jako czwartą zmienną stanu. Zatem wektor stanu składa się z następujących składowych
) ! "# Załóżmy, że mamy zadaną trasę („ścieżkę” odniesienia) między dwoma punktami nawigacyjnymi, po której to ma podążać statek. Niech yref oznacza założony kurs na tej ścieżce. System nawigacji obszarowej jest w stanie określić prostopadłą składową y odchylenia od zadanej ścieżki (rys. 2). Jak pokazano w [3], dla małych odchyłek kursu odchylenie to jest całką ważoną Δy, czyli
y(s) =
V Δψ ( s ) s
(9)
(Δy w radianach). Stosując standardowy regulator PI (jako główny w regulacji kaskadowej), rozważmy układ pokazany na rys. 8.
xI = ∫ ydt ,
Specyfikacje są tu następujące: (a) brak oscylacji w stanach przejściowych dla odpowiedzi skokowej, (b) krótki czas narastania odpowiedzi skokowej (w miarę możliwości).
x2 = ψ ,
x1 = y,
x3 = Δψ⋅ .
(11)
Wyjście regulatora stanu wynosi wtedy
Δψ ref = −( K I xI + K1x1 + K 2 x2 + K 3 x3 ) .
(12)
Tworzenie opisu w przestrzeni stanów {A, b, c} dla „obiektu” składającego się z 1/(Tcls + 1)2 oraz V/s jest proste, dlatego tutaj je pominiemy. Aby szybko uzyskać wyniki analityczne, załóżmy, że warunek dla czasu ustalania ma postać poczwórnego bieguna dla zamkniętej pętli sprzężenia
Problem doboru nastaw regulatora PI można rozwiązać projektując je metodą linii pierwiastkowych [2, 10]. Te dwa wymagania zostaną spełnione, jeśli znajdziemy takie zero 1/Ti sterownika, dla którego układ z zamkniętą pętlą ma potrójny biegun rzeczywisty. Wtedy wzmocnienie regulatora, stała całkowania oraz czas narastania odpowiedzi skokowej określone są wzorami , , (10)
(13)
w odniesieniu do stałej czasowej Tcl, z pewnym przyjętym parametrem projektowym s. Wybierając s = 1 można sprawić, że
Fig. 8. System śledzenia trasy ze standardowym regulatorem PI Fig. 8. Track-keeping system with standard PI controller
16
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 21
czas narastania odpowiedzi dla regulatora śledzenia będzie porównywalny z czasem narastania dla regulatora kursu (4Tcl). Może to być jednak zbyt ambitne, więc przy projektowaniu zalecane są wartości s d 0,5. Mając opis w przestrzeni stanów {A, b, c} i równanie charakterystyczne dla pętli zamkniętej (s + p)4 z biegunem p = s/Tcl, poszczególne wzmocnienia dla regulatora w przestrzeni stanów wynoszą
,
,
,
(14)
5. Podsumowanie W artykule przedstawiono strukturę prototypowego autopilota statku oraz zasady analitycznego doboru nastaw dla regulatora kursu (PID) oraz trasy (PI lub SS). Dla każdego z nich wymagane są jedynie pojedyncze parametry projektowe do określenia dynamiki w pętli zamkniętej, co znacząco upraszcza proces strojenia autopilota. Dodatkowo zachowanie autopilota można dość łatwo dostosować do różnej konstrukcji statku oraz stanu morza (wiatr, fale). Nastawy są automatycznie dopasowywane do prędkości statku, a wbudowany filtr wstępny i ogranicznik prędkości zadanej dodatkowo eliminuje ewentualne przeregulowania. Przedstawione w artykule reguły doboru nastaw zastosowano, z pewnymi modyfikacjami w celu zwiększenia ich odporności, w oprogramowaniu autopilota zaimplementowanym w pakiecie CPDev [8]. Ekran główny interfejsu (panel HCS) pokazano na rys. 9. Dostępne są różne tryby pracy autopilota, między innymi: Heading Control (stabilizacja kursu), Track Control (podążanie po „ścieżce”), Turn Radius (zakręt o stałym promieniu) czy też Turn ROT (zakręt o stałej szybkości).
Rys. 9. Ekran główny w autopilocie firmy Praxis (pakiet CPDev) Fig. 9. Main screen of the Praxis ship autopilot (CPDev package)
Oprogramowanie autopilota będzie rozbudowywane o adaptacyjne dostrajanie nastaw (z użyciem regulatora rozmytego lub sieci neuronowej) oraz nowe algorytmy identyfikacji zakłóceń pochodzących od wiatru i falowania morza.
, ' Autor dziękuje współtwórcom oprogramowania autopilota oraz całego środowiska CPDev, a w szczególności Leszkowi Trybusowi, Bartoszowi Trybusowi, Janowi Sadolewskiemu, Dariuszowi Rzońca oraz Marcinowi Jamro.
* " + 1. Cimen T., Banks S.P., Nonlinear optimal tracking control with application to super-tankers for autopilot design. “Automatica”, Vol. 40, No. 11, 2004, 1845–1863, DOI: 10.1016/j.automatica.2004.05.015. 2. Dorf R.C., Bishop R.M., Modern Control Systems (11th ed.). Prentice Hall, Upper Saddle River, NY 2008. 3. Fossen T.I., Guidance and Control of Ocean Vehicles (4th ed.), Wiley, Chichester, 1999. 4. Fossen T.I., Marine Control Systems. Marine Cybernetics, Trondheim 2002. 5. Lisowski J., Statek jako obiekt sterowania automatycznego, Wydawnictwo Morskie, Gdańsk 1981. 6. Jamro M., Rzońca D., Sadolewki J., Stec A., Świder Z., Trybus B., Trybus L., CPDev Engineering Environment for Modeling, Implementation, Testing, and Visualization of Control Software. [In:] Szewczyk R., Zieliński C., Kaliczyńska M. (eds): Recent Advances in Automation, Robotics and Measuring Techniques. Vol. 267, sec. Advances in Intelligent Systems and Computing. Springer, 2014, 81–90. 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. Rzońca D., Sadolewski J., Stec A., Świder Z., Trybus B., Trybus L., Ship Autopilot Software – A Case Study, in: Bartoszewicz A., Kabziński J., Kacprzyk J. (eds.): Advanced, Contemporary Control. Advances in Intelligent Systems and Computing, Vol. 1196, Springer, Cham 2020, 1499–1506. 9. McCookin E.W., Murray-Smith D.J., Li Y., Fossen T.L., Ship steering control system optimization using genetic algorithms. “Control Engineering Practice”, Vol. 8, 2000, 429–443. 10. Trybus L., Teoria sterowania. Oficyna Wydawnicza Politechniki Rzeszowskiej, Rzeszów 2007. 11. Tzeng C.Y., Lu G.H., An Internal Model Control-based Neural Network ship auto-pilot design. “Journal of the Society of Naval Architects and Marine Engineers of the ROC”, 22(1), 2003, 13–23. 12. Vanec T.W., Fuzzy guidance controller for an autonomous boat. “IEEE Control Systems Magazine”, Vol. 17, No. 2, 1997, 43–51, DOI: 10.1109/37.581294. 13. Zhang Y., Hearn G.E., Sen P., A multivariable neural controller for automatic ship berthing. “IEEE Control Systems Magazine”, Vol. 17, No. 4, 1997, 31–45, DOI: 10.1109/37.608535. 14. http://www.marinecontrol.org/Tutorial.html.
17
1 $ $ 0 ! ! $ $ $ !
*, ÄŽʊǜʁŘƋǜƕ Ship autopilots can be divided into conventional, only capable of maintaining a given course, and advanced, which can additionally follow a “track” connecting the given navigation points along the ship’s route. The article presents the structure of the prototype autopilot of the ship implemented in the CPDev environment and the formulas allowing to determine the settings of the course controller (PID) and track controller (PI) in the cascade control. For each of them, individual design parameters were adopted to define the dynamics of the closed control loop. These rules were applied in the software of the autopilot prototype, created in cooperation with a Dutch company designing control and visualization systems for ships. Keywords $ $ " */, "
" "
ƞʁ ǒŘŽƖ ǔȭ̉Ɩ ŎŽǔǷȭǔƬ˹ ą˹ǔƞƬʁ ! #$ ! $ ORCID: 0000-0003-3504-5340
1 4 ! 8
/ 0 6 *
- 9('):; < 4 ! 1 " 8
/ 0 6 *
= > $ 2 !
9(''&; !
6
9& :; ?! $ = $ !
$ "
!
! $
3 " $ + ! 6
7
! $
$ !3
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 21
Pomiary Automatyka Robotyka, ISSN 1427-9126, R. 25, Nr 1/2021, 19–25, DOI: 10.14313/PAR_239/19
/ & L QX?P ! " # $ ! % # ! & ' (
O Q % I ) S ? $ % I & O *% GF!*- Q 0
W artykule przedstawiono architekturę i implementację systemu monitorowania ruchu ulicznego. Zastosowano w nim identyfikatory RFID do rozpoznawania pojazdów, w tym specjalnego znaczenia, jak karetki pogotowia, autobusy miejskie, pojazdy z obniżoną emisją spalin. Dane o ruchu są przesyłane do usługi IoT Hub w chmurze obliczeniowej Azure. Na ich podstawie dokonywana jest analiza sytuacji drogowych i podejmowane decyzje dotyczące sterowania ruchem ulicznym. Informacje sterujące są zwrotnie kierowane do urządzeń sterujących ruchem za pomocą świateł ulicznych, barier, tablic informacyjnych. W artykule opisano sposób komunikacji z chmurą obliczeniową oraz możliwości realizacji algorytmów monitorowania i sterowania ruchem za pomocą IoT Hub. )/ H QX?P% % L % ) Y )0
1. Wprowadzenie W dobie intensywnego rozwoju sieci dróg i autostrad i zwiększającego się natężenia ruchu drogowego istnieje uzasadniona konieczność monitorowania, a w dalszej perspektywie sterowania tym ruchem [1]. Potrzeby te wynikają m.in. z faktu dynamicznego powstawania wydzielonych obszarów kontrolowanego dostępu, na przykład części miasta udostępnionej jedynie dla pojazdów komunikacji miejskiej lub specjalnych stref dostępnych dla wybranej grupy pojazdów jak pojazdy hybrydowe lub elektryczne. Celem przedsięwzięć mających na celu realizację procesów automatycznej identyfikacji pojazdów AVI (Automatic Vehicle Identification) jest wybór i wdrożenie systemów, które zapewnią nie tylko wiarygodną identyfikację pojazdów i monitorowanie ich lokalizacji w czasie rzeczywistym, lecz również dostarczą współczesnym pojazdom wyposażonym w systemy wspomagania kierowcy wiarygodnych informacji o otaczającym środowisku [2]. Sformułowane założenia wskazują na możliwość efektywnego wykorzystania techniki RFID w obszarze automatycznej identyfikacji pojazdów i monitorowania ruchu. Elektroniczny identyfikator RFID (tag) może być naklejony na szybie pojazdu lub zintegrowany z elementami konstrukcyjnymi pojazdu podczas produkcji. Identyfikatory takie mogą przechowywać informacje
- H / % ( ) - / ) -H -- *!*! % ) ) !E !* *!*-
!
o przywilejach dostępu do określonych stref ruchu bądź miejsc parkingowych, i w razie potrzeby mogą być modyfikowane przez ich przeprogramowanie wraz ze zmianą miejsca i sposobu użytkowania pojazdu. Realizacja procesu automatycznej identyfikacji pojazdów w obszarze transportu i ruchu drogowego za pomocą systemu bezstykowej identyfikacji umożliwia podłączenie czytników RFID zainstalowanych w określonych punktach infrastruktury drogowej z usługą chmurową pełniącą rolę centrum zarządzania ruchem miejskim z bazą danych o ruchu pojazdów. Zagadnienia te wpisują się w pojęcia inteligentnego miasta (smart-city), w którym nowoczesne systemy transportowe odgrywają istotną rolę. Integracja techniki RFID umożliwia również łatwe monitorowanie pojazdów przewożących materiały niebezpieczne, przesyłki specjalnego przeznaczenia, zlokalizowanie kradzionego pojazdu [3], zarządzanie ruchem przez łatwe sprawdzenie natężenia ruchu w obrębie bramek i kierowanie na inne trasy za pomocą konfigurowalnej sygnalizacji świetlnej. Warto dodać o możliwości zastosowania techniki RFID do oznaczania infrastruktury drogowej. W takim scenariuszu czytnik umieszczony w pojeździe otrzymuje za jej pośrednictwem informacje wykorzystywane przez systemy wspomagania kierowcy.
,1 & 0 $%&! System identyfikacji bezstykowej drogą radiową RFID składa się z czytnika i obiektu identyfikowanego wyposażonego w identyfikator. Informacja z czytnika do identyfikatora przesyłana jest przy użyciu zmodulowanej cyfrowo fali nośnej, natomiast informacja z identyfikatorów do czytnika przesyłana jest przy pomocy modulacji fali odbitej od identyfikatora. W tym czasie czytnik wysyła niemodulowaną falę nośną, konieczną m.in. do zasilania identyfikatorów.
19
Monitorowanie ruchu ulicznego z wykorzystaniem chmury obliczeniowej i techniki RFID Wyróżnia się trzy tryby pracy systemów RFID. Jeśli w obszarze poprawnej pracy znajduje się tylko jeden obiekt (pojazd) wyposażony w pojedynczy identyfikator, mówimy o identyfikacji pojedynczej. Gdy wiele obiektów poddawanych jest procesowi identyfikacji, nosi ona miano wielokrotnej albo antykolizyjnej. Identyfikacja dynamiczna ma natomiast miejsce wtedy, gdy konieczne jest odczytywanie danych z identyfikatorów umieszczonych na obiektach podczas ich ruchu. Ten tryb pracy systemu różni się od pozostałych ze względu na to, że czas przeznaczony na identyfikację obiektów jest ograniczony, ponieważ obiekty identyfikowane poruszają się i przebywają w obszarze poprawnej pracy przez skończony czas. Na jego funkcjonowanie będą miały wpływ m.in. następujące czynniki: prędkość rozpoznawanych obiektów, ich liczba (może decydować o czasie identyfikacji) i czynniki związane z protokołem komunikacji, warunkujące czas wymiany danych między czytnikiem i identyfikatorami. Stabilna praca systemu RFID w obszarze procesów AVI uwarunkowana jest utrzymywaniem w określonych granicach parametrów elementów składowych tych systemów. Precyzyjne określenie zakresu zmian parametrów elektrycznych, polowych i komunikacyjnych charakteryzujących system RFID umożliwia dokładne wyznaczenie jego obszaru poprawnej pracy [4–6] oraz zastosowanie identyfikatorów, które jednocześnie będą umożliwiały identyfikację: statyczną z niewielkich odległości (systemy bliskiego zasięgu) i dynamiczną (pojazdy poruszające się z określoną prędkością), przy zachowanej odległości od kilkudziesięciu centymetrów do kilku metrów pomiędzy anteną RWD i identyfikatorem (systemy dalekiego zasięgu). Identyfikator RFID może zawierać zbiór informacji, które mogą być zapisane w obszarze pamięci dostępnym tylko do odczytu lub też w obszarze dostępnym do odczytu i zapisu. Najczęściej takie identyfikatory są chronione hasłem, co zabezpiecza je przed możliwością modyfikacji danych. W przypadku infrastruktury inteligentnych miast naturalne jest przed wszystkim zastosowanie identyfikatorów zamontowanych w pojazdach pracujących w trybie tylko do odczytu. Identyfikator RFID może być montowany w pojazdach już na etapie produkcji fabrycznej szczególnie, gdy dotyczy to trudno dostępnych miejsc. Może być również umieszczony samodzielnie przez użytkownika pojazdu, na przykład w formie naklejki na przednią szybę (rys. 1).
Identyfikatory mogą być źródłem dodatkowych informacji wykorzystywanych przez system zarządzania ruchem, na przykład: − pojazd uprzywilejowany, − pojazd transportu miejskiego, − użytkowany przez osobę niepełnosprawną, − pojazd wyposażony w instalację gazową, − typ ładowarki dla pojazdów EV. Systemy identyfikacji RFID najczęściej funkcjonują zgodnie z unormowaniami prawnymi takimi jak: ISO14443 – “Proximity integrated circuit card” i ISO15693 – “Identification cards; Contactless integrated circuit(s) cards; Vicinity cards”[7] i z rodziny ISO18000 – “RFID for item management; Air interface” [8]. W szczególności warto wymienić tutaj normę ISO18000-63 [9], ponieważ dotyczy ona rozwiązań mogących znaleźć zastosowanie przy identyfikacji obiektów w systemach zarządzania ruchem [10–12].
+1 & 0 Zależnie od potrzeb i możliwości instalacyjnych, istnieje wiele opcji dotyczących montażu anten układów czytnika RFID w systemie realizującym zadany proces AVI. Anteny układów RWD mogą być umieszczane na masztach, zawieszone nad drogą, a także zamontowane pod nawierzchnią jezdni (rys. 1). Tego typu elastyczność umożliwia wykorzystanie systemów RFID zarówno do nadzoru ruchu i ewidencjonowania pojazdów wjeżdżających lub opuszczających strefy specjalne, jak również do kontroli natężenia ruchu na drogach, a także zarządzania ruchem w celu rozładowania korków i zwiększenia jego płynności. Rozwiązania przeznaczone do analizy ruchu drogowego stosowane w inteligentnych miastach opierają się często na monitoringu obłożenia pojazdami na skrzyżowaniach lub tuż przed nimi. Jednym z popularniejszych rozwiązań jest przetwarzanie obrazu uzyskiwanego za pomocą kamer [13–16]. Dedykowane algorytmy rozpoznają pojazdy i na bazie danych z nich pozyskiwanych system może: − przełączyć światła drogowe, gdy kamera wykryje odpowiednią liczbę pojazdów na pasie, − wydłużyć bądź skrócić czas działania światła czerwonego lub zielonego, − udostępnić przejazd pojazdowi uprzywilejowanemu, − przesłać informacje odnośnie określonego alertu. Rozwiązanie oparte na obrazie z kamer może nie zawsze funkcjonować poprawnie i może zawieść w trudnych warunkach atmosferycznych czy ograniczonej widoczności. W przypadku silnych opadów atmosferycznych obraz pozyskany z kamery może być nieostry lub elementy identyfikacyjne (tablice rejestracyjne, oznaczenia wizualne pojazdu) mogą być przypadkowo zakryte. W takich sytuacjach algorytm przetwarzania obrazu może nie uwzględnić pewnej puli pojazdów. W proponowanym rozwiązaniu zintegrowano elementy, które funkcjonują niezależnie od panujących warunków atmosferycznych. Zapewniają również redundancję w postaci uwzględniania sygnału pobranego z innego źródła niż kamery, tj. identyfikatora RFID. Przykład infrastruktury miejskiej wykorzystującej identyfikację RFID pokazano na rys. 2. Widać na nim czytniki RFID umieszczone pod powierzchnią ulic, bramki dostępu do wydzielonych obszarów, system komunikacyjny oraz centrum monitorowania ruchu [17]. Biorąc pod uwagę specyfikę produkcji motoryzacyjnej oraz liczne typy pojazdów poruszających się po drogach, w tym pojazdy starsze, w inteligentnej infrastrukturze miejskiej powinny być dostępne hybrydowe rozwiązania, w których pojazdy nieposiadające wymaganych fabrycznych pokładowych systemów łączności mogą być w nie łatwo doposażone. Przykładowo, komunikacja z systemem zarządzania ruchem
Rys. 1. Przykłady montażu elementów systemu RFID do realizacji procesu AVI: a) antena czytnika zainstalowana na maszcie, identyfikator przyklejony na szybie pojazdu, b) antena czytnika zainstalowana pod nawierzchnią drogi, identyfikatory zintegrowane z elementami pojazdu Fig. 1. Examples of RFID system components assembly for the AVI process: a) reader antenna installed on the mast, identifier stuck to the windshield, b) reader antenna installed under the road surface, identifiers integrated with the vehicle components
Identyfikatory mogą być programowane podczas produkcji lub przez dystrybutora pojazdów do udostępniania podstawowych danych o pojeździe i jego charakterystyce, w tym informacje takie jak: − marka pojazdu, − oznaczenie modelu, − rodzaj silnika (EV – electric vehicle, GO – gasoline, D – diesel), − pojemność silnika, − numer identyfikacyjny VIN.
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 21
! " #
L1 . 0
Rys. 2. Infrastruktura miejska z identyfikacją RFID Fig. 2. Urban infrastructure with RFID identification
miejskim może być prowadzona poprzez aplikację mobilną instalowaną w telefonie kierowcy oraz łączność WiFi [18, 19]. Informacje zwrotne z systemu mogą być wyświetlane na ekranach komputerów pokładowych lub ekranie telefonu po wcześniejszej identyfikacji w systemie, co przedstawia algorytm na rys. 3.
!" ! • Uruchomienie pojazdu • Aktywacja usługi, próba logowania do sieci GSM/Wi-Fi • Logowanie zakończone, uwierzytelnij w centrum zarządzania ruchem, wyślij system_id • Jeśli system_id = aplikacja_mobilna Użytkownik korzysta z aplikacji na telefon. Nawiąż połączenie przez wybrane medium W przeciwnym wypadku jeśli system_id = samochod_bez_rfid o Użytkownik korzysta z samochodu z wbudowanym komputerem pokładowym. Nawiąż połączenie przez wybrane medium, o Prześlij odpowiednie dane do pojazdu W przeciwnym wypadku jeśli system_id = samochod_rfid o Użytkownik posiada identyfikator RFID. o Oczekuj na przesłanie danych o Jeśli użytkownik najechał na czytnik RFID Pobierz dane, prześlij do chmury Odbierz informacje, wyświetl odpowiednie, szczegółowe dane na ekranie w pojeździe • W przeciwnym wypadku Pojazd nieznany, spróbuj ponownie Rys. 3. Algorytm identyfikacji rozwiązania wykorzystanego do połączenia z centrum zarządzania ruchem Fig. 3. Service detection algorithm for connection with traffic management system
Posiadając informacje odnośnie pojazdu pozyskane m.in. z identyfikatora RFID przez komputer pokładowy lub aplikację mobilną, można sterować ruchem drogowym w zakresie dostępu do wydzielonych stref szczególnie, jeśli dane pozyskane z kamer mogą być niedostępne lub niewystarczające do określenia uprawnień pojazdu. Coraz więcej miast wprowadza tak zwane strefy ograniczonego dostępu. Głównym czynnikiem motywującym wprowadzanie takich stref jest dbałość o środowisko i powietrze. Warunkiem umożliwiającym wjazd do takiej strefy jest posiadanie (lub nieposiadanie) silnika określonego typu. Jednym z przykładów jest Berlin, do którego centrum nie mogą wjechać pojazdy z silnikiem diesla. Do niektórych krytych parkingów nie można wjechać pojazdem z instalacją gazową. Pojawiają się również obszary niedostępne dla innych pojazdów niż elektryczne. Strefą ograniczonego dostępu mogą być objęte określone obszary miasta (centrum) oraz obszary należące do firm czy miejsca publiczne. Rysunek 4 prezentuje przykładowy fragment miasta z infrastrukturą uliczną używaną do symulacji oraz wykorzystaną do budowy stanowiska testowego opisanego dalej. Podzielono ją na cztery obszary. U góry po lewej symbolicznie przedstawiono pozostałą część miasta. Obszar A to strefa ograniczonego dostępu, wypoczynkowy, naturalny, do którego można wjechać tylko pojazdami elektrycznymi. Obszary B1 i B2 to parkingi przeznaczone odpowiednio dla pojazdów benzynowych i elektrycznych. Obszar C na rysunku przedstawia rozwiązania komunikacyjne. W dotychczasowych rozwiązaniach na wjazdach do strefy A stałby znak z zakazem wjazdu z odpowiednią informacją. Mimo wszystko kierowca mógłby nie zauważyć lub zignorować ten znak i samodzielnie dostać się do strefy posiadając samochód z innym niż elektryczny typem silnika. Wraz z wykorzystaniem komunikacji bezprzewodowej i identyfikacji RFID system monitorowania ruchem drogowym może zostać poinformowany, jakiego typu pojazd porusza się w danej strefie, przekazać odpowiedni komunikat dla kierowcy lub ewentualnie zaalarmować służby porządkowe. W przypadku pojazdu uprzywilejowanego taki alarm nie będzie zgłaszany.
Rys. 4. Infrastruktura miejska z wydzielonymi strefami ruchu Fig. 4. Urban infrastructure with separate traffic zones
21
Monitorowanie ruchu ulicznego z wykorzystaniem chmury obliczeniowej i techniki RFID
M1 )
Dla pojazdów danego typu może być wyznaczona odpowiednia strefa parkingowa (rys. 4 B1 i B2). W przypadku pojazdów benzynowych będzie to obszar B1, jednak pojazdy elektryczne mają specjalnie wyznaczone miejsca parkingowe związane przede wszystkim z dostępem do stacji ładowania pojazdów. W takim przypadku dla pojazdów elektrycznych może być przeznaczony inny obszar (B2), na przykład budynek lub wydzielone piętro na parkingu z możliwością wjazdu do strefy EV. Pojazdy z silnikiem benzynowym będą miały swój parking (B1) w pewnej odległości od stref czy centrów miast zachęcając użytkowników do korzystania z transportu publicznego, bądź rowerów czy hulajnóg. Dzięki komunikacji z centralnym systemem zarządzania ruchem pojazdy mogą nawet rezerwować miejsca parkingowe podczas wyjazdu z domu [20, 21]. Co więcej, informacje zawarte w identyfikatorze RFID mogą posłużyć do wyznaczenia odpowiedniego dla pojazdu elektrycznego miejsca parkingowego z kompatybilną ładowarką.
Pojazd w czasie jazdy najeżdża na czytniki RFID instalowane w infrastrukturze drogowej, które odczytują informacje zapisane w jego identyfikatorze i przesyłają dalej (rys. 4C). Jest to ustalona informacja zgodna z odpowiednio opracowanymi normami. Dla przykładu FP_14_GO oznacza pojazd Fiat Punto z silnikiem o pojemności 1,4 l oraz typem silnika określonym jako benzyna. Dane odczytane z identyfikatora przesyłane są do punktu dostępowego, na przykład wieży sieci GSM. Następnie dane są przesyłane do wieży głównej, a dalej do chmury obliczeniowej, która w omawianym rozwiązaniu oparta jest o usługę Azure IoT Hub. Rysunek 5 przedstawia uproszczony algorytm odczytujący dane z identyfikatora RFID i przesyłający je do chmury. System monitorowania ruchu drogowego analizuje pozyskane dane i wytycza trasę dla kierowcy biorąc pod uwagę, jaki jest
$! ! ! % &'(
)( ! % ! % "
* ./* 0 * + , -+ , 1 /+ 0 , 1 2 / 3 0 *
• Czekaj na identyfikator RFID • Jeżeli wykryto identyfikator w obszarze poprawnej pracy czytnika Pobierz Weryfikator identyfikatora Zweryfikuj zgodność: Jeżeli Weryfikator identyfikatora = True o Pobierz UID, Dane pojazdu o Dodaj do ramki informacje lokalizacyjne czytnika RFID o Prześlij dane do Azure IoT Hub W przeciwnym wypadku o Zignoruj dane Koniec warunku • Skocz do Czekaj na identyfikator RFID
• Pobierz Położenie A, Położenie B • Wyznacz podstawową trasę • Pobierz dane: ObciążenieRuchu, TopografiaTerenu, StrefyZamknięte • Modyfikuj Trasa Uwzględnij TypSilnika i StrefyZamknięte Uwzględnij PojemnośćSilnika i TopografiaTerenu Uwzględnij ObciążenieRuchu Zaktualizuj Trasa • Zwróć Trasa Rys. 7. Algorytm wyznaczania trasy Fig. 7. Route mapping algorithm
Rys. 5. Algorytm odczytu danych z identyfikatora RFID Fig. 5. Algorithm for reading data from the RFID tag
! )( * + , -+ " * • Czekaj na dane z czytników RFID • Jeżeli Azure = True Pobierz z Azure IoT Hub dane: UID, Dane pojazdu, Lokalizację czytnika RFID Porównaj UID z bazą danych Jeżeli UID występuje w bazie danych (pojazd przesłał wcześniej dane do chmury) o Sprawdź czy pojazd o UID porusza się wyznaczoną trasą (Trasa = True) Kontynuuj() o Jeżeli pojazd zjechał z wyznaczonej trasy (Trasa = False) Trasa = AktualizujTrasę(Trasa) PrześlijTrasęDoPojazdu(Trasa) o Koniec warunku o Wyciągnij informacje z pozyskanych nowych danych Azure o Sprawdź TypSilnika, PojemnośćSilnika o Wyznacz Trasa() o PrześlijTrasęDoPojazdu(Trasa) Zakończ warunek • Skok do Czekaj na dane z czytników RFID Rys. 8. Dynamicznie zmieniane znaki drogowe dla pojazdów na drodze Fig. 8. Dynamically alter road signs for vehicles on the road
Rys. 6. Algorytm analizy danych w chmurze Fig. 6. Data analysis algorithm in the cloud
22
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 21
! " #
typ silnika oraz jakie ma orientacyjne spalanie. Bazując na tych danych system może wybrać najbardziej optymalną trasę w zależności od preferencji użytkownika lub narzuconych przez infrastrukturę miasta. Algorytmy uruchamiające analizę danych w chmurze oraz aktualizujące trasę pojazdu przedstawiono na rys. 6 i 7. Do sterowania ruchem pojazdów można wykorzystać dynamicznie modyfikowane znaki drogowe [22]. Mogą nimi być tablice informacyjne, na których system może wyświetlać informacje o ruchu. Urządzenia takie są sprzężone z chmurowym centrum zarządzania i monitoringu ruchu drogowego (rys. 8). W omawianym rozwiązaniu informacje te mogą być indywidualnie kierowane do zbliżającego się pojazdu, na tyle wcześniej, aby kierowca był w stanie je odczytać. W przypadku karetki pogotowia zmierzającej do wypadku, ekran może zawierać informacje w postaci: PL_RZ 12345, skręć w prawo. Informacje na ekranie są spójne z informacjami przesłanymi do komputera pokładowego pojazdu czy aplikacji mobilnej.
P1 8 - & * 6 # Omawiane rozwiązanie oparte jest o komunikację między czytnikami RFID, pojazdami i chmurą obliczeniową. W prototypie zdecydowano się na użycie środowiska chmurowego Microsoft Azure IoT Hub dedykowanego do obsługi urządzeń tzw. Internetu rzeczy (Internet of Things). Służy do monitorowania i kontroli zasobów urządzeń IoT, a dodatkowo zabezpiecza systemy operacyjne takich urządzeń oraz zasoby sprzętowe przed niewłaściwym użyciem. Chronione są także przesyłane dane
Database
oraz procesy ich analizy. IoT Hub składa się z trzech zasadniczych składników: − obiekty fizyczne – podłączone do chmury w sposób trwały lub sporadyczny wysyłają do niej dane, − informacje zbierane – analizowane i przekształcane na wiedzę przetwarzaną następnie przez ludzi lub sztuczną inteligencję, − akcje – użytkownicy wykorzystują wyniki analiz i informacje do realizacji odpowiednich działań. Rysunek 9 przedstawia schemat infrastruktury wykorzystanej w laboratoryjnym stanowisku do komunikacji między usługami chmurowymi a pozostałymi komponentami systemu. Poruszające się pojazdy mają zamontowane identyfikatory RFID z podstawowymi informacjami o pojeździe (w tym czy pojazd jest uprzywilejowany). Czytniki RFID umieszczone pod powierzchnią drogi odczytują te dane i wysyłają do jednego z urządzeń Raspberry Pi (RPi), pełniących rolę przekaźników danych i sterujących infrastrukturą drogową. Urządzenia te wykonują algorytm pokazany na rys. 4 zaimplementowany w języku Python. Komunikacja między RPi a czytnikami odbywa się według standardu SPI. Odczytane dane pojazdu są następnie przesyłane do usługi IoT Hub za pośrednictwem protokołu MQTT. IoT Hub pozwala na dwukierunkową komunikację z urządzeniami, dzięki czemu można nie tylko odbierać dane, ale również wysyłać polecenia do podłączonych urządzeń. Każde z podłączonych urządzeń posiada własne uwierzytelnianie, które pozwala zachować poufność wysyłanych komunikatów. Dodatkowo IoT Hub pozwala na automatyzację dodawania urządzeń, dzięki czemu kolejne rozszerzanie infrastruktury wymaga niewielkich zabiegów. W celu nawiązania połączenia między urządzeniem a IoT Hub należy użyć tzw. łańcucha połączenia (connection string), który zawiera informacje potrzebne do poprawnego połączenia z usługą. Ciąg ten zawiera
App Service
IoT Hub MQTT
Vehicle
RFID Tag
RFID reader
RFID reader
Data through the SPI protocol
RFID Tag
Data through the SPI protocol
RPi
Truck
RFID Tag
RFID reader
Pick-up
Rys. 9. Architektura komunikacyjna proponowanego rozwiązania Fig. 9. Communication architecture of the proposed solution
Rys. 10. Fragment stanowiska laboratoryjnego Fig. 10. Part of the laboratory stand
Rys. 11. Dziennik przesłań danych do Azure IoT Hub Fig. 11. Log of data transfers to Azure IoT Hub
23
Monitorowanie ruchu ulicznego z wykorzystaniem chmury obliczeniowej i techniki RFID nazwę hosta usługi, nazwę urządzenia oraz udostępniony klucz dostępu. Określa on zasady regulujące uprawnienia, w jakie urządzenie jest wyposażone. Komunikacja z chmurą była testowana z użyciem stanowiska laboratoryjnego imitującego infrastrukturę ruchu ulicznego, którego część przedstawiono na rys. 10. Przemieszczający się pojazd ma zamontowany identyfikator RFID, a białe punkty na drodze oznaczają miejsca jego odczytu. Przykładowy zapis danych wysyłanych przez urządzenia RPi do chmury w formacie JSON przedstawiono na rys. 11. Na rysunku 9 zamieszczono również dwie inne usługi chmurowe wykorzystane w prototypowym rozwiązaniu. Pierwsza z nich AppService, jest odpowiedzialna za aplikację monitorującą i sterującą. Odpowiada ona m.in. za realizację algorytmów z rys. 6 i 7 i została zaimplementowana w Node.js. Druga usługa to nierelacyjna baza danych CosmosDB służąca do składowania informacji o ruchu pojazdów.
6. Jankowski-Mihułowicz P., Węglarski M., Factors affecting the synthesis of autonomous sensors with RFID interface, “Sensors”, Vol. 19, No. 20, 4392, 2019, DOI: 10.3390/s19204392. 7. ISO/IEC 14443-3:2016, Identification cards – Contactless integrated circuit cards – Proximity cards. 8. ISO/IEC 15693, Identification cards – Contactless integrated circuit cards – Vicinity cards. 9. ISO/IEC 18000-6:2013 Information technology – Radio frequency identification for item management – Part 6: Parameters for air interface communications at 860 MHz to 960 MHz General. 10. Pawłowicz B., Trybus B., Salach M., Jankowski-Mihułowicz P., Dynamic RFID Identification in Urban Traffic Management Systems. “Sensors”, Vol. 20, No. 15, 2020, DOI: 10.3390/s20154225. 11. Prinsloo J., Malekian R., Accurate Vehicle Location System Using RFID, an Internet of Things Approach. “Sensors”, Vol. 16, No. 6, 2016, DOI: 10.3390/s16060825. 12. Wang J., Ni D., Li K., RFID-Based Vehicle Positioning and Its Applications in Connected Vehicles. “Sensors”. Vol. 14, No. 3, 2014, 4225–4238, DOI: 10.3390/s140304225. 13. Mandal V., Mussah A.R., Jin P., Adu-Gyamfi Y., Artificial Intelligence-Enabled Traffic Monitoring System. “Sustainability”, Vol. 12, No. 21, 2020; DOI: 10.3390/su12219177. 14. Zhao S., Wang C., Wei P., Zhao Q., Research on the Deep Recognition of Urban Road Vehicle Flow Based on Deep Learning. “Sustainability”, Vol. 12, No. 7. 15. Pillai U.K.K., Valles D., Vehicle Type and Color Classification and Detection for Amber and Silver Alert Emergencies Using Machine Learning, 2020 IEEE International IOT, Electronics and Mechatronics Conference (IEMTRONICS), 1–5, Vancouver, BC, Canada, 2020, DOI: 10.1109/IEMTRONICS51293.2020.9216368. 16. Razavi M., Hamidkhani M., Sadeghi R., Smart Traffic Light Scheduling in Smart City Using Image and Video Processing, 2019 3rd International Conference on Internet of Things and Applications (IoT), Isfahan, Iran, 2019, 1–4, DOI: 10.1109/IICITA.2019.8808836. 17. Bagula A., Castelli L., Zennaro M., On the Design of Smart Parking Networks in the Smart Cities: An Optimal Sensor Placement Model. “Sensors”, Vol. 15, No. 7, 2015, 15443– 15467, DOI: 10.3390/s150715443. 18. Elmrini A., Amrani A.G., Wireless Sensors Network for Traffic Surveillance and Management in Smart Cities, 2018 IEEE 5th International Congress on Information Science and Technology (CiSt), Marrakech, 2018, 562–566, DOI: 10.1109/CIST.2018.8596636. 19. Naik D.R., Das L.B., Bindiya T.S., Wireless Sensor networks with Zigbee and WiFi for Environment Monitoring, Traffic Management and Vehicle Monitoring in Smart Cities, 2018 IEEE 3rd International Conference on Computing, Communication and Security (ICCCS), Kathmandu, 2018, 46–50, DOI: 10.1109/CCCS.2018.8586819. 20. Kazi S., Nuzhat S., Nashrah A., Rameeza Q., Smart Parking System to Reduce Traffic Congestion, 2018 International Conference on Smart City and Emerging Technology (ICSCET), Mumbai, 2018, 1–4, DOI: 10.1109/ICSCET.2018.8537367. 21. Melnyk P., Djahel S., Nait-Abdesselam F., Towards a Smart Parking Management System for Smart Cities, 2019 IEEE International Smart Cities Conference (ISC2), Casablanca, Morocco, 2019, 542–546, DOI: 10.1109/ISC246665.2019.9071740. 22. García Oya J.R., Martín Clemente R., Hidalgo Fort E., González Carvajal R., Muñoz Chavero F., Passive RFIDBased Inventory of Traffic Signs on Roads and Urban Environments. “Sensors”, Vol. 18, No. 7, 2018, DOI: 10.3390/s18072385.
T1 Przedstawiona w artykule infrastruktura integruje technikę RFID z chmurą obliczeniową w celu sprawnego i pewnego zarządzania ruchem miejskim. Szczególny nacisk położono na uwzględnienie tych zmian, które w ostatnim czasie miasta wprowadzają w zakresie dostępu do wydzielonych obszarów zależnego od cech pojazdu. Testy z użyciem prototypu laboratoryjnego potwierdziły, że takie połączenie łączy korzyści związane z procesami identyfikacji pojazdów realizowanymi dzięki RFID z możliwościami, jakie daje chmura obliczeniowa w zakresie przetwarzania i składowania danych oraz wykonywania złożonych algorytmów. Wydaje się, że taka integracja technologii pozwala rozszerzyć współczesne rozwiązania komunikacyjne w pojazdach, znane pod pojęciem connected car.
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 kwota finansowania 11 999 900 zł”
Q # 0 1. Goudar R.H., Megha H.N., Next generation intelligent traffic management system and analysis for smart cities, 2017 International Conference on Smart Technologies for Smart Nation (SmartTechCon), Bangalore, 2017, 999–1003, DOI: 10.1109/SmartTechCon.2017.8358521. 2. Ksiksi A., Al Shehhi S., Ramzan R., Intelligent Traffic Alert System for Smart Cities, 2015 IEEE International Conference on Smart City/SocialCom/SustainCom (SmartCity), Chengdu, 2015, 165–169, DOI: 10.1109/SmartCity.2015.65. 3. Sundar R., Hebbar S., Golla V., Implementing Intelligent Traffic Control System for Congestion Control, Ambulance Clearance, and Stolen Vehicle Detection, “IEEE Sensors Journal”, Vol. 15, No. 2, 2015, 1109–1113, DOI: 10.1109/JSEN.2014.2360288. 4. Ukkonen L., Sydanheimo L., Kivikoski M., Read Range Performance Comparison of Compact Reader Antennas for a Handheld UHF RFID Reader, “IEEE Communications Magazine”, Vol. 45, No. 4, 2007, 24–31, DOI: 10.1109/MCOM.2007.348674. 5. Jankowski-Mihułowicz P., Węglarski M., Definition, Characteristics and Determining Parameters of Antennas in Terms of Synthesizing the Interrogation Zone in RFID Systems, Radio Frequency Identification, Crepaldi P.C., Pimenta T.C. (Ed.), Chapter 5, 65–119, INTECH, 29 November 2017, DOI: 10.5772/intechopen.71378.
24
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 21
! " #
6 Z / & & ) & ) QX?P 6 & The article presents the architecture and implementation of a street traffic monitoring system. It uses RFID identifiers to recognize vehicles, including special meaning, such as ambulances, city buses, vehicles with reduced exhaust gas emissions. Traffic data is sent to the IoT Hub service in the Azure cloud. On their basis, road situations are analyzed and decisions are made regarding traffic control. Control information is fed back to traffic control devices by means of street lights, barriers, information boards. The article describes the method of communication with the computing cloud and the possibilities of implementing traffic monitoring and control algorithms using IoT Hub. KeywordsH QX?P% % ) &% ) Y
) " # $
A) 8 ) 0 S F 6 I ) F S ? $ O F Q P ) F I ) S % A % ? $ F S A#[ 8 *!-* " & & 0 L ) ) 4 F 0 ) $ L QX?P R
A ) 0 M F I ) S ? $ F O Q 4 L ) ? F Q % \Q
% #
& ' (
A) 8 ) ? $ A O Q R ) I ) S % A % ? $ F S A#[ 8 P $ *!!E " & & 0 L ) ) 4 0 F & ) & F 4 &
) ? $ O F Q ? L L R % 4 ? 6 4 F
L ( ) ORCID: 0000-0001-9469-2754
L L ( ) ORCID: 0000-0002-4588-3973
( ) ORCID: 0000-0002-9199-3460
-H!.-.( ) ) ORCID: 0000-0002-8131-5789
25
NR 3/2015
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 21
Pomiary Automatyka Robotyka, ISSN 1427-9126, R. 25, Nr 1/2021, 27–34, DOI: 10.14313/PAR_239/27
I ) ; 6/ * ) ) & ) 0 Marcin Hubacz, Jan Sadolewski, Bartosz Trybus
O Q % I ) S ? $ % I & O *% GF!*- Q 0
Streszczenie: W artykule przedstawiono badania wydajności wykonywania przez mikrokontrolery STM32 kodu dla maszyny wirtualnej (tzw. kodu pośredniego) dedykowanej dla systemów sterowania. Architektura ARM zastosowana w tych układach odznacza się ograniczeniami związanymi z dostępem do niewyrównanych adresów. Zaproponowano trzy sposoby wyeliminowania tych ograniczeń, a każdy z nich poddano zestawowi testów mających ustalić ich wydajność. Testy przeprowadzono dla dwóch trybów działania, tj. z 16- i 32-bitowym adresowaniem dla różnych generacji układów. Wyniki testów pozwalają dobrać właściwe rozwiązanie dla określonej platformy. )/ H 6/ *% AQ/% % ) )
1. Wprowadzenie Na budowę typowego rozwiązania składa się sprzęt oraz oprogramowanie. Nowe technologie, ukierunkowane na uniwersalne rozwiązania sprawiają, że tworzone oprogramowanie w dużej mierze traci idee optymalizacji i wydajności na rzecz przenaszalności i łatwego wdrożenia. Dotyczy to również systemów sterowania. Od strony sprzętowej sterowniki PLC konstruuje się w dużej mierze o oparciu o mikrokontroler. Od jego właściwości zależą możliwości oferowane przez system sterowania, w tym skalowalność. Aktualnie dostępne nawet małe mikrokontrolery mają spore możliwości obliczeniowe, obsługują dużą ilość pamięci operacyjnej, co czyni je częstym wyborem w zastosowaniach wielu gałęzi elektroniki. Coraz chętniej wykorzystywane są przede wszystkim układy oparte o architekturze RISC, w szczególności ARM. Jednym z przedstawicieli jest popularna rodzina mikrokontrolerów STM32 firmy STMicroelectronics, która obejmuje układy spełniające różne wymagania [3]. W jej skład wchodzą mikrokontrolery ogólnego zastosowania, nakierowane na dobrą wydajność oraz charakteryzujące się niskim zużyciem energii. Przy wyborze jednego z układów tej platformy można brać pod uwagę takie czynniki, jak wydajność, cena, zasób peryferii oraz portów GPIO. Przenaszalność oprogramowania między poszczególnymi przedstawicielami tej rodziny może jednak sprawiać problemy.
- H / [ L % L ( ) - / ) *+ -- *!*! % ) ) -. !* *!*-
!
Występują bowiem istotne różnice miedzy architekturą rdzeni procesorów. Różnice te wpływają na wydajność oprogramowania i mogą spowodować błędy w jego działaniu. W szczególności może to dotyczyć oprogramowania sterującego wykonywanego po stronie sterownika w formie kodu pośredniego.
,1 8 Efektem działania typowych kompilatorów języków programowania jest binarny kod maszynowy przeznaczony dla określonej platformy docelowej (target), której najważniejszym elementem jest architektura jednostki centralnej. Uwzględniany jest przy tym m.in. zestaw instrukcji procesora, rozmiar słowa, układ pamięci. Dzięki temu utworzony kod jest efektywnie uruchamiany i wykonywany na platformie docelowej. Kompilator wraz z programem łączącym (linker) może przy tym skorzystać z jej cech i utworzyć kod optymalny, którego wydajność będzie najlepsza dla tej platformy. Wada tego podejścia objawia się w przypadku, gdy oprogramowanie ma być uruchamiane na sterownikach różnych pod względem architektury sprzętowej. Wówczas dla każdego z nich niezbędne jest wykorzystanie oddzielnego kompilatora, dedykowanego dla danej platformy (cross-compiler). Kod binarny jest następnie przenoszony na docelowe urządzenie i tam uruchamiany. Ze względu na różne implementacje kompilatorów, wynikowy kod może mieć inną charakterystykę czasową, a w niektórych przypadkach efekty działania programu po skompilowaniu mogą się różnić. Rozwiązaniem alternatywnym jest użycie interpretera kodu po stronie sterownika. Interpreter działa w oparciu o kod źródłowy programu, a nie kod maszynowy przeznaczony dla docelowego procesora. Dzięki temu możliwe jest przygotowanie jednego kodu programu, który następnie jest umieszczany na różnych sterownikach. Kod źródłowy programu jest więc przenaszalny. W takim
27
' > iF # hL # # # 8 i &K przypadku interpreter przetwarza instrukcje w kodzie programu na odpowiednie działania realizowane za pomocą dostępnego sprzętu, przede wszystkim jednostki centralnej. Wadą tego rozwiązania jest czas potrzebny na interpretację kodu programu, przez co jego wykonywanie jest zwykle znacznie wolniejsze niż w przypadku przygotowywania kodu maszynowego. Dodatkowo, błędy w kodzie źródłowym są wykrywane dopiero podczas uruchomienia. Rozwiązaniem kompromisowym, które stanowi podstawę niniejszej pracy jest zastosowanie tzw. maszyny wirtualnej. Polega ono na utworzeniu po stronie sterownika środowiska uruchomieniowego w formie emulowanego procesora wraz z dodatkowymi modułami niezbędnymi do wykonywania kodu. Kod ten jest przygotowany z uwzględnieniem charakterystyki wirtualnego procesora, jego zestawu instrukcji i emulowanego środowiska. Nie jest to już kod programu, lecz przygotowywany przez kompilator binarny kod maszynowy, przeznaczony dla wirtualnego procesora. Wystarczy więc jeden kompilator, a jego zastosowanie wiąże się z możliwością wykrycia błędów wcześniej, przed przesłaniem programu do sterownika. Kod binarny zwany jest kodem pośrednim (intermediate code), bowiem jego wykonywanie musi być realizowane przez maszynę wirtualną [6, 10, 14]. Jest to kod przenaszalny, uniwersalny, gdyż nie zależy od architektury platformy docelowej. Przygotowane w ten sposób moduły programowe mogą być dowolnie rozmieszczane w węzłach rozproszonego systemu sterowania, niezależnie od jednostek centralnych w tych węzłach. Wadą tego rozwiązania jest dłuższy czas wykonywania (choć nie tak długi jak przy interpreterze kodu źródłowego) oraz konieczność implementacji maszyny wirtualnej na każdym typie sterownika.
Rys. 1. Uproszczona architektura maszyny wirtualnej używanej do badań Fig. 1. The simlified archiitecture of the virtual machine used for the research
stawia wyniki kompilacji wyrażenia logicznego zapisanego w języku ST [12] (rys. 2a) i ustalającego stan zmiennej wyjściowej MOTOR na podstawie wartości zmiennych START i STOP oraz stanu wcześniejszego. Poniżej (b) przedstawiono wygenerowany przez kompilator kod asemblerowy używający mnemoników rozkazów maszyny wirtualnej. Są to rozkazy skoków (JZ, JMP), operatory logiczne (OR, NOT) oraz instrukcja inicjująca (MCD). We fragmentach (c) i (d) zamieszczono kod pośredni wykonywany przez maszynę wirtualną. Część (c) dotyczy kodu 16-bitowego, a (d) – 32-bitowego. Rozkazy są tu zastąpione ich kodami liczbowymi (np. OR – 0920), a zmienne i etykiety ich adresami w pamięci kodu i danych (np. MOTOR – 0200 i 02000000). Niestety, wydajność dla niektórych konfiguracji sprzętowych maszyny 32-bitowej okazała się gorsza niż maszyny 16-bitowej,
+1 ; # +1U1 ! "
28
P
O
M
I
A
R
Y
•
A
U
T
O
M
MOTOR:=(START OR MOTOR) AND NOT STOP
a)
Założeniem projektowym środowiska programistyczno-uruchomieniowym CPDev [15] są wcześniej wymienione przenaszalność i uniwersalność oprogramowania tworzonego w językach normy PN-EN 61131-3 [8, 13], osiągane przede wszystkim za pomocą kodu pośredniego. Głównym filarem pakietu jest maszyna wirtualna CPDev, którą można dostosować do określonej platformy sprzętowej [2]. Wykorzystanie wirtualizacji pozwoliło na oddzielenie architektury od wykonywanego kodu programu. Efektem ubocznym takiego rozwiązania jest zmniejszenie wydajności opracowywanego systemu. Maszyna wirtualna została zaimplementowana m.in. w sterownikach opartych na mikrokontrolerach, w tym ARM, x86/x64, Xtensa oraz na układach FPGA [7]. Rysunek 1 przedstawia najważniejsze moduły maszyny wirtualnej. Za wykonywanie kodu pośredniego odpowiada interpreter instrukcji. Pamięć kodu przechowuje kod pośredni programu, zaś pamięć danych – wartości zmiennych. Podczas wykonywania kodu i wywołania podprogramów używane są odpowiednie stosy. Pierwotnie uwzględniono w maszynie wirtualnej 16-bitową adresację pamięci (maszyna 16-bitowa), co ograniczyło rozmiar pamięci kodu oraz danych do 64 kB. Środowisko CPDev było planowane do małych i średnich systemów sterowania wykorzystujących 8- i 16-bitowe mikrokontrolery, a więc wartość ta była w zupełności wystarczająca dla typowych zastosowań [11]. W późniejszym okresie użytkownicy zaczęli stosować CPDev do większych systemów, gdzie prym wiodą rozbudowane środowiska CODESYS, ISaGRAF itp. [1, 9]. Okazało się wówczas, że oprogramowanie sterujące może nie zmieścić się w dostępnym obszarze pamięci (64 kB). W szczególności problem ten objawił się przy konstruowaniu algorytmów dla autopilota okrętowego [16]. W celu rozwiązania tego problemu zwiększono rozmiar adresu maszyny wirtualnej do 32 bitów (maszyna 32-bitowa), co daje teoretyczny rozmiar kodu i danych do 4 GB. Rysunek 2 przed-
$DEFAULT.OR ?LR?ANDA000B, START, MOTOR $VMSYS.JZ ?LR?ANDA000B, :?Start_stop.MAIN?AND000A $DEFAULT.NOT ?LR?ANDA000D, STOP $VMSYS.JZ ?LR?ANDA000B, :?Start_stop.MAIN?AND000A $VMSYS.MCD MOTOR, #01, #01 $VMSYS.JMP :?Start_stop.MAIN?EAND0010 :?Start_stop.MAIN?AND000A $VMSYS.MCD MOTOR, #01, #00
b)
c)
:0024| :002c| :0032| :0038| :003e| :0044| :0048|
0920 1C02 0510 1C02 1C15 1C00 1C15
d)
:00000034| :00000042| :0000004c| :00000056| :00000060| :00000068| :0000006e|
0300 0300 0400 0400 0200 4E00 0200
0920 1C02 0510 1C02 1C15 1C00 1C15
0000 0200 4800 0100 4800 01 01 01 00
03000000 03000000 04000000 04000000 02000000 76000000 02000000
00000000 02000000 6E000000 01000000 6E000000 01 01 01 00
Rys. 2. Przygotowanie programu a) kod w języku ST, b) kod w VMASM, c) kod pośredni dla maszyny 16-bitowej, d) kod pośredni dla maszyny 32-bitowej Fig. 2. Preparation of a program a) code in ST, b) code in VMASM. c) intermediate code for 16-bit machine, d) intermediate code for 32-bit machine
A
T
Y
K
A
•
R
O
B
O
T
Y
K
A
NR 1 / 20 21
$ # co postawiło pod znakiem zapytania jej użyteczność. Szczególnie dotyczyło to rozwiązań opartych o architekturę ARM, w tym układów STM32. Zauważono również, że wydajność ta różni się w zależności od konkretnego modelu.
+1,1 - )* +, Architektura ARM wykorzystywana w rodzinie STM32 charakteryzuje się pracą na adresacji wyrównanej [4, 5]. Dostęp wyrównany rozumie się jako operacja odczytu, w której adres danych jest podzielny przez liczbę bajtów określających ich rozmiar. W przypadku słowa dotyczy to podzielności adresu przez cztery, a dla półsłowa podzielności adresu przez dwa. Dostęp do bajtów jest zawsze wyrównany. Zależnie od wersji architektury niektóre operacje działania na adresach nieparzystych oraz tzw. półsłowach (half-word) są niedozwolone. Jako platformy testowe do badań wykorzystano mikrokontrolery STM32, które wyposażone są procesory ARM różnych generacji. Seria mikrokontrolerów w podstawowym zakresie obejmuje następujące rdzenie: − Cortex M0/M0+ (ARMv6-M, Von Neumann), − Cortex M3 (ARMv7-M, Harvard), − Cortex M4 (ARMv7E-M, Harvard), − Cortex M7 (ARMv7E-M, Harvard). Ze względu na duże różnice między ARMv6-M oraz ARMv7-M z perspektywy działania maszyny wirtualnej zdecydowano się na użycie serii STM32F0 oraz STM32F4 [4, 5]. Wykorzystane mikrokontrolery to: − STM32F072RB (Cortex-M0), − STM32F446RB (Cortex-M4). Na podstawie specyfikacji wybranych rdzeni ARM określono istotne dane dotyczące wsparcia instrukcji procesora dla pracy z niewyrównanymi danymi w pamięci. Najniższa seria F0 wykorzystująca rdzeń Cortex-M0 nie ma wsparcia dla operacji na niewyrównanych danych, a każdorazowa próba wywołania takiej czynności na pamięci powoduje krytyczny błąd procesora. W przypadku wyższej serii Cortex-M4 ze zwiększoną liczbą instrukcji, otrzymujemy wsparcie dla pracy z dostępem do niewyrównanych danych. Dostęp dotyczy operacji odczytu i zapisu takich jak LDR, LDRH, STR, STRH.
+1+1 * Pierwotna implementacja maszyny wirtualnej nie uwzględniała problemu wyrównania danych w architekturze ARM. Efektem tego było występowanie zabronionych operacji na pamięci, które skutkowały krytycznym błędem pracy procesora (Hard Fault). Był on związany z dostępem do niewyrównanych adresów w pamięci. Wprowadzono więc rozwiązanie wykorzystujące bajtowy dostęp do pamięci (zob. niżej), który wyeliminował te sytuacje, lecz okazał się niekorzystny wydajnościowo, szczególnie w maszynie 32-bitowej. Opracowano więc kolejne rozwiązania przedstawione w dalszej części pracy, oparte o kopiowanie pamięci i wyrównanie danych. W celu klasyfikacji jakości tych rozwiązań zaprojektowany został zestaw testów mających na celu ocenę szybkości oraz poprawności działania maszyny wirtualnej. Wykonanie serii testów pozwala na przebadanie wydajności zastosowanego rozwiązania sprzętowego i określenie właściwej metody dostępu do danych. Programy testowe realizowały: − obliczanie liczb doskonałych, − poszukiwanie liczb pierwszych, − konwersja liczb w systemie dziesiętnym na binarny, − symulator statku [16]. W dalszej części pracy programy te określane są jako Test1-3 oraz ShipSim (Tabela 1). Pierwszy wykorzystuje pętle oraz operację modulo. Drugi wprowadza dodatkowo operacje na tabli-
Tabela 1. Opis rodzajów testów oraz wykorzystanych operacji maszyny wirtualnej Table 1. Description of types of tests and virtual machine operations used
Test1
Liczby doskonałe
FOR, WHILE, MOD
Test2
Liczby pierwsze
WHILE, MOD, TABLICE
Test3
Konwersja liczb (system 10 → 2)
FOR, AND, SHL, SRH, OR, XOR
ShipSim
Symulator statku
REAL
cach. Trzeci realizuje operacje bitowe i przesunięcia. Symulator statku jest dużym programem wykonującym działania na zmiennych typu REAL. W dalszej części pracy przedstawiono czasy wykonywania tych testów wyrażone w milisekundach. Ze względu na dużą różnice w czasie wykonywania programu wyniki dla symulatora okrętu (ShipSim) zostały zwiększone 500-krotnie dla łatwiejszego porównania.
L1 QV*4X- 4)) L1U1 W celu ominięcia ograniczenia dostępu do danych i uzyskania kompatybilności maszyny wirtualnej z architekturą ARM opracowana została metoda bajtowego dostępu do pamięci (BYTE_ACCESS). Polega ona na składaniu dowolnego typu danych (2-, 4-, 8-bajtowych) z pojedynczo odczytanych bajtów. Pobranie półsłowa (16 bitów) składa się z dwóch operacji odczytu bajtu danych oraz jednej sumy bitowej. Odczyt słowa (32-bitowego) polegał na odczytaniu dwóch półsłów, a następnie złożenia danych za pomocą sumy. Na rys. 3 przedstawiono implementację instrukcji pobierania danych programu w maszynie wirtualnej za pomocą metody BYTE_ACCESS. Metoda ta pozwoliła na poprawny odczyt pamięci uniezależniając go od ograniczeń występujących w niektórych rdzeniach ARM (na przykład Cortex-M0). Wadą tego rozwiązania jest zwiększony czas potrzebny na składanie półsłowa (2 bajty), a szczególnie pełnych słów danych (4 bajty). 16-bit: GetProgramWord • WM_WORD lo = GetProgramByte(); • WM_WORD hi = GetProgramByte(); • return (hi<<8) | lo; 32-bit: GetProgramDWord • WM_DWORD lo = GetProgramWord(); • WM_DWORD hi = GetProgramWord(); • return (hi<<16) | lo;
Rys. 3. Implementacja instrukcji pobierania zmiennych typu WM_WORD oraz WM_DWORD w trybie BYTE_ACCESS Fig. 3. Implementation of the instruction for load variables of types WM_WORD and WM_DWORD in BYTE_ACCESS mode
Warto zauważyć, że niektóre wersje architektury ARM (np. ARMv7) wspierają część instrukcji ładowania i zapisu z niewyrównanych adresów. W ich przypadku maszyna wirtualna w wersji 16i 32-bitowej pracuje poprawnie nie generując krytycznego wyjątku (Hard Fault). Należy jednak zwrócić uwagę, że sprzętowe wsparcie dla pracy z niewyrównanymi adresami jest często obarczone zwiększoną liczbą cykli procesora na wykonanie tych instrukcji. Wykres na rysunku 4 przedstawia porównanie trybu 16i 32-bitowego z trybem pracy BYTE_ACCESS na wydajniejszej jednostce z Cortex-M4. Ze względu na brak wykorzystania przez BYTE_ACCESS dodatkowych sprzętowych rozwiązań, które ma nowsza architektura, różnica między wersją 32- i 16-bitową jest porównywalna z wynikami dla Cortex-M0. Nadal 32-bitowa wersja maszyny wirtualnej jest nawet o 40 % wolniejsza.
29
' > iF # hL # # # 8 i &K
a)
Rys. 4. Wykres przedstawiający czas wykonywania pojedynczego cyklu programu testowego maszyny wirtualnej 16- i 32-bitowej dla metody BYTE_ACCESS na mikrokontrolerze z rdzeniem Cortex-M4 Fig. 4. Graph showing the execution time of a single cycle of the 16- and 32-bit virtual machine test program for the BYTE_ACCESS method on a microcontroller with Cortex-M4 core
b)
M1 4 VX- 4)) M1U1 W celu zapewnienia kompatybilności z większą liczbą wersji rdzeni ARM i innych architektura oraz poprawienia wydajności pracy maszyny wirtualnej dostęp bajtowy zastąpiony został instrukcją kopiowania memcpy dostępną w standardowej bibliotece języka C. Zmiana powoduje przerzucenie odpowiedzialności wyboru optymalnej metody (instrukcji procesora) na kompilator. Zaletą tego rozwiązania jest wykorzystanie kompilatora, który dobiera właściwe rozwiązanie zależne od możliwości konkretnej platformy. Funkcja memcpy wymaga podania wskaźnika do obiektu docelowego, źródłowego oraz rozmiaru do skopiowania – w naszym przypadku WM_WORD oraz WM_DWORD, czyli odpowiednio dwóch lub czterech bajtów danych (rys. 5).
Rys. 6. Czasy wykonywania pojedynczego cyklu programu testowego maszyny wirtualnej 16- i 32-bitowej dla metody MEMCPY_ACCESS na mikrokontrolerze z rdzeniem Cortex-M0 (a) i Cortex-M4 (b) Fig. 6. Execution times of a single cycle of the 16- and 32-bit virtual machine test program for the BYTE_ACCESS method on a microcontroller with the cores Cortex-M0 (a) and Cortex-M4 (b)
16-bit: GetProgramWord • WM_WORD wRes; • memcpy(&wRes, getCodePtr(wProgramCounter), sizeof(WM_WORD)); 32-bit: GetProgramDWord • WM_DWORD wRes; • memcpy(&wRes, getCodePtr(wProgramCounter), sizeof(WM_DWORD));
nych testów dla Cortex M0 i M4 przedstawiono na rys. 6a i 6b. Efektem rozwiązania było w większości przypadków zauważalne zwiększenie wydajności pracy maszyny wirtualnej. Na podstawie pierwszych obserwacji w obrębie jednej platformy można zauważyć zmniejszenie różnicy czasu wykonywania zadania między 16- i 32-bitową wersją maszyny wirtualnej. Przy metodzie BYTE_ACCESS uzyskaliśmy spadek wydajności przy tej drugiej na poziomie 25–40 %, tutaj oscyluje w granicy 3–9 %. W przypadku Cortex-M4 wersja 32-bitowa tylko w drobnej mierze cechuje się pogorszoną wydajnością (Test1 i Test2). Dzięki zastosowaniu memcpy otrzymaliśmy tu praktycznie brak wpływu zastosowanej wersji maszyny wirtualnej, a wybór wersji 32-bitowej nie pociąga za sobą odczuwalnego spowolnienia pracy systemu. Na rysunku 7 przedstawiono porównanie wyników uzyskanych w metodzie MEMCPY_ACCESS względem BYTE_ACCESS. Nowa metoda pozytywnie wpłynęła na praktycznie wszystkie wyniki czasu obliczeń. Warto jednak zauważyć, że na platformie Cortex-M0 były one o kilka procent gorsze niż w trybie BYTE_ACCESS dla wersji 16-bitowej.
Rys. 5. Implementacja instrukcji pobierania zmiennych typu WM_WORD oraz WM_DWORD w trybie MEMCPY_ACCESS Fig. 5. Implementation of the instruction for load variables of types WM_WORD and WM_DWORD in MEMCPY_ACCESS mode
M1,1 * Metoda MEMCPY_ACCESS nie wymaga zmian w pozostałych modułach CPDev, w tym kompilatora oraz utworzenia nowego kodu pośredniego. Nie powoduje też nieoczekiwanych błędów spowodowanych niewspieraną metodą odczytu danych przez wykorzystaną architekturę. Zaproponowane rozwiązanie przetestowane zostało w tych samych warunkach co BYTE_ACCESS. Wyniki poszczegól-
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 21
$ #
a)
b)
Rys. 7. Porównanie czasów wykonywania pojedynczego cyklu programu testowego maszyny wirtualnej 16- i 32-bitowej dla metody BYTE_ACCESS oraz MEMCPY_ACCESS na mikrokontrolerze z rdzeniem Cortex-M0 (a) i Cortex-M4 (b) Fig. 7. Comparison of execution times of a single cycle of the 16- and 32-bit virtual machine test program for the BYTE_ACCESS and MEMCPY_ACCESS method on a microcontroller with the cores Cortex-M0 (a) and Cortex-M4 (b)
P1 -9&3:XLQ J P1U1 Ze względu na brak wsparcia przez niektóre układy mikroprocesorowe odczytu danych wyrównanych do pełnych słów zdecydowano się na opracowanie nowego kompilatora CPDev, którego zadaniem jest tworzenie kodu pośredniego uwzględniającego takie ograniczenia. Wprowadzony został dodatkowy narzut informacji mający na celu generowanie instrukcji wyłącznie w odstępach czterobajtowych. Rozwiązanie to nakierowane jest ściśle na obsługę przez procesory z adresacją 32-bitową, w szczególności z architekturą ARM. Do tej pory kompilator generował kod niewyrównany zarówno w wersji 16- jak i 32-bitowej. Część instrukcji mogła zawierać niewyrównaną liczbę słów, co powodowało dowolność w adresach kolejnych instrukcji. Widać to dobrze na rys. 2d, gdzie instrukcja inicjująca MCD ma niewyrównaną liczbę bajtów operandów. W celu przyspieszenia wykonywania instrukcji w architekturze 32-bitowej zastosowano wyrównanie kodu instrukcji i jej operandów do granicy czterech bajtów. W celu odróżnienia instrukcji niewyrównanych od ich wyrównanych odpowiedników wprowadzono w pliku opisującym platformę docelową dodatkowe kody instrukcji. I tak zamiast instrukcji inicjującej MCD używana jest instrukcja MCD4A, FPAT wypełniająca obszar danych zostaje zastąpiona przez FPAT4A, a odczytująca wartości spod wskaźników DPRDL – przez DPRDL4A. W zastosowanym podejściu funkcje te mają dodatkowo większe możliwości niż ich wcześniejsze odpowiedniki. Przykładowo, stosowanie MCD4A nie ma ograniczenia maksymalnej długości inicjowanego bloku do 255 B. Funkcje te zostały zaimplementowane w maszynie wirtualnej jako opcja dostępna po zdefiniowaniu symbolu kompilacji ALIGN_4B. Wprowadzenie nowych wyrównanych instrukcji odbiło się jednak negatywnie na wcześniej skompilowanych bibliotekach dostarczanych wraz ze środowiskiem CPDev. Wraz z pojawieniem się różnych instrukcji inicjujących konieczne było wprowadzenie nowego formatu bibliotek prekompilowanych, które zawierałyby obie prekompilowane postacie biblioteki (z wyrów-
naniem i bez). Jest to rozwiązanie znane choćby z formatu wykonywalnego Mach-O stosowanego na platformie Apple [17]. Linker sprawdza, jaką architekturę aktualnie kompiluje i do wynikowego kodu dołącza tylko tę właściwą postać biblioteki.
P1,1 * Nowy tryb pracy ALIGN_4B nakierowany jest na zastosowanie w architekturze niewspierającej dostępu niewyrównanego, a zarazem charakteryzującej się efektywną pracą z 32-bitowymi danymi. Wyniki dla Cortex-M0 czyli mikrokontrolera niewspierającego pracy oraz Cortex-M4, który go wspiera, przedstawiono na rys. 8. W każdym z testów można zauważyć pozytywny wpływ ALIGN_4B na wydajność dla maszyny w wersji 32-bitowej. Dla Cortex-M4 różnica między MEMCPY_ACCESS oraz ALIGN_4B jest mniejsza niż dla Cortex-M0, ale nadal pozwala na zmniejszenie czasu wykonywania zadań. W obydwu przypadkach ALIGN_4B, w porównaniu do BYTE_ACCESS, pozwala na zmniejszenie czasu cyklu prawie dwukrotnie.
P1+1 $ Wadą tej metody ALIGN_4B jest zwiększony rozmiar kodu wynikowego. Dla przykładu instrukcja inicjująca 1 bajt bez wyrównania na architekturze 32-bitowej zajmuje 8 bajtów (2 B – kod instrukcji, 4 B – adres, 1 B – długość danych, 1 B – dane). W wersji z wyrównaniem zajmie ona 16 bajtów (każdy operand 4 B). Tak pesymistyczny przypadek zdarza się nieczęsto, jednakże liczba bajtów podczas inicjowania przyrasta skokowo w odróżnieniu od przyrostu liniowego występującego w wersji bez wyrównania. Rysunek 9 zawiera kod pośredni wygenerowany przez kompilator pracujący w trybie ALIGN_4B i wykorzystujący instrukcję MCD4A o kodzie 1C370000 zamiast MCD. Na rysunku 10 przedstawiono porównanie rozmiaru kodu programu ShipSim w zależności od wersji maszyny (16-, 32-bitowa, 32-bitowa z wyrównaniem). Kod 32-bitowy jest o około 50 % większy od 16-bitowego, natomiast wyrównanie pociąga za sobą praktycznie dwukrotny wzrost kodu wynikowego względem 16-bitowej wersji.
31
' > iF # hL # # # 8 i &K
a)
Rys. 10. Wykres przedstawiający porównanie objętości kodu maszyny wirtualnej 16-bitowej, 32-bitowej oraz 32-bitowej z wyrównaniem do czterech bajtów Fig. 10. Graph showing the comparison of code size virtual machine 16-bit, 32-bit and 32-bit aligned for four bytes
b)
Rys. 8. Wykres przedstawiający porównanie czasów wykonywania pojedynczego cyklu programu testowego maszyny wirtualnej 32-bitowej dla metody BYTE_ACCESS, MEMCPY_ACCESS, oraz ALIGN4B_NULL na mikrokontrolerze z rdzeniem Cortex-M0 (a) i Cortx-M4 (b) Fig. 8. Graph showing the comparison of the execution times of a single cycle of the 32-bit virtual machine test program for the BYTE_ACCESS, MEMCPY_ACCESS, and ALIGN4B_NULL methods on a microcontroller the cores Cortex-M0 (a) and Cortex-M4 (b)
:00000034| :00000044| :00000050| :0000005C| :00000068| :00000078| :00000080|
09200000 1C020000 05100000 1C020000 1C370000 1C000000 1C370000
03000000 03000000 04000000 04000000 02000000 76000000 02000000
Rys. 11. Wykres przedstawiający porównanie czasów wykonywania pojedynczego cyklu programu testowego maszyny wirtualnej 32-bitowej dla metody MEMCPY_ACCESS, UNALIGNED oraz ALIGN4B_NULL na mikrokontrolerze z rdzeniem Cortex-M4 Fig. 11. Graph showing the comparison of the execution times of a single cycle of the 32-bit virtual machine test program for the MEMCPY_ACCESS, UNALIGNED and ALIGN4B_NULL methods on a microcontroller with Cortex-M4 core
00000000 02000000 6E000000 01000000 6E000000 01000000 01000000
P1L1 Opracowane rozwiązania pozwalają na dostosowanie maszyny do wybranej architektury, na której będą uruchamiane, zachowując przy tym jej przenaszalność. Kolejne opracowywane generacje procesorów mogą pozytywnie wpływać na wydajność rozwiązań programowych, wcześniej ograniczonych przez cechy sprzętu. Cortex-M4 z architekturą ARMv7 wspiera w pewnym stopniu pracę z niewyrównanymi danymi, w którym oryginalna wersja maszyny wirtualnej działa bez żadnych zmian. Tym
01000000 00000000
Rys. 9. Kod pośredni dla maszyny 32-bitowej z wyrównaniem danych (por. rys. 2d) Fig. 9. Intermediate code for a 32-bit machine with data alignment (see fig. 2d)
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 21
$ # samym możliwe jest używanie maszyny wirtualnej na takim mikrokontrolerze bez wsparcia dodatkowych instrukcji składania rozkazów z mniejszych elementów lub innych modyfikacji (tryb bezpośredniego dostępu, UNALIGNED). Rysunek 11 przedstawia porównanie 32-bitowych wersji maszyny wirtualnej pracującej w trzech trybach. Widać, że MEMCPY_ACCESS jest zauważalnie najgorszą z metod pobierania rozkazów maszyny. Wersja wyrównana do 4 B przynosi niewielki pozytywny skutek na czas wykonywania kodu maszyny wirtualnej względem wersji niewyrównanej. W praktyce przemysłowej dominują wciąż mikrokontrolery wcześniejszych generacji. Stąd ogólne wnioski można streścić następująco. W przypadku starszych rozwiązań architektury należy używać trybu BYTE_ACCESS w wersji 16-bitowej, a MEMCPY_ACCESS w 32-bitowej. Wyrównanie (ALIGN_4B) przynosi istotny efekt wydajnościowy w trybie 32 bitowym kosztem zwiększonego rozmiaru kodu. W nowszej architekturze (ARMv7) zysk z wyrównania także istnieje, ale jest niewielki.
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 kwota finansowania 11 999 900 zł.
Q # 0 1. CODESYS (2017). Codesys download area, [www.codesys.com/download.html]. 2. CPDev engineering environment, [https://cpdev.kia.prz.edu.pl]. 3. STM32 32-bit Arm Cortex MCUs, [www.st.com/en/microcontrollers-microprocessors/stm32-32-bit-arm-cortex-mcus.html]. 4. Arm Cortex-M0 (ARMv6), [https://developer.arm.com/documentation/dui0497/a]. 5. Arm Cortex-M4 (ARMv7), [https://developer.arm.com/documentation/100166/0001]. 6. ECMA-335, S. (2012). Common Language Infrastructure (CLI), Ecma, Geneva.
7. 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. 8. IEC 61131-3, S. (2013). Programmable Controllers. Part 3. Programming languages, IEC, International Standard. 9. ISaGRAF, [www.rockwellautomation.com/en-us/support/ documentation/technical-data/isagraf_20190326-0743.html]. 10. Lindholm T., Yellin F., Bracha G., Buckley A., The Java Virtual Machine Specification, Oracle America, Inc. 2013. 11. Rzo ca D., Sadolewski J., Stec A., wider Z., Trybus B., Trybus L., Open environment for programming small controllers according to IEC 61131-3 standard, “Scalable Computing: Practice and Experience”, Vol. 10, No. 3, 2009, 325–336. 12. Rzo ca D., Sadolewski J., Stec A., wider Z., Trybus B., Trybus L., Programming controllers in structured text language of IEC 61131-3 standard, “Journal of Applied Computer Science”, Vol. 16, No. 1, 2008, 49–67. 13. Simros M., Wollschlaeger M., Theurich S., Programming embedded devices in IEC 61131-languages with industrial PLC tools using PLCopen XML, Proceedings of the CONTROLO’2012 Portuguese Conference on Automatic Control, Funchal, Portugal, 51–56. 14. Trybus B., Development and Implementation of IEC 61131-3 Virtual Machine, “Theoretical and Applied Informatics”, Vol. 23, No. 1, 2011, 21–35, DOI: 10.2478/v10179-011-0002-z. 15. Rzońca D., Sadolewski J., Stec A., Z., Trybus B., Trybus L., Developing a Multiplatform Control Environment, “Journal of Automation, Mobile Robotics and Intelligent Systems”, Vol. 13, No. 4, 2019, 73–84, DOI: 10.14313/JAMRIS/4-2019/40. 16. Rzońca D., Sadolewski J., Stec A., Świder Z., Trybus B., Trybus L., Ship Autopilot Software – A Case Study. In: Bartoszewicz A., Kabziński J., Kacprzyk J. (eds), Advanced, Contemporary Control. Advances in Intelligent Systems and Computing, Vol. 1196, Springer, Cham. DOI: 10.1007/978-3-030-50936-1_124. 17. Velu V.K., Mobile Application Penetration Testing. Packt Publishing, 2016, ISBN 9781785883378.
6 O $ $ S] & ? ) ) $ & 6/ * A Abstract: The article presents performance tests of code executed by STM32 microcontrollers using a virtual machine (so-called intermediate code) dedicated to control systems. The ARM architecture used in these chips has limitations related to access to non-aligned addresses. Three ways to overcome these limitations have been proposed, and each has been subjected to a suite of tests to determine their performance. Tests were conducted for two operating modes, i.e. with 16- and 32-bit addressing for different generations of chips. The test results allow to choose the right solution for a specific platform. KeywordsH 6/% AQ/% % ) )
33
' > iF # hL # # # 8 i &K
) " *#
$ (
I *!-+ R ) I ) S F ? $ O Q F > A Q L F ? $ KL A 8 ) ? $ A O F Q " & & 0 F ) 4 L % % F 0 L ) ) P
AL I ) S ? $ O F Q T*!!H U I *!-* F R ) ) $ F I ) A % S ? $ O N 4 # " & 4 0 0 & F % 0 ) F
L ( ) ORCID: 0000-0002-2748-11454
)( ) ORCID: 0000-0001-7370-9027
% # L L ( ) ORCID: 0000-0002-4588-3973
A) 8 ) ? $ A O Q R ) I ) S % A % ? $ F S A#[ 8 P $ *!!E " & & 0 L ) ) 4 0 F & ) & F 4 &
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 21
Pomiary Automatyka Robotyka, ISSN 1427-9126, R. 25, Nr 1/2021, 35–39, DOI: 10.14313/PAR_239/35
/ ) ) 0 +#( $ (! ) (
O O 8 % < ^Q% EEF-!! #
- $ . /
O N 4 % I ) A % S ? $ % 8 ) A Q L % A ) -H% EEF-!! #
Celem pracy jest ocena jakości modelu oparta na Maszynie Wektorów Nośnych SVM pod kątem jej przydatności w wirtualnym uruchomieniu – do zastosowania na potrzeby wirtualnego bliźniaka. Przedstawione wyniki badań są ściśle skorelowane z Przemysłem 4.0, którego główną ideą jest integracja inteligentnych maszyn, systemów i informatyki. Jednym z celów jest wprowadzenie możliwości elastycznej zmiany asortymentu oraz zmian w systemach produkcyjnych. Wirtualne uruchomienie może zostać użyte do stworzenia modelu symulacyjnego obiektu, na potrzeby szkolenia operatorów. Jednym z działów wirtualnego rozruchu jest cyfrowy bliźniak. Jest to wirtualna reprezentacja instalacji lub urządzenia, czy też maszyny. Dzięki zastosowaniu wirtualnego bliźniaka, możliwe jest odwzorowanie różnych procesów w celu obniżenia kosztów procesu i przyspieszenia procesu testowania. W pracy zaproponowano współczynnik oceny jakości modelu oparty na SVM. Współczynnik ten bierze pod uwagę wiedzę ekspercką oraz metody używane do oceny jakości modelu – Znormalizowany Błąd Średniokwadratowy NRMSE (ang. Normalized Root Mean Square Error) oraz Znormalizowany Maksymalny Błąd ME (ang. Maximum Error). Wspomniane metody są powszechnie stosowane do oceny jakości modelu, jednak dotychczas nie były używane równocześnie. W każdej z metod uwzględniany jest inny aspekt dotyczący modelu. Zaproponowany współczynnik umożliwia podjęcie decyzji, czy dany model może zostać użyty do stworzenia wirtualnego bliźniaka. Takie podejście pozwala na testowanie modeli w sposób automatyczny lub półautomatyczny. )/ H % $ L _ % / I 0 V % ; ) ) % Y
1. Wprowadzenie Z punktu widzenia cyfrowego bliźniaka stworzenie modelu symulacyjnego obiektu jest ważne, ponieważ umożliwia testowanie zmian w systemie sterowania procesem zanim zostaną one wdrożone na rzeczywistym obiekcie, co pozwala na znaczną redukcję kosztów i czasu uruchomienia. Typowy symulator obiektu najczęściej składa się z trzech części: sterownika PLC (ang. Programmable Logic Controller) fizycznego lub zasymulowanego, HMI (ang. Human-Machine Interface) i symulatora procesu. W pracy skupiono się na symulatorze procesu, a dokładniej na metodzie oceny jakości modeli na potrzeby
- H I ) V R% ) ( - / ) !. !* *!*- % ) ) -H ! *!*-
!
cyfrowego bliźniaka. Na podstawie proponowanej metody można podjąć decyzję, czy dany model może zostać użyty na potrzeby szkolenia operatorów, czy też nie. W pierwszym etapie, metoda wymaga opracowania modelu procesu, który w sposób zadowalający reprezentował będzie rzeczywisty proces. Z punktu widzenia wirtualnego uruchomienia nie jest wymagane, aby model idealnie odzwierciedlał rzeczywisty proces. Ważne jest natomiast zachowanie jego charakterystyki statycznej, charakteru odpowiedzi dynamicznej, stosunku stałych czasowych opóźnień transportowych do stałych czasowych obiektu oraz prawidłowego odwzorowania wpływu zakłóceń procesowych na zachowanie się procesu. Tradycyjne podejście bazujące na modelowaniu poszczególnych torów modelu jest czasochłonne, kosztowne i nie zawsze uzasadnione w procesie wdrażania systemów automatyki na istniejących instalacjach. Dlatego w pierwszym etapie proponowanej metody, ekspert klasyfikuje niewielki zbiór danych porównujący rzeczywiste dane pomiarowe z modelowanego systemu z kilkoma modelami. Modele te z różną dokładnością poprawnie odwzorowują rzeczywisty proces, zaś rolą eksperta jest sklasyfikowanie tych modeli jako dobre bądź złe. Na tej podstawie, klasyfikator oparty na Maszynie Wektorów Nośnych SVM (ang. Support Vector Machine) jest poddawany procesowi uczenia,
35
> # i & 8 & # K i
+1
po zakończeniu którego umożliwia automatyczne klasyfikowanie innych modeli jako dobrych lub złych. W drugim etapie proponowanej metody, w celu przyspieszenia identyfikacji modelu obiektu dla celów wirtualnego rozruchu, w sposób arbitralny generuje się dużą liczbę potencjalnych modeli. Następnie modele te są automatycznie klasyfikowane jako dobre lub złe przez SVM, umożliwiając tym samym szybką syntezę modelu będącego składową wirtualnego bliźniaka. Wynikiem metody jest grupa modeli, zaklasyfikowanych przez SVM jako dobre, ale charakteryzujące się pewnymi różnicami. Dzięki temu możliwe będzie testowanie tworzonego lub modyfikowanego układu sterowania procesem w warunkach pewnej niestacjonarności procesu. Niestacjonarność taką można będzie zasymulować zmieniając okresowo model używany do symulacji, wybierając go z grupy modeli zaklasyfikowanych jako dobre. Proponowana metoda bierze pod uwagę dwa powszechnie stosowane współczynniki do oceny jakości dopasowania modelu, a mianowicie: Znormalizowany Maksymalny Błąd ME (ang. Maximum Error) oraz Znormalizowany Błąd Średniokwadratowy NRMSE (ang. Normalized Root Mean Square Error). Na podstawie wymienionych współczynników został stworzony klasyfikator SVM. Wyniki uzyskane za pomocą proponowanej metody przetestowano na danych zaczerpniętych z literatury a pochodzących z rzeczywistego stanowiska badawczego.
W celu nauczenia SVM stworzono 25 modeli opartych o model autoregresywny z zewnętrznym wejściem ARX (ang. AutoRegressive with eXogenous input) (1) [2]. Modele przygotowano poprzez zmianę liczby biegunów (na) w zakresie od 1 do 5, liczby zer (nb) w zakresie od 1 do 5 oraz podanie liczby próbek wejściowych (nk = 1), które pojawiają się zanim wejście zacznie oddziaływać na wyjście. Następnie modele zostały zaklasyfikowane przez eksperta do dwóch grup (dobry, zły). Klasyfikacja została przeprowadzona przez eksperta na podstawie dopasowania wyjścia modelu do kształtu wykresu wartości wyjściowej y(t). y(t) + a1y(t – 1) + … + anay(t – na) = b1u(t – nk) + … + bnbu(t – nb – nk +1) + e(t),
(1)
gdzie: y(t) – wyjście w czasie t; na – liczba biegunów; nb – liczba zer; nk – liczba próbek wejściowych, które pojawiają się zanim wejście zacznie oddziaływać na wyjście; y(t – 1), …, y(t – na) – poprzednie wyjścia, od których zależą bieżące wejścia; u(t – nk), …, u(t – nk – nb + 1) – poprzednie i opóźnione wejścia, od których zależą bieżące wyjścia, e(t) – wartość zakłócenia w czasie (biały szum). Dla tak przygotowanych danych obliczono dla każdego modelu wartości NRMSE oraz ME [2]. NRMSE jest to miara oparta na różnicy między danymi z modelu oraz danymi referencyjnymi (2) [3].
,1 Q
xref (:, i ) − x (:, i )
NRMSE (i ) = 1 −
Przykładowy obiekt będący przedmiotem wersyfikacji proponowanej metody składa się ze zbiornika o maksymalnej wysokości 35 cm, przewodów doprowadzających strumień wejściowy cieczy wraz z elektrozaworem oraz nieregulowanego stałego wypływu. Otwarcie elektrozaworu jest regulowane za pomocą zmian napięcia u(t). Zmiana przepływu wejściowego wpływa na zmianę poziomu cieczy w zbiorniku y(t) (rys. 1). Model ten oraz dane pomiarowe zaczerpnięte zostały z publikacji P. Lindskoga [1] i stanowi benchmark dla metod automatycznej identyfikacji modeli procesów. Na dane pomiarowe składa się 1000 próbek, stanowiących pomiary wysokości słupa cieczy w zbiorniku oraz napięcia u(t) sterującego wydajnością pompy (zmiana przepływu wejściowego cieczy). Porównanie wyników otrzymywanych z poszczególnych modeli z tymi danymi pomiarowymi stanowi podstawę do oceny poprawności modelu przez eksperta.
xref (:, i ) − mean (:, i )
(2)
ME jest to maksymalna odległość między danymi z modelu oraz danymi referencyjnymi (3).
(
)
⎡max xref (:, i ) − x (:, i ) ⋅ 100 ⎤ ⎦ ME (i ) = 1 − ⎣ max xref (:, i ) , x (:, i )
(
)
(3)
gdzie: xref – dane referencyjne, x – dane testowe, NRMSE – wektor o długości N oraz i = 1, …, N. SVM służy do klasyfikacji binarnej. W badanym przypadku występują dwie klasy modeli (dobry, zły), dla których szukano funkcji, która będzie przyporządkowywać nowe modele do odpowiednich klas [4, 5]. Współczynniki oraz wektor zaklasyfikowanych grup (dobry, zły) są wejściami SVM o funkcji jądra postaci (4) (ang. Cubic SVM) [6].
(
K (xi , xJ ) = xiTxJ
)
3
(4)
Opracowano klasyfikator SVM, który na podstawie NRMSE oraz ME klasyfikuje modele obiektu do jednej z dwóch możliwych klas (dobry, zły).
L1 ' W celu sprawdzenia nauczonego SVM przygotowano 600 modeli ARX, dla których zmieniono liczbę biegunów (na) w zakresie od 1 do 5, liczbę zer (nb) w zakresie od 1 do 40 oraz liczbę próbek wejściowych (nk) w zakresie od 1 do 3. Następnie modele zaklasyfikowano za pomocą SVM, opisanego w punkcie 3 (4), do dwóch grup (dobry, zły). Przykładowe wyniki zaklasyfikowane jako dobre przedstawiają rys. 2 i 3, natomiast wyniki zaklasyfikowane jako złe – rys. 4 i 5.
Rys. 1. Stanowisko badawcze [1] Fig. 1. Schematic picture of the laboratory-scale tank system [1]
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 21
% # # & # ' ( ) Rys. 2. Dopasowanie danych modelu do danych uczących – zaklasyfikowane przez kryterium jakości jako „dobre” Fig. 2. Fit of model data to train data – classified as ‘good’
Rys. 3. Dopasowanie danych modelu do danych testowych – zaklasyfikowane przez kryterium jakości jako „dobre” Fig. 3. Fit of model data to test data – classified as ‘good’
Rys. 4. Dopasowanie danych modelu do danych uczących – zaklasyfikowane przez kryterium jakości jako „złe” Fig. 4. Fit of model data to train data – classified as ‘bad’
Rys. 5. Dopasowanie danych modelu do danych testowych – zaklasyfikowane przez kryterium jakości jako „złe” Fig. 5. Fit of model data to test data – classified as ‘bad’
37
> # i & 8 & # K i
Dopasowania wykonane za pomocą SVM porównano z klasyfikacją dokonaną przez eksperta. Wyniki przedstawiono w tablicy pomyłek (rys. 6). Tablica pomyłek (macierz błędów) pozwala na ocenę jakości klasyfikacji [7]. Wiersze przedstawiają klasy predykowane, natomiast kolumny – klasy rzeczywiste. Z macierzy błędów można odczytać następujące miary jakości klasyfikacji dla stworzonego klasyfikatora SVM [7]: 1. TPR (ang. True Positive Rate) – czułość – określa zdolność SVM do wykrycia badanej cechy, ponieważ jest to miara informacji poprawnie sklasyfikowanych [7], 2. FNR (ang. False Negative Rate) – niepoprawnie zaklasyfikowane cechy [7], 3. PPV (ang. Positive Predictive Value) – precyzja – proporcja poprawnie zaklasyfikowanych obserwacji do klasy predykowanej [8, 9], 4. FDR (ang. False Discovery Rate) – proporcja niepoprawnie zaklasyfikowanych obserwacji do klasy predykowanej [7].
nowana metoda jest efektywna, ponieważ ruguje konieczność tworzenia modeli fenomenologicznych oraz oceny ich jakości, co jest czasochłonne i kosztowne. Dzięki zaproponowanej metodzie z użyciem SVM, istnieje możliwość szybkiego testowania modeli. Kolejnym ważnym aspektem proponowanej metody jest fakt, iż uwzględnia ona równocześnie dwie miary stosowane do oceny jakości modelu – zarówno ME, jak i NRMSE. Ponadto opisana metoda pozwala na łatwe rozszerzanie zestawu cech poprzez dokładanie kolejnych i przeprowadzenie procesu uczenia klasyfikatora na nowo. Metoda ta umożliwia także zastosowanie wiedzy eksperckiej, co jest niezwykle ważne w wirtualnym uruchomieniu. Zaproponowane rozwiązanie selekcji modeli pozwoli na redukcję czasu i kosztów uruchomienia stanowiska symulacyjnego badanego obiektu na potrzeby szkolenia operatorów obiektu. Jednocześnie metoda ta przyczyni się do zwiększenia świadomości o regułach badanego procesu, właściwościach obiektu. W przyszłości planuje się kontynuację pracy o sprawdzenie jakości działania metody w całym zakresie pracy obiektu, a także w różnych trybach pracy, w tym sytuacji awaryjnych.
Z punktu widzenia wirtualnego uruchomienia zależy nam, by klasyfikator pomijał jak najmniejszą liczbę modeli, które można by wykorzystać – modele zaklasyfikowane przez eksperta jako dobre. Analizując tablicę pomyłek (rys. 6) można stwierdzić, iż zaproponowany klasyfikator SVM dobrze spełnia tę zasadę. Dla próby kontrolnej składającej się z 600 modeli nie wystąpił żaden model, który byłby zaklasyfikowany jako zły, a ekspert oznaczyłby go jako dobry, świadczy o tym współczynnik FDR = 0 % oraz PPV = 100 %.
Praca finansowana przez Ministerstwo Nauki i Szkolnictwa Wyższego „Doktorat Wdrożeniowy” nr 0053/DW/2018/02 oraz firmę ProPoint Sp. z o.o. Sp. K. w ramach grantu POIR.01.01.01-000047/15-00. Witold Nocoń finansowany z grantu Politechniki Śląskiej – subwencja na utrzymanie i rozwój potencjału badawczego 02/060/BK_20/0007; BK-276/RAU3/2020.
Q # 0 1. Hellendoorn H., Driankov D., Fuzzy Model Identification: Selected Approaches. Lindskog P., Fuzzy Identification from a Grey Box Modeling Point of View. Springer-Verlag, Berlin Heidelberg Nowy Jork, 1997, 3–50, DOI: 10.1007/978-3-642-60767-7_1. 2. [www.mathworks.com/help], [dostępny 9 kwietnia 2020 r.]. 3. Pal R., Predictive Modeling of Drug Sensitivity. Academic Press, 2016. ISBN: 9780128052747. 4. Steinwart I., Christmann A., Support Vector Machines. Springer, Nowy Jork, 2008, DOI: 10.1007/978-0-387-77242-4. 5. Cortes C., Vapnik V., Support-Vector Networks. “Machine Learning”, Vol. 20, 1995, 273–297, Kluwer Academic Publishers, Boston, DOI: 10.1007/BF00994018. 6. Jain U., Nathani K., Ruban N., Noel A., Raj J., Zhuang Z., Mahesh V.G.V., Cubic SVM Classifier Based Feature Extraction and Emotion Detection from Speech Signals. IEEE, 2018, International Conference on Sensor Networks and Signal Processing (SNSP). DOI: 10.1109/SNSP.2018.00081. 7. Shapiro D.E., The interpretation of diagnostic tests. “Statistical Methods in Medical Research”, Vol. 8, No. 2, 1999, 113–134. DOI: 10.1177/096228029900800203. 8. Altman D.G., Bland M.J., Diagnostic tests 2: Predictive values, “BMJ”, Vol. 309, 1994, DOI: 10.1136/bmj.309.6947.102. 9. Smith C.J., Diagnostic tests 2 – positive and negative predictive values, “Phlebology“, Vol. 27, No. 6, 2012, 305–306. DOI: 10.1258/phleb.2012.012J06.
Rys. 6. Tablica pomyłek Fig. 6. Confusion matrix
Klasyfikator jednak gorzej sobie radzi przy klasyfikacji modeli jako dobre. W analizowanej próbie cztery modele zostały zaklasyfikowane jako dobre, a przez eksperta jako złe – PPV = 85,7 % FDR = 14,3 %, współczynniki te są jednak małe. Ponadto z punktu widzenia wirtualnego uruchomienia dopuszczamy takie zaklasyfikowanie, bowiem wybrane modele będą oceniane przez eksperta, jednak tym razem dzięki zastosowaniu SVM będzie on miał do oceny tylko 28 modeli, a nie 600 modeli wejściowych. Wysoka czułość klasyfikatora oraz wysoka precyzja mogą świadczyć o sensowności użycia SVM o funkcji jądra postaci (4) do oceny jakości modelu do zastosowań w wirtualnym uruchomieniu.
5. Podsumowanie Zastosowanie SVM pozwala na wybór grupy modeli odpowiednich na potrzeby tworzenia cyfrowego bliźniaka. Zapropo-
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 21
% # # & # ' ( )
/ ) ` A / ) < ) \ / This paper proposes a model quality assessment method based on Support Vector Machine, which can be used to develop a digital twin. This work is strongly connected with Industry 4.0, in which the main idea is to integrate machines, devices, systems, and IT. One of the goals of Industry 4.0 is to introduce flexible assortment changes. Virtual commissioning can be used to create a simulation model of a plant or conduct training for maintenance engineers. Ona branch of virtual commissioning is a digital twin. The digital twin is a virtual representation of a plant or a device. Thanks to the digital twin, different scenarios can be analyzed to make the testing process less complicated and less time-consuming. The goal of this work is to propose a coefficient that will take into account expert knowledge and methods used for model quality assessment (such as Normalized Root Mean Square Error – NRMSE, Maximum Error – ME). NRMSE and ME methods are commonly used for this purpose, but they have not been used simultaneously so far. Each of them takes into consideration another aspect of a model. The coefficient allows deciding whether the model can be used for digital twin appliances. Such an attitude introduces the ability to test models automatically or in a semi-automatic way. KeywordsH &% ) & % \/% ) & ) $ Y % Y
+#( $ (
) (
K) *!-G 0 $ O O K) *!-. ) ) 0 ) TP I) M F U 8 ) A Q L I ) A % S ? $ F O N 4 " & F 4 0 F ) ) L 0 & L _ T & P & 6 U
) $ O O ) *!-- O 4 & L 0 F % ) ) F ) 0 F KL P I & Q 8 F 0 <aQ I F & Q P & 6 " ) & F P I) M O ) L 4 4 I & Q
& ) ( ORCID: 0000-0002-2353-2910
L ( ORCID: 0000-0002-8296-5732
- $ . / ) ( ORCID: 0000-0002-4785-958X
O $ I ) A % S ? $ O N 4 # I *!! R ) F ) F L ) F R ) L F & *!-H " & ) 4 ) % F L & % F & ) & 0
39
NR 3/2015
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 21
Pomiary Automatyka Robotyka, ISSN 1427-9126, R. 25, Nr 1/2021, 41–48, DOI: 10.14313/PAR_239/41
/ ) L & 4 0 # (
O % I ) S % A A 8 -^% E*F*-.
W artykule przedstawiono wyniki pomiarów, których celem było zbadanie możliwości zwiększenia efektywności działania modelu mikroelektrowni wiatrowej przez zastosowanie zmiennego kąta ustawienia łopat. Badania przeprowadzono na stanowisku pomiarowym zbudowanym do realizacji prac nad opracowywanymi wstępnie projektami mikroelektrowni wiatrowych. Stanowisko umożliwia przeprowadzenie pomiarów związanych z doborem optymalnej geometrii śmigła oraz opracowaniem i testowaniem działania algorytmów optymalnego sterowania pracą mikroelektrowni. Omówiono podstawy fizyczne działania turbiny wiatrowej i sposoby optymalnego jej sterowania. Zakres przeprowadzonych badań obejmuje wykonanie pomiarów dla przypadku wybranej geometrii łopaty śmigła z możliwością zmiany jej kąta ustawienia. Jako generator zastosowano prądnicę prądu stałego z obciążeniem o charakterystyce nieliniowej w postaci ogniwa akumulatora Li-Po. Przedstawiono wyniki działania prostego algorytmu sterowania MPPT. Brak układów optymalnego sterowania pracą mikroelektrowni podyktowany jest ogólnym przekonaniem, o wysokich kosztach jego wytworzenia w stosunku do możliwej poprawy efektywności mikroelektrowni. Ponadto stosowane w praktyce sposoby sterowania większymi turbinami wiatrowymi o mocach przekraczających wartość kilkuset kilowatów nie są optymalne dla mniejszych turbin o mocach do 1 kW. Przeprowadzone badania koncentrowały się na określeniu możliwości zastosowania w elektrowniach wiatrowych o mocach do 1 kW, turbin o zmiennym kącie ustawienia łopat w zależności od jej prędkości obrotowej. W większych elektrowniach wiatrowych zmianę kąta ustawienia łopat stosuje się głównie do ograniczenia mocy turbiny przy dużej prędkości wiatru. W mikroelektrowniach wiatrowych takie rozwiązania, ze względów ekonomicznych, nie są stosowane. Jednak zastosowanie prostego mechanizmu zmiany kąta ustawienia łopat w zależności od prędkości obrotowej śmigła może zwiększyć efektywność pracy turbiny w szerszym zakresie prędkości wiatru. Niewielkie wymiary modelu badawczego pozwalają na szybkie i tanie opracowywanie wstępnych prototypów łopat turbiny dzięki możliwości wykorzystania technologii druku 3D. )/ H % % 4 % %
1. Wprowadzenie Moc projektowanych i budowanych na świecie elektrowni wiatrowych jest stale zwiększana i osiąga wartości rzędu GW. Jest to uzasadnione ekonomicznie gdyż większe turbiny osiągają wyższą efektywność generowanej mocy. Współczesne, komercyjne elektrownie wiatrowe, w większości mają poziomą oś obrotu i trój-
- H ) % ) ( - / ) -- !- *!*- % ) ) *+ ! *!*-
!
płatową turbinę (koło wiatrowe). Jako generatory stosowane są najczęściej maszyny asynchroniczne klatkowe (IG) i pierścieniowe (DFM) oraz maszyny synchroniczne z magnesami trwałymi (PMSG) wraz z przekształtnikami energoelektronicznymi i układami sterowania. Współczesne turbiny wiatrowe o poziomej osi obrotu zazwyczaj przystosowane są do pracy przy prędkościach wiatru nie większych niż 25 m/s. Turbiny te osiągają moc znamionową przy prędkościach wiatru mieszczących się w granicach 10–15 m/s. W elektrowniach o mocy do 100 kW stosuje się najczęściej generatory PMSG, zbudowane z magnesów neodymowych, natomiast w większych jednostkach generatory indukcyjne z przekładnią mechaniczną. We współczesnych turbinach wiatrowych stosuje się kilka sposobów regulacji prędkości obrotowej wirnika, i związanej z nią mocą generatora w zależności od chwilowej prędkości wiatru. Do redukcji mocy mechanicznej na wale w turbinach o mocy rzędu MW stosuje się regulację kąta natarcia łopat (ang. pitch control), w mniejszych stosuje
41
& # > & #\ 8
może zwiększyć efektywność pracy turbiny w szerszym zakresie prędkości wiatru. Przyjęte wymiary modelu badawczego pozwalają na szybkie i tanie opracowywanie wstępnych prototypów łopat turbiny dzięki możliwości wykorzystania technologii druku 3D.
Rys. 1. Lampa oświetlenia ulicznego z zasilaniem hybrydowym z odnawialnych źródeł energii [opracowanie własne] Fig. 1. Street lighting lamp with hybrid power supply from renewable energy sources [own work]
,1 * # J / Działanie turbiny wiatrowej zależy od ustawienia kąta natarcia a łopat (rys. 2), jest to kąt między cięciwą łopaty (a-a) a wiatrem pozornym V, będącym sumą wektorów prędkości liniowej łopaty Vw = w·r i prędkości wiatru Vw. Wartość kąta natarcia a zależy od stosunku prędkości liniowej łopaty Vw do prędkości wiatru Vw oraz kąta ustawienia łopaty b. Na łopatę turbiny działają dwie siły: nośna Fp – prostopadła do kierunku prędkości wypadkowej V i naporu Fr – zgodna z jej kierunkiem. Ruch obrotowy turbiny powoduje składowa Fm siły wypadkowej F w kierunku ruchu łopaty (b-b). Wartość jej zależy od profilu aerodynamicznego łopaty i jest nieliniową funkcją kąta natarcia. W zakresie wartości kąta natarcia do kilku stopni kątowych, siła ta rośnie w przybliżeniu liniowo, ale od pewnej wartości tego kąta gwałtownie maleje – następuje stan przeciągnięcia [2, 4]. Utrzymanie stałej wartości kąta natarcia, zapewniającej maksymalną sprawność aerodynamiczną, wymaga utrzymania w przybliżeniu stałego stosunku prędkości kątowej wirnika do prędkości wiatru, czyli zmiany prędkości wirnika proporcjonalnie do prędkości wiatru.
się głównie pasywną regulację przez przeciągnięcie (ang. passive stall control) – oderwanie laminarnej strugi powietrza. Parlament Europejski przyjął dyrektywę 2010/31/UE w sprawie charakterystyki energetycznej budynków, gdzie wprowadzono pojęcie budynku o niemal zerowym zużyciu energii (budynek zeroenergetyczny). Zgodnie z tą dyrektywą, nowo budowane obiekty będą musiały spełniać wymóg, w którym wymagana ilość energii pochodzi w dużym stopniu ze źródeł odnawialnych, w tym ze źródeł zintegrowanych z rozpatrywanym budynkiem. W związku z tym rośnie zainteresowanie mikroelektrowniami wiatrowymi, które uzupełniałyby zapotrzebowanie na energię elektryczną małych gospodarstw domowych. W ofercie wielu producentów można znaleźć mikroelektrownie wiatrowe o mocy nominalnej od 100 W do kilku kW. Takie elektrownie wiatrowe często można zauważyć na małych jachtach, działkach rekreacyjnych i lampach oświetleniowych ulic, gdzie brak jest dostępu do sieci energetycznej (rys. 1). Zazwyczaj mikroturbiny [1] mają trzy lub więcej łopat o możliwie prostym profilu, łatwym do wykonania i są bezpośrednio osadzone na osi generatora PMSG. Najczęściej napięcie znamionowe generatora jest tak dobrane, aby za pośrednictwem zwykłego prostownika 6D ładował on baterię akumulatorów. Brak układu optymalnego sterowania pracą takiej mikroelektrowni podyktowany jest na ogół ogólnym przekonaniem o wysokich kosztach jego wytworzenia w stosunku do możliwej poprawy efektywności mikroelektrowni. Ponadto stosowane w praktyce sposoby sterowania większymi turbinami wiatrowymi nie są optymalne dla turbin mniejszych o mocach do 10 kW [2, 3]. W związku z tym autor zaprojektował i wykonał stanowisko badawcze, które umożliwia przeprowadzenie wstępnych badań związanych z doborem optymalnej geometrii śmigła [4] oraz opracowaniem i przetestowaniem działania algorytmu sterowania pracą przetwornicy ładującej akumulator tak, aby optymalnie wykorzystać moc mikroelelektrowni [5]. Prezentowane badania koncentrują się głównie na określeniu możliwości zastosowania w mikroelektrowniach wiatrowych turbin o zmiennym kącie nachylenia łopat w zależności od jej prędkości obrotowej. W większych elektrowniach wiatrowych zmianę kąta nachylenia łopat stosuje się głównie do ograniczenia mocy turbiny przy dużej prędkości wiatru. W mikroelektrowniach wiatrowych takie rozwiązania, ze względów ekonomicznych nie są stosowane. Jednak mikroelektrownie wiatrowe są bardzo często sytuowane w miejscach, gdzie warunki wiatrowe są niekorzystne: wysokość od gruntu wynosi do 10 m, przeszkody terenowe ograniczające prędkość strumienia wiatru i wywołujące jego zawirowania (rys. 1). Zastosowanie prostego mechanizmu zmiany kąta nachylenia łopaty w zależności od prędkości obrotowej śmigła
42
P
O
M
I
A
R
Y
•
A
U
T
O
M
Rys. 2. Siły aerodynamiczne na profilu łopaty [opracowanie własne] Fig. 2. Aerodynamic forces on the blade profile [own work]
Siła nośna generowana przez odcinek płata jest funkcją kąta natarcia na napływający strumień powietrza. Kąt napływu strumienia powietrza zależy od prędkości obrotowej i prędkości wiatru w określonym promieniu. Wymagany kąt skręcenia łopaty zależy od stosunku prędkości płata w określonym promieniu i pożądanego kąta natarcia płata. Część łopaty przy piaście jest bardziej pochylona pod wiatr ze względu na wysoki stosunek prędkości wiatru do prędkości promieniowej łopaty. W przeciwieństwie do tego końcówka łopaty będzie prawie prostopadła do kierunku wiatru. W przypadku łopat o stałym kącie ich ustawienia, można wyznaczyć optymalny kąt skręcenia łopaty. Jeśli kąt ustawienia łopaty ma być regulowany, kąt skręcenia łopaty także powinien ulegać zmianie. Zbudowanie śmigła o zmiennej – regulowanej geometrii byłoby zbyt kosztowne i obecnie takich rozwiązań nie stosuje się w praktyce. Dlatego regulacja kąta ustawienia łopat jest stosowana w turbinach o mocy rzędu MW jedynie w celu ograniczenia ich mocy. W przypadku samolotów lub śmigłowców, gdzie śmigło o regulowanym skoku spełnia funkcję napędu, łopaty takich śmigieł mają mały bądź zerowy kąt skręcenia łopaty – zapewnia to szerszy zakres prędkości dla efektywnej pracy napędu.
A
T
Y
K
A
•
R
O
B
O
T
Y
K
A
NR 1 / 20 21
< # Na potrzeby prowadzonych badań wpływu regulacji kąta ustawienia łopat na zakres efektywności pracy mikroelektrowni wiatrowej, wykonano śmigło o prostym profilu i zerowym kącie skręcenia łopaty (rys. 9b). Właściwości aerodynamiczne turbiny wiatrowej są określone przez współczynnik mocy CP(l, b), który zależy od wyróżnika szybkobieżności l i kąta położenia łopaty b. Współczynnik l jest definiowany jako stosunek prędkości liniowej końca łopaty turbiny do prędkości wiatru – gdzie wr jest prędkością kątową turbiny, a R jest promieniem turbiny [4].
λ=
ωr R Vw
(1)
można podzielić na trzy główne metody sterowania: kontrolę wyróżnika szybkobieżności TSR (ang. tip speed ratio), kontrolę sygnału mocy sprzężenia zwrotnego PSF (ang. power signal feedback) i metodę wyszukiwania maksimum mocy HCS (ang. hill-climb serach) [6–8]. Metoda sterowania TSR polega na regulacji prędkości obrotowej turbiny wiatrowej w celu utrzymania optymalnej wartości wyróżnika szybkobieżności, przy której osiągana moc turbiny jest największa. Metoda ta, wymaga zmierzenia lub oszacowania zarówno prędkości wiatru, jak i prędkości obrotowej turbiny, a także wymaga znajomości charakterystyki optymalnego wyróżnika szybkobieżności dla zaprojektowanej turbiny (rys. 4).
Współczynnik mocy, odpowiadający sprawności aerodynamicznej silnika wiatrowego, jest określony wyrażeniem [4]: CP =
Pm Pw
(2)
gdzie Pm jest mocą mechaniczną turbiny, a Pw jest mocą wiatru [4]: Pw = 0,5 rpR 2V 3 (3) gdzie r jest gęstością powietrza. Na rys. 3 pokazano przykładową charakterystykę Cp(l, b) turbiny wiatrowej dla stałej, wartości kąta b. Maksymalna moc wytwarzana przez turbinę przy danej prędkości wiatru Vw jest osiągana dla maksymalnej wartości współczynnika efektywności odpowiadającego pewnej optymalnej wartości lopt wyróżnika szybkobieżności.
Rys. 4. Kontrola wyróżnika szybkobieżności λopt [opracowanie własne] Fig. 4. Control of the tip-speed ratio [own work]
Metoda sterowania PSF oparta jest na wyznaczonej w badaniach prototypu charakterystyki mocy maksymalnej turbiny wiatrowej i śledzeniu tej krzywej za pomocą systemu kontrolno-pomiarowego. Krzywe mocy maksymalnej należy uzyskać w trakcie symulacji lub eksperymentów na odłączonej turbinie wiatrowej. W tej metodzie moc odniesienia jest wyznaczana za pomocą zarejestrowanej charakterystyki mocy maksymalnej lub równania mocy turbiny wiatrowej, gdzie jako prędkość wejściową stosuje się prędkość wiatru lub prędkość wirnika (rys. 5).
Rys. 3. Przykładowa charakterystyka C p w funkcji λ Fig. 3. An example of the characteristic Cp as a function of λ
Zależność między mocą mechaniczną turbiny a mocą wyjściową układu elektrycznego Pout opisuje równanie (4), gdzie Mt jest momentem tarcia, w jest prędkością kątową turbiny, J jest momentem bezwładności masy wirującej, h jest ogólną sprawnością elektryczną układu od wejścia generatora do wyjścia falownika [4].
(4)
+1 ) # # Stosowane algorytmy osiągnięcia mocy maksymalnej MPPT (ang. Maximum Power Point Tracking) przez turbiny wiatrowe
Rys. 5. Kontrola sygnału mocy sprzężenia zwrotnego – PSF [opracowanie własne] Fig. 5. Control of the feedback power signal – PSF [own work]
Działanie algorytmu sterowania HCS polega na ciągłym poszukiwaniu mocy szczytowej turbiny wiatrowej (rys. 6). Algorytm śledzenia, w zależności od położenia punktu pracy i zależności między zmianami mocy i prędkości obrotowej turbiny, oblicza optymalny sygnał w celu doprowadzenia elektrowni wiatrowej do punktu maksymalnej mocy. Niestety sterowanie HCS może działać dobrze tylko wtedy, gdy moment bezwładności turbiny wiatrowej jest bardzo mały, czyli zmiana prędkości turbiny następuje niemal „natychmiastowo” na zmianę prędkości
43
& # > & #\ 8
wiatru. W przypadku turbin wiatrowych o większej bezwładności, chwilowa moc wyjściowa elektrowni jest związana z mocą mechaniczną turbiny i zmianami energii kinetycznej zmagazynowanej w elementach wirujących, co często powoduje, że metoda HCS jest nieskuteczna. Sterowanie HCS nie osiąga maksymalnych punktów mocy przy szybkich wzrostach prędkości wiatru oraz powoduje tzw. „przeciągnięcie” przy spadkach prędkości wiatru, co poważnie ogranicza użyteczność tej metody dla turbin wiatrowych.
rysunku 8 przedstawiono widok panelu czołowego. Przyrząd ma możliwość zadawania wartości wyjściowej mocy wentylatora, wartości współczynnika wypełnienia fali PWM dla przetwornicy DC/DC, wartości skoku śmigła turbiny wiatrowej. Ponadto przyrząd wyświetla i rejestruje następujące wartości mierzone: prędkość wiatru v, prędkość obrotową turbiny n, napięcie wyjściowe generatora UG, napięcie wyjściowe przetwornicy DC/DC UO i prąd odbiornika (obciążenia) IO. Wyznaczana jest także moc dostarczana do odbiornika PO.
Rys. 8. Widok panelu czołowego wirtualnego przyrządu pomiarowo-sterującego Fig. 8. View of the front panel of the virtual measurement and control device
Wykonany model tunelu aerodynamicznego (rys. 9a, 9b) składa się z rury tunelu (1) umocowanej w ramie (2), która jednocześnie spełnia rolę ulownicy (prostownicy strumienia powietrza). Do ramy przymocowano bezszczotkowy silnik BLDC wentylatora (3) ze śmigłem o średnicy 203 mm (8 cali) i skoku 101 mm (4 cale) oraz silnik szczotkowy prądu stałego (4) ze wzbudzeniem magnesami stałymi, pełniący funkcję prądnicy prądu stałego. Prądnica napędzana jest śmigłem pełniącym funkcję turbiny wiatrowej. Przy wlocie tunelu umieszczony jest czujnik anemometru (5) mierzący prędkość wiatru (strumienia powietrza). Silnik BLDC wentylatora zasilany jest z falownika trójfazowego (6). Model badawczy posiada wykonany sterownik (7) oparty na 32-bitowym mikrokontrolerze STM32F1, który steruje pracą wentylatora, przetwornicy DC/DC oraz serwomechanizmu (12) skoku śmigła turbiny (11). Sterownik dokonuje także pomiarów prędkości wiatru v, prędkości obrotowej turbiny w, napięcia wyjściowego prądnicy UG oraz napięcia wyjściowego przetwornicy UO i prądu IO na jej obciążeniu (8). Sterownik
Rys. 6. Idea działania algorytmu HCS [opracowanie własne] Fig. 6. The idea of operation of the HCS algorithm [own work]
W związku z powyższym uzasadnione jest prowadzenie badań nad opracowaniem metody sterowania maksymalnego wydatku mocy dla mikroturbin wiatrowych, która nie wymaga pomiaru prędkości wiatru i prędkości wirnika turbiny, jest niezależna od charakterystyki systemu i ma zastosowanie do małych turbin wiatrowych.
L1 ) # Na potrzeby przeprowadzenia badań modelu mikroelektrowni wiatrowej zbudowano stanowisko badawcze. Na rys. 7 przedstawiono schemat poglądowy stanowiska. W skład stanowiska badawczego wchodzi wirtualny przyrząd pomiarowo-sterujący zaimplementowany na komputerze klasy PC oraz fizyczny model miniaturowego tunelu aerodynamicznego. Wirtualny przyrząd pomiarowo-sterujący został utworzony w środowisku programistycznym LabVIEW. Na
Rys. 7. Schemat poglądowy stanowiska do badań modelu mikroelektrowni wiatrowej Fig. 7. The scheme of the stand for testing the model of a wind power plant
44
P
O
M
I
A
R
Y
•
A
U
T
O
M
Rys. 9a. Widok modelu badawczego Fig. 9a. View of the research model
A
T
Y
K
A
•
R
O
B
O
T
Y
K
A
NR 1 / 20 21
< # łopat b w zależności od prędkości obrotowej n [obr./min] turbiny b(n) = 30° − n/150, w funkcji wartości współczynnika wypełnienia fali PWM dla różnych prędkości wiatru. Warto zauważyć, że dla obciążenia nieliniowego, jakim jest ogniwo Li-Po optymalna praca elektrowni wymaga szerszego zakresu wartości wielkości sterującej PWM zawartej w przedziale 0,45–0,95. Należy tu dodatkowo wziąć pod uwagę zmiany napięcia USEM ogniwa w zależności od stopnia jego naładowania.
Rys. 9b. Widok tunelu aerodynamicznego Fig. 9b. Wind tunnel view
poprzez interfejs szeregowy USB (9) komunikuje się z komputerem nadrzędnym, na którym uruchomiony jest program wirtualnego przyrządu pomiarowo-sterującego. Model zasilany jest z zasilacza (10) o napięciu 12 V. Dzięki niewielkim rozmiarom modelu, niektóre jego elementy można było wytworzyć korzystając z drukarki 3D.
M1 ' Wirtualny przyrząd pomiarowo-sterujący umożliwia automatyczną rejestrację wartości wielkości mierzonych dla dziesięciu zadanych wartości mocy wentylatora i stu zadanych wartości współczynnika wypełnienia fali PWM dla klucza przetwornicy DC/DC (ang. buck converter). Dzięki takiemu rozwiązaniu otrzymuje się macierz 1000 wartości dla każdej wielkości mierzonej bez konieczności fizycznego angażowania osoby prowadzącej pomiary w rejestrację danych. Ponadto przyrząd pomiarowo-sterujący ma możliwość automatycznej regulacji kąta ustawienia łopat w przyjętej zależności funkcyjnej od zmierzonej chwilowej prędkości obrotowej turbiny b = f (n). Docelowo, w rozwiązaniu praktycznym mikroturbiny przewiduje się możliwie proste i tanie rozwiązanie mechaniczne, wykorzystujące siłę odśrodkową wirującej masy, które zmieniałoby kąt ustawienia łopat. Optymalne sterowanie elektrownią polega na osiągnięciu mocy maksymalnej dla danej wartości prędkości wiatru. Sterowanie mocą, w tym rozwiązaniu układowym elektrowni, odbywa się przez zmianę współczynnika wypełnienia fali PWM sterującej pracą klucza w prostej przetwornicy DC/DC, co ma bezpośredni wpływ na wartość napięcia wyjściowego przetwornicy. W przeprowadzonych badaniach wykonano pomiary dla obciążenia odbiornikiem o nieliniowej charakterystyce prądowo-napięciowej, jakim jest ogniwo akumulatora litowo-polimerowego. Siła elektromotoryczna USEM użytego ogniwa w zależności od stanu naładowania zawierała się w przedziale 3,3–4,3 V, a wyznaczona jego rezystancja wewnętrzna wynosiła Rw | 0,25 . Na rysunku 10 przedstawiono otrzymane w trakcie przeprowadzonych badań charakterystyki mocy osiąganej na wyjściu elektrowni wiatrowej o stałym kącie ustawienia łopat b = 15° w funkcji wartości współczynnika wypełnienia fali PWM (wielkość sterująca) dla różnych prędkości wiatru. Natomiast na rys. 11 przedstawiono charakterystyki mocy osiąganej na wyjściu elektrowni wiatrowej o regulowanym kącie ustawienia
Rys. 10. Charakterystyki mocy osiąganej na wyjściu elektrowni wiatrowej o stałym kącie nachylenia łopat, w funkcji wartości sterującej – współczynnika wypełnienia fali PWM, dla różnych prędkości wiatru Fig. 10. Characteristics of the power achieved at the output of a wind turbine with a constant blade pitch angle as a function of the control value – PWM, for different wind speeds
Rys. 11 Charakterystyki mocy osiąganej na wyjściu elektrowni wiatrowej o regulowanym kącie ustawienia łopat, w funkcji wartości sterującej – współczynnika wypełnienia fali PWM, dla różnych prędkości wiatru Fig. 11 Characteristics of the power achieved at the output of a wind turbine with an adjustable blade angle as a function of the control value – PWM, for different wind speeds
Na rysunku 12 przedstawiono otrzymane dwie charakterystyki osiąganej mocy maksymalnej elektrowni w funkcji prędkości wiatru dla przypadku stałego b = const i regulowanego b = f (n) ustawienia łopat turbiny. Można zauważyć, że dla przypadku regulowanego efektywność elektrowni jest większa. W przeprowadzonym eksperymencie, turbina osiąga wartość wyróżnika szybkobieżności l |10 – płaty turbiny są ustawione prawie prostopadle do kierunku wiatru. Biorąc dodatkowo pod uwagę tarcie statyczne łożysk i szczotek oraz moment zaczepowy wyni-
45
& # > & #\ 8
kający ze zmian reluktancji obwodu magnetycznego prądnicy, rozruch takiej turbiny jest bardzo utrudniony i następuje dopiero przy stosunkowo dużej prędkości wiatru równej 4 m/s, w porównaniu do prędkości wiatru równej 1,5 m/s, przy której następuje jej zatrzymanie. Regulacja kąta ustawienia łopat może znacznie ułatwić rozruch turbiny wiatrowej i umożliwić jej pracę przy mniejszej prędkości wiatru. Ponadto przez odpowiedni dobór zależności b = f (n) można także ograniczyć maksymalną prędkość obrotową turbiny przy której b(nmax) = 0.
Przeprowadzono badania dla pracy modelu mikroelektrowni wiatrowej, sterowanej prostym algorytmem HCS (rys. 6). Na rys. 13 przedstawiono wybrane wyniki eksperymentu w postaci przebiegów czasowych: mocy elektrowni wiatrowej, wartości współczynnika wypełnienia PWM, i prędkości obrotowej turbiny. Wyniki otrzymano przy stałej prędkości wiatru v = 6,5 m/s. Otrzymane wyniki eksperymentu wykazują możliwość wykorzystania prostego algorytmu HCS do sterowania pracą mikroelektrowni wiatrowej jedynie dla stabilnej wartości prędkości wiatru. W przypadku szybkich i większych spadków prędkości wiatru, prezentowany prosty algorytm HCS nie działa już optymalnie, doprowadzając w skrajnych warunkach do znacznego spadku prędkości obrotowej turbiny i ponownego jej rozpędzania. Nieznaczną poprawę działania można w tym przypadku osiągnąć przez zastosowanie prostego mechanizmu regulacji kąta ustawienia łopat b = f(n), który zapobiega nagłemu „przeciągnięciu” i ułatwia rozruch turbiny. Pewną poprawę można także osiągnąć, jeśli w algorytmie sterowania wprowadzi się dodatkowe działania związane z pomiarem chwilowej prędkości obrotowej turbiny.
6. Wnioski Otrzymane wyniki pomiarów wykazały, że bezpośrednie podłączenie akumulatora do prądnicy może być przyczyną gorszej efektywności pracy mikroelektrowni. Rozwiązaniem tego problemu może być zastosowanie prostej przetwornicy, która w określony sposób będzie kształtować charakterystykę obciążenia mikroelektrowni. Możliwość zmiany kąta ustawienia łopat turbiny wiatrowej w zależności od jej prędkości obrotowej daje pewną poprawę efektywności mikroelektrowni. W wykonaniu praktycznym należy jednak wziąć pod uwagę dodatkowe koszty wykonania mechanizmu zmiany ustawienia łopat oraz jego niezawodność przy trudnych warunkach środowiskowych związanych z oblodzeniem. Zastosowanie prostego mechanizmu zmiany ustawienia łopat może być korzystne dla dwułopatowych mikroturbin o dużym współczynniku szybkobieżności. Rezygnując z trzeciej łopaty w turbinie wiatrowej na rzecz mechanizmu zmiany ustawienia łopat można osiągnąć większą szybkobieżność turbiny, a przez to można zastosować generator o mniejszej liczbie par biegunów – to z kolei przekłada się na jego niższe koszty wykonania. Zastosowany w modelu silnik szczotkowy prądu stałego z magnesami trwałymi jako prądnica wykazał swoją przydatność. Dodatkowe opory ruchu, jakie wnoszą szczotki, nie powodowały znaczących ograniczeń przy mniejszych prędkościach wiatru. Wyniki badań wykazały, że w ramach recyklingu można wykorzystać w mikroelektrowniach wiatrowych silniki prądu stałego stosowane w wentylatorach chłodnic ze złomowanych samochodów. Zastosowanie w tym przypadku prostej przetwornicy DC/DC umożliwiłoby optymalne dopasowanie mocy charakterystyki odbiornika do charakterystyki prądnicy. Przeprowadzone badania wykazały, że zbudowany model mikroelektrowni wiatrowej pozwala zaobserwować i zmierzyć zjawiska fizyczne związane z aerodynamiką turbiny wiatrowej i działaniem generatora prądu elektrycznego. Wyniki badań, w których stosowane są jedynie uproszczone modele matematyczne turbiny wiatrowej, często nie uwzględniają zjawiska tzw. „przeciągnięcia”, które jest znaczące, gdy maksymalna moc turbiny wiatrowej dla danej prędkości wiatru zostanie przekroczona. Model w prezentowanej skali pozwala w szybki i tani sposób wykonywać i badać wstępne prototypy projektowanych śmigieł z wykorzystaniem popularnych drukarek 3D. Ponadto stanowisko to umożliwia implementację, w pamięci programu użytego mikrokontrolera STM32F1, opracowywanych algorytmów optymalnego sterowania mikroelektrownią wiatrową. Moc obliczeniowa 32-bitowego mikrokontrolera jest wystarczająca nawet dla bardziej złożonych algorytmów. Specyfika działa-
Rys. 12. Charakterystyki mocy maksymalnej elektrowni wiatrowej w funkcji wartości prędkości wiatru dla przypadku stałego i regulowanego ustawienia łopat turbiny Fig. 12. Characteristics of the maximum power of a wind turbine as a function of the wind speed value for the case of a constant and controlled setting of the turbine blades
Wyniki pomiarów wskazują, że często stosowane w mikroelektrowniach, bezpośrednie podłączenie akumulatora do prądnicy, którego charakterystyka ładowania jest silnie nieliniowa i zmienia się w zależności od stopnia naładowania akumulatora, może być przyczyną gorszej efektywności pracy mikroelektrowni. Rozwiązaniem tego problemu może być zastosowanie możliwie prostej przetwornicy, która w określony sposób mogłaby kształtować charakterystykę obciążenia mikroelektrowni.
Rys. 13. Przebiegi czasowe: mocy elektrowni wiatrowej, wartości współczynnika wypełnienia PWM, i prędkości obrotowej turbiny, dla pracy modelu mikroelektrowni wiatrowej sterowanej prostym algorytmem HCS dla regulowanego ustawienia łopat turbiny Fig. 13. Time charts of: wind farm power, PWM duty cycle, and turbine rotational speed, for the operation of the wind micro power plant model controlled by a simple HCS algorithm for the adjustable turbine blade setting
46
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 21
< # nia, budowy i ograniczeń dla mikroelektrowni wiatrowych jest w pewnych aspektach zupełnie inna niż w przypadku większych elektrowni wiatrowych, dla których powstały już liczne opracowania naukowe [6–9]. Z uwagi na rosnący popyt na autonomiczne i przenośne mikroelektrownie hybrydowe, łączące panele fotowoltaiczne i turbiny wiatrowe, celowe jest prowadzenie badań nad poprawą efektywności energetycznej tych urządzeń. Dalsze prace będą koncentrować się na wykorzystaniu generatora synchronicznego z magnesami trwałymi PMSG [10], rozruchem mikroturbiny wiatrowej o współczynniku szybkobieżności osiągającym wartość 10 i algorytmami optymalnego sterowania MPPT mikroelektrownią.
Q # 0 1.
2.
3.
4.
Bukała J., Damaziak K., Krzeszowiec M., Malachowski J., Rozwiązania konstrukcyjne małych turbin wiatrowych, „Modelowanie inżynierskie”, T. 22, Nr 53, 2014, 21–29. Krzemiński Z., Szewczyk J., Bogalecka E., Sterowanie małą elektrownią wiatrową z wykorzystaniem efektu przeciągnięcia, „Przegląd Elektrotechniczny”, R. 94, Nr 5, 2018, 104–111, DOI: 10.15199/48.2018.05.19. Błasiński W., Symulator turbiny wiatrowej małej mocy, „Przegląd Elektrotechniczny”, R. 93, Nr 12, 2017, 263–265, DOI: 10.15199/48.2017.12.62. Schubel P., Crossley R., Wind turbine blade design, “Energies”, Vol. 5, No. 9, 2012, 3425–3449, DOI: 10.3390/en5093425.
5.
Rolak M., Kot R., Malinowski M., Goryca Z., Szuster J., AC/DC converter with maximum power point tracking algorithm for complex solution of small wind turbine, “Przegląd Elektrotechniczny”, R. 87, Nr 6, 2011, 91–96. 6. Zammit D., Spiteri Staines C., Micallef A., Apap M., MPPT with Current Control for a PMSG Small Wind Turbine in a Grid-Connected DC Microgrid, ed. Battisti L., Ricci M, Wind Energy Exploitation in Urban Environment, Springer International Publishing, 2018, 205–219, DOI: 10.1007/978-3-319-74944-0_14. 7. Kadri A., Marzougui H., Bacha F., MPPT control methods in wind energy conversion system using DFIG, 4th International Conference on Control Engineering & Information Technology (CEIT), Hammamet, 2016, 1–6, DOI: 10.1109/CEIT.2016.7929115. 8. Shankareppagol L., Hampannavar S., Doadamani S., Performance Analysis of P&O and INC MPPT for WECS, 3rd International Conference for Convergence in Technology (I2CT), Pune, 2018, 1–8, DOI: 10.1109/I2CT.2018.8529555. 9. Baran J., Jąderko A., Sterowanie turbiną wiatrową z odtwarzaniem momentu aerodynamicznego, „Przegląd Elektrotechniczny”, R. 94, Nr 5, 2018, 47–52, DOI: 10.15199/48.2018.05.08. 10. Gajewski P., Pieńkowski K., Control of a variable speed wind turbine system with PMSG generator, „Maszyny Elektryczne – Zeszyty Problemowe”, Nr 107, 2015, 75–80.
/ ) $ I ) 6 L \ L < ) A & The article presents the results of research into the operation of a model of a wind micropower plant with a variable blade angle. The research was carried out on a miniature model of a measuring stand built for the purpose of carrying out work on pre-developed projects of wind micro power plants. The stand allows to carry out measurements related to the selection of the optimal propeller geometry, as well as the development and testing of algorithms for optimal control of the micropower plant. The physical basics of wind turbine operation and the methods of its optimal control are presented. The results of the performed measurements for the selected propeller blade geometry with the possibility of changing its setting angle are presented. A DC generator with a load with a non-linear characteristic in the form of a Li-Po battery cell was used. The results of operation of a simple MPPT control algorithm are presented. The lack of optimal control systems for the operation of micropower plants is dictated by the general belief that the costs of its production are high in relation to the possible improvement of the efficiency of micropower plants. Moreover, the practical methods of controlling larger wind turbines are not optimal for small and very small turbines. The conducted research focused on determining the possibility of using turbines with variable blade angles depending on its rotational speed. In larger wind farms, changing the blade angle is mainly used to limit the power of the turbine at high wind speeds. In micro wind power plants such solutions are not used for economic reasons. However, the use of a simple mechanism for changing the angle of the blades depending on the rotational speed of the propeller can increase the efficiency of the turbine in a wider range of wind speeds. The small dimensions of the research model allow for quick and cheap development of preliminary prototypes of turbine blades thanks to the possibility of using 3D printing technology. KeywordsH ) % % J & %
47
& # > & #\ 8
0 # ( ) ( ORCID: 0000-0002-8433-0247
O $ 8 ) A % S K O F " & L 4 & ) 4 & 4 4 F % &0 ) $ % F 0 F F 4 % F % 4 & 4 ) ) 0
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 21
Pomiary Automatyka Robotyka, ISSN 1427-9126, R. 25, Nr 1/2021, 49–52, DOI: 10.14313/PAR_239/49
L ; 4 & 4 L ) ) 4 $ ( & 1- ( ( ! 2 $ " #(
A ) 6 F[ < F< % I ) < ) / ? $ % 8 ) ? $ A % I *% E F !! < F<
W pracy przeprowadzono badania stabilności składnika warstwy receptorowej biosensora po dodaniu nanocząstek złota. Wykazano przyspieszone zmiany konformacyjne pod wpływem Au. Obliczono względne procentowe zmiany w czasie między czystym białkiem a białkiem domieszkowanym Au. Wykazano, że z czasem zmiany te są większe i przekraczają 20 % w ostatnich dniach eksperymentu. )/ H L % 4 A % L ;
1. Wprowadzenie
,1 /
Biosensory są urządzeniami podatnymi na starzenie się; proces ten można zaobserwować jako spadek intensywności badanego sygnału. Stabilność biosensorów ma kluczowe znaczenie dla sukcesu komercyjnego, ponieważ biosensory są obecnie stosowane w coraz większej liczbie różnych zastosowań Charakterystyka stabilności związana z okresem trwałości, możliwością wielokrotnego użycia oraz możliwością ciągłego wykorzystania jest często słabo zbadana i jest opisana w literaturze w małym zakresie, chociaż stanowi istotny czynnik wpływający na pracę urządzenia. Mechanizmy starzenia się biosensora są złożone i do tej pory są one jeszcze słabo poznane. Wiadomo natomiast, że utrata stabilności biosensora jest sumą całkowitych zmian wpływających zarówno na użyty materiał biologiczny: na przykład: enzymy [1], przeciwciała [2], jak również na mediatora sygnału (np. błękitu pruskiego [3, 4]) czy też na materiał wiążący użyty w matrycy [5–8]. W literaturze naukowej związanej z biosensorami brak jest doniesień na temat wpływu, badanego w pracy czynnika (nanocząstek Au na komponent wiążący używany w warstwie receptorowej (Albuminę Surowicy Wołowej) BSA. Celem przedstawionej pracy jest uzupełnienie i poszerzenie aktualnego stanu wiedzy na temat stabilności biosensora poprzez badania wpływu na materiał sieciujący (BSA) nanocząsteczek złota. Wyniki badań mogą być wykorzystane podczas konstrukcji biosensorów.
- H A ) 8 FI % ( L
Do badań wykorzystano Albuminę Surowicy Bydlęcej (BSA) w postaci stałej (skrystalizowany i liofilizowany proszek o czystości co najmniej 99 % – partia: SLBK3063V) i Au (zawiesinę stabilizowaną, partia: MKCD3520), o średnicy 10 nm. Wielkość nanocząsteczek Au 10 nm została wybrana z tego względu, że jest ona bardzo często stosowana w badaniach warstw receptorowych biosensorów ze względu na swoje właściwości fizyko-chemiczne [9–11]. Badano wodne roztwory białka i mieszaniny białko-Au. Badania przeprowadzono na roztworach wodnych, kierując się doniesieniami naukowymi [12], że taki roztwór pozwala lepiej poznać właściwości fizykochemiczne badanych substancji. Wykorzystując dwuwiązkowy spektrofotometr UV-Vis (Halo DB-20R) Dynamica, zbadano widma absorpcyjne wodnych roztworów BSA i mieszaniny BSA-Au w zakresie 250–320 nm. Zakres ten został dobrany w taki sposób, aby śledzić zmiany piku absorpcyjnym max = 277 nm pochodzącego od występujących w białku aminokwasów aromatycznych takich jak tryptofan (Trp), tyrozyna (Tyr) i fenyloalanina (Phe) [13]. Pomiary UV/VIS dla grupy kontrolnej (BSA 2 mg/ml) i mieszaniny BSA 2 mg/ml z 4 % Au przeprowadzono w ciągu 1, 4, 5, 6, 7, 8, 11, 12, 13, 14, 15, 18, 19, 20, 21, 22 dni w celu zbadania stabilności próbek w czasie. Celem przeprowadzonego eksperymentu było poznanie odpowiedzi na pytanie, czy możliwe jest przedłużenie stabilności warstwy receptorowej przez aplikację czynników zewnętrznych (Au w niewielkim stężeniu) na białko, które odgrywa istotną rolę w procesie sieciowania w matrycy biosensora. Eksperyment został przeprowadzony w trzech niezależnych seriach pomiarowych, aby uniknąć przypadkowości w pomiarach.
- / ) !. !* *!*- % ) ) -H ! *!*-
+1 $
!
Na rysunku 1 przedstawiono widma absorpcyjne w zakresie 250–320 nm BSA (a) i mieszaniny BSA-Au (b) w 6, 18 i 22
49
iF # &8 >\ b 8 \ 8 \ # dniu. Wykres pokazuje szeroki pik absorpcji (λmax = 277 nm) pochodzący od występujący w białku aminokwasów aromatycznych, takich jak tryptofan (Trp), tyrozyna (Tyr) i fenyloalanina (Phe). Obserwacje wskazują na wzrost absorpcji wraz z wiekiem próbek. Zauważono również zmiany w kształcie widma. Z czasem widmo staje się bardziej rozmyte. Fakt ten można wytłumaczyć zmianami konformacyjnymi i denaturacją białka wraz z upływem czasu. Podczas procesu denaturacji albuminy wołowej zaburzona zostaje struktura 3-rzędowa białka, co z kolei może prowadzić do utraty aktywności biologicznej białka. W zależności od czynników zewnętrznych badane białko może ulec całkowitemu lub tylko częściowemu zniekształceniu [14]. Zmiany konformacyjne opisywane są przez ró ne formy albuminy (E, F, N, B, A). Najważniejsza jest forma N (normal/ normalna), która zawiera 55 % helisy, forma F charakteryzuje się znacznie mniejszą rozpuszczalnością i zmniejszeniem zawartości struktury helisy. Badania wykazały, że po przyjęciu przez BSA formy F (fast) następuje gwałtowny wzrost lepkości wewnętrznej roztworów albumin, a badania mikroskopii elektronowej wykazały, że wzrasta ona również o 2/3 długości cząsteczki [15, 16]. Przy przejściu z formy F do formy E (ekspandowanej) helisa ulega zagięciu, a jej zawartość w tej formie wynosi tylko 35 %. Fałdowaniu ulega (10) helisa domeny I, która jest połączona z helisą (1) domeny II oraz helisa (10) domeny II połączona z helisą (1) domeny III [17]. Podczas przejmowania formy z N do B (basic/zasadowy), albumina zaczyna tracić swoją sztywność, a cząsteczka zaczyna zwiększać swój promień [18]. Wraz z upływem czasu docho-
dzi do kolejnej izomeryzacji i albumina z formy B przyjmuje formę A (aged/dojrzały). W dalszej części pracy zajmujemy się przejściami konformacyjnymi między formą N (normalną/ normal) a formą A (starzejącą się/old ). Podczas procesu denaturacji oddziaływania elektrostatyczne mogą ulec zmianie [19]. Oddziaływania elektrostatyczne odgrywają istotną rolę w stabilizacji struktury przestrzennej makrocząsteczek. Biorąc pod uwagę zasięg tego oddziaływania, wyróżnia się oddziaływania krótkiego (< 5 Å; 1 Å (angstrem) = 0,1 nm) i dalekiego (> 5 Å) zasięgu. Do oddziaływań elektrostatycznych dalekiego zasięgu zalicza się oddziaływania typu jon-jon (mostek solny) lub dipol-jon. Oddziaływania te należą do stosunkowo silnych, ich siła wynosi od 40–400 kJ/mol. Oddziaływania bliskiego zasięgu nazywane są również oddziaływaniami van der Waalsa. Oddziaływania te są słabsze od oddziaływań dalekiego zasięgu. Przykładem oddziaływań bliskiego zasięgu w cząsteczce białka są zarówne siły wzajemnego przyciągania, jak i wzajemnego odpychania. Ze względu na fakt, że badania przeprowadzane są w roztworach wodnych, bardzo istotne dla konformacji badanego białka są również oddziaływania hydrofobowe. W przeprowadzonych eksperymentach (rys. 1), zaobserwowano asymetryczne poszerzenie piku (5 nm) od strony niższych długości fali, natomiast dla mieszaniny BSA-Au to poszerzenie jest mniej widoczne, najprawdopodobniej jest to konsekwencja właśnie tego typu odziaływań. Oddziaływania hydrofobowe występują między resztami aminokwasowymi (Phe, Tyr, Trp) [7]. Jak widać na rys. 1b dodanie nanocząstek Au powoduje wzrost absorpcji roztworu. Zmiany te są bardzo niewielkie w pierwszych dniach eksperymentu i stają się coraz bardziej znaczące wraz z upływem czasu. Efekt ten może być związany ze zmianą wielkości cząstek po dodaniu nanocząstek Au do białka i tworzeniem kompleksów BSA-Au. Można zauważyć, że wartość absorpcji kompleksów BSA-Au jest większa niż BSA. Zatem denaturacja białka z dodatkiem Au jest szybsza niż samego białka. Zmiany te są bardziej znaczące w czasie. Rysunek 2 przedstawia widmo UV/Vis w 15. dniu trwania eksperymentu, dla BSA (linia z krzyżykami) oraz dla kompleksu BSA-Au (linia gładka). Cylindryczne piki absorpcyjne w zakresie 250–300 nm (λmax = 277 nm), spowodowane są przejściem → * reszt aminokwasów aromatycznych takich jak tyrozyna (Tyr), fenoloalanina (Phe) i tryptofan (Trp) specjalnie (Tyr) i (Trp). Reszty te mają w swojej budowie pierścień ze sprzężonym układem węglowych wiązań podwójnych typu ,
a)
b)
Rys. 1. Widma UV/Vis próbek kontrolnych (a) i kompleksów BSA-Au (b) w 6 dniu (pełne kwadraty), w 18 dniu (gładka), w 22 dniu (puste kwadraty) Fig. 1. UV/Vis spectrum of control samples (a), and BSA-Au complexes (b) for 6 day (full squares), 18 day (smooth), 22 day (empty squares)
50
P
O
M
I
A
R
Y
•
A
U
T
O
Rys. 2. Widma UV/Vis w 15 dniu, dla BSA (gładka) oraz kompleksów BSA-Au (pełne kwadraty) Fig. 2. UV / Vis spectrum on day 15, for the BSA (smooth) for the BSA-Au complex (full squares)
M
A
T
Y
K
A
•
R
O
B
O
T
Y
K
A
NR 1 / 20 21
H # ! M' # # g # co powoduje zmniejszenie różnicy energii pomiędzy poziomami i * oraz zwiększenie prawdopodobieństwa przejścia → * [8]. Poniższy wykres przedstawia absorpcję w 15. dniu eksperymentu. Widać, że dla mieszaniny BSA-Au ma ona większą wartość niż dla BSA. Powszechnie wiadomo, że absorpcja w BSA wzrasta z czasem z powodu procesu denaturacji [19, 20], więc można założyć, że zmiany konformacyjne zachodzą szybciej w kompleksach BSA-Au niż w BSA. Dokładny i szczegółowy mechamizm wiązania pomiędzy BSA i Au jest nadal przedmiotem badań [21, 22], jednakże autorzy [23] uważają, że dla małych stężeń Au reszty białkowe reagują z hydronami w roztworze, pozostawiając złoto z tendencją do agregacji. Proces ten jest widoczny na rys. 2, gdzie można zauważyć większą absorpcję dla kompleksów niż dla czystego BSA. Rysunek 3 przedstawia zmiany w czasie absorpcji dla BSA i kompleksów BSA-Au. Można zauważyć, że zmiany wartości absorpcji zachodzą mniej dynamicznie dla BSA, a bardziej dynamicznie dla kompleksów BSA-Au. Co więcej, wraz z upływem czasu różnice stają się coraz wyraźniejsze. Fakt ten może być związany z utratą stabilizacji łańcucha polipeptydowego na skutek osłabienia oddziaływań elektrostatycznych (sił van der Waalsa) [24]. Z czasem oddziaływania te ulegają osłabieniu w wyniku procesu denaturacji. Grupy aminokwasów aromatycznych (Phe, Tyr, Trp) stają się bardziej wyeksponowane i podatne na oddziaływania hydrofobowe. Skutkuje to zmianami konformacyjnymi i obniżeniem aktywności biologicznej białka. W przypadku kompleksów BSA-Au zmiany te zachodzą szybciej. Względne zmiany procentowe między kompleksem BSA-Au a czystym BSA przedstawiono na rys. 4. Obliczenia wykonano za pomocą formuły (1).
Rys. 3. Wartość absorpcji w kolejnych dniach dla BSA oraz kompleksu BSA-Au Fig. 3. Absorption on following days for BSA and for BSA-Au
Rys. 4. Względne zmiany w absorpcji w kolejnych dniach między absorpcją kompleksu BSA-Au a absorpcją BSA Fig. 4. Relative changes in absorption in the following days between absorption in BSA-Au complexes and absorption in BSA
[Anz (t) – A1z (t)] = (Any-A1y) – (Anx – A1x)
(1)
gdzie: Any – absorpcja kompleksu BSA-Au w kolejnych dniach, Aly – absorpcja kompleksu BSA-Au w pierwszym dniu, Anx – absorpcja BSA w kolejnych dniach, Alx – absorpcja BSA w pierwszym dniu, Anz(t) – zmiana absorpcji kompleksu BSA-Au w czasie, Alz(t) – zmiana absorpcji BSA w czasie. Analizując rys. 4 można zauważyć, że w dniach od 1. do 7. względne różnice w absorpcji są niewielkie i osiągają maksymalnie 2 %. Wraz z upływem czasu różnice stają się coraz wyraźniejsze i tak między 8 a 18 dniem przyjmują wartości od 6 % do 19 %. Największe różnice procentowe zaobserwowano w ostatnich dniach eksperymentu (19–22 dzień) i wynoszą one ponad 20 %.
Podsumowując, w prezentowanej pracy wykazano wpływ niskiego stężenia nanocząstek złota na stabilność komponenta sieciującego warstw receptorowych biosensorów. Zaobserwowano przyspieszone zmiany denaturacji po dodaniu nanocząstek złota w małym stężeniu. Badania stabilności w czasie wykazały spadek stabilności białka w czasie, szybszą utratę stabilności białka w wyniku zastosowania nanocząstek złota o niskim stężeniu. Obliczono względne procentowe zmiany w czasie między czystym białkiem a białkiem domieszkowanym Au. Wykazano, że z czasem zmiany te są większe i przekraczają 20 % w ostatnich dniach eksperymentu.
Q # 0 1. Martsenyuk V., Klos-Witkowska A., Sverstiuk A, Stability, bifurcation and transition to chaos in a model of immunosensor based on lattice differential equations with delay. “Electronic Journal of Qualitative Theory of Differential Equations”, Vol. 27, 2018, 1–31. 2. Klos-Witkowska A, Biosensory, „Pomiary Automatyka Robotyka”, R. 19, Nr 3, 2015, 37–40, DOI: 10.14313/PAR_217/37. 3. Mosinska L., Fabisiak K., Paprocki K., Kowalska M., Popielarski P., Szybowicz M., Stasiak A, Diamond as a transducer material for the production of biosensors. „Przemysl Chemiczny”. Vol. 92, Nr 6, 2013, 919–923. 4. Shrisha N., Jain A., Jain A., Sarika C., Rekha, K., Narasimha Murthy B, Studies on enhancing operational stability of a reusable laccase-based biosensor probe for detection of ortho-substituted phenolic derivatives. “3 Biotech”, Vol. 5, 2015, 911–924, DOI: 10.1007/s13205-015-0292-7. 5. Ertürk G., Berillo D., Hedström M., Mattiasson, B, Microcontact-BSA imprinted capacitive biosensor for real-time, sensitive and selective detection of BSA, “Biotechnology Reports”, Vol. 3, 2015, 65–72, DOI: 10.1016/j.btre.2014.06.006. 6. Lin CH., Lee M., Lee W., Bovine serum albumin detection and quantitation based on capacitance measurements of liquid crystals. “Applied Physics Letters”, Vol. 109, No. 9, 2016, DOI: 10.1063/1.4962169. 7. Yu J., Chen Y., Xiong L., Zhang X., Zheng Y., Conductance Changes in Bovine Serum Albumin Caused by Drug-Binding Triggered Structural Transitions. “Materials” (Basel), Vol. 12, No. 7, 2019, DOI: 10.3390/ma12071022. 8. Taked K., Wada A., Yamamoto K., Moriyama Y., Aoki K., Conformational change of bovine serum albumin by heat treatment. “Journal of Protein Chemistry, Vol. 8, No. 5, 1989, 653–659, DOI: 10.1007/BF01025605. 9. Wang J., Profitt JA., Pugia MJ., Suni II., Au nanoparticle conjugation for impedance and capacitance signal amplification in biosensors. “Analytical Chemistry”, Vol. 78, No. 6, 2006, 1769–1773, DOI: 10.1021/ac051113+.
51
iF # &8 >\ b 8 \ 8 \ # 10. Lismont M., Dreesen L., Comparative study of Ag and Au nanoparticles biosensors based on surface plasmon resonance phenomenon. “Materials Science and Engineering: C”, Vol. 32, No. 6, 2012, 1437–1442, DOI: 10.1016/j.msec.2012.04.023. 11. Young M., Seung O., Insoo K., Ki Y., Duchang H., Dong-Goo K., Detection of Biomarkers Using LSPR Substrate with Gold Nanoparticle Array. “Jourmal of Nanomaterials”, Vol. 2015, DOI: 10.1155/2015/302816. 12. Michnik A., Michalik K., Drzazga Z., Effect of UVC radiation on conformational restructuring of human serum albumin. “Journal of Photochemistry and Photobiology, B. Biology”, Vol. 90, No. 3, 2008, 170–178, DOI: 10.1016/j.jphotobiol.2007.12.007. 13. Hongliang X , Nannan Y., Haoran X., Tiansh W., Guiying, L., Zhengqiang L., Characterization of the Interaction between Eupatorin and Bovine Serum Albumin by Spectroscopic and Molecular Modeling Methods. “International Journal of Molecular Sciences”, Vol. 14, No. 7, 2013, 14185–14203, DOI: 10.3390/ijms140714185. 14. Berg S., Vile M., Biologia. Eds. Mutlico, Oficyna Wydawnicza, Warszawa 2000. 15. Harfenist E., Murry R., Biochemia Harpera, ed. PZWL, Warszawa 1982. 16. Jakubke H., Keit H, Aminokwasy, peptydy, białka, PWN, Warszawa 1982. 17. Michnik A., Michalik, K., Drzazga Z., Stability of Bovine Serum Albumin at different pH. “Journal of Thermal Analysis and Calorimetry”, Vol. 80, 2005, 399–406, DOI: 10.1007/s10973-005-0667-9. 18. Barbosa L., Ortore M., Spinozzi F., Mariani, P., Bernstoff S., The Importance of Protein-Protein Interactions on the pH-Induced Conformational Changes of Bovine Serum Albumin:
19.
20.
21.
22.
23.
24.
A Small-Angle X-Ray Scattering Study, “Biophysical Journal”, Vol. 98, No. 1, 2010, 147–157, DOI: 10.1016/j.bpj.2009.09.056. Klos-Witkowska A., Martsenyuk V., Investigation of biosensor potential component stability caused by influence of external condition. “Ecological Chemistry and Engineering S”, Vol. 26, No. 4, 2019, 665–674, DOI: 10.1515/eces-2019-0048. Klos-Witkowska A., Influence of Fractional Electromagnetic Radiation Doses on Biosensor Matrix Component Stability. “Acta Physica Polonica A”, Vol. 133:, No. 1, 2018, 101–104, DOI: 10.12693/APhysPolA.133.101. Pan B., Cui D., Xu P., Li Q., Huang T., He R., Gao F., Study on interaction between gold nanorod and bovine serum albumin. “Colloids and Surfaces A: Physicochemical and Engineering Aspects”, Vol. 295, No. 1–3, 2007, 217–222, DOI: 10.1016/j.colsurfa.2006.09.002. Ravindran A., Singh A., Raichur A., Chandrasekaran N., Studies on interaction of colloidal Ag nanoparticles with Bovine Serum Albumin (BSA), “Colloids and Surfaces B: Biointerafaces”, Vol. 76, No. 1, 2010, 32–37, DOI: 10.1016/j.colsurfb.2009.10.005. Nghiem T., Nguyen T., Fort E., Nguyen P., Hoang T., Nguyen T., Tran H., Capping and in vivo toxicity studies of gold nanoparticles. “Advances in Natural Science: Nanoscience and Nanotechnology”, Vol. 3, 2012, DOI: 10.1088/2043-6262/3/1/015002. Sochacka J., Pacholczyk M., Wójcik P., Sposoby graficznej prezentacji wyników dokowania molekularnego uzyskanych za pomocą dedykowanych programów komputerowych, Trendy i rozwiązania technologiczne – odpowiedź na potrzeby współczesnego społeczeństwa. Tom 1. 81–101 Lublin 2017.
L $ @ & $ < Q @ Ab A)) $ # ) V In this study, the stability of the receptor layer component of a biosensor after addition of gold nanoparticles was investigated. Accelerated conformational changes under the influence of Au were demonstrated. The relative percentage changes over time between the pure protein and the Au doped protein were calculated. It was shown that these changes are greater with time and exceed 20 % in the last days of the experiment. KeywordsH L % A % L
$ ( & 1- ( (
3 4 2 $ " #(
A) 8 ) ? $ A F I ) < ) / ? $ F A ) 6 F[ < F< f L
O $ 8 ) ? $ A F I ) < ) / ? $ A ) 6 F[ F < F< F f L % F ) % $ )
( L ORCID: 0000-0003-2319-5974
52
P
O
M
I
A
R
( L ORCID: 0000-0001-5622-1038
Y
•
A
U
T
O
M
A
T
Y
K
A
•
R
O
B
O
T
Y
K
A
NR 1 / 20 21
Pomiary Automatyka Robotyka, ISSN 1427-9126, R. 25, Nr 1/2021, 53–60, DOI: 10.14313/PAR_239/53
O & L & ) & $ & ) #$ #5! " $ "# / (
O Q ?& & = % 8 ) / Q L % A O R 0 I .% GF+G+ Q 0
Coraz częściej w procesach produkcyjnych wykorzystuje się rozwiązania, w których roboty współpracują z systemami wizyjnymi. Wiąże się to z realizacją zadań typu ,,pick and place” lub korekcją ścieżki narzędzia w trakcie procesu obróbki. Systemy wizyjne wymieniają informacje z kontrolerami robotów, co umożliwia wykrycie określonego obiektu, uzyskanie informacji o jego lokalizacji i orientacji. W ramach artykułu zdecydowano się zaprojektować oraz zbudować zrobotyzowane stanowisko w środowisku RobotStudio przeznaczone do gratowania felg samochodowych. Przedstawiono proces projektowania algorytmu w środowisku MATLAB pozwalającego określić położenie i orientację obrabianego detalu. Komunikacja obu środowisk MATLAB oraz RobotStudio odbywa się przez protokół TCP/IP. Zaprezentowano także weryfikację działania oraz symulację zbudowanego stanowiska. )/ H % /A6@A<% 0 6 OB?O% Q L ) % L %
1. Wprowadzenie Producenci robotów wprowadzają coraz nowsze rozwiązania sprzętowe, a także ulepszenia w obszarze oprogramowania. W oferowanych przez nich wirtualnych środowiskach istnieje możliwość między innymi zaprogramowania stanowisk zrobotyzowanych, symulacje uwzględniające cykle pracy oraz zaawansowaną logikę stanowisk. Środowiska są stale doposażane w kolejne moduły ułatwiające programowanie określonych procesów przemysłowych, takich jak spawanie, malowanie, zgrzewanie itd. Ponadto rozbudowywane są funkcje pozwalające na obsługę systemów wizyjnych oraz optymalizację programów sterujących. Niezbędną częścią w środowiskach programowania jest możliwość importowania plików CAD, dzięki czemu można odwzorować stanowisko rzeczywiste, znając odpowiednie wymiary komponentów [6]. Coraz częściej w procesach produkcyjnych wykorzystuje się rozwiązania, w których roboty współpracują z systemami wizyjnymi. Wiąże się to z realizacją zadań typu ,,pick and place” lub korekcją ścieżki narzędzia w trakcie procesu obróbki. Systemy wizyjne wymieniają informacje z kontrolerami robotów, co umożliwia wykrycie określonego obiektu, uzyskanie informacji o jego lokalizacji i orientacji. Zgodnie z założeniami niniejszego artykułu obiektem poddawanym analizie jest felga aluminiowa, która powstaje w proce-
- H O O % ( ) - / ) *+ -- *!*! % ) ) -. !* *!*-
!
sie odlewania, jako monolit. Ze względu na fakt wykorzystania wieloczęściowych form odlewniczych konieczna jest późniejsza obróbka ubytkowa w celu wykonania powierzchni montażowych, czy też usunięcia powstałych wypływek. Powstające wypływki mają nieregularny, niepowtarzalny kształt, co stanowi trudność tego procesu. Biorąc pod uwagę złożoną konstrukcję felgi, nie zawsze istnieje możliwość wykorzystania w tym celu obrabiarek sterowanych numerycznie, z kolei obróbka ręczna nie zapewnia wymaganej powtarzalności. Zastosowanie stacji zrobotyzowanej z systemem wizyjnym do procesu gratowania felg spełni swoją rolę, osiągając wymagane parametry procesu [11]. W artykule został również przedstawiony proces projektowania algorytmu pozwalającego określić położenie i orientację obrabianego detalu.
,1 - < Gratowanie jest procesem, w wyniku którego zostaje określony ostateczny kształt oraz powierzchnia obiektu uzyskiwanego podczas obróbki tworzyw sztucznych bądź metalu. W wyniku tego procesu ostre krawędzie zostają zatępione, a zadziory i nierówności powierzchni usunięte. Ten typ obróbki mechanicznej jest szczególnie uciążliwy dla pracowników, ponieważ wymaga wysokiej jakości oraz powtarzalności [13, 17–19]. Gratowanie zaraz obok takich procesów jak polerowanie, cięcie oraz frezowanie to procesy podlegające szeroko pojętej robotyzacji. Większość firm produkujących roboty zapewnia klientom rozwiązania dedykowane właśnie do obróbki wykańczającej. Obecnie technologia wizyjna nieustannie ewoluuje, a różnego typu zintegrowane systemy wizyjne stają się standardem. Systemy wizyjne dostarczają informacji dotyczącej otoczenia w postaci obrazu, dlatego często można spotkać się z porównaniem ich do „zmysłu wzroku”. Za pomocą odpowiednich narzędzi
53
Projekt oraz oprogramowanie zrobotyzowanego stanowiska do gratowania felg samochodowych pozyskany obraz jest przetwarzany i wystawiana jest informacja zwrotna, przydatna w dalszych operacjach. Systemy wizyjne są stosowane w przemyśle między innymi w celu rozpoznawania części, identyfikacji wad oraz monitorowania danego procesu produkcyjnego. Zastosowanie wizji w procesie niesie ze sobą zalety, główne z nich to poprawa jakości produktu, usuwanie błędów, a także redukcja kosztów [9, 10]. W pracach [12, 13, 15] przedstawiono przykłady stacji zrobotyzowanych, które współpracują z systemami wizyjnymi oraz znajdują zastosowanie w procesie gratowania. Rozwiązania takie wykorzystują m.in. producenci robotów: FANUC, KUKA oraz ABB. Firma FANUC prezentuje pakiet Deburring Package we współpracy z robotem FANUC LR Mate 200iD. Deburring Package jest to połączenie systemu wizyjnego (FANUC iRVision) oraz czujnika siły (FANUC Force Sensor) [16]. System ten pozwala, w oparciu o zebrane informacje, na automatyzację obróbki detali bez konieczności programowania robota dla każdego z detali osobno. Drugim elementem pakietu Deburring Package jest czujnik siły, który daje możliwość kontroli siły w czasie operacji, chroniąc tym samym detal przed zniszczeniem. System pozwala na pomiar detalu przez wykrycie kontaktu pomiędzy narzędziem robota, a mierzonym detalem. Szerokie zastosowanie czujnika ogranicza również udział zewnętrznej aparatury kontrolno-pomiarowej [13, 16]. Pakiet Deburring Package może być wykorzystany m.in. w procesach gratowania. Kolejny przykład przedstawia firma KUKA. Barriquan Robotic Deburring Cell firmy SUGINO to zautomatyzowana cela wyposażona w wrzeciono umieszczone na ostatnim ramieniu robota firmy KUKA. Oprócz 6-osiowego robota cela ma obrotowy stół pozycjonujący, który daje dodatkową siódmą oś, co jest przydatne do usuwania zadziorów najbardziej złożonych części [15]. Barriquan to uchwyt narzędziowy z wbudowanym mechanizmem ruchomym. Utrzymuje narzędzie pod stałym naciskiem na powierzchnie obrabiane, aby umożliwić profilowanie. Ciśnienie docisku ma regulację pozwalającą dopasować siłę docisku tak, aby spełnić wymagania i zlikwidować zadziory. Maszyna nadaje się do gratowania otworów w rurach, otworów lub krawędzi na powierzchni i od środka bez zmiany narzędzia [15]. Następny przykład prezentuje firma ABB. Flex Finishing Cell firmy ABB to zrobotyzowana cela wyposażona w robota IRB 140 wraz z pakietem Force Control Machining. Czujnik siły zapewnia sprzężenie zwrotne podczas procesu obróbki, pozwala to na uzyskanie wysokiej jakości oraz powtarzalności. Cela wyposażona jest również w czujnik pozwalający na kalibrację punktu TCP [12]. Stanowisko przeznaczone jest do obróbki takich materiałów jak stal, stal nierdzewna, aluminium, magnez, tworzywa sztuczne oraz szkło. W zależności od konfiguracji mogą być wykonywane operacje polerowania, szlifowania, gratowania oraz frezowania. W pracach [1–4, 7, 8] przedstawiono przykłady zastosowania pakietu Force Control Machining do zatępiania krawędzi odlewów, usuwania naddatków oraz szlifowania łopatek. Celem sprawdzenia wykonanej obróbki detale są skanowane przez manipulator ze skanerem GOM.
Rys. 1. Ogólny schemat komunikacji między środowiskami MATLAB oraz RobotStudio Fig. 1. General diagram of communication between MATLAB and RobotStudio environments
przedstawiono schemat wymiany informacji między oprogramowaniem MATLAB oraz środowiskiem RobotStudio. Aplikacja została zaprojektowana celem wyszukiwania, rozpoznawania i klasyfikacji przedmiotu na podstawie informacji odczytanych z obrazu. Kolejnym etapem jest wykonywanie obróbki elementu bazując na pozyskanych danych. Komunikacja między środowiskami odbywa się za pomocą protokołu TCP/IP. Na rys. 2 przedstawiono algorytm działania stacji. Przedstawiony na rys. 2 algorytm dzieli się na dwie części. Lewa strona algorytmu dotyczy programu MATLAB, prawa strona – programu RobotStudio. Dokładny opis działania zaprezentowanego algorytmu zostanie przedstawiony w niniejszym oraz kolejnym rozdziale.
+1 MATLAB W celu budowy stanowiska zrobotyzowanego oraz jego oprogramowania wykorzystano algorytmy przetwarzania obrazu w programie MATLAB oraz język RAPID w środowisku RobotStudio.
+1U1 - / Zaprojektowane stanowisko zrobotyzowane łączy współpracę dwóch środowisk – MATLAB/Simulink, pełniącego rolę systemu przetwarzania obrazu, oraz RobotStudio, w którym zamodelowano stację. Zastosowanie systemu przetwarzania obrazu umożliwia korekcję odpowiednich ścieżek ruchu robota. Na rys. 1
54
P
O
M
I
A
R
Y
•
A
U
T
O
M
Rys. 2. Algorytm działania aplikacji Fig. 2. Application operation algorithm A
T
Y
K
A
•
R
O
B
O
T
Y
K
A
NR 1 / 20 21
i ) #
+1,1 7 / Program opracowany w ramach artykułu został zaprojektowany w środowisku MATLAB, zawiera algorytmy umożliwiające przetwarzanie obrazu, wykrywanie na nim obiektów oraz ich dopasowywanie. Przesyłanie informacji dotyczących między innymi orientacji oraz rodzaju przedmiotu zostało zrealizowane przy użyciu protokołu TCP/IP [5]. Odpowiednie dane zostają przesłane do kontrolera, który na ich podstawie aktualizuje ścieżkę ruchu robota. W m-pliku Main.m znajduje się kod programu odpowiadający za nawiązanie połączenia między środowiskami MATLAB – RobotStudio. client = tcpip(‘127.0.0.1’, 50001); client.Timeout = 100; while 1 try fopen(client); if ‘0’ switch
1 ! " #$ $ % & % # ' *+ /3 4689 :); 9 *% :) . . . ! " #$ $ % & % # ' *+ /3 <$ 4$> 89 :); 9 *?$ 4$> :)
9 @ fclose(client);
metoda randi, która wraz z instrukcją switch odpowiada za losowanie jednego z sześciu modeli felg aluminiowych. Procedura ta została wprowadzona na potrzeby symulacji. Natomiast w sytuacji, gdy jest równa jeden zostaje wywołany m-plik objectRecognition.m. Zadaniem metody fprintf jest przesłanie wylosowanej wcześniej wartości do programu RobotStudio, gdzie odpowiedni model felgi zostanie umieszczony na przenośniku. W końcowej części programu metoda ta odpowiada za przesłanie ramki danych. Instrukcja fclose zamyka połączenie z serwerem. Obsługa komunikacji między programami zawiera się w bloku instrukcji try…catch. Jeśli dowolna instrukcja w bloku try zwróci błąd, wykonywanie programu przechodzi natychmiast do bloku catch, który zawiera instrukcje obsługi błędów. W m-pliku Main.m znajduje się również procedura wczytywania trzech różnych zdjęć wzorców w formacie .png. Na rys. 3 przedstawiono zdjęcia wzorcowe felg uzyskane na podstawie idealnych modeli 3D.
Rys. 3. Zdjęcia wzorcowe felg Fig. 3. Model photos of rims
Do zdefiniowanych wzorców będą porównywane zdjęcia wykonane przez kamerę umieszczoną w stacji i na tej podstawie będzie rozpoznawany typ felgi, jej orientacja oraz położenie. Przesłanie informacji do kontrolera umożliwi rozpoczęcie procesu obróbki przez manipulator. Po wczytaniu zdjęcia do pamięci programu przy użyciu metody imread, zostaje ono przekształcone z obrazu kolorowego na obraz w odcieniach szarości za pomocą funkcji rgb2gray. Zastosowane metody detectSURFFeatures oraz extractFeatures umożliwiają wykrycie oraz wyodrębnienie charakterystycznych punktów na zdjęciu. Na rys. 4 przedstawiono najmocniejsze charakterystyczne punkty każdego ze wzorców.
elseif ‘1’ $>/ B $ C$ 9 @ E fclose(client);
< 9 GJ K E & 9$LN K 888:);
W zaprezentowanym algorytmie działania program MATLAB pełni funkcję klienta. Posługując się metodą tcpip został utworzony obiekt o nazwie client klasy TCPIP, który przyjmuje adres IP 127.0.0.1 oraz numer portu 50001. Polecenie Timeout definiuje maksymalny czas oczekiwania na zakończenie operacji odczytu i zapisu, wyrażony w sekundach. Zastosowane dane są istotne do poprawnego działania komunikacji bazującej na protokole TCP/IP. Następnie zastosowano nieskończoną pętlę while, która zapewnia ciągłość działania programu. Instrukcja fopen w pętli odpowiada za otwarcie połączenia z serwerem. Kolejnym krokiem jest odczytanie pojedynczego znaku, który przypisywany jest do zmiennej flag determinującej działanie dalszej części programu. W instrukcji warunkowej if obsługiwane są dwie wartości zmiennej flag. W przypadku, gdy jest równa zeru, uruchamiana jest
Rys. 4. Wykrycie stu charakterystycznych punktów dla każdego wzorca Fig. 4. Detection of one hundred characteristic points for each pattern
W celu dopasowania obrazu wykonanego przez kamerę w stacji do jednego z wzorców napisano m-plik objectRecognition.m. Kod m-pliku zaprezentowano poniżej. while 1 idx = idx + 1; if idx > length (allPatterns(:,1)) ! " ‘|0|0|0’) ; end #$ % & '" *-" $ "./ # ., 2 #3 .); if # 4 56 ' 3 !; end end
55
Projekt oraz oprogramowanie zrobotyzowanego stanowiska do gratowania felg samochodowych
Rys. 7. Obraz monochromatyczny przed i po progowaniu Fig. 7. Monochrome image before and after thresholding
Rys. 5. Początkowe dopasowanie par punktów – po lewej wzorzec, po prawej zdjęcie z kamery Fig. 5. Initial matching of pairs of points - on the left a pattern, on the right a photo from the camera
Rys. 6. Dopasowanie par punktów z usuniętymi wartościami odstającymi – po lewej wzorzec, po prawej zdjęcie z kamery Fig. 6. Matching pairs of points with removed outliers – on the left a pattern, on the right a photo from the camera
Rys. 8. Oddzielenie kolorów RGB Fig. 8. RGB color separation
Program rozpoczyna nieskończona pętla while. Pierwsza instrukcja warunkowa if definiuje obsługę błędu. Instrukcja zostanie uruchomiona, gdy algorytm nie dopasuje obrazu wykonanego przez kamerę do żadnego wzorca. Wówczas do programu RobotStudio zostanie wysłana ramka w postaci ‚99|0|0|0’. Kolejnym poleceniem występującym w przedstawionym m-pliku jest metoda matchFeatures, która dopasowuje punkty charakterystyczne wykryte na wykonanym zdjęciu do punktów wykrytych na zdjęciu wzorca. Warunkiem koniecznym w celu doboru odpowiedniego wzorca, jest liczba dopasowanych par większa od czterdziestu. Na rys. 5 przedstawiono początkowe dopasowanie par punktów. Kolejnym poleceniem w m-pliku objectRecognition.m jest instrukcja estimateGeometricTransform. Przedstawiona funkcja eliminuje wartości odstające od wcześniej dopasowanych par punktów. Funkcja przyjmuje następujące argumenty: − similarity – typ transformacji, który przyjmuje minimalną liczbę dopasowanych par punktów równą dwa; − Confidence – pewność znalezienia maksymalnej liczby par; zwiększenie tej wartości poprawia działanie algorytmu kosztem dodatkowych obliczeń; − MaxDistance – maksymalna odległość w pikselach między punktami pary. Wynikiem zastosowania polecenia estimateGeometricTransform dla początkowo dopasowanej pary punktów przedstawiono na rys. 6. W celu poprawy jakości uzyskanego obrazu zastosowano przetwarzanie progowe. Przetestowano dwa podejścia, pierwsze z nich dotyczy konwersji zdjęcia do obrazu monochromatycznego, drugie – konwersji zdjęcia do palety barw RGB. Polecenie im2bw odpowiada za konwersję obrazu monochromatycznego na obraz binarny, zastępując wszystkie piksele macierzy wejściowej o wartości nasycenia większej niż ustalony poziom (zmienna level), wartością 1 (biały) oraz zastępując pozostałe piksele wartością 0 (czarny). Efekt progowania przedstawiono na rys. 7. Zastosowanie tej metody zaowocowało nieco krótszym czasem obliczeń. Okazało się jednak, że użyty typ progowania nie zapew-
56
P
O
M
I
A
R
Y
•
A
U
T
O
M
Rys. 9. Przekształcenie progowe RGB Fig. 9. RGB threshold transform
nia zadowalających rezultatów, co powoduje niedogodności w dalszej analizie obrazu. Z tego względu skorzystano z progowania, które przekształca zdjęcie kolorowe, biorąc pod uwagę nasycenie trzema kolorami RGB, na zdjęcie binarne. Na rys. 8. przedstawiono podział na składowe palety barw RGB. Do przetwarzania progowego zostało użyte polecenie identyczne jak przy progowaniu obrazu w odcieniach szarości. Rysunek 9 przedstawia efekt progowania z użyciem palety barw RGB. Poziomy doboru nasycenia palety barw zostały dobrane eksperymentalnie. W rozważanym przypadku zauważa się dokładniejsze wykrycie krawędzi przedmiotu w porównaniu z przekształcaniem obrazu monochromatycznego. Kolejnym krokiem jest wypełnienie luk wykrytych na otrzymanym powyżej obrazie binarnym. Na rys. 10 zaprezentowano efekt operacji wypełnienia ubytków. Polecenie imcomplement odpowiada za uzupełnienie luk obrazu binarnego, zera zamieniają się na jedynki i odwrotnie. W celu wypełnienia ubytków znalezionych na zdjęciu zastosowano metodę imfill. Umożliwia ona dokładne zlokalizowanie krawędzi obiektu. Filtrację na podstawie kształtu obiektu przedstawiono na rys. 11. A
T
Y
K
A
•
R
O
B
O
T
Y
K
A
NR 1 / 20 21
i ) # Funkcja strel wykonuje podstawowe przekształcenia morfologiczne obrazu, takie jak erozja i dylatacja, wyszukując obiekty o promieniu większym od 30 pikseli, które następnie zostają wyeliminowane. Kolejnym etapem było określenie środka wykrytego obiektu. Listing programu przedstawiający instrukcje pozwalające na wyznaczenie współrzędnych środka wykrytego obiektu zaprezentowano poniżej.
Wcześniej obliczona została macierz transformacji geometrycznej tform, którą należy przekształcić na macierz odwrotną, w celu obliczenia skali i kąta obiektu na obrazie [14]. Niech sc = scale × cos(q), (4.1)
Wtedy $ 9 $9 $9 *O $ :, *U /$ %W X <:, *U $ %W X <:); 8U /$ %W X < 8 U $ %W X < ! 3! Na rys. 12 zaprezentowano, w jaki sposób algorytm wykrywa kąt obrotu detalu względem wzorca. Za pomocą funkcji regionprops mierzone są właściwości danego obszaru obrazu. Jednym z jej argumentów jest ‘Centroid’, który odpowiada za pomiar współrzędnych środka ciężkości. Kolejne to ‘MajorAxisLength’ oraz ‘MinorAxisLength’, które oznaczają długość (w pikselach) większej i mniejszej osi elipsy. Za pomocą metody mean wyliczana jest średnica z wcześniej utworzonej macierzy i na tej podstawie wyliczany jest promień. Na rys. 13. przedstawiono poprawnie wykryty kształt przedmiotu. Następnym krokiem było obliczanie kąta obrotu oraz skali przetwarzanego obrazu względem wzorca. Tinv = tform.invert.T; ss = Tinv(2,1); sc = Tinv(1,1); & 9YE 49W Z [ \ [ & 9YE 4 # ] W ^_ 3 K # ] W `_ & 9YE & 9YE 49W [ & 9YE 4 < ! [ j639
Rys. 10. Wypełnienie wykrytych luk na obrazie Fig. 10. Filling detected gaps in the image
Rys. 12. Wykryty obiekt – widać obrót obiektu o kąt theta Fig. 12. Object detected - you can see the object’s rotation by theta angle
Rys. 11. Filtracja obrazu na podstawie kształtu Fig. 11. Image filtering based on shape
Rys. 13. Wykryty obiekt Fig. 13. Object detected
ss = scale × sin(q),
(4.2)
⎡sc −ss 0 ⎤ ⎢ ⎥ Tinv = ⎢ss sc 0 ⎥ , ⎢⎣tx ty 1 ⎥⎦
(4.3)
gdzie tx i ty są odpowiednio przesunięciami w osi x i y układu współrzędnych. wspSkal px = ss 2 + sc 2 wspSkalmm =
(4.4)
dmm d px
(4.5)
gdzie dmm oraz dpx oznaczają odpowiednio rzeczywistą średnicę felgi oraz wykrytego obiektu. wspSkal = wspSkalpx ·wspSkalmm
(4.6)
ss ⎞ 180 ⋅ ⎝ sc ⎠⎟ π
θ = arctg ⎛⎜
(4.7)
Na tej podstawie został wyznaczony współczynnik skali wyrażony w pikselach oraz kąt q w stopniach. Współczynnik został określony na podstawie zdjęcia z kamery oraz zdefiniowanego wzorca. Dodatkowo obliczony został współczynnik skali wymiaru rzeczywistego jako stosunek wymiaru rzeczywistego przedmiotu w milimetrach do wymiaru obiektu przedstawionego na wzorcu w pikselach. Całkowity współczynnik skalowania stanowi iloczyn wyżej wymienionych współczynników. W następnej kolejności wyliczany jest środek obiektu (w mm) z uwzględnieniem całkowitego współczynnika skali. 8O $ [ & 9YE W6 x^6 z6 x^6
% mm
W { W6 z ! { z6
% mm
Zmienne x0 oraz y0 przechowują wartości współrzędnych środka obszaru wykrywanego przez kamerę, są wyrażone w milimetrach. Na ich podstawie obliczane jest ewentualne przesunięcie obiektu. Na rys. 14 został przedstawiony sposób, w jaki określone zostają współrzędne środka obrabianego detalu. Czarnym kolorem został zaznaczony obszar reprezentujący granicę rejestrowanego przez kamerę obrazu. Kolorem zielonym zaznaczono obiekt w położeniu idealnym, natomiast czerwona linia oznacza rzeczywiste położenie obiektu, wykryte przez zastosowany algorytm. Pozycja jest więc wyznaczana jako różnica środka wykrytego obiektu oraz założonego środka, zarówno w osi x jak i y. Ostatnim etapem algorytmu w programie MATLAB jest przygotowanie ramki danych tj.: typ felgi, kąt o jaki jest obrócona oraz przesunięta. E ! z9 E ! ! < E x ! W E ` ! z E ] E E ! E x E `_ E /$ E *|:
57
Projekt oraz oprogramowanie zrobotyzowanego stanowiska do gratowania felg samochodowych
jest ona mocowana na stole z wykorzystaniem uchwytu. Zbudowany w środowisku RobotStudio system wizyjny wykrywa detal. Zastosowanie systemu wizyjnego umożliwia uzyskanie informacji, tj.: typ felgi, jej orientacja oraz położenie, które zostają przesłane do kontrolera robota. Na podstawie uzyskanych informacji aktualizuje się ścieżkę ruchu robota. Obraz z kamery przedstawiono na rys. 16. Uzyskanie informacji o feldze daje możliwość rozpoczęcia procesu gratowania przez robota IRB 2400 (rys. 17) wyposażonego w pneumatyczne, uchylne narzędzie FDB 150 firmy SCHUNK. Po zakończonej obróbce przedmiot zostaje przeniesiony na transporter rolkowy, który transportuje ją poza obszar stanowiska. Trzeci przenośnik przeznaczony jest do transportu felg, które nie zostały dopasowane do żadnego ze zdefiniowanych wzorców. Rys. 14. Określenie współrzędnych środka obrabianego przedmiotu Fig. 14. Determination of the coordinates of the workpiece center Rys. 16. Obraz z kamery – kształt przedmiotu i kąt obrotu względem wzorca Fig. 16. Camera image – the shape of the object and the angle of rotation relative to the pattern
Otrzymana ramka danych zostaje wysłana do kontrolera. Dane przesyłane z wykorzystaniem protokołu TCP/IP konwertowane są na ciąg znaków, w którym każdy z nich jest oddzielany znakiem „ | ”.
L1 # W celu weryfikacji napisanego oprogramowania zostało zaprojektowane oraz zbudowane zrobotyzowane stanowisko w środowisku RobotStudio. Na rys. 15 przedstawiono widok stacji, która przeznaczona jest do gratowania felg samochodowych. Stacja została wyposażona w trzy przenośniki, robot IRB 2400 oraz IRB 6620, kontroler, wrzeciono pneumatyczne, stół z uchwytem mocującym felgę podczas obróbki oraz systemem wizyjnym. Przenośniki, chwytak zamocowany na robocie IRB 6620, stół z uchwytem oraz stojakiem na kamerę zostały zaprojektowane w środowisku SolidWorks i zaimportowane do środowiska RS. Zastosowane wrzeciono pneumatyczne to narzędzie FDB 150 firmy SHUNK niezbędne do wykonania procesu gratowania felg.
L1U1 ) / # stanowiska Zadaniem zbudowanej stacji zrobotyzowanej jest gratowanie felg samochodowych. Felgi dostarczane są na stanowisko przez przenośnik rolkowy. Kolejnym krokiem jest pobór felgi z przenośnika przez robota IRB 6620, który umieszcza ją na stole. Następnie
Rys. 17. Robot IRB 2400 podczas gratowania jednej z felg Fig. 17. Robot IRB 2400 deburring one of the rims
L1,1 ' Weryfikacja działania zbudowanego stanowiska została przeprowadzona na podstawie symulacji. W Tabeli 1 zaprezentowano wyniki sześciu losowań. Na podstawie tab. 1 można stwierdzić, że algorytm poprawnie dopasowuje obiekty do wzorców. Zauważyć można trzy przypadki obróconych felg, o kątach 15, 20 i –12 stopni, które również zostały prawidłowo dopasowane. Niewielkie błędy mogą wynikać z niewystarczającej rozdzielczości zdjęć, a także z widocznych w tle cieni.
5. Podsumowanie i wnioski W ramach artykułu została zaprojektowana oraz zbudowana stacja zrobotyzowana w środowisku RobotStudio, której zadaniem jest obróbka felg samochodowych. Stacja składa się z manipulatora ABB IRB 6620, narzędzia FDB 150, trzech
Rys. 15. Zamodelowane stanowisko do obróbki felg aluminiowych w programie RobotStudio Fig. 15. Modeled station for machining aluminum rims in RobotStudio
58
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 21
i ) # Tab. 1. Zestawienie wyników dla sześciu wylosowanych felg Tab. 1. List of results for the six randomly selected rims Lp.
Wylosowany typ felgi
Dopasowany wzorzec
Orientacja względem wzorca
Położenie x i y
Poprawność działania
1.
3
3
–0,0677
0,018402 -–0,022324
9
2.
1
1
0,073402
0,0087616 0,0025452
9
3.
2
2
14,9077
–0,025055 –0,12134
9
4.
3
3
19,8799
–0,037552 –0,19585
9
5.
2
2
0,019565
0,13666 –0,048462
6.
1
1
–11,9341
–0,038156 –0,25451
przenośników rolkowych, stołu z uchwytem mocującym felgę oraz manipulatora ABB IRB 2400 współpracującego z systemem wizyjnym. Zadaniem systemu wizyjnego było rozpoznanie typu felgi, określenie jej położenia oraz orientacji. Uzyskane informacje zostały przesłane do kontrolera robota, na ich podstawie rozpoczął się proces obróbki felgi. W celu obsługi systemu rozpoznawania obrazu w programie RobotStudio napisano program w środowisku MATLAB. Komunikacja między środowiskiem MATLAB i RobotStudio odbyła się przez standard komunikacji TCP/IP. W napisanym programie MATLAB pełnił on rolę klienta natomiast RobotStudio rolę serwera. Działanie stanowiska zostało zweryfikowane na podstawie symulacji w środowisku RobotStudio. Poprawność działania zaprezentowanego oprogramowania została udowodniona poprzez wykonanie testów. Zaprojektowane oprogramowanie może zostać rozbudowane o dodatkowe polecenia odpowiedzialne za funkcjonowanie systemu wizyjnego. Mowa tutaj o poszerzeniu asortymentu obrabianych elementów, czy też modyfikacji działania systemu wizyjnego tak aby dostarczał dodatkowych informacji podczas procesów obróbki. Napisane oprogramowanie oraz jego weryfikacja na stanowisku zrobotyzowanym w środowisku RobotStudio wykazały celowość prowadzonych prac.
Q # 0 1. Burghardt A., Szybicki D., Kurc K., Muszyńska M., Mucha J., Experimental study of Inconel 718 surface treatment by edge robotic deburring with force control. “Strength of Materials”, Vol. 49, No. 4, 2017, 594–604. DOI: 10.1007/s11223-017-9903-3. 2. Burghardt A., Kurc K., Muszyńska M., Szybicki D., Zrobotyzowane stanowisko z kontrolą siły, „Modelowanie inżynierskie”, T. 22, Nr 53, 2014, 30–36. 3. Burghardt A., Kurc K., Szybicki D., Automatic Detection of Industrial Robot Tool Damage Based on Force Measurement. “Tehnički vjesnik”, Vol. 27, No. 5, 2020, 1385–1393. DOI: 10.17559/TV-20181110163252. 4. Burghardt A., Szybicki D., Kurc K., Muszyńska M., Optimization of process parameters of edge robotic deburr-
5.
6. 7.
8.
9.
10. 11. 12. 13. 14. 15. 16. 17.
18.
19.
9
ing with force control. “International Journal of Applied Mechanics and Engineering”, Vol. 21, No. 4, 2016, 987–995. DOI: 10.1515/ijame-2016-0060. Burghardt A., Szybicki D., Pietruś P., Zastosowanie architektury klient-serwer oraz protokołów TCP/IP do sterowania i monitorowania pracy manipulatorów przemysłowych, „Modelowanie inżynierskie”, T. 36, Nr 67, 2018, 16–22. Kaczmarek W., Panasiuk J., Borys S., Środowiska programowania robotów, PWN, Warszawa 2017. Kurc K., Burghardt A., Szybicki D., Gierlak P., Łabuński W., Muszyńska M., Giergiel J., Robotic machining in correlation with a 3D scanner. “Mechanics and Mechanical Engineering”, Vol. 24, No. 1, 2020, 36–41, DOI: 10.2478/mme-2020-0003. Obal P., Burghardt A., Kurc K., Szybicki D., Gierlak P., Monitoring the parameters of industrial robots. [In:] International Workshop on Modeling Social Media, Springer, Cham. 2018, 230–238, DOI: 10.1007/978-3-030-11187-8_19. Tadeusiewicz R., Systemy wizyjne robotów przemysłowych: rola, budowa, zastosowanie, Zeszyty Naukowe AGH, Kraków 1989. http://alnea.pl/systemy-wizyjne-w-robotyce/ http://alucenter.eu/pl/i/Jak-powstaja-alufelgi/ https://new.abb.com/products/robotics/pl/ https://roboforum.pl/artykul/inteligentne-gratowanie https://www.mathworks.com/discovery/affine-transformation.html https://suginocorp.com/barriquan-machine/ https://www.fanuc.eu/pl/pl Islam M.M., Li C.P., Won S.J., Ko T.J., A deburring strategy in drilled hole of CFRP composites using EDM process. “Journal of Alloys and Compounds”, Vol. 703, 2017, 477– 485. DOI: 10.1016/j.jallcom.2017.02.001 Niknam S.A., Davoodi B., Davim J.P., Songmene V., Mechanical deburring and edge-finishing processes for aluminum parts—a review. “The International Journal of Advanced Manufacturing Technology”, Vol. 95, No. 1, 2018, 1101–1125, DOI: 10.1007/s00170-017-1288-8. Gillespie L.K., Deburring technology for improved manufacturing (No. GJBX-613-2573). Society of Manufacturing Engineers, Dearborn, MI. 1981.
59
Projekt oraz oprogramowanie zrobotyzowanego stanowiska do gratowania felg samochodowych
P & ) b $ Q L $ P L & Q More and more often, production processes use solutions in which robots cooperate with vision systems. This is related to the implementation of “pick and place” tasks or tool path correction during the machining process. Vision systems exchange information with robot controllers, which enables the detection of a specific object, obtaining information about its location and orientation. As part of the article, it was decided to design and build a robotic station in the RobotStudio environment for deburring car rims. The process of designing the algorithm in the MATLAB environment that allows to determine the position and orientation of the processed detail was presented. Both MATLAB and RobotStudio environments communicate via the TCP/IP protocol. The verification of operation and simulation of the constructed station were presented. KeywordsH % /A6@A<% 6 OB?O % Q L ) % L %
) #$ #5
" $ "# / (
) Q ) M R O Q ?& & = I F ) *!-HB*!-^ ) ) ) I ) < ) / @ O Q F I F 8 ) / F Q L % &) L " > % & L 0
R ) O Q ?& & = *!!G I ) *!!GB*!!H ) ) ) I ) < ) / @ O F Q K) & M 8 ) / F Q L % &) L ) R ) *!-* " ) 4 & ) R L & ) ) ) F & " 0 L F ) )
( ) ORCID: 0000-0002-6428-0959
&) ( ) ORCID: 0000-0002-0113-6159
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 21
Pomiary Automatyka Robotyka, ISSN 1427-9126, R. 25, Nr 1/2021, 61–66, DOI: 10.14313/PAR_239/61
? ) V & f ?V QSP? KOS 6 ) (! ( " ( (
V? g 6S/ % V N H% .!F*++ #) R
The paper presents a newly developed, innovative idea on a global scale system for indoor navigation INCREDISCOPE. The system is fully autonomic, and it is based on e-paper displays technology. The original positioning and navigation system for people inside buildings gives the possibility to intuitively and naturally lead a person to the desired destination. The paper consists of four parts. In the beginning, the short introduction and basic assumptions about indoor navigation and positioning are given. Then the core idea of the system and basic assumptions are introduced. In the third section, some technical information of prepared software is presented. Three different applications were prepared – intended for the system administrator; designated for e-paper displays and a mobile application for users who move inside buildings with their smartphones. The recognition of the users is based on Bluetooth technology. In the paper, two versions of the administrator interface were presented (Admin 1.0 and Admin 2.0). The operation logic of each version is completely different. The first one was too time-consuming during relations table creation. The second one is more intuitive. The last part of the article includes conclusions and prospects for further development of the system. 8 H F % < % & % % ) &% ) &
1. Introduction Currently, the most common indoor navigation method is based on static plans, boards, and signposts, which are located in a limited number of places, often poorly visible. Furthermore, the change of destination of the person or possible routes can occur. Such a situation is persistent in large buildings with many floors and rooms, like offices, hospitals, or universities. For example, the location of the conference room can change. Described situations illustrate the limitations resulting from the method of static information presentation. A more modern method of indoor person navigation is information presented on LCD/LED displays. The advantages of this method are maintenance-free, 24 hours availability, and flexibility to change of information. This method’s main drawbacks are: high price, need for additional power supply infrastructure, and a limited number of screens (usually several screens installed at the entrances).
- H O P % ) ( - / ) -H -- *!*! % ) ) !E !* *!*-
!
The most modern method of indoor navigation is navigation using interactive maps in smartphones. In such a method, the person is positioned using a GSM signal, a Wi-Fi/Bluetooth signal triangulation, or a dedicated beacon. An example of such system is the Maze Map [1, 2]. The significant advantage of this type of system is interactivity and ease of modifying presented information. There are also disadvantages to this method. The main drawback is the accuracy of user positioning. Moreover, disabled people can have a problem with simultaneous moving inside the building and watching the screen of the smartphone (the map is continuously displayed). Finally, it is worth mentioning that the method requires accurate map of the whole building, which can be very expensive. The above-shortened analysis showed that the currently used indoor navigation systems have numerous disadvantages and do not meet users’ expectations. Considering the above, the presented in the next section idea of system INCREDISCOPE will eliminate the drawbacks of previously presented manners of indoor people navigation. The INCREDISCOPE is autonomous, energy-saving, wireless, intuitive, and fully meets each user’s expectations. Thanks to autonomic e-paper displays installed on each crossing and strategical points in the building, it will be possible, which will recognize individuals and give them personalized, simple instruction of further movement. The presented system does not require any additional investments from the building administrator, but only the preparation of the building’s simplified map.
61
Smart Indoor Navigation System: INCREDISCOPE
,1 Q 0 &: $4!&) 7 4
Some crucial assumptions were made during the realization of the project. The authors describe those assumptions in the following paragraphs. The navigation system should operate based on the 7-second rule. It means that the system must allow the navigated person to orientate themselves in the space in no more than 7 seconds; otherwise, they feel stress and discomfort. The mobile application for users should be as simple as possible. The symbols on the e-paper screens should also be easy to understand (turn left, turn right, move forward, move backward, change the floor using stairs or elevator). This type of symbol is compatible with recommendations of the American Institute of Graphic Arts (AIGA). They are used by authorities and many organizations, such as airports, hospitals, and other public places. Therefore, they are easily recognizable and user-friendly. The use of simple symbols on the displays is possible thanks to their intelligent arrangement inside the building. One of the essential guidelines that should be followed is to ensure that the movement direction change should occur at an angle of 90 degrees. Orientation in space is easier when the navigated person changes the direction by 90 degrees. It is better to use simple symbols with one meaning than complex symbols with more than one meaning. This approach makes it easier to understand the meaning of the symbols presented on the displays. The navigated person has to decode and remember only one symbol on each display. Figure 1 shows the situation schematically when the navigated person approaches the display with the instruction about further movement direction. To effectively navigate people inside buildings, each display must be easily visible from a certain distance. The authors assumed that the symbols on display should be noticed from 10 meters and understand from a distance of 5 meters. It corresponds to 3–5 seconds of walking towards the display. During this time, symbols and information on the display should be visible and understandable so that the user can change their movement direction if necessary. The navigated person is connected with the instruction on display intended for her using the specified number associated with the meeting instead of the person. This approach ensures the security of personal data. The first version of the system (Admin 1.0) indoor navigation task was described using a matrix of the destinations and crucial points where displays are installed. For each matrix’s intersection, the instruction of further movement is given. This approach was too complicated due to the lack of space representation and very time-consuming matrix filling by the system administrator. In the second version of the system, indoor navigation was described using a map of relations between displays and destinations presented in the graphical administrator interface (Admin 2.0).
The main assumptions of the INCREDISCOPE system are listed below: − System should give personalized information about the way how to get the destination; − Information is presented on e-paper displays located in crucial points of the building; − The usage of the system should be intuitive and comfortable, even for people unfamiliar with new technology; − System devices (displays) should allow easy deployment in the building and simple system configuration thanks to wireless communication, energy saving, and mobility. In the user view, INCREDISCOPE consists of a given number of devices (displays), which present personalized navigation instructions for each user. The instruction should be presented on display when the user gets the crucial point with the navigation display. It follows that the location task can be treated as a task of proximity detection and user identification. Security of user identification, normative and legal regulations, mechanical and energetic requirements were also considered. The most popular technologies used in Indoor Localization/ Positioning Systems ILS/IPS [3–6] are WLAN/Wi-Fi, Inertial Measurement Units (IMU), Bluetooth (smartphones and beacons), Ultra-WideBand (UWB) communication. ILS/IPS based on the first three technologies are the most common because they are practically available in each modern smartphone. This fact shows the possibility of creating an application for users’ smartphones without investing in additional equipment for users. In order to select the proximity detection technology, the authors carry out experimental tests. Several WiFi and Bluetooth modules were tested in different conditions - simulating ideal conditions (without interference and physical barriers), and in similar to real ones, where there are interference and physical barriers. Bluetooth modules showed many advantages in comparison to WiFi modules. Finally, the Bluetooth Low Energy (BLE) technology was chosen, and the following arguments support this decision: − low cost (users’ smartphones and BLE beacons), − low energy consumption (one or two orders of magnitude compared to WLAN), − low range (few meters) – ideally for proximity detection, − high availability of BLE modules intended for use in device construction.
+1 0 Three different software components were prepared during the INCREDISCOPE project realization. The first one is prototype software dedicated to mobile devices (versions for Android and iOS). The second one is prototype software dedicated to e-paper displays, which are responsible for the users’ indoor navigation. The third software component is a prototype application for the navigation system administrator. This application, among other things, allows setting up relations between displays and destinations in the building of interest. In the fig. 2 it is seen that the direct interaction between user and application is not possible. The navigation identifier view is only available. The EU personal data security law is assured thanks to this identifier. Modern smartphones limit the opera-
Fig. 1. Illustration of the situation, when the navigated person is approaching the display Rys. 1. Zobrazowanie sytuacji, w której nawigowana osoba zbliża się do wyświetlacza
62
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 21
c & # # # # tion of applications in the background due to the limitation of energy consumption. The authors put effort into running the application in the background. This solution allows the application to run in the background even when the phone is in the pocket (and the user is not looking at the application screen). In the fig. 3 the exemplary interface implemented on e-paper displays is presented. Tests of displays have shown that the use of greyscale is problematic in terms of visibility and contrast. This problem was solved by using an entirely monochrome interface. Authors proposed using two different e-paper screen dimensions – 13” and 32”. The first one can show maximally six rectangles with information about how to get to the specified event/meeting. The second one can serve up to nine rectangles with this kind of information. Those numbers of rectangles are strictly connected with assumptions that the symbols on display should be noticed from 10 meters and understand from
a distance of 5 meters. There is a possibility to add a greater number of events under the appropriate symbols of further movement in larger displays. In the first version of the administrator’s interface (Admin 1.0), the easiest solution was chosen. Each display and each destination were treated as one connection. It means that for each destination, the appropriate pictogram should be chosen for each display in the given system. The Admin 1.0 panel was useful if the number of displays and destinations was not greater than 5. In the case of a larger number, using the interface required much manual work when entering connections and a lot of the administrator’s spatial orientation skills. The administrator’s responsibility is to understand the display location and its orientation to the given destination. For example, with ten possible destinations and five displays in the system, fifty unique combinations of displayed symbols had to be manually entered. This approach meant that there was no easy way to train the self-mapping system. In many cases, there are destinations in the same area that do not require manual configuration of the information displayed on each display. Based on those experience from the Admin 1.0 interface few conclusions were drawn: the interface is tough to use in large buildings with many rooms and floors; the increase of destinations and displays cause the increase of possible connections which should be configured manually; there is lack of chance to learning and suggesting possible connections based on other similar routes. There was a clear need to create a new admin interface that could be used in larger buildings. It was appropriate to prepare an interface that allows the system’s administrator to enter relationships and navigation hints using a graphical tool (GUI). The authors decide to carry out further research and development work. The consequence of that work was developing a new idea of administrator’s interface, called Admin 2.0. In the fig. 4 screenshot from Admin 2.0 application is presented. By changing the navigation logic to point-to-point navigation, the system can be trained to predict at least 80 % of directions (symbols shown on the displays) if the destination is near other already mapped destinations. A search for a similar point-to-point model in the real world and other digital products began. Based on conversations with users, it has been discovered that most of them describe the way to their destination in a point-to-point manner. For example: “Turn left at the intersection, then walk about 200 meters straight until you see your destination on the right”. This thought experiment showed that we think from landmark to landmark,
Fig. 2. Screenshot from the iOS smartphone with running INCREDISCOPE application Rys. 2. Zrzut ekranu ze smartfona z systemem iOS z uruchomioną aplikacją INCREDISCOPE
Fig. 3. Exemplary interface implemented on e-paper displays Rys. 3. Przykładowy interfejs zaimplementowany na module z wyświetlaczem e-papier
63
Smart Indoor Navigation System: INCREDISCOPE which goes against the logic of Admin 1.0 – each landmark relative to a destination. In fig. 5, a new logic of creating relations between landmarks in Admin 2.0 and the logic used in Admin 1.0 is shown. The Admin 2.0 interface has been adapted mainly for configuring larger buildings with multiple displays and destinations. To minimize the administrator’s work when configuring the system, the system configuration logic was created in the form of a diagram. Thanks to this approach, the administrator introduces a diagram instead of entering all possible navigation instructions. Relations between nodes will be used to calculate the next optimal point of the optimal route. It was
gation instruction between buildings would read as “Go to [building name]”. Floors are logical or physical parts of a building/area that hold the critical navigation information – diagramm of screen and destination nodes. Floors are also in a sibling relationship but are not directly connected. Each floor holds at least one entry node, representing a node that is the last way-point on that floor – usually used as an instruction to switch floors/ buildings. Since a building can hold many floors, at least one floor must be marked as an entry floor – this floor is used to transition the user between buildings. Suppose a user is currently on a floor which is not marked as an entry floor, and the user’s destination is another building. In that case, the system will first navigate that user to the current building’s entry floor, which is the only possible transition point. A building can hold multiple entry floors – the closest will be used as the next way-point. Display nodes, as the name suggests, represent actual displays. They can connect to other displays – to form a repeating chain or to final destinations. All nodes are connected in an unweighted diagram; displays can be connected bi-directional (how to transition from and to another display). Display nodes can be marked as entry nodes. Destination nodes represent physical destinations and can connect only to display nodes. Links are connections between two nodes that can either be of display or destination types. Links contain information about the direction to take between the nodes. The navigation logic in the Admin 2.0 interface can be summarized in the following statements: − the user is detected in front of the display node, − the current floor is found based on the user’s location and information about the user’s destination, − based on the information about the user’s destination the target floor is found, − based on the information about the destination to which the user goes, the shortest route to the destination is determined, − based on the shortest route, information about the next intermediate point on the route is sent to the display in front of which the user is located, − the above logic continues until the user reaches the destination.
Fig. 4. Administrator’s interface (Admin 2.0) allows entering relationships using a graphical tool Rys. 4. Interfejs administratora (Admin 2.0) umożliwiający ustalanie relacji między węzłami nawigacji przy użyciu narzędzia graficznego
deliberately decided not to complicate the connections between each floor or each building. It would require that all possible connections be configured between each entry point of all floors and all buildings. Therefore, when the navigated person has to move between floors or buildings, it only gets a simple instruction (on display at the entry point) without pointing to a specific direction. The main entities used to calculate the user’s next way-point are building/area, floor/logical part of a building, display node, destination node, link/connection. Building or area represents a whole physical building or any logical union of physically or logically connected spaces and serves as a parent of those. Buildings/Areas are in a sibling relationship but are not directly connected. It would require more complexity on the administrator part; therefore, a navi-
4. Conclusions Authors present details of prepared software for indoor navigation. It is worth to emphasized that the realized project had developmental nature. This type of indoor navigation system with such sophisticated parameters and features is not available on the market. Thus, it was necessary to develop it from scratch. Appropriate integration interfaces between the individual software components have been prepared, combining them into a comprehensive system using the server approach. The system integration consisted of combining all previously prepared components: the administrator interface, the routing module, the module with an e-paper display and wireless BLE communication interface, and the user’s application for mobile phones. After the final integration of the previously prepared components into a working system and the system’s final configuration, it was tested in practical use in an actual building. The tests were divided into two scenarios created inside the company’s building (the office allows to simulate a larger building), and they were tested together with the employees. During the tests, the users’ available set of mobile phones (10 different
Fig. 5. Differences in the logic of the Admin 1.0 and Admin 2.0 interface Rys. 5. Różnice w logice działania interfejsów Admin 1.0 oraz Admin 2.0
64
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 21
c & # # # # mobile phone models, including Samsung, Huawei, Apple, LG) were used. Based on the test results, the necessary software corrections were prepared. The testing phase was smaller than initially planned. It was due to the limitations resulting from the pandemic and the need to limit contact between people. As a result of the performed tests, no significant defects of the designed software’s system and interfaces were noticed. Therefore, there were no radical changes in the graphical interfaces, except for corrections in the application’s layout based on feedback from users during tests. Despite the research and development work, the overview of the legal aspects was done. Results show that accurate risk management and ensuring the protection of personal data is a vital task. It is worth introducing an international ISO 27001 cybersecurity standard to comply with the European Union law. It will ensure continuous monitoring and regular updating of the internal policy in personal data protection. The assumptions presented in the article, as well as the prototype concept and program solutions, will be the starting point for further research and development of the navigation system for people inside buildings. The authors plan to prepare more display modules and test the system in a real building in the next step. The result of the tests may arise the need to introduce some changes to improve the system’s functionality and reliability.
- This work was supported by the National Center for Research and Development, Poland, Grant Agreement EUREKA/
INCREDISCOPE/1/2018 “Smart indoor navigation and access system”
$ 0 1. MazeMap, [http://mazemap.com]. Last accessed: October 2020. 2. Biczok G., Martínez S.D., Jelle T., Krogstie J., Navigating MazeMap: indoor human mobility, spatio-logical ties and future potential. [in:] 2014 IEEE International Conference on Pervasive Computing and Communication Workshops (PERCOM WORKSHOPS), 2014, 266–271, DOI: 10.1109/PerComW.2014.6815215. 3. Gu Y., Lo A., Niemegeers I., A survey of indoor positioning systems for wireless personal networks. “IEEE Communications Surveys & Tutorials”, Vol. 11, No. 1, 2009, 13–32, DOI: 10.1109/SURV.2009.090103. 4. Fallah N., Apostolopoulos I., Bekris K., Folmer E., Indoor human navigation systems: A survey. “Interacting with Computers”, Vol. 25, No. 1, 2013, 21–33, DOI: 10.1093/iwc/iws010. 5. Yin Z., Wu C., Yang Z., Liu Y., Peer-to-peer indoor navigation using smartphones. “IEEE Journal on Selected Areas in Communications”, Vol. 35, No. 5, 2017, 1141–1153, DOI: 10.1109/JSAC.2017.2680844. 6. Dong J., Noreikis M., Xiao Y., Ylä-Jääski A., ViNav: A vision-based indoor navigation system for smartphones. “IEEE Transactions on Mobile Computing”, Vol. 18, No. 6, 2018, 1461–1475, DOI: 10.1109/TMC.2018.2857772.
? & V & I 4 L ) f ?V QSP? KOS Artykuł przedstawia ideę nowoczesnego i innowacyjnego na skalę światową systemu nawigacji wewnątrzbudynkowej INCREDISCOPE. System jest w pełni autonomiczny i bazuje na modułach z wyświetlaczami typu e-papier. Dedykowany system lokalizacji oraz nawigacji ludzi wewnątrz budynków pozwala intuicyjnie i naturalnie kierować osoby do wyznaczonego dla nich celu. Artykuł został podzielony na cztery części. Na wstępie zostało podane krótkie wprowadzenie oraz podstawowe założenia projektowanego systemu lokalizacji i nawigacji wewnątrzbudynkowej. W kolejnej części przedstawiono kluczową ideę działania systemu oraz podstawowe założenia i ograniczenia w realizacji tej idei. W trzeciej części artykułu skupiono się na informacjach technicznych na temat stworzonego oprogramowania. W ramach oprogramowania przygotowano trzy różne aplikacje. Pierwsza z nich przeznaczona jest dla administratora systemu, druga przeznaczona jest dla modułów z wyświetlaczami typu e-papier, natomiast ostatnia to aplikacja mobilna dla użytkowników poruszających się ze swoimi smartfonami wewnątrz budynków, w których zainstalowany jest system INCREDISCOPE. Rozpoznawanie użytkowników następuje na podstawie technologii Bluetooth. W artykule przedstawiono dwie wersje interfejsu administratora (Admin 1.0 oraz Admin 2.0). Logika działania każdej z wersji jest całkowicie różna. Pierwsza z nich była zbyt czasochłonna na etapie ustalania relacji między węzłami nawigacji, natomiast druga jest o wiele bardziej intuicyjna. Ostatnia część artykułu to podsumowanie i przedstawienie kierunków dalszego rozwoju systemu. (, H F % < % M 0 % % 4 L ) % & 4 L )
65
Smart Indoor Navigation System: INCREDISCOPE
6 ) (! 7
( " ( ( ! " 7
QhP & % F ) & *!-H Q F ) & ) & T/ S & & ) S F U $ #) R $ 6 F & Q ) F % [/?% & % ) ) F
O / & *!-. # ) ) $ #) R $ 6 & / ) A S F & & P A $ ) & % F % L )) ) % F & L
) ( ORCID: 0000-0002-0205-8885
66
P
O
M
( ORCID: 0000- 0001-6787-3699
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 21
Pomiary Automatyka Robotyka, ISSN 1427-9126, R. 25, Nr 1/2021, 67–72, DOI: 10.14313/PAR_239/67
/ ) ) ) L & L Arkadiusz Adamczak
? 6 & ? $ % +% +!F-- =0)_
Streszczenie: Współczesna automatyzacja i robotyzacja procesów produkcyjnych wymaga nowych i szybkich metod kontroli jakości produktu. W przypadku spawania łukowego w systemach zrobotyzowanych, gdzie proces produkcyjny przebiega wielkoseryjnie istotną rzeczą jest szybka kontrola poprawności wykonanego spawu. System w oparciu o dane wizualne powinien być zdolny automatycznie określić czy dana spoina spełnia podstawowe wymagania jakościowe a tym samym mieć możliwość zatrzymania procesu w razie zidentyfikowanych wad. W artykule przedstawiono wyniki badań nad stworzeniem wizyjnej metody oceny poprawności wykonanej spoiny w oparciu o głęboką sieć neuronową klasyfikującą, lokalizującą i segmentującą wady spawalnicze. Zaproponowana metoda detekcji została rozbudowana przez zastosowanie połączenia kamery systemu wizyjnego z sześcioosiowym robotem przemysłowym w celu umożliwienia detekcji większej liczby wad spawalniczych oraz pozycjonowania w sześciowymiarowej przestrzeni pracy. Przedstawione w artykule wyniki prac badawczych otrzymano podczas realizacji projektu „Opracowanie metody bazującej na zastosowaniu głębokich sieci neuronowych do inspekcji wizyjnej połączeń spawanych w toku prac B+R” realizowanego w zakładzie ZAP-Robotyka Sp. z o.o. w Ostrowie Wielkopolskim. )/ H & L % O E !% L % ) )
1. Wprowadzenie Zarządzanie jakością jest podstawowym elementem procesu produkcyjnego [1]. Procesy spawalnicze mogą powodować wady w produkcie, które są szkodliwe dla jakości produktu końcowego [2]. Kontrola wizualna jest jednym z pierwszych i obowiązkowych badań poprawności wykonanego połączenia spawalniczego zaliczanego do badań nieniszczących [3]. Najczęstszą metodą sprawdzania poprawności wykonanego połączenia spawanego jest ocena wizualna dokonywana przez człowieka, która jest oceną kosztowną ze względu na czas inspekcji. Coraz większe wymagania jakościowe połączone z ograniczeniami czasowymi skłaniają do zastosowania automatycznego, wizyjnego systemu kontroli, szczególnie dla procesów produkcyjnych wielkoseryjnych, gdzie kontrola wizualna
- H A ) A) % ) ( ) - / ) -H !- *!*- % ) ) !E ! *!*-
!
pozwala na wykrycie wady na wczesnym etapie produkcyjnym [4]. Rozwiązania stosowane w przemyśle w dziedzinie komputerowego rozpoznawania obrazów nie mogą zostać w pełni wykorzystane do detekcji defektów spawalniczych. Powodem tego jest dowolność położenia tych wad i niezgodności na powierzchni spoiny oraz bardzo duża ilość możliwych kształtów i barw powstałych defektów. W produkcji wielkoseryjnej niewymagającej badań penetracyjnych spoin, wizualna kontrola spoiny jest podstawową metodą badania poprawności złącza spawanego. Każdy element musi zostać poddany ocenie przez pracownika, co równocześnie zwiększa czas i koszty produkcji. Aby przyspieszyć proces i obniżyć koszty na tym etapie produkcji konieczne jest wyeliminowanie czynnika ludzkiego poprzez wprowadzenie systemu wizyjnego kontroli jakości. Oprócz samej kontroli jakościowej produktu istotnym rzeczą jest odpowiednie szybkie zatrzymanie zrobotyzowanej produkcji wielkoseryjnej w celu niedopuszczenia do zniszczenia kolejnych detali poddawanych procesowi spajania. Jednym z perspektywicznych obszarów w dziedzinie rozpoznawania wad spawalniczych jest zastosowanie metod z dziedziny sztucznej inteligencji, bazujących na głębokim uczeniu maszynowym. Podjęto próbę stworzenie systemu opartego na głębokich sieciach neuronowych do wykrywania defektów spawalniczych zlokalizowanych losowo na powierzchni spoiny z wykorzystaniem
67
# > 8 # & # & b # > > urządzenia manipulacyjnego, jakim jest robot przemysłowy. W wyniku badań zastosowany został model sieci neuronowej posiadającej jedno wejście i trzy wyjścia systemowe, umożliwiający w jednym czasie klasyfikować, segmentować i lokalizować dane obrazowe odwzorowując jednocześnie te wartości na układ współrzędnych robota przemysłowego. Uniwersalność systemu pozwala na zastosowanie go do badania połączeń spawanych wykorzystując zdjęcia rentgenowskie [5] spoin i z powodzeniem może zostać wdrożony w proces produkcyjny zastępując urządzeniem mogącym takie zdjęcia wykonać po wcześniejszym przeprowadzeniu dostrojenia sieci neuronowej dla nowych danych.
a)
b)
,1 .# Baza danych zdjęć stanowiących dane wejściowe dla systemu została sporządzona na podstawie prób spawalniczych wykonanych w wewnętrznym laboratorium na specjalnie do tego celu przygotowanym i skonfigurowanym stanowisku zrobotyzowanym, w skład którego wchodził: − robot przemysłowy Fanuc ArcMate 120iD, − inwertorowe spawalnicze źródło zasilające ze sterowaniem synergicznym Fronius TPS 500i CMT, − oprzyrządowanie potrzebne do powtarzalnego zamontowania próbek na stole pozycjonera. Zastosowanie robota oraz połączonego z nim sygnałowo inwertorowego źródła ze sterowaniem synergicznym podyktowane było potrzebą zapewnienia stabilności i powtarzalności warunków prowadzenia prób, zarówno na etapie tworzenia danych wejściowych (generowania niezgodności), jak i badań z wykorzystaniem tworzonego systemu ich rozpoznawania. Konfiguracja robota spawalniczego wraz ze źródłem spawalniczym sterowanym synergicznie jest połączeniem często występującym podczas implementacji stanowisk zrobotyzowanych spawania łukowego metodami MIG/MAG. Reprezentatywne wady spoin zostały sfotografowane a następnie zmniejszone do rozdzielczości 600 × 600 pikseli oraz 500 × 500 pikseli i podzielone na pięć podzbiorów przedstawionych w tabeli 1. Każde zdjęcie zostało oznaczone za pomocą narzędzia do adnotacji zdjęć VGG Image Annotator [6] (rys 1), gdzie zdefiniowano regiony defektów na obrazach. Wszystkie wady spawalnicze oznaczone na obrazie zostały przypisane do danej klasy wadliwości i wyeksportowane do pliku tekstowego w formacie JSON (ang. JavaScript Object Notation). Następnie w programie zostały na ich podstawie wygenerowane dane wyjściowe dla systemu sieci neuronowej w postaci klasy, maski i współrzędnych położenia defektu spawalniczego. Całość systemu została zaimplementowana z wykorzystaniem bibliotek Tensorflow [9] oraz Keras [10] i języka programowania Python.
c)
d)
Rys. 1. Oznaczenie zdjęć przy wykorzystaniu narzędzia VGG Image Annotator, a) rozpryski, b) pory powierzchniowe z rozpryskami, c) przepalenie i krater, d) nieregularne lico Fig. 1. Images using the VGG Image Annotator tool, a) splashes, b) surface pores with splashes, c) burn and crater, d) irregular face
odwracanie wertykalne i horyzontalne, zmiana jasności i kontrastu. Powodem dodatkowej augmentacji danych jest mała liczba zdjęć w stosunku do dużej głębokości sieci neuronowej. Wykonanie prób w wykorzystaniem tego typu augmentacji jest dostosowanie systemu do rzeczywistego stanowiska zrobotyzowanego, gdzie w warunkach przemysłowych często występują zakłócenia wynikające ze zmiennego oświetlenia oraz niewystarczająca ilość danych treningowych dla sieci w trakcie wdrożenia systemu zrobotyzowanego.
- Dane uczące odpowiednio zostały zmodyfikowane stosując własne techniki augmentacji takie jak losowe: przycinanie,
Tabela 1. Zbiór danych zdjęć z oznaczonymi wadami spoin Table 1. Data set of photos with marked weld defects
68
Zbiór treningowy
Zbiór walidacyjny
Zbiór testowy
Oznaczenie klasy
Spoiny z pęcherzami gazowymi lub porami powierzchniowymi
320
100
50
1
Spoiny przepalone
293
78
50
2
Spoiny z rozpryskami
340
134
50
3
Spoiny z nieregularnością spoiny
230
89
50
4
Kratery
34
12
4
5
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 21
Arkadiusz Adamczak
+1 - / # neuronowej
regionu propozycji, który koduje N masek binarnych o rozdzielczości 28 × 28 pikseli, po jednej dla każdej z N klas.
Przeprowadzono badania nad zastosowaniem systemu rozpoznawania defektów spawalniczych z wykorzystaniem głębokich konwolucyjnych sieci neuronowych [9]. Badania miały na celu zaproponowanie systemu neuronowego mogącego oprócz samej klasyfikacji wad spawalniczych wykonać ich segmentację i lokalizację na obrazie w celu określenia stopnia wadliwości detalu na podstawie tego defektu wraz z określeniem jego pozycji. Zaproponowano system oparty o architekturę głębokiej sieci neuronowej Mask R-CNN [10]. Założeniem proponowanego systemu było jednoczesne wykrywanie i segmentowanie defektów spawalniczych na poziomie instancji aby następnie przy odpowiedniej kalibracji kamery lokalizować je w sześciowymiarowej przestrzeni pracy R6 robota. Wybór systemu spowodowany był wynikami działania sieci Mask R-CNN [10] z dziedziny rozpoznawania i segmentacji instancji obiektów na obrazach osiągniętego przez tą sieć. Zaproponowany system zobrazowany został w sposób poglądowy na schemacie (rys. 2). System składa się z czterech głównych modułów. Każdy z modułów odpowiadający za konkretne zadanie został opisany w dalszej części artykułu.
`
Uczenie modelu systemu neuronowego przeprowadzono na komputerze z procesorem CPU Intel Core i7-9750H, 32 GB pamięci RAM i pojedynczym procesorze graficznym GPU model NVIDIA GeForce RTX 2060 6 GB RAM. Uczenie przebiegło w sposób analogiczny do uczenia innych nowoczesnych sieci neuronowych. Dążono do minimalizacji wartości błędu na wyjściu sieci będącego sumą błędów z poszczególnych wyjść systemowych sieci neuronowej takich jak maska, klasa, region.
Rys. 3. Wartość błędu podczas procesu uczenia będący sumaryczną wartością błędów poszczególnych wyjść Fig. 3. The error value during the learning process, which is the total error value of individual outputs
Rys. 2. Schemat systemu neuronowego detekcji wad spawalniczych oparty o architekturę Mask-RCNN Fig. 2. Scheme of the neural system for the detection of welding defects based on the Mask-RCNN architecture
Moduł 1 odpowiada ze ekstrakcję cech przekształcając piksele obrazu w funkcjonalną reprezentację wysokiego poziomu. Wykorzystano do tego celu ekstraktor cech ResNet [11] wykorzystujący połączenie rezydualne. Moduł 2 jest to sieć konwolucyjna propozycji regionów, która przyjmując mapę cech o dowolnym wymiarze jako daną wejściową wyodrębnia zestaw propozycji miejsc w postaci obiektów prostokątnych, z których każdy zawiera prawdopodobieństwo, że ten region zawiera obiekt, w naszym przypadku wadę spoiny. Moduł 3 służy do detekcji wad spawalniczych. Koncepcja detektora jest oparta na szybkiej sieci wykrywania obiektów Faster R-CNN [12]. Sieć generuje dwa wektory wyjściowe. Jeden odpowiada za oszacowanie prawdopodobieństwa przynależności danej wady spawalniczej do jednej z N klas. Natomiast drugi zwraca pozycję ramki w postaci dwóch punktów ograniczającej daną wadę z N klas. Moduł 4 dla każdego regionu generuje przewidywaną maska. Przewidywanie maski wykonywane jest przez inną sieć konwolucyjną nazwaną siecią segmentacji instancji. Sieć segmentacji instancji ma wyjściowy wymiar 28 × 28 pikseli dla każdego
Wykonane obrazy zostały również przeskalowane do wartości 500 × 500 pikseli, aby zmniejszyć czas i wymagania procesu uczenia systemu. Użyto ekstraktora cech ResNet-50 [11]. Proces uczenia wykonano dla 50 % zdjęć zbioru treningowego dla wszystkich warstw sieci neuronowej przez 50 epok, a następnie douczano przez kolejne 30 epok dla kolejnych 50 % zdjęć zbioru treningowego. Uzyskano skuteczność na poziomie 93,7 % rozpoznawanych defektów. Wykorzystując techniki uczenia transferowego, skorzystano ze wstępnie nauczonej sieci na dużym zestawie danych COCO [13]. Wykorzystanie wstępnie nauczonej sieci na dużym zbiorze danych pozwoliło na zmniejszenie czasu uczenia oraz poprawienie skuteczności rozpoznawania wzorców na obrazie. W dalszej części uczenia systemu dostrajano na zbiorze treningowym danych końcowe cztery dolne warstwy sieci neuronowej zamrażając oprócz nich wszystkie pozostałe przez 30 epok (rys. 3). Technika ta pozwoliła polepszyć o 1,6% skuteczność rozpoznawania defektów niż poprzez ponowne uczenie wszystkich warstw sieci neuronowej aby ostatecznie uzyskać wynik 95,3 % skuteczności.
L1 * 0 / / 0 # # Większą stabilność systemu rozpoznawania defektów spawalniczych osiągnięto przez zastosowanie urządzenia manipulacyjnego w postaci sześcioosiowego szeregowego robota przemysłowego. Wykonano definicję dwóch narzędzi (palnika, kamery) oraz zdefiniowano układ współrzędnych użytkownika.
69
# > 8 # & # & b # > > Definicja narzędzia pozwoliła jednoznacznie określić punkt P[x, y, z, w, p, r] będący punktem środkowym narzędzia w sześciowymiarowej przestrzeni R6 pracy robota. Zostały zdefiniowane punkty środkowe narzędzi zwane TCP (ang. Tool Center Point) odpowiednio dla narzędzia palnika i narzędzia kamery. Zaprogramowana trajektoria ruchu robota przemysłowego, którą podąża punkt TCP narzędzia palnika została wykorzystana do inspekcji wizyjnej przez kamerę bez konieczności programowania nowych punktów robota. Umożliwiła to automatyczna zmiana wartości definicji narzędzia w trakcie wykonywania programu robota przemysłowego [5]. Poglądowy algorytm działania zamiany wartości definicji narzędzia został przedstawiony na rys. 4. Oprócz samej zamiany definicji narzędzia i otrzymaniu aktualnej pozycji w globalnym układzie współrzędnych kartezjańskich robota przemysłowego, przeliczono ją na wartość w nowo zdefiniowanym układzie współrzędnych użytkownika. Wykonano w tym celu operację pobrania aktualnych wartości punktu TCP (palnika lub kamery) w globalnym układzie współrzędnych robota przemysłowego oraz transformację do układu współrzędnych użytkownika. Na rys. 5 przedstawiono położenie układów współrzędnych w przestrzeni pracy robota przemysłowego. Przekształcenia pozwoliły na wyznaczenie wartości punktu TCP w układzie współrzędnych użytkownika i transformację na narzędzie kamery a następnie podanie wektora pozycji defektu w sześciowymiarowym układzie R6 układu współrzędnych użytkownika na podstawie zdjęcia w przestrzeni dwuwymiarowej R2. Tak przeliczone dane pozycji defektu lub obiektu na obrazie mogą zostać wykorzystane do określenia dokładnej pozycji przez robota. Ma to znaczenie, gdy system zostanie użyty do raportowania błędów, określenia dokładnych rozmiarów defektu spawalniczego lub dla aplikacji gdzie zamiast defektu rozpoznawany jest detal, który następnie musi zostać odpowiednio pozycjonowany dla robota. Zaletą zastosowania tego typu przekształceń była możliwość pozycjonowania elementów poddawanych inspekcji wizyjnej w przestrzeni pracy robota z dowolnym zdefiniowanym układem współrzędnych użytkownika. Pozwoliło to na jednoznaczną identyfikację pozycji defektów zapisanych w układzie współrzędnych użytkownika, co ma znaczenie przy określaniu pozycji robota
P
O
M
I
A
R
M1 $ Wynikiem działania systemu opartego o głęboką sieć neuronową jest informacja na podstawie wykonanego zdjęcia w postaci trzech danych wyjściowych: − segmentacja wady spoiny na obrazie – maska o wymiarach H × W, − lokalizacja wady spoiny na obrazie – punkty P1(x1, y1), P2(x2, y2), − klasyfikacja wady spoiny na obrazie – h: X → Y; gdzie Y ∈ 1, ..., n. Dzięki zastosowaniu segmentacji instancji wady spawalniczej zostały oznaczone wszystkie wady występują cena obrazie i na podstawie nałożenia wygenerowanej maski na obraz wejściowy spoiny. Jednoznaczna lokalizacja, rozmiar i rodzaj defektu spawalniczego umożliwiły ocenę czy dana spoina spełnia założone wymogi jakościowe. System na danych testowych osiągnął dokładność rozpoznawania spoin na poziomie 95,3 %. Przykładowe rezultaty będące wynikiem działania systemu zostały przedstawione w tabeli 2. Można tu zobaczyć efekt działania systemu w postaci zdjęć z oznaczonymi, zlokalizowanymi i sklasyfikowanymi wadami spoin na obrazie dla zbioru danych testowych. Zastosowanie urządzenia manipulacyjnego pozwoliło na zwiększenie skuteczności rozpoznawania defektów poprzez mniejszy wpływ zakłóceń na jednostkowe zdjęcie w warunkach przemysłowych a także możliwość wykonania większej liczby zdjęć przez zmianę położenia kamery w trakcie ruchu. Zastosowanie urządzenia manipulacyjnego umożliwiło również pozycjonowanie defektu w sześciowymiarowej przestrzeni pracy robota przemysłowego. Jest to niezbędne do określenia dokładnego położenia defektu spawalniczego oraz określenia jego wielkości, gdy wymagane jest zaklasyfikowanie detalu jako dobrego lub wadliwego. Dzięki kali-
Rys. 5. Układy współrzędnych robota przemysłowego: 1 – Robot przemysłowy, 2 – kamera, 3 – palnik spawalniczy, WORLD – globalny układ współrzędnych, UF – układ współrzędnych użytkownika, UT1 – układ współrzędnych narzędzia palnika, UT2 – układ współrzędnych kamery Fig. 5. Coordinate systems of an industrial robot: 1 – industrial robot, 2 – camera, 3 – welding torch, WORLD – global coordinate system, UF – user coordinate system, UT1 – user tool torch coordinate system, UT2 – user tool camera coordinate system
Rys. 4. Algorytm zamiany wartości definicji narzędzia Fig. 4. Algorithm for replacing the tool definition value
70
w połączeniu z urządzeniami pozycjonującymi o większej liczby osi skrętnych działających w ruchu skoordynowanym z robotem. Metoda pozwala na zastosowanie do pozycjonerów wieloosiowych w procesie spawania, na których jest zdefiniowany układ współrzędnych poruszający się zgodnie z kinematyką pozycjonera i bezpośrednim określeniu pozycji detalu w przestrzeni pracy robota.
Y
•
A
U
T
O
M
A
T
Y
K
A
•
R
O
B
O
T
Y
K
A
NR 1 / 20 21
Arkadiusz Adamczak Tabela 2. Wyniki działania systemu wykrywania wad spawalniczych Table 2. The results of the operation of the welding defection system Opis wady
Zdjęcie wejściowe
Widoczne odpryski na powierzchni spoiny
Pory powierzchniowe spowodowane niewystarczającą ilością lub brakiem gazu osłonowego
Przepalenia materiału spawanego
bracji kamery i parametryzacji systemu detekcji, możliwe było zdefiniowanie progów wadliwości elementu, przy których detal był uznawany jako wadliwy. System detekcji wizyjnej wraz robotem przemysłowym po wykonaniu inspekcji spoiny zwraca informację o: a) rodzajach wad – h: X → Y; gdzie Y ∈ 1, ..., n. b) lokalizacji wad na spoinie w przestrzeni R6 pracy robota – punkty P1(x1, y1, z1, w1, p1, r1), P2(x2, y2, z2, w2, p2, r2) dla każdego rozpoznanego defektu, gdzie: x, y, z – są wartościami położenia defektu w przestrzeni kartezjańskiej R3 wyrażonymi w milimetrach (mm), w, p, r – są wartościami orientacji narzędzia względem spoiny wyrażonymi w stopniach (deg); c) wartości procentowej wad spoin na podstawie wyliczenia liczby pikseli maski w stosunku do liczby pikseli całej spoiny, d) zdjęcie wykonanej inspekcji wraz z nałożonymi maskami wad spoin w celu archiwizacji i diagnostyki skuteczności detekcji. Czas inspekcji wizyjnej wraz z czasem potrzebnym na zwrócenie wyników mieści się granicach 0,4–0,7 sekundy dla GPU 6 GB pamięci RAM, co w warunkach przemysłowych jest parametrem istotnym ze względu na wymogi czasowe aplikacji.
6. Podsumowanie Zaprezentowana w artykule metoda rozpoznawania wad spawalniczych bazująca na głębokich konwolucyjnych sieciach neuronowych daje nowe możliwości w dziedzinie klasyfikacji wad spawalniczych na podstawie danych obrazowych spoin. Przedstawiona w pracy technika jednoczesnej klasyfikacji, segmentacji i lokalizacji wraz z zastosowaniem uczenia transferowego
pozwoliły na uzyskanie skuteczności rozpoznawania wad spawalniczych na poziomie Wynik działania systemu 0,953. Zastosowanie systemu neuronowego wraz z robotem przemysłowym umożliwiło ustalenie jednoznacznej pozycji wady spoiny w sześciowymiarowej przestrzeni pracy. Na podstawie wyników badań można stwierdzić, że z zastosowaniem sieci konwolucyjnych należy wiązać duże nadzieje w dziedzinie automatycznego rozpoznawania wad spawalniczych w stanowiskach zrobotyzowanych i zautomatyzowanych. Przewidywane jest kontynuowanie badań nad ulepszaniem oraz zastosowaniem nowych modeli sieci, które będą mogły osiągać lepszą skuteczność niż dotychczas badane. Istotnym czynnikiem wpływającym na skuteczność rozpoznawania będzie zgromadzenie większych ilości danych w postaci zdjęć wadliwych spoin. Równoczesne badania nad nowymi konstrukcjami głębokich sieci konwolucyjnych pozwolą na bardziej szczegółowe rozpoznawanie defektów innych wad takich jak podtopienia lub nieprawidłowe mieszanki gazu osłonowego. Ulepszony w ten sposób system będzie mógł być z powodzeniem wdrożony dla każdego rodzaju aplikacji spawalniczej i eliminować wadliwe połączenia spawane, których wady są możliwe do rozpoznania za pomocą percepcji wzrokowej. Zastosowana metoda klasyfikacji, lokalizacji i segmentacji wady spawalniczej w połączeniu z kinematyką robota przemysłowego, może z powodzeniem zostać wykorzystana nie tylko do rozpoznawania defektów spawalniczych, lecz do rozpoznawania detali i odpowiedniego ich lokalizowania w przestrzeni pracy robota przemysłowego, znajdując zastosowanie w systemach paletyzacji zrobotyzowanej.
Praca zrealizowana została w ramach projektu nr RPWP.01.02.00-30-0084/19, B+R
Q # 0 1. The future of manufacturing: 2020 and beyond, [www.nist. gov/system/files/documents/2016/11/16/iw_kronos_research_report_2016.pdf] 2. Cegielski P., Bugyi Ł., Wybrane aspekty identyfikacji zakłóceń procesu spawania łukowego MIG/MAG, „Przegląd spawalnictwa”, R. 89, Nr 6, 2017, 30–35. 3. Raj B., Subramanian C.V., Jayakumar T., Non-destructive testing of welds. 2000. 4. Ghorai S., Mukherjee A., Gangadaran M., Dutta P.K., Automatic defect detection on hot-rolled flat steel products, “IEEE Transactions on Instrumentation and Measurement”, Vol. 62, No. 3, 2013, 612–621, DOI: 10.1109/TIM.2012.2218677. 5. Guo W., Qu H., Liang L., WDXI: The Dataset of X-Ray Image for Weld Defects, 14th International Conference on
71
# > 8 # & # & b # > >
6.
7.
8. 9.
Natural Computation, Fuzzy Systems and Knowledge Discovery (ICNC-FSKD), Huangshan, China, 2018, 1051–1055, DOI: 10.1109/FSKD.2018.8686975. Dutta A., Zisserman A., The VIA annotation software for images, audio and video. Proceedings of the 27th ACM International Conference on Multimedia, 2019, DOI: 10.1145/3343031.3350535. Abadi M., et al., Tensorflow: A system for large-scale machine learning. 12th USENIX symposium on operating systems design and implementation (OSDI 16), 2016, 265–283. Chollet F., et al., Keras: The python deep learning library. Astrophysics Source Code Library, 2018, ascl: 1806.022. O’Shea K., Nash R., An Introduction to Convolutional Neural Networks, arXiv:1511.08458v2.
10. He K., Gkioxari G., Dollr P., Girshick R., Mask R-CNN, arXiv:1703.06870. 11. He K., Zhang X., Ren S., Sun J., Deep Residual Learning for Image Recognition, Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2016, 770–778, DOI: 10.1109/CVPR.2016.90. 12. Ren S., He K., Girshick R., Sun J., Faster R-CNN: Towards real-time object detection with region proposal networks, Advances in Neural Information Processing Systems (NIPS 2015), 91–99. 13. Lin T.Y., et al., Microsoft COCO: Common Objects in Context. In: Fleet D., Pajdla T., Schiele B., Tuytelaars T. (eds) Computer Vision – ECCV 2014. Lecture Notes in Computer Science, Vol. 8693. Springer, Cham. DOI: 10.1007/978-3-319-10602-1_48.
P / ) $ I ) & P $ Q L & P V V Abstract: Modern automation and robotization of production processes requires new and fast methods of product quality control. In the case of arc welding in robotic systems, where the production process takes place in large series, it is important to quickly control the correctness of the weld. Based on visual data, the system should be able to automatically determine whether a given weld meets the basic quality requirements, and thus be able to stop the process in the event of identified defects. The article presents the results of research on the creation of a visual method for assessing the correctness of the weld seam based on the deep neural network classifying, locating and segmenting welding defects. The proposed detection method was extended by using a combination of a vision system camera with a six-axis industrial robot in order to enable detection of a larger number of welding defects and positioning in a six-dimensional workspace. The research results presented in this article were obtained during the implementation of the project entitled „Development of a method based on the use of deep neural networks for visual inspection of welded joints in the course of R&D works” implemented at the company ZAP-Robotyka Sp. z o.o. in Ostrów Wielkopolski. KeywordsH P @ &% ? ) E !% Q L % P $ ) ) $
) ( # ) ( ) ( ) ORCID: 0000-0002-3840-8568
AL O =0) F ? $ / F ? & < P 6 M *!!. % & *!-! I *!-- F 4 & $
AOFQ L 0 F % L % L ) F & K) *!-^ 0 M ) F A ) V ) 0 $ # 0 f & % ) &% L ) % L
72
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 21
& H & # C # G ( UOLTMaULQ C; LD ( U@LELU
Informacje dla Autorów # # ? ! & # & ( # # ' = La & > LEUh ; 8 # K 8 & # ? = & F # 8 >\ # ) # &8 &
& & & >\ 8 # > # & K B >\ 8 >\ & #b ) 8 8 > # # 8 & > Z Bb[; c # K # b #= 8 # 8 & # 8 # & B & 8 & & 8 \ & > # K = # & 8 ;
Wskazówki dla Autorów / # H # # 8 # > # # # M
& Pomiary Automatyka Robotyka 8 8 F b8 >\ # : & * ? # Z 8 # >\ PE #K [ >b # 8 # & # & ? & b # H @H K M& B > Z > 8 # 8 [ ? # Z >b i UDE?LEE K [ >b # 8 # & # & ? # ZD?P [ >b # 8 # & >b # # & # & ? biF # ? >b # 8 # & Z >; # &[ ? 8 8 8 # & >b # 8 # & >b # # & ? >b # 8 # >b # # & ? > @ B# @ >b > # 8 # : & ; 8 ; ;>8 ; i & ; hEE 8 & ; UEEE 8 # # i 8 & >\ B# #i ;
H # 8 & F >b iF K \ >& > E Q # 8 8 # F >b i U # ZOE EEE #K 8 > & hEEE &L > K [ > #; P =
# ; ' 8 8 # # K 8 # >\ b >b iF > 8 bi ; Nie drukujemy komunikatów! c # & \ F \ # B # H K Z >b # # [ >b i DEE?TDE #K # : B ; C # > 8 # # K K # # >b # > > &
& ; 8 # >\ # 8 >\ # ) \ 8 F # ;
) -$ $
/ / g # g / h ; H 8 \ # \ 8 iF iF # ; H & K 8 # > \ 8 8 8 # ; K iF 8 > # > > >b & \ F # H 8 & & \ F 8 & 8 & b K ; 7 - $ ) $ # K > >b ; 8 K> i 8 > > ; >\ # > = \F # & # >\ 8 # ? H K B >b # B ; c 8 8 > 8 8 # 8 C K # > : & 8 >b & & ; ' 8 8 # = 8 &K 8 & # # C # >\;
Kwartalnik naukowotechniczny Pomiary Automatyka Robotyka jest indeksowany w bazach BAZTECH, Google Scholar oraz INDEX COPERNICUS T? \ *!-+f ^E%*GU% M w bazie naukowych L M AQ?AV6A O 4 4 ) realizacji idei Otwartej Nauki, ) L L naukowo-technicznym Pomiary Automatyka Robotyka. O /V I L naukowe w kwartalniku Pomiary Automatyka Robotyka wynosi obecnie *! T naukowych i recenzowanych 0 $ ) ) ) - *!-+ % *^+!*U O ) naukowe – automatyka, elektrotechnika i elektronika.
Th
G(j`C H< A c]H HW `C '
7
0 # C # > # # # M
Pomiary Automatyka Robotyka = >\ 8 #b ( # # ' = \ \ b # & H K & H @H K # K 8 8 8 8 >b & # # # # # i >\ * 1. 0
I wymieniowego Autora # ? & > # 8 8 #K
; ^ 8_ >; 8 H K 8 # > # K # K 8 8 # > # & K & & > ; 2. 0 # #g / / jej powstanie ? & > * ? 8 = # & >\ 8 8 b > # 8K > # # K & @ b# >\ 8 & 8 8 8 # > ? 8 = b8 > 8 8 # ^ _ ; b8 > > # K > \ # 8 # & > # 8K & > > 8 b# & 8 8 # K # 8 8 # >
TO
P
O
M
I
A
C # > & > > & 8 # 8 \ & b8 \ #\ & = # \ & 8 8 & # & > & ;
3. 0 v / h # <g # ? 8 8 # B 8 # > 8 > # M 8 & & > 8 : & > K i #K 8 b= ; ^B _ ? > : & > > # > > & & & # ) 8 # > : & > 8 b# B );
. / # & # & 8 # > & K = & : & >\ # > # # : > # > # 8 : #= 8 > # # # ? & # & & = F F i # # ; 8 & @ 8 # i # \= # # ;
` / przeniesienie praw
# xQV \ 8 >b # 8 # > b8 > 8 & >\ # 8 # b; W& > 8 8 8 8 # & # > ; ' 8 8 # > # & \ ;
Redakcja kwartalnika Pomiary Automatyka Robotyka (
. # K 8 # # # # M & & H & # C # 8 & 8 # # K 8 \ b 8 & & c`G 8;*
" # $$ % / & & & 0) 4 % ? V -E*^F+-*H% Q *G% Nr 1/2021, 5–12, DOI: 10.14313/PAR_239/5.
R
Y
•
A
U
T
O
M
A
T
Y
K
A
•
R
O
B
O
T
Y
K
A
NR 1 / 20 21
# #
czasopisma
pomiary
eksperyment
# &
miara
POLSPAR
automatyka
% # ? GH
#
> projekt
#
8
publikacje
: >
konkurs
# \=# >
automatyka
seminarium
konferencje
POLSPAR
publikacje
relacja
AutoCAD
agencja kosmiczna
; ;
>
IFAC
ZPSA
8
profesura
>
relacja
#
doktorat
robotyka seminarium
4
esa
szkolenie
# #
8
czasopisma
pomiary
eksperyment
# &
miara
POLSPAR
automatyka
% # ? GH
#
> projekt
#
nauka
publikacje
: >
konkurs
# \=# >
automatyka
seminarium
POLSPAR relacja
AutoCAD
agencja kosmiczna
; ;
>
IFAC
ZPSA
konferencje
publikacje POLSA
8
profesura
>
relacja
#
doktorat
robotyka seminarium
4
esa
szkolenie
& H & # C # G ( UOLTMaULQ C; LD ( U@LELU
Rozwój robotyki w Polsce - (#$ 3 = 3 ># ( $ (#3 = 5 ( 4 ( ! ) > > ( 3 3 ( ( ( ># > ) ( ># =5? (# # ( > ( # # ) ( ( ! 3
# 4 ( $ @)C > C ) = 4 ( - ( $ > > =5 3 ! $ 5 ( #( >)#>D = (D! ( 4 > ) ( ># . =3 =5? 3 3 C # $ - =5 ( / > 3 3 3 3 ? D +#( E ) F # # ) ( ) C F ( ! 3 >) 4 ) 3 )C ! 3 C ( $ > 5 ( #( (C
1. Wprowadzenie ` & & & # > b 8 i ; # 8 # 8 & >; ` 8 > # \ 8 >\ b bi > > # # ; W # >\ > = 8 # > > & b8 >\ 8 b & bi ; `8 K = > & & 8 & # &8 >\ 8 ) ) ; K & \ & 8 # ; ' K F b 8 H & 8 8 \ # fGf ;; $ ' # # & & 8 \ # K # 8 & 8 # # ; # & 8 #K 8 # ) 8 K # K \ \ & \ \ & iF 8 ) 8 >& > & = i & B i # ; A K 8 & b8 -
>\ #K 8 8 8 b b 8 \ # > 8 ff ; ' UaQL ; = & # ) # B & W(G H G`( 8 # >\ 8 & ; ( & # 8 > # & 8 8 # > B & !W!H H AH Z H [ 8 > b UaTh ; # F # 8 > b 8 > >\ # : > \ # # K >& >\ #b; # # > b > # ;
01 #1 I1 * . < Jest profesorem na Wydziale Mechanicznym Energetyki i Lotnictwa (MEiL) Politechniki Warszawskiej (PW). Na Politechnice pracuje od 1987 r. $ f ) ) &0 /S @% ) ds. naukowych Instytutu Techniki Lotniczej i Mechaniki Stosowanej (ITLiMS ), dyrektora ?6@ / KL $ ) ) ?6@ / < Q ) V O & Instytutu Automatyki i Pomiarów PIAP. Jest 8 A Q L O A ) V Q ) V ) & V < zatrudniona w Loughborough University of Technology w Wielkiej Brytanii (1992) oraz w Nanyang Technological University w Singapurze (1998–2001). K) *!!. ) ) & & stopnia EMARO (European Master on Advanced Robotics) oraz JEMARO (Japan-European Master on Advanced Robotics). Jej zainteresowania badawcze 4 & ) 4 4 % robotami humanoidalnymi, planowaniem L 0 0 4 F L " 4 L 0 4 ) !! L & )
,1 8 / # # ,1U1 8 / - $ # ! # & # > 8 # 8 8 bF b ; 8 > iF & # 8 > b # # # # > = # # & # & UaQL@Qh; 8 > iF & 8 \ & # K 8 i K # 8 > i # # # # ;
TT
C K> >
! # K H & # C # ZH C[ 8 ( # # ' = UaPT ; c > ) & 8K > > 8 8 # 8 : K 8 >\ # M # & # K > 8 8 : H & # ; 8 = b > # 8 > K 8 >\ K b & >b i # 8 > # \ ) K & & 8 K K 8 & > # K = & > 8 K > # &K &
& ; G > 8 8 8 #\ H# & b ( # ( \ ` >b \; c UaaE ; A # > ( > 8K A# 8 K ; H & # C # ZH C[ # K 8 # b 8 K
& # # ; 8K 8 #b # # H C 8 i # # #b 8 > i ; ' # # & # & UaPT@PP # # H C 8 >b UhE K i ; ' b8 & # K 8 b; ` = UaaD ; 8 # b 8 F # OEEE K # # ; ' 8K 8 & b 8 K
> >bF & # # ; ! & H & # C # H( 8 8 LEET?LEEP # b i K # #K = 8 & >\ \ # # # H C; ' K # # > >& > T L ; & # > U L ; = # 8 LEE K & # 8 >\ ; = 8 >\F = & # b # # # H & # C # & # b 8 K ; ' & # # # H C 8 ; ] K K # # H C & # # #K H C & > # 8 # > U # # & # & LEEa@UE > = \ ; ' 8 & # = : & > 8 b # # & # # 8 8 8 # &
# # K ; ] 8 # > &8 >\ ' ( # M 8 b > b# \ # i \ # 8 b #K ; ' # # & # & LEET@EP # # # 8 \ 8 ; ! # H C > & UUP # #K K \ >\ > i & >; ' LEUU ;
# ) 8 8 # # b# iF & 8 ; ' = #
T P & K 8 h O & ; > # & \8 # LEUO ; ' # >\ W 8 LEUD ; 8 K K # # K H & # C # ; c L; # F \ 8 K i > & & U # > >b # ; ` 8 8 # # H C \ 8 LL # & UD 8 K 8 ) = # > > ` ( > > > 8 >; \ 8 # & > ; ' LE \ K = : > &; C & >\ = = F = # # K H & # C # : # > >\ 8 hE & # # > & & # > = >; ' b8 > K 8 K 8 B K M # & # & ? K 8 # > # 8 K 8 B & ? K 8 ) = # ;
Tab. 1. Studenci i absolwenci kierunku AiR oraz makrokierunków AiR* w roku 2009/2010
Ogółem Grupa uczelni
z tego na studiach
studenci
absolwenci
Uczelnie MON
52
Uniwersytety
stacjonarnych
niestacjonarnych
studenci
absolwenci
studenci
absolwenci
0
31
0
21
0
332
0
273
0
59
0
Politechniki
12 444
1 817
10 923
1 641
1 521
176
PWSZ
361
0
181
0
180
0
Razem
13 189
1 817
11 408
1 641
1 781
176
*Dwa wydziały politechnik uzyskały zgodę ministra na prowadzenie makrokierunków odpowiednio: automatyka i robotyka + elektronika i telekomunikacja + informatyka; automatyka i robotyka + zarządzanie
Tab. 2. Studenci i absolwenci studiów na kierunku AiR w 2015 r.
Studia stacjonarne Grupa uczelni
studenci I stopień
II stopień
Politechniki i uniwersytety
10 817
1 591
PWSZ
479
Uczelnie niepubliczne Razem
TP
P
O
M
I
Studia niestacjonarne studenci
absolwenci
absolwenci
I stopień
II stopień
3 017
1 535
402
228
0
52
107
0
32
4
0
0
79
0
5
11 300
1 591
3 069
1 721
402
265
A
R
Y
•
A
U
T
O
M
A
T
Y
K
A
•
R
O
B
O
T
Y
K
A
NR 1 / 20 21
& H & # C # G ( UOLTMaULQ C; LD ( U@LELU
& 8 > b LEUL ; & = i # # # # K & 8 F & # & # # = b > 8 >\ 8 > # # # K 8 # b 8 8 \ # \ & # # ; W & & = F K = 8 iF > i K 8 K ; ' LEUP ; & ; # = b 8 # = # : # > > 8 & # # # # # ;
,1,1 0 ' LEEP ; & ACH W A 8 > # > H > A # > > ' # > & 8 & A 8 H X C ZA HC`[; & > : > & # >b # # &; # & F > > 8 # > 8 & A HC` ? > > 8 # > A 8 # >\ 8 K> 8 &; ( 8 >& \ > 8 # i ' i > A HC` & 8 : 8 H >b A 8 > #\ & 8 & A HC` & B >\ b \ 8 b ; ` # & A HC` > A < ( j > ; `8 K 8 > # ZW ? ' A < ( # ' # [ 8 & \ > # # > #* W > W ! 8 ; ` 8 & # 8 8 > 8 K> 8 & W & ! > # 8 MA 8 H X C Z A HC`[; A HC` : > 8 ; & A HC`@ A HC` > # 8 & b > > = ; b 8 >& >\ # # > 8 i # i 8 & 8 >\ b > # # ; & 8 # A HC` > # 8 # & & # > 8 > > ; # ' # # > b 8 > # # # > & ; ' # 8 8 & 8 \ b 8 # > & b # : > 8 & ; ' & 8 b > # # & # & LELE@LU i =# A HC` >\ 8 # K 8 > # > # 8 ; & # 8 # >\ b & >\ #\ 8 >b >bF # & 8 8 \ K -
>& > 8 > # >\ & > > 8 8 & >; G H & # C # # ) # > 8 \ # # & # LEUL@LEUh > 8 # # H & # C # & H 8 H & & Z HH [ ZG & ] >\ & H & [; & 8 > >b # # & 8 & > & b W X : AX j > #\ ) #\ & # # & # LEUP@Ua & b W X #\ ) #\; >\ & & & j > ; ` = b & # Z j > 8 >\ & [ 8 >\ j > > & i > = # > 8 \ # K ; & # K > > # 8 > # K > # > & > # j > & > > i & > ; ' # = & 8 > # 8 # # K # K 8 >& >\ # # K ; iF K > & 8 & ACH W \ b i K K \ 8 \; # \ # >K 8 > # # >K > # : # ) # ; c 8 \ 8 ; & >\ K = 8 & > ? : # > ? 8 # >;
+1 8 0 3.1. Symposium on Theory and 0 $ # Manipulators (RoManSy) C > > \ > & b # : > 8 i b ; G > & 8 # K & # ) # # ; & # ) # > 8 > > 8 C # > G H # ; ( 8 \ Gj >\ # K > 8 8 8 # c ! &K >\ b # 8 & UaQa ; C b UaTh ; W ' 8 8 & <G ZG < : [ 8 & H;A; ! # ; ' : # 8 & # & > C # K = = > &8 > & b 8 8 & C ; ` = 8 > # ff ; # = &8 > & b UaPU ; > 8 \-
01 #1 I1 Edward Jezierski Polski specjalista w dyscyplinie automatyka L I -+^* R ) kierunku Elektrotechnika na Wydziale S O =0) Od tego czasu jest nieprzerwanie zatrudniony w Instytucie Automatyki tej % ) 4 L kariery akademickiej, od asystenta do $ & < & ) Q L 0 I ) ) 0 I -++H>*!!* L ) ) ) ) I *!!*> *!!. L O =0) ) 8 I *!!->*!!H L 0 & 8 Akredytacyjnej Uczelni Technicznych ) & ) K) *!! jest ekspertem European University A ) 4) & europejskich uczelni. I *!-!>*!-^ L Q ) # 0 V I M & % 0 ) ) 4 K) *!!^ 8 A Q L PAN, w którym przewodniczy Sekcji 8
Ta
C K> >
& H & # ; i& : LEEU ; &8 > & b b F 8 & i > LEEQ ; C 8 K b # 8 & ) # ; ` 8 \ # &8 > & # 8 \ K i ; # b 8 > 8 # # K 8 & b \ 8 b > # ; > 8 8 & & # \ & # # # > ; ( 8 K & F # \ C ; c &8 > & & # = K c & C > > # 8 # G 8 ! # B & 8 # >\ > 8 & # \ 8 C & >\ & > = & > 8 8 \ b B & c & ; ` UaTQ ; b \ & &8 >K ; ! > &8 > & 8 LELL ; 8 K W ;
# K # ) C ! ) # K : ! 8 # ! $ # ! # ' # ! $ # ] i# ! : # : H & # H ( ) # ' ( # # C # ! & # H ' # 'K> # # ; ' UEa : K # K 8 # 8 ' # ' # > Z' ' [ & & K ; \ # # : > b ' 8 >\ UaaQ ; & > & # : > b > # > > # ; c UD ) > # : > ZUaPD UaPP UaaE Uaah UaaQ UaaP LEEU LEEO LEEQ LEEP LEUE LEUL LEUO LEUQ LEUP[; > : ! > > ! : > C # \ 8 >b # 8 # &; & b & 8 & 8 # > & # > # # ; c & b # : > 8 >b 8 >\ 8 K fgG !!C ZLELE ;[ : # > #K & F 8 >b # 8 # & # ? 8 # >b # # &; ( 8 & & = >b & K ; `8 K 8 # > & # : > # 8 ! & ( # # : > > : K \ # 8 # > 8 & # > # H X : < H X : A : H & : j : < &8 c : H & C G & G : H88 & < &8 ; ' ! : > >& >\ hh & >\ b # ) 8 # > # ; c 8 # ) 8 b8 G & 8 > # H `( ZH ` K ( # [ > # \ K G?fGg !!C Z
8 *@@ # ;8 @ # >@ ! > ! : > C # [; ` >\ 8 b8 & K fg !!C;
+1,1 8 8 0 $ # 88$ G > ! > > ! : > C # 8 > b PE; ff ; & : B# > ) # # ; C & # > 8 & >& >\ & # & K = #b* < & ) < & ) C > ; ( ' # > 8 & & # 8 : ) # K # & >\ # # # & # > \ & ; ' = : ! > ! : > C # 8 G < # > # ' # >; ` LEUD ; # : >b > ! < # C # # ' # >; & ! > > ! : > C # > & 8 \ # #K 8 # # > # ; ` 8 \ # # : > & 8 #K > # & # i #K 8 8 & >\
8 K # # > # ) # # ; ! : > #= 8 b > # > i # #K ; ! > ! : > C # b ' # > i UaPD ; ' # ! & ( # # : > > = _ 8 # > # * # # F c > # ' j $ # j \ # H # $ -
PE
P
O
M
I
A
R
GAAA < & > # K = 8 & 8 GjH<; ! # > # 8 # & K H & # C # `] HC Z : & H & < C [; # ` GAAA C H & 8 B # # # 8 > # G H & # C # # ) # > # & \ b #K Z # DE K [; ! 8 > > K C < # b & > 8 # > # i > > \ bF; ( 8 K # : & ' K & b > 8 # # # b K # K 8 \ i i # & ' K ; 8 8 : K 8 Z # O D > > > [ 8 \ K & i ; > 8 8 GAAA GjH<; C 8 > 8 8 # & # 8 8 ] ( < G : & & GAAA f8 Z > C < [; ' > > 8 > C < : 8 # : G C & ;
+1L1 & 0 # ' # > \ K # # : > 8 i b & 8 # & & >\ > 8 i b & > # # : > \ # # K > >\ b \ 8 > 8 # # ; c > 8 > 8 =\* HC G < : H & C 8 # UaaO ; 8 8 & # W Z > # ) # [ H & # : > # M ^H & > ? ( i 8 # _ UaaT ; 8 & G H & # & K GH : # > >\ > % # ! > ! : > H & # UaDP ; 8 ! & H & # C # # > H# & ( # Z i & 8 8 # : 8 i b 8 > b 8 \ # # : > # > \ # > 8K >[; c
> > 8 =\* T GjH< G &8 & C < C`<` ' 8 #b ' #\ LEEh ; U A 8 < : C C > LEEh ; 8 G
3.3. International Workshop on $ # $ ` 8 LE G H & # C # # ) # > > b ' \ K C < C < ; ' Uaaa ; 8 8 > & GAAA G A b8 > b # > LEEU LEEL LEEO LEED LEET LEEa LEUU LEUh LEUD LEUT LEUa; ' # b8 > b 8 8 > & GAAA C H & Y
•
A
U
T
O
M
A
T
Y
K
A
•
R
O
B
O
T
Y
K
A
NR 1 / 20 21
& H & # C # G ( UOLTMaULQ C; LD ( U@LELU
&K # H( UD Gj ' < LEUa ; 8 H# & b K M$ \ ! # # > 8 bF \ > = G j : & : & ; # ' # LEED ; 8 # # i AWC`( ? A 8 C ( #; F 8 b > LEEE ; & D; & C & : # > & Q; & C & W A 8 > # > >\ # # \ > # 8 & >& >\ b #\; ' # 8 # 8 K 8 >\ b b# & : & > # > \ > # >\ & = iF 8 b K # & 8 8 8 i # # > > # 8 #K & &;
L1 Q / ' > bi # 8 b 8 8 # i # # >& >\ b #\; W b i # 8 8 8 # > C # ! & H & # C # H(; b 8 * %K # > ) # > ' # > ' # > > % # ? & & G H & # & K GH ; `8 >& > i #K & >\ \ # ; < & # K # 8 \ > 8 ) 8 # # 8 8 # & F & # 8 8 # 8 # ) # #K 8 # ; ( > 8 \ 8 # >\ & = i K # ;
L1U1 ' %K # > 8 # # \ 8 K # C K G H & # ; ' 8 \ # & # : # > # & \ # 8 # \ & 8b K # K 8 & ; K > # ) 8 K 8b & 8 & & ; ' # & b & 8 > # & \ & K 8 & >\ Z A]A H([; # # 8 # # > & 8 8 B & * > ## > = > 8 > 8 -
>\ > & = iF > & # >; 8 8 i = > 8 : & # \ >; ' 8 # 8 > & 8 8 > b # # >\ 8 # K # K & > & # >; & : # iF K & 8 i ) # & ; b 8 B 8 ! & ) ( # ( # # ' = 8K > (<( (< C; H# # # ) # C K >& >\ # K Z8 & 8 # & [ & & > > ; K & ) 8 # * − # # > K & K ) 8 > − # 8 & 8b K K # 8 B i i & 8 K − & 8 > 8 F − &8 > K − # > #M − # : & > > > K − # K ; ' b # b8 >\ 8 > # * − &8 > K # & # > & 8 # > # ? C` CAf; − `8 & K & 8 \ # & & & & # ? HC ; > # # > & # %K # > B &\ H 8; ; ; < & # # 8 > # 8 & & # & & 8 &; ' 8 & & 8 & b # 8 # \ # >\ i& \ 8 > # & = >\ 8 # > & K ; ( > > > 8 # * − & 8 8 \ \ # # >b \ # & # − 8 # &8 # B > & = >\ #
01 #1 I1 8 0 8 / 8 $ 8 L S % ; A I ) S & O O R / na Wydziale Matematyki, Fizyki i Chemii Uniwersytetu A. Mickiewicza w Poznaniu. Jest profesorem nauk technicznych od -++. < ) 4 PAAP% ? Automatyki i Informatyki, University of Braunschweig, Niemcy (1.10.1991 – 28.02.1992) ) 4 X L & % " O Laboratory, California Institute of Technology T^ !- -++ > *- -* -++ U " 8 Automatyki i Robotyki PAN od 2000 r., ) *!! & ) 4 " & L ) L 4 & ) )0 & ) R praktycznymi zastosowaniami robotyki, m.in. sterowaniem robota mobilnego w szpitalnictwie % L ) R laparoskopii oraz robota do rehabilitacji stawu kolanowego oraz obecnie sterowaniem L M Ten ostatni robot jest polskim know-how -! & 0 ! & 0 L ) " - L ) " M ?SSS Robotics and Automation Chapter i jego ) 4 *!!!>*!!. *!-E>*!-+ & ) „2001 Chapter of Year Award” po raz pierwszy ?SSS 4 Q L ) A " ?SSS ) 1984 r. w tym life member od 2019 r. " & Y Modelling and % 2 # " , Springer 1998 oraz licznych publikacji w czasopismach z listy " Q TH!U 0 % 0 $ ?SSS ?XA T ) -*!U " & ) 4 / ) ) I 0 Q L / and Control pod auspicjami IEEE i IFAC. KL ) Q L w Instytucie Automatyki i Robotyki.
PU
C K> >
& 8 # > 8 # − &K MB − > & & K >; 8 K 8 ) \ # # 8 # & & 8 #; > # 8 # & # K \ & >\ 8 K 8 # > # K # >\ 8 # # & # K # & ; W iF 8 > # # 8 # 8 # & # = > b 8 & ; − & \ ) i # 8 & 8 & 8 > 8 # & & ? C 8 ; G > \ # 8 >\ 8 F & F 8 b #= \= >\
8 b & \ F > 8 b > \; − C K> \ ) 8 >\ 8 b K 8 &K ? 8 > # 8K 8 ( G : 8 & # & &; % ;
Fot. 1. Prototypy robotów humanoidalnych wykonane do celów badań nad metodami syntezy ruchu
>\ = # > # > K & Z \ >\ [ # K \ 8 8 # > & > 8 # M # ; ( & # # # > 8 & b & # # K K & b > # # > ;
` # ) LEUa ; > 8 > # & 8K 8 K 8 # > > K & 8 & ]GcAC; < & 8 > # > 8 # b8 = # > & 8K 8 8 & K K= > # 8 # > > K ; `8 # 8 > >\ & 8\ K & = iF 8K 8 K \ >\ # # 8K > & > ; 8 & : & > 8K 8 >\ K b & ) 8 & > 8 & > 8 #\ & &; < biF 8 b # &; ; 8 b & > > & @ & K # #= 8 K= K & 8 & # > & b & ; j & : # & 8 8 > # b & > & # 8 > 8 # > > 8 & 8 # > # K > 8 K & = F # 8 ) = & ; c > & 8 \ \ # #K & # # & # : & # ; \ 8 b= ! ( # C #K ! ( C; ` LEEP ; >\ > > b# & b K & < ; `
PL
P
O
M
I
A
R
8 b # K # & > b # 8 & > B# > #K ; ) > & = b# > # # 8 > # K (<( (< C; ' # b ) 8 #K G \ & > K= > > # 8b 8 b= &# b & # > ; \
= # # > K & >\ 8 > # 8 8K 8 8 & 8 & & ; & > \ ) > & 8 Z & [ 8 > & i K i& # & ; # 8 8 > # < & H & &; # > ! 8 # H( G H & # C # ; & > b = 8K 8 & b # 8K 8 # > # >; ` & \ 8K 8 & # 8 # > # ; ' G 8 \ = 8 > # & >\ # 8 # \
8 \ # & ]< = \ 8 # > = # 8 # # 8 & ;
L1,1 < # C # G H & # C # # ) # > 8 # # > 8 # > & # # 8 # & # # # > & # Z > 8 & # # # # # [; # \ i i 8 \ # #\ \ & & 8 K & ' H & # C # A # # 8 > # # # Z i > # # ' G : & # ? 8 8 # 8 8 > B > G H & # C # [; >& >\ 8 # \ & # K & # & & K= # > # > # K ; W b # & & # \ >\ > & >& >\ 8 K & # >\ 8K # & 8 ; < \ # \ ) > 8 \ 8 # #\ \ G H & # C # > 8 = # # i 8 > K 8 >\ 8 > \ 8 b \; ' > # G B > & 8 > # K 8 ( # # ' = b# & 8 # # \ Y
•
A
U
T
O
M
A
T
Y
K
A
•
R
L1+1 ' ' TE; PE; ff ; # K 8 8 : H & # 8K # ' & A # ] 8 >\ 8 > # >\ # 8 iF; ' K i 8 # 8 & & bi & 8 & & 8 \ & 8 & \ ; ' & \ 8 # # > & 8 K 8 8 > # & # \ >; 8 8K 8 8 > 8 i 8 & 8 K # & bi > \ O
B
O
T
Y
K
A
NR 1 / 20 21
& H & # C # G ( UOLTMaULQ C; LD ( U@LELU
; c 8 & 8 8 \ # b 8 # ; 8 = > & # \ > #MO # # K # # ) #K 8 ; 8 b 8 & & & # ; W \ 8b # &8 ; # 8 # > & F & 8 K C( 8 > # K # > 8 8 & # \ # # # > K & Zj ; U[; 8K >& > b
= 8 & > ) # 8 & = > # i 8 ; `8 K = 8 8 & & # >\ 8 # 8 # & 8 K ; \ = \ & & # K 8 & > & 8 K 8 > # # # ; ' & 8 > # &G jGf & T; & C & 8K G & H & # G : & # > 8 & b 8 K 8 8 >\ = 8 >\ K & >; `&K # \ # C K G # ] > # >; 8K & C K # G H & # G : & # > ' A # # # G : & > 8 UaPh ; ' \ # >\ ) > #K 8 \ #
Fot. 2. Robot Velma
ffG ; & b 8K & C K &K C 8 >\ 8 b i i 8K 8 >\ \ 8 * 8K & C K 8K 8 > >; \ # 8 8 # b & Metoda ana " " & & LEh 8 & < C T;U; C & ) 8 & & # & 8 GC8MQ &K > >b #K 8 & K ; c \ # # >\ ) 8 8 8 & # & ZC`C< CC`< CC`< [ =\ #K K ; c b# & 8 8 8 # K K ZGC8MQ GC8MQ > & & B# GC8MQ & B# GC8MQ > & C( # &G jGf ! b gA] H (H` 8K >\ & \ \ K 8 & WCMD WCM UD WCMhD[ >\ K= ; c iF 8 > # & = : & K > & 8 > # # K & & & ; > 8 : & & 8 &K >\ ; `8 b K # b > # 8 K & ; ' # > # 8 >b 8 ; c K 8 > 8 > i > # > 8 & >\ #; ( > = >& > b # & # >\ & b 8 & & >\ : # > 8 >i 8 & ; A & \ 8 & &; c 8 & = & 8 & # i > 8 & \ & # ) # # > 8 B# > 8 > # & 8 > > # & # ) > # F ; `8 > & 8 > # > b 8 & 8 & >\ &K & = 8 ) \ * 8 > M 8 b= 8 & &K > # 8 8 > # > & > # > 8 ) & 8 > b > K i 8 ; ' : # ) & # >\ >b \ >b = # # C # 8 > 8 # ; > > # # C # i b # > &
01 #1 I1 . < Jest profesorem na Wydziale Elektroniki i Technik Informacyjnych (WETI) Politechniki Warszawskiej (PW). W PW pracuje od 1985 r., a od 2008 r. 0 M O ? Automatyki i Pomiarów – PIAP. I OI $ f ) ) 0 ) ) IS?6? T*!!*>*!!GU% ) ) Instytutu Automatyki i Informatyki Stosowanej (IAiIS) (2005–2008), dyrektora IAIS (2008–2016, 2020 – oraz prodziekana ds. ogólnych WEiTI (2016–2020). Od 1996 r. jest Q L ?A ? K) *!!^ 8 A Q L O A ) V O 0 M @ & L & of Technology (1992) oraz Nanyang Technological University w Singapurze (1999–2001). Jego zainteresowania L ) 4 & ) 4 ) programowania i sterowania robotów. " 0 ) 200 publikacji z tego zakresu.
Ph
C K> > b 8 # & 8 > i # 8 B\ b # F > 8 >\ & & & 8 > M ; ! # > 8 & & B b 8 > &; 8 # 8 = > # > > 8 # K ; # & 8 > # (< C C CA 8 # > & i 8 # > # K & # & b 8 # > & K K i K M # 8 > ; 8K # ' # > >& b 8 8 >\ K \ & 8 >\; 8K K = 8 > # &G jGf & & T; & C & ; ' # > 8 \ & b 8 B# > &8 & > &K K # & 8 8 >\ & ; & >\ b b8 8 8 8 & i & & &; & 8 = & 8 ) K 8 8 >\ # i >\ 8 K K 8 # 8 8 & # > #K <Hc # > ) & >\ >; ' # > & 8 > # & & T; & C & ZCH [ 8 \ # 8 >b &K & > # ; 8 & \ b 8 > ) # K = # # & = F > b 8 # ; & > & b &
& # &8 # ; c # \ iF & iF K >\ 8 \ \ # iF 8 # 8 ) & & & b & & & & # ; 8 \ &K 8 >\ 8 >\ > & 8 # 8 > & 8 & K ; # )
* 8 > b#K K & & > & > > K # & &K \ 8 8 > > # > Z 8 > K b# [ Z 8 # & )[ K ; ` 8 & 8 >& >\ b & & # &8 8 >\ b g & Zj ; L[; # -
PO
P
O
M
I
A
R
>\ b 8 >\ \ & & 8 ) 8 8 > & = >\ >
8 i # ; 8 \ & = i # K 8 # > > & &K > ;
L1L1 ' / ( b >\ 8 8 i > # ! < # C # ; # # 8 >b PE; ff ; 8K \ B >\ # > # # & # 8 8 > # >& >\ 8 8 >b >b K ; ( & & ) \ # & # 8 ; = > 8 & \ 8 8 8 K # ; ) # 1 # >\ b & # & # & # & 8 K & 8 > & ; K & > >& >\ 8 # # >\ & # 8 #K K ; ' # \ bF # = b & i # & K 8 8 &K & 8 K K & K> & 8 # K & # > # & ] M & > 8 # B > >; ' # 8 # # > # 8 8 # # > > # # > & W # = &8 & >b #K & # 8 & 8 K 8 & 8 H AH GC 8 # # > > K & 8 > &K 8 8 # >\ # C \ b#b # ; # & C 8 &K & & & 8 >\ b 8 i & ; >b & & & & 8 K # & ; # 1 \ &K # > 8 8 K & 8 > \
= # > 8 i = # > K & ; K 8 i b b & # > #K # 8 & Z8 = > = # b= > & 8 [ > #K b# # K > ; c \ bF # = 8 -
Y
•
A
U
T
O
M
A
T
Y
K
A
•
R
Fot. 3. Robot FLASH MKII
Fot. 4. Głowy EMYS wystawione na objazdowej wystawie Robot Revolution (Stany Zjednoczone)
&K # > > # >\ 8 8 >b &8 & > 8 & 8 b &K 8 K 8 & & > 8 & b# > # # # i i =# 8 >; ' # #= 8 & 8 & >\ B & ; ' & 8 > # ]GCA< # & = iF # 8 & b# 8 K ; ' # 8 8 > K K #\ # \ 8 & & > & 8 & K > ; \ 8 8 UaPE ; 8 * # 8 > M & & M8 & & 8 b & >& >\ & b & 8 b 8 > Z8 [ # 8 8 K j <A Zj < A 8 # [ K # 8 & > # Z 8 8 > # ]GCA<[; & # 1 C > & # # # & ) > & 8 ) K # K K & b & &K 8 # > #= > & > > K 8 ; b & > \ b > > > -
O
B
O
T
Y
K
A
NR 1 / 20 21
& H & # C # G ( UOLTMaULQ C; LD ( U@LELU > & & > # # &K ; c : # K 8 8 # > 8 # = 8 & 8 & 8 <Hc@<H G<HC 8 8 8 # > #= # & jH K> > # M = ; $ # 1 & # >& >\ > 8 & 8 K & & 8 & : > K & b # & & \ # b \ 8 \ # & & 8 > K #= 8 > # & & > i #K M # &K > K # B# &8 > 8 b# # >\ i &; ' # & > # >\ b
#= 8 & 8 & 8 >\ & ; $ # / 1 & 8 # i b & # K > # > # & > # i K ; C 8 F = & > > > # & # > \ b # & b; ' # 8 8 8 # # > K 8 & # 8 = & > * $HCG< !`H]H jC` G ; G&8 &
8 ) # > 8 > # 8 > # ]GCA< Z] X C G X < &8 [; & 8 = # \ # > # & & & > > > # ; ' LEEP?LEUL & 8 > # # -
8 j]H $ Zj ]GCA< H & $ 8 [ A ZA X &[; # ) 8 > # ]GCA< &K $ M'
W X A 8 # # > j]H $ !GG Zj ; h[; c A ¡ 8 W H & C C X > 8 < & : G Zj ; O[; ( = 8 # i F = # # & 8 > i C # 8 K # # H & # C # ' A # # ' 8 \ >b # # 8 >;
Fot. 5. Robot Inspector zaprojektowany, wyprodukowany i sprzedawany przez Łukasiewicz – Instytut PIAP
Fot. 6. Robot Ekspert zaprojektowany, wyprodukowany i sprzedawany przez Łukasiewicz – Instytut PIAP
L1M1 ) ( Q J / & - PIAP ' % # ? G GH ' aE; ff ; 8 >\ ) 8 > ; c > # # \ # # # > = 8K K = # # b > # ? 8 #\; %\ 8 # 8 8 = > LEE #; 'i K # > = # #K & F = * >b ' > # = = \ = \ ` C \ # # 8 > > > ; \ b8 >\ 8 8 \ #K =
& & & \ = ; i % # ? G GH = # # & 8 8 8 ; ' \8 8 8 > K 8 & >\ > # 8 >b 8 # > = ) # 8 > &8 #K 8; ( 8 \ # 8 \ 8 # = 8 #K 8K > -
01 #1 I1 8 0 * < Jest uznanym profesorem nauk I -+H.>-+^ ) I ) S O I T ; U I -+^H ) ) $ " & " L 4 0 f 5 ; W 1987 r. R ) L & na podstawie rozprawy z zakresu teorii f 1 6 - ( . I -++H $ K) -++E 8 A Q L OAV O $ ) 4 & Q L 8 A Q L OAV L K) -+.^ L ) O ) L Q L % 8 ) 4 L Q L na Wydziale Elektroniki Politechniki I I -+.^>-++- L 4 ) ) ) ) ? Cybernetyki Technicznej. Aktualnie & ) L % &0 w teorii sterowania. Jego zainteresowania L ) L 4 ) L % & 4 L 4 K) -+.G & M & &0 $ L 88Q > 8 8 $ Q L % ; 4 8 Programowym. W latach 2008–2012 0 projektu europejskiego LIREC (Living with Robots and Interactive Companions). O ) Cybernetyki i robotyki, w ramach którego 4& E! )L ) --!! ) R KL ) sterowaniu nieholonomicznymi systemami robotycznymi. Jest autorem ponad *!! L -E ) 0
PD
C K> >
# 8 8 > # ) 8 # > b > \ >\ 8 & 8 # K # & > ; ' : # >\ i > b & F b > : # > # >\ 8 = # #K # # # 8 > ; ' % # ? G GH B# 8 #\ & \ \8 UaaQ ; # 8 8 8 G 8 Zj ; D[; ` LEEE ;
# 8 8 = K 8 8 # > 8 > > # ; # > # & > K # G 8 b # # K % # ? G GH >\ i 8 >\F b 8 > # = ? A 8 Zj ; Q[ # K & > & & G 8 ; ( & \ K ) 8 > -
8 > b 8 \ # ffG ; # ¢ # & H: G # ; c # = K # &8 # ; c LEEO ; H: G # & & # ) # = UQL # K b UU \ # > ; `# b > # = # # # > b & F b & #K ; = = 8 K # 8 > # 8 =\ ; ' : # # # > K 8 i b; c 8 & 8 > # K # > # > b# > : # > i 8 & & # # # & ; ` = K # # # \ ; ' # i # # > & B# & >\ # # 8 8 b ; i > 8 > # # 8 i i : # > # K b # ; ' b8 % # ? G GH 8 # > # # > 8 >\ & & &; \
* GH Zj ; T[ G Zj ; P[; GH 8 # 8 & > b8 # > # 8 8 > K # > & > 8 : & i # 8 \ # 8 & ; G = # 8 M > 8 > # & 8 > & ; C 8 8 : &b & \ i # ; ! = #K & = 8b # # # > &
Fot. 7. Robot PIAP Scout zaprojektowany, wyprodukowany i sprzedawany przez Łukasiewicz – Instytut PIAP
= & & 8 iF 8 > # # # #K 8 = & 8 > > 8 8 # > ; CK 8 & 8 & & GH G 8 8 & \ # # >b & # C ? GH C £ Zj ; a[; 8 > # 8 = > # \ 8 # K 8 8 > # 8 8 ) 8 ; ! # ? # % # ? G GH ? 8 8 # > K & ; ` LEEP ; 8 >b 8 # &8 # & \ & & & # & > # = & C` AW ; ' b8 >b b
= & > > & \ ; C` AW & 8 ) # ; c = 8 > & >\ 8 & F &; ; : # > & & & ; & > i > >\ # i >; ' > > & % # ? G GH > 8 > # H A(H # K & 8 & & 8 & 8 : & \ & = >\ & 8 \= & # & Z8 # 8 > & # &[; c b# & H A(H b & = &; ; F \ 8 : &\
8 \ 8 & >\ \ 8 F # > F b b 8 8 = 8 > K ; ` & 8 : # > ; & H A(H & = F K= 8 : & & # > # 8; & ; : & 8 = & H A(H b \ & F & # i = & 8 > 8 & \ >b & \; G = % # ? G GH # ) K = LELE ; 8 \ & \ > #\ b=#\ ?
Fot. 8. Robot IBIS zaprojektowany, wyprodukowany i sprzedawany przez Łukasiewicz – Instytut PIAP
Fot. 10. Platforma mobilna HUNTER zaprojektowana, wyprodukowana i sprzedawana przez Łukasiewicz – Instytut PIAP
Fot. 9. Robot PIAP TRM zaprojektowany, wyprodukowany i sprzedawany przez Łukasiewicz – Instytut PIAP
PQ
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 21
& H & # C # G ( UOLTMaULQ C; LD ( U@LELU
$W( AC; $W( AC Zj ; UE[ 8 : & & ZW g[ & #; hDEE # # K & = 8 & ) > 8; # 8 ) ; : & 8 > & M & 8 b & =\ 8 b # i \ Z # DE #&@ [ & = 8 # F K= ; i > # 8b Z # # 8 b b 8 & # & c [ & = > > # \ 8 b 8 8 # ) > & # & iF 8 : & $W( AC > b# # ;
M1 # # # > = i > = 8 & : & & : & > & ) 8 K= i # # > ! > ! : > C # ; c iF i = i = \ # \ \ 8 = 8 ; ' 8 K >& >\ b #\ > # \ > ; \ \= # > i # #K = & K ; ' & # > i # #K 8 >& 8 K 8K > > = 8 > # K ; : & >\ > \ < & MC > ; ' & < C T;U # " , UaPh? UaaE 8 > # # i & LEh* C K>
8 & & & K & 8 K 8 & ; > # 8 # & 8 K 8 & GC # K >b # \ # > B & H AH = & G H & # & K ; ` \ b i& i # & # & ; : & > > > ! & ) ( # # K B 8 # & 8 > # 8 8 8 >\ 8 > i # ; c b# & 8 & # i #K = & & >\ > K= & & 8 8 > # ; # #K iF i : # & = i 8K 8 # > \ # b; > # > b 8 = F > \8 8 8 8 \8 # W A 8 > # > LEEO ; # > = 8 8 \8 & # W # > i # #K : & -
> # ! & > WA; ' LEEL ; 8 bF > # * # ' # Z ' [ # ' # Z '[ # ) # Z [ # %K # Z %[ W ) # # > & # >\ > # c # i 8 >\ & Q; & C & ; ! > & ' : C Z' [ & # ; `# i # > # &8 > # # # bF 8K 8 b b # \ # 8 ! & >b WA; 8 8 & K >\ # b # i b & & K # &8 K > K ; ' LEEQ ; # > # > & \ # &K > # Gf !!C K b A # > ( # > \ & & `8 > G > 8 # F 8 > # * G 8 > 8 ; 8 > #K 8 8 & K & 8 8 # # ) > > >\ 8 # # & > > 8 > 8 ; ( b 8 # F = 8 & # K F \ b 8 ; ' & & & # 8 8 \ 8 ( # G : & > >\ & = iF # B 8K & & # & i # #K # >\ > ' > H# & K M$ > G &K # H( GH \8 8 8 >\ C` ` !HM ]; > & 8 >b ) # > # > > ) # # ; G & > > & K & * − 8 8 & ) # # − # >K > # # & K − LEET ; # # > Z8 > K > & & 8 K # [ 8 i b > 8 > \ bF #K ; ! K > # > # \ > > > = # # b = 8 \ > \ 8 \ \ # & > = ; ' # & # F > > # # # K & >\ -
01 #1 I1 ) P L T? Techniczny Wojsk Lotniczych, 2019), L O FA R studiów podyplomowych w zakresie 8 ? O ) ; V 6 & T =0) of Texas w Austin w USA, 2010), doktor nauk technicznych (Wojskowa Akademia Techniczna, 2000), studia na Politechnice Warszawskiej na Wydziale Mechanicznym Energetyki i Lotnictwa R -++* > ) & M L S ) L & )0 4) wojskowych i robotów mobilnych w zastosowaniach cywilnych. Jeden & 0 0 polskich robotów pirotechnicznych > ? S] 8 projektów naukowo-badawczych, ) M 4 L 4 A 0 -* & R i ponad 70 publikacji naukowotechnicznych w wydawnictwach polskich i zagranicznych. 8 A i Robotyki Polskiej Akademii Nauk, Rady # 0 ? 0 < ) % < ) $ P $ ? Association for Automation and Robotics K) 8 M 8 K ) K) ) O T*!-HU% ) ¢ & ) L £ T*!-GU < 4 8 M & T*!!GU Po raz pierwszy na stanowisko dyrektora O & ? A O 0 O?AO 1 sierpnia 2015 r. Z dniem 1 kwietnia *!*! O = ) L M O 4% % ) stanowisko dyrektora Sieci Badawczej = > O & ? Automatyki i Pomiarów PIAP.
PT
C K> >
iF 8 \; # > # 8 = & iF 8 \ > # & & > # & & i 8 >; ' LEED?LEEP G G : & # ZG G[ H( ' H $ G H( W $ & M 8K 8 > # B 8 \ # 8 A( 8K > 8 ( # # ' = Z ( '[* & , , 7; & : # K 8 > # & B % , 8 , , 9 : " : 7 8 8 & ! & H & # C # H(; b : # &
8K 8 b b # # > & 8 b F 8K ; ' : # LEEP ; 8 > ! & H & # C # ! & G : & # H( # K 8 K b 8 \ ' Gg H( ( ' & $ & J # / / ; < & & \ ) 8 & =\ i & & 8 & >\ 8 = &; < bi \ # \ 8 > : # 8K >\ > G & 8 > \ ; ( ; ( < & ) C > & & ) i =#b H 8 > b & = iF 8 ) 8 # > # ; ' LEUL ; 8 # > & # >\ b GH ' ' % G G H( 8 > # ; " < # "#0=; & 8 > # b 8 # > & K K i K M # 8 > ; ' # > 8 > # 8 8 8 8 & >\ # > # 8 > 8 8 & & # = i 8 > 8 i & ; & : # & 8 > # # # : # 8 K= & & & K # >\ & & > #K ; ' #
8 b : &
PP
P
O
M
I
A
R
# > #K & 8 > # K T; & C & WA ( < & ( # Z(<([; ( # & 8 (< C i =# H & = iF 8 ) 8 # > # ; # & = iF 8K 8 B & & 8 \ # & 8 & i & # b ; ' LEUh ; & i #K Z ' ' % # \ # H $ G G H( GH [ = 8 8 >b & # > 8 c > G : # > K 8 8 ) & & & \ ); F # C` H ? C` H ; C` H & & = F # > & > & & > 8 : & 8 b > # K > & = 8 F # 8 & K i > F 8 & >\ ; `8 & 8 > i # b8 & 8 8 & ); > # # B# B b # = gH > # & # B# & # # F 8K B 8 K 8 & # K > # & # i & 8 b b b > > : F; ` 8 > b & = i B 8K ) # # ; ' LEUP ; b > & >\ i # >& >\ b \ >\; 8 = 8K #K ; ( # & C > > G > ¤8 i&
& & O@LEUP ; QD?QP ? 8 8; # > ¥ > 8K & 8 > # & \ & # ;
= 8 > # # #i 8K > ; ` 8 >\ b # F # 8 & ; ( # > ) 8 & >\ K i & = >\ B 8K ) # ; b j > C # ZGjC[ > & 8 K 8 # i = K>
> = > = # # # >; \ 8b \ > 8K > # > > c D ; > < 8 ! 8 > # & ? ( & ' > 8 \ 8 & > # ; ' # #i >\ b 8 ) = 8 & & & & = # # & & & # iF >
# 8 & = 8 & > 8 ; ( # > & = 8 F b 8 # >\ K 8 & &K \ > = ; < \ > 8 & 8 > & i # & i 8 > K & # & : # \ b # = # = > 8 ) ; 8 > # \ # 8 8 8 # ) & = 8 F # > 8 > > &8 > # > ; 8 > b b # > 8 8 i > ; ( # ) & = F = A 8 > & 8 # > K K 8 & > # ? # > 8 & > ;
( > 8 8 > # > C # ! & H & # C # # > H# & ( #;
6. Podsumowanie # F 8 # K # 8 \ # > & = 8 F b & & \ bF # # ; c b# & # i # \ 8 K & > > # > ) >\ 8 > # K ; ( b >\ # % # ? G GH # K 8 & > 8 & 8 > 8 ; # # & # G 8K 8 >\ ; G > & # # H & # C # # =\ & > # # # 8 ; >b 8 hE & > # # H & # C # 8 K # >K # K -
Y
•
A
U
T
O
M
A
T
Y
K
A
•
R
6 R % R – Politechnika Warszawska S) ) " > O =0) 8 $ 8 > O O R O > ; < ) = > O ? A O 0 PIAP 8 $ 6 R > O I
O
B
O
T
Y
K
A
NR 1 / 20 21
Kalendarium wybranych imprez Data konferencji & )
>
17th IFAC Conference on && c X A& & PDES 2021
18–20 / 05 / 2021
Sarajewo i i Hercegowina
17th GjH< &8 & G : & < & : INCOM 2021
08–11 / 06 / 2021
: Cypr
17th GjH< &8 & j c 8 X : : SAFEPROCESS 2021
07–09 / 06 / 2021
8 'b
www:
8 *@@ : 8 LELU; @@
hE;EP?Eh;Ea @ LELU
Jokohama Japonia
www:
8*@@ ; & # LELU; mail: & # LELUV ;# ; ;>8
Dh; b Konferencja Metrologów MKM 2021
13–15 / 09 / 2021
' #
www:
8 *@@ ; &; X;8
XXV Konferencja ( # M & LELU ? H & > ? ( i 8 #
23–24 / 09 / 2021
' #
www:
8 *@@ & ;8 8;8 @ mail: # : > V8 8; # ; X;8
Nazwa konferencji
ffGGG ' < : G & Confederation IMEKO 2021
Informacje dodatkowe
www:
8 *@@ ; : M ; @ X @ 8 && M X M M & M M & MUT M8 MLELU mail: > ;> # V ; ;
www:
8 *@@ &LELU; @ mail: : V &LELU;
< #
41
# / H # ! M' # # g #
49
) # ( # / i ) #
53
# 0 c & # # # #
61
) & : " ) H &: $4!&) 7 4 H # H & #
67
# / #