1/2015
P O M I A RY • A U T O M AT Y K A • R O B O T Y K A
PAR kwartalnik naukowo-techniczny
ISSN 1427-9126 Indeks 339512
Cena 25,00 zł w tym 5% VAT
9 771427 91250 4
01
www.par.pl
W numerze:
43
Piotr Mróz, Sebastian Brol
49
Patryk Piotrowski. Tomasz Witkowski, Robert Piotrowski
57 65
System pomiarowy poślizgu względnego na hamowni podwoziowej
Bezzałogowa zdalnie sterowana jednostka latająca Izabela Kutschenreiter-Praszkiewicz
Planowanie procesu produkcyjnego wyrobu innowacyjnego
3 5
Od Redakcji Cezary Zieliński, Tomasz Kornuta
Programowe struktury ramowe do tworzenia sterowników robotów
15
Wojciech Kunikowski, Ernest Czerwiński, Paweł Olejnik, Jan Awrejcewicz
21
Piotr Tatjewski, Maciej Ławryńczuk, Piotr Marusak, Marian Rubin, Piotr Ziętek, Maciej Szumski, Michał Szumski
An Overview of ATmega AVR Microcontrollers Used in Scientific Research and Industrial Applications
Waldemar Szulc
Struktura niezawodnościowo-eksploatacyjna elektronicznego systemu bezpieczeństwa
71
Piotr Kardasz
77
Marian Wrzesień, Piotr Ryszawa
Algorytm redukcji szumów w nagraniach dźwiękowych wykorzystaniem podziału sygnału na składowe harmoniczne i stochastyczne
Wielotorowy system faksowania
29 37
Opracowanie i konstrukcja regulatora pompy ciepła typu powietrze-woda: modelowanie obiektu Marek Machaczek, Jan Sadecki
Analiza efektywności wybranych równoległych implementacji algorytmu Gaussa-Seidela Remigiusz Aksentowicz, Waldemar Uździcki
Pomiary parametrów pracy pneumatycznej instalacji odciągowej przy różnych wariantach sterowania
Ponadto: Od Redakcji – 3 | Informacje dla Autorów – 83 | International Federation of Automatic Control – struktura, misja i historia – 87 | Profesor Janusz Kacprzyk doktorem honoris causa – 91 | Awans naukowy – dr hab. inż. Rafał Stanisławski – 92 | Awans naukowy – dr hab. inż. Maciej Trojnacki – 94 | Kalendarium – 97 | Rachunek Różniczkowy Niecałkowitego Rzędu i Jego Zastosowania – 98 | 7th IEEE Intelligent Systems IS ’14 – 99 | MECHATRONICS: Ideas for Industrial Applications – 100 | Wirus innowacji. Lider opinii i dobrych praktyk w obszarze współpracy nauki i biznesu, czyli o Stowarzyszeniu Top 500 Innovators – 101
Rada Naukowa
Rok 19 (2015) Nr 1 (215) ISSN 1427-9126, Indeks 339512
Redaktor naczelny
prof. Jan Awrejcewicz Katedra Automatyki, Biomechaniki i Mechatroniki, Politechnika Łódzka prof. Milan Dado University of Žilina (Słowacja)
dr inż. Jan Jabłkowski
prof. Tadeusz Glinka Instytut Elektrotechniki i Informatyki, Politechnika Śląska
Zastępca redaktora naczelnego
prof. Evangelos V. Hristoforou National Technical University of Athens (Grecja)
dr inż. Małgorzata Kaliczyńska
Zespół redakcyjny dr inż. Jerzy Borzymiński prof. Wojciech Grega – automatyka prof. Krzysztof Janiszowski dr inż. Małgorzata Kaliczyńska – redaktor merytoryczny/statystyczny mgr Anna Ładan – redaktor językowy prof. Mateusz Turkowski – metrologia prof. Cezary Zieliński – robotyka
Skład i redakcja techniczna Ewa Markowska
dr Oleg Ivlev University of Bremen (Niemcy) prof. Stanisław Kaczanowski Przemysłowy Instytut Automatyki i Pomiarów PIAP, Warszawa prof. Larysa A. Koshevaja Narodowy Uniwersytet Lotnictwa, Kiev (Ukraina) prof. Igor P. Kurytnik Akademia Techniczno-Humanistyczna, Bielsko-Biała prof. J. Tenreiro Machado Polytechnic Institute of Porto (Portugalia) prof. Jacek Malec Lund University (Szwecja)
Druk Zakłady Graficzne Taurus Roszkowscy Sp. z o.o. Nakład 500 egz.
Wydawca Przemysłowy Instytut Automatyki i Pomiarów PIAP Al. Jerozolimskie 202, 02-486 Warszawa
Kontakt Redakcja kwartalnika naukowo-technicznego Pomiary Automatyka Robotyka Al. Jerozolimskie 202, 02-486 Warszawa tel. 22 874 01 46 nauka@par.pl www.par.pl
prof. Andrzej Masłowski Wydział Inżynierii Produkcji, Politechnika Warszawska prof. Tadeusz Missala Przemysłowy Instytut Automatyki i Pomiarów PIAP, Warszawa dr Vassilis C. Moulianitis University of Patras (Grecja) prof. Zdzisław Mrugalski Instytut Mechanizacji, Budownictwa i Górnictwa Skalnego, Warszawa prof. Joanicjusz Nazarko Wydział Zarządzania, Politechnika Białostocka prof. Serhiy Prokhorenko „Lviv Polytechnic” National University (Ukraina) prof. Eugeniusz Ratajczyk Wydział Zarządzania, Wyższa Szkoła Ekologii i Zarządzania w Warszawie prof. Jerzy Sąsiadek Carleton University (Kanada)
Pomiary Automatyka Robotyka jest czasopismem naukowo-technicznym obecnym na rynku od 1997 r. Przez 18 lat ukazywało się jako miesięcznik. Aktualnie wydawany kwartalnik zawiera artykuły recenzowane, prezentujące wyniki teoretyczne i praktyczne prowadzonych prac naukowo-badawczych w zakresie szeroko rozumianej automatyki, robotyki i metrologii.
Kwartalnik naukowo-techniczny Pomiary Automatyka Robotyka jest indeksowany w bazach BAZTECH, Google Scholar oraz INDEX COPERNICUS (IC 3,22), a także w bazie naukowych i branżowych polskich czasopism elektronicznych ARIANTA. Punktacja MNiSW za publikacje naukowe wynosi 4 pkt (poz. 1618). Przyłączając się do realizacji idei Otwartej Nauki, udostępniamy bezpłatnie wszystkie artykuły naukowe publikowane w kwartalniku naukowo-technicznym Pomiary Automatyka Robotyka. Wersją pierwotną (referencyjną) jest wersja papierowa. Udostępniamy też aplikację PAR DIGITAL – wersję kwartalnika na urządzenia przenośne.
prof. Rossi Setchi Cardiff University (Wielka Brytania) prof. Waldemar Skomudek Wydział Inżynierii Produkcji i Logistyki, Politechnika Opolska dr Dragan Stokic ATB – Institute for Applied Systems Technology Bremen GmbH (Niemcy) prof. Eugeniusz Świtoński Wydział Mechaniczny Technologiczny, Politechnika Śląska prof. Peter Švec Slovak Academy of Sciences (Słowacja) prof. Krzysztof Tchoń Instytut Informatyki, Automatyki i Robotyki, Politechnika Wrocławska prof. Wojciech Włodarski RMIT University, Melbourne (Australia) prof. Eugenij T. Volodarsky „Kyiv Polytechnic” National University (Ukraina)
Pomiary Automatyka Robotyka, R. 19, Nr 1/2015
Spis treści 3
Od Redakcji
5
Cezary Zieliński, Tomasz Kornuta Programowe struktury ramowe do tworzenia sterowników robotów Programming Frameworks for Developmentof Robot Controllers
15 Wojciech Kunikowski, Ernest Czerwiński, Paweł Olejnik, Jan Awrejcewicz
n Overview of ATmega AVR Microcontrollers Used in Scientific Research and A Industrial Applications
Przegląd mikrokontrolerów AVR stosowanych w badaniach naukowych i aplikacjach przemysłowych 21
Piotr Tatjewski, Maciej Ławryńczuk, Piotr Marusak, Marian Rubin, Piotr Ziętek, Maciej Szumski, Michał Szumski Opracowanie i konstrukcja regulatora pompy ciepła typu powietrze-woda: modelowanie obiektu Design and Construction of the Controller for Air-Water Heat Pump: Modeling of Control Plant
29
Marek Machaczek, Jan Sadecki Analiza efektywności wybranych równoległych implementacji algorytmu Gaussa-Seidela Efficiency Analysis of Some Parallel Implementations of the Gauss-Seidel Algorithm
37
Remigiusz Aksentowicz, Waldemar Uździcki Pomiary parametrów pracy pneumatycznej instalacji odciągowej przy różnych wariantach sterowania Measurements of Parameters of Pneumatic Dust Extraction Installation with Different Control Options
43 Piotr Mróz, Sebastian Brol System pomiarowy poślizgu względnego na hamowni podwoziowej Measurement System of Relative Slip on Chassis Dynamometer 49 Patryk Piotrowski. Tomasz Witkowski, Robert Piotrowski Bezzałogowa zdalnie sterowana jednostka latająca Unmanned Remote Controlled Flying Unit 57 Izabela Kutschenreiter-Praszkiewicz Planowanie procesu produkcyjnego wyrobu innowacyjnego Production Process Planning of Innovative Product 65
Waldemar Szulc Struktura niezawodnościowo-eksploatacyjna elektronicznego systemu bezpieczeństwa Reliability and Operation Aspects of Structure of Electronic Security System
71 Piotr Kardasz Algorytm redukcji szumów w nagraniach dźwiękowych z wykorzystaniem podziału sygnału na składowe harmoniczne i stochastyczne A Noise Reduction Algorithm Using Division of the Signal into Harmonic and Stochastic Components
1
SPIS TREŚCI
77 Marian Wrzesień, Piotr Ryszawa Wielotorowy system faksowania Multiline Faxing System 83 Wielotorowy system faksowania 83 Informacje dla Autorów 87 Organizacje i stowarzyszenia International Federation of Automatic Control – struktura, misja i historia 91 Wydarzenia Profesor Janusz Kacprzyk doktorem honoris causa 92 Awans naukowy Advances in modelling of fractional difference systems – new accuracy, stability and computational results – dr hab. inż. Rafał Stanisławski 93 Awans naukowy Modelowanie dynamiki mobilnych robotów kołowych – dr hab. inż. Maciej Trojnacki 94 Wspomnienie Profesor Mikołaj Busłowicz 97 Kalendarium 98 Konferencje | Relacja Rachunek Różniczkowy Niecałkowitego Rzędu i Jego Zastosowania 99 Konferencje | Relacja 7th IEEE Intelligent Systems IS ’14 100 Konferencje | Zapowiedź MECHATRONICS: Ideas for Industrial Applications 101
Staże, projekty Wirus innowacji. Lider opinii i dobrych praktyk w obszarze współpracy nauki biznesu, czyli o Stowarzyszeniu Top 500 Innovators – Sławomir Żółkiewski
104 Aplikacja PAR+
2
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
N R 1 / 20 1 5
OD REDAKCJI
Drodzy Państwo, Rozpoczynamy wydawanie kwartalnika naukowo-technicznego Pomiary Automatyka Robotyka. Od swojego pierwowzoru – obecnego na rynku przez 18 lat miesięcznika naukowo-technicznego – różni się nie tylko częstotliwością wydawania, ale przede wszystkim zawartością. Głównym celem redakcji kwartalnika jest publikowanie oryginalnych, recenzowanych artykułów naukowych, prezentujących wyniki teoretyczne i praktyczne prowadzonych prac naukowo-badawczych w zakresie szeroko rozumianej automatyki, robotyki i pomiarów. Ale kilkanaście stron przeznaczamy na materiały popularyzujące w sposób mniej formalny dokonania przedstawicieli nauki z nadzieją, że przyczynią się do integracji środowiska naukowego. Stąd informacje o awansie naukowym, o konferencjach, projektach, a także ważnych krajowych oraz międzynarodowych organizacjach i stowarzyszeniach. Jeśli zabraknie Państwu praktycznych informacji i aplikacji, polecamy miesięcznik branżowy AUTOMATYKA, który zagospodarował znaczną część tematyki wydawanego wcześniej miesięcznika Pomiary Automatyka Robotyka oraz portal AutomatykaOnLine.pl. W imieniu wydawcy – Przemysłowego Instytutu Automatyki i Pomiarów PIAP w Warszawie – serdecznie zapraszam do lektury bieżącego numeru i wszystkich kolejnych. Zapraszam przede wszystkim do publikacji artykułów naukowych – gwarantujemy szybki i sprawny proces recenzencki, doskonałą współpracę z Autorami oraz bardzo dobrą jakość składu artykułów. Doświadczony, oddany i kompetentny zespół redakcyjny gwarantuje wysoki poziom kwartalnika. Zachęcam do dzielenia się z nami uwagami i opiniami. Gorąco zachęcam do lektury!
Redaktor naczelny kwartalnika Pomiary Automatyka Robotyka dr inż. Jan Jabłkowski
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
N R 1 / 20 1 5
Pomiary Automatyka Robotyka, R. 19, Nr 1/2015, 5-14, DOI: 10.14313/PAR_215/5
Programowe struktury ramowe do tworzenia sterowników robotów Cezary Zieliński
Przemysłowy Instytut Automatyki i Pomiarów PIAP, 02-486 Warszawa, Al. Jerozolimskie 202
Tomasz Kornuta
Instytut Automatyki i Informatyki Stosowanej, Politechnika Warszawska, 00-665 Warszawa, ul. Nowowiejska 15/19, Gmach Elektroniki
Streszczenie: Liczba typów robotów oraz wykorzystywanych przez nie czujników niezmiennie wzrasta, otwierając wciąż nowe pola ich zastosowań. Różnorodność ta wpływa na zapotrzebowanie na narzędzia ułatwiające ich programowanie. W artykule skupiono uwagę na narzędziach programistycznych umożliwiających tworzenie wysokopoziomowych sterowników robotów. Pokrótce omówiono ewolucję metod programowania robotów, od języków specjalizowanych, przez biblioteki, aż po programowe struktury ramowe. W szczególności omówiono szereg popularnych programowych struktur ramowych, umożliwiających tworzenie złożonych sterowników robotów. Słowa kluczowe: metody programowania robotów, języki programowania robotów, programowe struktury ramowe, sterowniki robotów
1. Wstęp Od pojawienia się pierwszych robotów w przemyśle na początku lat 60. XX wieku, liczba typów robotów oraz ich zastosowań stale rośnie. Od przełomu lat 70. i 80. zaczęto powszechnie stosować układy mikroprocesorowe do budowy systemów sterowania złożonych urządzeń elektromechanicznych, w tym i robotów. W wyniku tego nastąpiło przesuniecie znacznej części wysiłku projektowego z budowy sprzętu na opracowywanie oprogramowania. Lawinowo rosnąca liczba tego typu systemów spowodowała, że każdorazowe rozpoczynanie pisania programu sterującego od zera stało się nieopłacalne. Co więcej, na gruncie informatyki juz wcześniej zajęto się problemem powtórnego użycia oprogramowania (ang. reuse). Zaletą takiego podejścia jest nie tylko zmniejszenie kosztów tworzenia oprogramowania, ale również zwiększenie jego niezawodności, głównie dzięki dłuższemu testowaniu i to przez wielu użytkowników. Przy tworzeniu układu sterowania robota, prócz kwestii powtórnego użycia istniejących modułów, istotne są wskazówki dla proAutor korespondujący: Cezary Zieliński, c.zielinski@ia.pw.edu.pl Artykuł recenzowany nadesłany 16.05.2014 r., przyjęty do druku 17.10.2014 r. Zezwala się na korzystanie z artykułu na warunkach licencji Creative Commons Uznanie autorstwa 3.0
jektanta, jak zdekomponować złożony system, jaką nadać mu strukturę i jak skomunikować wyróżnione podsystemy. Zanim zostaną przedstawione współczesne rozwiązania tych problemów warto jest spojrzeć na ewolucję podejścia do tworzenia oprogramowania sterującego robotami.
1.1. Języki specjalizowane
Pierwsze roboty przemysłowe były programowane mechanicznie przez ustawianie konfiguracji matryc diodowych oraz potencjometrów, lub zderzaków określających zakresy ruchu poszczególnych silników [49]. Następnie stosowano programowanie nietekstowe zwane uczeniem, w trakcie którego operator przestawiał lub wodził manipulator między punktami, które są wpierw zapamiętywane, a następnie odtwarzane przy realizacji programu. Budowa układów sterowania z wykorzystaniem coraz wydajniejszych mikroprocesorów umożliwiła rozszerzenie programowania nietekstowego o pewne elementy programowania tekstowego, dzięki czemu powstały formy hybrydowe, stosowane obecnie na szeroką skalę [71]. Większość języków programowania robotów była wzorowana na języku BASIC, przy czym dodatkowo wbudowano typy danych związane z opisem geometrycznym pozycji końcówki robota oraz miejsc charakterystycznych otoczenia. Dlatego języki te operowały m.in. zmiennymi globalnymi oraz wykorzystywały instrukcje skoku do etykiety. Pojawiły się również języki programowania robotów, które były wzorowane na językach strukturalnych, a w szczególności na języku Pascal. Obecnie rozgraniczenie języków na te dziedziczące po BASICu i Pascalu nie jest ostre – mamy raczej do czynienia z płynnie przesuwającą się granicą związaną z dziedziczeniem po obu przodkach. Należy zwrócić
5
Programowe struktury ramowe do tworzenia sterowników robotów uwagę, że ta forma programowania robotów wymaga stworzenia: oprogramowania sterującego sprzętem, interpretera języka programowania robota oraz programu czynności robota, wytworzonego przez użytkownika w interpretowanym języku. Pojawiające się nowe typy robotów oraz nowe ich zastosowania wymagały stałej modyfikacji oprogramowania sterującego, a w szczególności języka programowania, a więc i interpretera, co było dość uciążliwe. Niemniej jednak w latach 70. oraz na początku lat 80. XX wieku ten sposób podejścia do budowy systemów sterowania i programowania robotów był faworyzowany. Tak więc uwaga konstruktorów skoncentrowana była na tworzeniu specjalizowanych języków. Jednym z pierwszych języków przeznaczonych do sterowania manipulatorami był WAVE [52] opracowany w Stanford Artificial Intelligence Laboratory w początkach lat 70. XX wieku. Bardziej rozwiniętą formą tego jezyka stał się AL [45] – opracowany w tym samym laboratorium. O ile w pierwszym rozkazy ruchu dotyczyły końcówki manipulatora, to w drugim odnosiły się do obiektów znajdujących się w otoczeniu robota. Programista musiał dbać o to, aby działania robota w rzeczywistym środowisku były adekwatnie odzwierciedlane w modelu środowiska rezydującym w pamięci układu sterowania. Potomkiem języka AL był SRL [10], ale mimo tego, że został rozbudowany, nie usunięto w nim podstawowej niedogodności, jaką jest możliwość powstania rozbieżności między faktycznym stanem środowiska i jego odbiciem w modelu. Ta niedogodność została usunięta w języku TORBOL [61, 62]. O ile w językach AL, SRL i TORBOL obiekty były modelowane jako trójściany reprezentowane macierzami jednorodnymi, to w języku RAPT [54, 5] reprezentowano je jako kształty składające się z podstawowych brył geometrycznych. Prace badawcze nad specjalizowanymi językami programowania robotów prowadzone w latach 70. i 80. XX wieku koncentrowały się na geometrycznym modelowaniu środowiska. Podstawowym problemem było dokładne określenie pozycji modelowanych obiektów, tudzież ich rozpoznawanie. Wspomniane języki w małym stopniu były przystosowane do korzystania z percepcji. Należy pamiętać, że w tamtych czasach moc obliczeniowa komputerów nie umożliwiała przetwarzania w czasie rzeczywistym odczytów uzyskanych z takich czujników, jak np. kamery. Gdy moc obliczenia stosowanych komputerów wzrosła, wysiłek badawczy został skierowany na wykorzystanie czujników. Wtedy okazało się, że dotychczas opracowane języki specjalizowane raczej są przeszkodą niż pomocą w dalszym rozwoju robotyki. Dlatego też uwaga została skierowana na bardziej elastyczne rozwiązania, omówione w kolejnej części artykułu. Warto dodać, iż poza językami specjalizowanymi nadal dostarczanymi przez producentów robotów przemysłowych, obecnie języki specjalizowane wykorzystywane są również jako narzędzie do integracji rozdzielnie stworzonych komponentów w spójny system – najczęściej są to języki skryptowe.
mieszczenie końcówki, aby równanie zostało spełnione. Istniały funkcje wprowadzające podatność mechaniczną, powodujące wywieranie siły lub przerywające ruch przy napotkaniu oporu. Pewne zmienne zostały stowarzyszone z czujnikami. Ich wartości były uaktualniane z częstotliwością próbkowania serwomechanizmów. Funkcje biblioteczne za pomocą tych zmiennych sterowały ramieniem. Podobną biblioteką do RCCL była ARCL (Advanced Robot Control Library) [25]. Koncepcje leżące u podstaw biblioteki RCCL zostały rozwinięte w bibliotece RCI (Robot Control Interface) [42], która umożliwiała sterowanie wieloma robotami. Innym rozwinięciem RCCL była biblioteka KALI [33, 6, 32, 50], w której każdy ruch był implementowany jako oddzielny proces. Synchronizację między ruchami robotów osiągano przez zastosowanie zmiennych synchronizujących (ang. flag) oraz odpowiedni dobór parametrów ruchu.
1.3. Programowe struktury ramowe
Ze względu na opracowywane nowe typy robotów i czujników, a także coraz bardziej złożone zastosowania, stopniowo wagi zaczęły nabierać takie czynniki jak wygoda korzystania z danej biblioteki czy powtórne użycie kodu. Z tego powodu biblioteki, korzystając z rozwiązań zaczerpniętych z inżynierii oprogramowania, stopniowo zaczęły ewoluować w programowe struktury ramowe (ang. programming framework). W odróżnieniu od bibliotek (które są jedynie zestawem funkcji lub obiektów) struktury ramowe składają się z dwóch zasadniczych elementów: bibliotek modułów (funkcji umożliwiających sterowanie konkretnymi robotami, a przez ich wywoływanie tworzenie programów użytkowych, czyli programów zleconych systemowi przez użytkownika) oraz właściwego trzonu samej struktury ramowej (części niezmiennej, niezależnej od zadania czy sprzętu, zawierającej np. mechanizmy komunikacji między modułami czy zarządzania konfiguracją). Dodatkowo struktury ramowe narzucają wzorce, zarówno tworzenia modułów użytkowych, jak i ich użycia oraz łączenia. Mówiąc skrótowo, struktura ramowa to biblioteka oraz wzorce jej wykorzystania. Ponadto, wraz ze strukturami ramowymi zaczęto dostarczać również zestawy narzędzi (ang. toolchains) użytecznych podczas implementacji nowych modułów czy całych sterowników. Przykładowymi narzędziami są symulatory, debuggery oraz całe środowiska programistyczne [43]. Efektem ubocznym wykorzystania programowych struktur ramowych był zanik trójpodziału na oprogramowanie sterujące sprzętem, interpreter języka programowania robota oraz program użytkowy. Program użytkowy tworzony jest w tym samym języku, co oprogramowanie sterujące sprzętem. Zanika więc potrzeba stosowania interpretera, a całość oprogramowania może być przetworzona przez kompilator języka bazowego bezpośrednio na kod wykonalny komputera sterującego robotem. W tej sytuacji raczej należy mówić o tworzeniu sterownika robota niż o programowaniu robota, aczkolwiek stworzony sterownik oczywiście będzie realizował program użytkowy. Niemniej jednak program użytkowy i oprogramowanie sterujące sprzętem będą w tym przypadku stanowiły integralną całość. Gwoli ścisłości, należy dodać, że tworzenie sterownika takim sposobem nie wyklucza inkorporacji interpretera dodatkowego języka specjalizowanego, za pomocą którego użytkownik może modyfikować działanie systemu [64], ale nie jest to rozwiązanie powszechne. Cechą charakterystyczną programowych struktur ramowych jest stosowanie wzorców. Literatura informatyczna wskazuje na istnienie trzech rodzajów wzorców [35]. Wzorzec architektury określa podstawową strukturę systemu. Wzorzec projektowy stanowi rozwiązanie często spotykanego problemu w pewnej dziedzinie projektowania. Wyróżnia się również idiomy, czyli wzorce odnoszące się do konkretnego języka programowania, wskazujące jak zaimplementować w konkretnym języku zachowanie części
1.2. Biblioteki
Wspomniane niedogodności związane ze zmianami w interpreterze, przy każdorazowej potrzebie dodania nowego rozkazu do języka specjalizowanego, a w szczególności rozkazów odwołujących się do czujników, których różnorodność stale wzrastała, spowodowały przeniesienie uwagi projektantów na biblioteki funkcji i procedur napisanych w językach ogólnego przeznaczenia. Przykładowymi bibliotekami były PASRO (Pascal for Robots) [9, 10] – na bazie języka Pascal oraz RCCL (Robot Control C Library) [34] – stanowiąca zestaw funkcji w języku C. W RCCL tworzono równania pozycyjne [53] przez wywołanie odpowiednich procedur bibliotecznych operujących na macierzach jednorodnych. W skład tak konstruowanego równania wchodziła macierz jednorodna reprezentująca końcówkę manipulatora. Zadaniem generatora trajektorii było takie prze-
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
N R 1 / 20 1 5
Cezary Zieliński, Tomasz Kornuta składowej większego systemu. Powyższe wzorce rozróżnia stopień ich abstrakcyjności. Wzorzec architektury określa wysokopoziomową strukturę systemu oraz jego globalne właściwości. Wzorzec projektowy określa strukturę wewnętrzną i zachowanie części składowej systemu oraz związek z innymi częściami. Idiomy zależą od wykorzystywanego paradygmatu programowania oraz stosowanego języka programowania, a więc stanowią najbardziej konkretną formę wzorca. Rozpatrywane w artykule programowe struktury ramowe mogą służyć do tworzenia systemów sterowania robotami traktowanymi jako całość, ale też mogą być wyspecjalizowane w tworzeniu pewnych ich podsystemów, np. percepcyjnych, bądź koncentrować się tylko na komunikacji między podsystemami. Stanowią one wtedy tzw. warstwę pośrednią (ang. middleware), co można również przetłumaczyć na ”oprogramowanie pośredniczące”. Oprogramowanie to umożliwia komunikację między podsystemami lub systemami [13, 14]. Przykładem takiego oprogramowania może być CORBA [51, 3]. Zazwyczaj nad warstwą pośredniczącą nadbudowuje się właściwą programową strukturę ramową określającą strukturę systemu sterującego robotem lub robotami. W pracy [18] wskazano istotniejsze zastosowania programowych struktur ramowych używanych w robotyce. Istnieją struktury ramowe, które służą tylko jednemu z poniższych zastosowań, ale są też i takie, za pomocą których można rozwiązać kilka problemów. Tak więc wyróżniono struktury ramowe do tworzenia: −−programowych sterowników sprzętu (ang. device driver), jakimi są efektory (siłowniki) i receptory (czujniki), −−mechanizmów komunikacji między komponentami, z których składany jest system (czyli oprogramowanie pośredniczące), −−opakowanych komponentów realizujących specyficzne funkcje systemu, np. do tworzenia podsystemów percepcyjnych wraz z mechanizmami umożliwiającymi dołączenie takiego podsystemu do pozostałych komponentów całości, a w konsekwencji dających możliwość, z jednej strony – niezależnej pracy tylko nad percepcją, a z drugiej strony – testowania percepcji w jej naturalnym środowisku, jakim jest zestaw elementów wchodzących w skład tworzonego systemu robotycznego, −−systemów składanych z dobrze przetestowanego oprogramowania, ale stworzonego w starej technologii. Większość programowych struktur ramowych wykorzystuje podejście do ich konstrukcji rodem z inżynierii oprogramowania, w niewielkim stopniu opierając się na wiedzy związanej z dziedziną, w której mają być stosowane, czyli robotyką. Niewiele z nich wskazuje projektantowi za pomocą swoich wzorców, architekturę systemu sterowania specyficzną dla robotów. Oczywiście postulowana architektura nie powinna ograniczać swobody projektanta w zakresie funkcji, które system powinien realizować, ale ułatwiać podjęcie decyzji co do właściwej struktury systemu. W przeważającej liczbie przypadków programowe struktury ramowe stosowane w robotyce powstają na bazie istotnego doświadczenia zdobytego przez ich twórców przy konstruowaniu oprogramowania różnego typu. Innymi słowy, proponowane wzorce są wynikiem doświadczenia i intuicji ich twórców. Należy jednak odnotować, że prowadzone są również prace teoretyczne, które dążą do zaprojektowania ogólnych wzorców przez formalną ich specyfikację na podstawie głębokiej znajomości dziedziny zastosowań, do której się odnoszą [68, 76, 75, 70, 41]. Tak powstałe wzorce wykorzystywane są następnie w tworzonej programowej strukturze ramowej. Taka formalna specyfikacja może być przekształcona w metajęzyk, który umożliwia zwięzłą definicję struktury sterownika. Wtedy kompilator metajęzyka generuje program sterujący na podstawie tej definicji. Przykładem tego podejścia może być GenoM [30, 4]. Ta technika jest obecnie rozwijana przez formalne definiowanie ogólnego modelu systemu, który ma powstać. Prace związane z tym podejściem kryją się pod zbiorczymi angielskimi hasłami: Model Driven
Architecture lub Model Driven Engineering (podejście wykorzystujące model dziedziny) [27, 15]. Niektórzy autorzy podkreślają istotne trudności, które trzeba pokonać na drodze do stworzenia uniwersalnej struktury ramowej dla robotyki [16]. Trudności te wynikają z faktu, że systemy robotyczne zazwyczaj są heterogeniczne, ich konstrukcja wymaga wiedzy z wielu dziedzin, roboty są urządzeniami wielozadaniowymi i wielopostaciowymi, przyjmującymi różne formy i działającymi w różnych środowiskach. Ponadto zarówno sam system jak i jego otoczenie wymagają reprezentacji na różnych poziomach abstrakcji. Niemniej jednak brak odpowiednich wzorców lub nadmierna swoboda wynikająca z przesadnej ogólności i oderwania się od dziedziny zastosowań uważane są za cechy negatywne niektórych struktur ramowych [23]. Warto też nadmienić, że podejście wykorzystujące model dziedziny może też być stosowane do tworzenia specjalizowanych języków programowania [38].
2. Wybrane programowe struktury ramowe do tworzenia sterowników robotów Dalsza część artykułu jest poświęcona opisowi szczególnych cech wybranych, bardziej popularnych współczesnych struktur ramowych. Należy pamiętać, że wiele z opisanych tu programowych struktur ramowych jest nadal w fazie tworzenia, modyfikacji i eksperymentowania z różnymi rozwiązaniami technicznymi [77]. Dlatego podany tu opis należy traktować jako ilustrację różnych podejść i pomysłów, a nie jako kompendium wiedzy na temat stabilnych już rozwiązań.
2.1. Player, Stage, Gazebo
Struktura ramowa Player [31, 24, 58] powstała na University of Southern California. W przypadku jej stosowania układy sterowania robotów konstruowane są z tzw. sterowników sprzętowych (ang. driver), komunikujących się ze sobą przez predefiniowane, osobno kompilowane interfejsy. Programy tworzone za pomocą Playera składają się z modułów bezpośredniego dostępu do sprzętu robota mobilnego (takich jak np. układ napędowy, dalmierze laserowe, kamera) oraz klientów, z których jeden zazwyczaj pełni rolę sterownika nadrzędnego, realizującego zadanie sformułowane dla robota przez użytkownika. Jest to typowa architektura klient-serwer. Sterownik nadrzędny (klient) łączy się z serwerem urządzeń za pośrednictwem prostego protokołu wykorzystując połączenie TCP/IP. Sterowniki sprzętowe, stanowiące serwer, można łączyć hierarchicznie. Podstawową zaletą stosowania prostej komunikacji TCP/IP jest możliwość komunikowania się z robotem przez klientów napisanych z wykorzystaniem różnych języków programowania, np. C, C++, Java, Python, Ruby, Lisp oraz MATLAB. Jednocześnie możliwość tworzenia sterowników sprzętu, jako wątków wykonywanych w ramach procesu serwera, ograniczona jest do języka C++. Komunikacja między sterownikiem nadrzędnym i sterownikami sprzętu odbywa się w postaci kolejki komunikatów. Zadaniem serwera jest ich obsługa i przekazywanie danych między sterownikami sprzętu a klientami połączonymi protokołem TCP/IP. Podstawowy dostęp do urządzeń w systemach stworzonych za pomocą Playera wykorzystuje standardowe mechanizmy komunikacji systemu operacyjnego UNIX, tzn. wszelkie operacje realizowane są jako zapis (write), odczyt (read), sterowanie urządzeniem (ioctl). Obecnie standardowe traktowanie sprzętu przez system UNIX, jako plików, jest rozszerzone na inne formy komunikacji. Zaletą tej struktury ramowej jest przedstawienie sprzętu, który wchodzi w skład robota, takiego jak czujniki i silniki, w postaci użytecznej dla twórcy oprogramowania realizującego zadanie zlecone przez użytkownika. Przykładowo, sterownik
7
Programowe struktury ramowe do tworzenia sterowników robotów sprzętowy manipulatora może go reprezentować przez pozycję końcówki wyrażoną w przestrzeni kartezjańskiej, a nie jako wektor położeń rotorów silników. Dodatkową zaletą jest intuicyjny model komunikacji klient-serwer oraz przejrzysty interfejs sterowania robotem. Natomiast wadami architektury systemów powstających na bazie oprogramowania Player są ograniczenia związane z transportem sieciowym, a w szczególności niedeterminizm czasowy oraz wzajemna komunikacja wszystkich modułów przez tę samą sieć, co może stanowić wąskie gardło. W zaproponowanej koncepcji brak jest mechanizmów zapewniających funkcjonowanie w czasie rzeczywistym. Z tego też względu użycie tego oprogramowana ograniczone jest do stosunkowo mało wymagających zastosowań w robotyce mobilnej, gdzie zarówno gwarancje czasów wykonania jak i częstotliwość wymiany informacji nie odgrywają kluczowej roli. Swoją popularność na gruncie robotyki mobilnej Player zawdzięcza przede wszystkim dostępności gotowych do użycia sterowników sprzętowych dla najbardziej typowych czujników (jak np. skanery laserowe) oraz istnieniu stowarzyszonych symulatorów graficznych: Stage (do symulacji środowisk dwuwymiarowych) oraz Gazebo (symulujący środowiska trójwymiarowe z modelowaniem pełnej dynamiki obiektów). Player jest klasycznym przykładem programowej struktury ramowej koncentrującej się na standaryzacji komunikacji między komponentami systemu oraz odpowiedniej reprezentacji sprzętu. Ta struktura ramowa korzysta z klasycznej architektury klient-serwer, nie odwołując się do dziedziny, jaką jest robotyka, pomimo że dla niej została powołana do życia. Brak jest tu wzorców architektonicznych sugerujących, jaką strukturę powinny mieć układy sterowania robotów.
jest warunek przejścia do kolejnego stanu automatu, jeżeli jest on spełniony to następuje przejście do kolejnego stanu, określonego przez tablice przejść automatu, a więc i do wykonania innego zestawu funkcji. Przez ponad dekadę rozwoju struktury ramowej OROCOS powstało szereg wzorców programów sterujących robotami. Wzorce te są składane z komponentów umożliwiających realizację często spotykanych w robotyce obliczeń takich jak: planowanie ścieżek, sterowanie pozycyjne, dostęp do sprzętu czy monitorowanie stanu systemu. Pojedynczy komponent może sterować wszystkimi funkcjami maszyny albo być odpowiedzialny jedynie za realizację jakichś specyficznych obliczeń (np. rozwiązanie prostego lub odwrotnego zagadnienia kinematyki). Istotnym aspektem każdej struktury ramowej jest sposób wewnętrznego komunikowania się modułów. Komponenty OROCOS mogą korzystać z następujących sposobów wymiany danych: −−przez porty, przekazując w sposób nieblokujący dane, które mogą być buforowane lub nie, −−przez zmianę właściwości komponentów (parametry zapisane są w plikach XML), −−przez wywołanie metod, −−przez wysłanie polecenia. Dany komponent nie musi korzystać ze wszystkich wymienionych sposobów komunikacji. Wtedy jego interfejs, definiujący sposób komunikacji z innymi komponentami, może być uproszczony. Sam wzorzec komponentu zakłada istnienie w jego wnętrzu hierarchicznego automatu skończonego. Automat hierarchicznie wyższy określa stan wykonania, taki jak: przedoperacyjny, zatrzymany, wykonywany, wyjątkowy. Automat hierarchicznie niższy (jeżeli istnieje) w każdym ze swych stanów realizuje odpowiadające mu funkcje komponentu. Budowa programu sterującego robotem sprowadza się do zestawienia odpowiednich modułów obliczeniowych oraz odpowiedniego ich skomunikowania ze sobą. Możliwa jest również dystrybucja komponentów między procesy, potencjalnie wykonywane na różnych komputerach połączonych w sieć. Wtedy do wzajemnej ich komunikacji wykorzystywana może być CORBA (Common Object Request Broker Architecture) [3], POSIXowe kolejki komunikatów (jeżeli komunikujące się procesy rezydują na jednej maszynie) lub inne mechanizmy komunikacji dostarczone przez użytkownika. Generalnie architektura powstającego systemu jest pozostawiona inwencji jego twórcy – brak jest wzorców wynikających z dziedziny zastosowań, jaką w tym przypadku jest robotyka. Odniesienie do robotyki związane jest z rodzajem komponentów zawartych w wymienionych bibliotekach.
2.2. OROCOS
Player przez wiele lat dominował na polu robotyki mobilnej, głównie za sprawą dużej liczby sterowników oraz symulatorów Stage oraz Gazebo, umożliwiających rozwijanie oraz testowanie programów użytkowych w środowisku symulacyjnym. Z kolei w zadaniach sterowania manipulatorami od wielu lat doskonale sprawdza się struktura ramowa OROCOS (ang. Open RObot COntrol Software) [19–21]. Za pomocą tej struktury ramowej systemy sterujące składane są z niezależnych modułów zwanych komponentami. Aby komponent mógł przejawić aktywność, musi być pobudzony. Do tego celu służą obiekty nazywane „aktywnościami” (ang. Activity). Komponenty przypisywane są aktywnościom, które mogą je pobudzać w następujący sposób: −−Cyklicznie (ang. Periodic Activity) – wtedy w wątku związanym z aktywnością periodycznie pobudzany jest do działania egzekutor komponentu (działanie synchroniczne), −−Niecyklicznie (ang. Non-Periodic Activity) – wtedy w wątku związanym z aktywnością pobudzany jest do działania egzekutor komponentu, ale jedynie gdy pojawią się nowe dane w jego portach wejściowych (działanie asynchroniczne związanie ze zdarzeniem), −−Pośrednio (ang. Master-Slave Activity) – wtedy w wątku związanym z komponentem nadrzędnym (Master) pobudzany jest do działania egzekutor komponentu podrzędnego (Slave) – to komponent nadrzędny decyduje kiedy egzekutor komponentu podrzędnego ma być uruchomiony, −−IRQActivity – egzekutor komponentu jest uruchamiany jako obsługa przerwania sprzętowego. Egzekutor komponentu, gdy tylko zostanie pobudzony, wykonuje wszystkie asynchroniczne operacje i dołączone funkcje związane z tym komponentem oraz funkcje użytkownika przetwarzające dane z portów wejściowych na wartości wstawiane do portów wyjściowych komponentu. Ze wspomnianymi wątkami związane są priorytety. Funkcje mogą być grupowane i uruchamiane przez automaty skończone. Automat zleca egzekutorowi wykonanie zestawu funkcji przypisanych aktualnemu stanowi automatu. Przy każdym pobudzeniu egzekutora sprawdzany
8
P
O
M
I
A
R
Y
•
A
U
T
O
M
2.3. YARP
Struktura ramowa YARP (Yet Another Robot Platform) [29, 44] jest zestawem bibliotek, protokołów i narzędzi umożliwiających prostą dekompozycję systemu na niezależnie działające moduły, przy czym nie narzuca ona konkretnych sposobów łączenia tych modułów. Najczęściej była stosowana do tworzenia oprogramowania sterującego robotami humanoidalnymi (powstała jako otwarte oprogramowanie w ramach projektu iCub). Jej podstawowym składnikiem jest biblioteka klas z ogólnie dostępnymi źródłami napisanymi w języku C++. Biblioteka ta składa się z trzech podstawowych części: interfejsów do różnych systemów operacyjnych umożliwiających komunikację międzyprocesową, algorytmów przetwarzania sygnałów (obrazu i mowy) oraz interfejsów do typowych urządzeń używanych w robotach [28]. Tworzone oprogramowanie sterujące robotem przyjmuje ogólną strukturę typu klient-serwer. Ponieważ złożoność algorytmów sterowania robotów humanoidalnych wymaga zastosowania obliczeń rozproszonych realizowanych na wielu procesorach, dlatego twórcy struktury ramowej YARP skoncentrowali się na abstrakcyjnym modelu komunikacji międzyA
T
Y
K
A
•
R
O
B
O
T
Y
K
A
N R 1 / 20 1 5
Cezary Zieliński, Tomasz Kornuta procesowej, który jest niezależny od specyficznego mechanizmu transportowego, czyli rodzaju sieci i protokołu. W konsekwencji komunikacja jest realizowana przez tzw. połączenia między aktywnymi obiektami zwanymi portami, które mogą znajdować się na różnych maszynach działających pod kontrolą różnych systemów operacyjnych (Linux, Solaris, QNX6, Windows, Mac OSX). Komputery te tworzą sieć YARP modelowaną jako graf skierowany, którego węzłami są porty, a krawędziami połączenia. Każdy port ma unikatową nazwę, pod którą jest rejestrowany w serwerze nazw. Dany port może obsługiwać wiele połączeń z innymi portami. Przyporządkowuje mu się kierunek transmisji, a więc może być wejściowy lub wyjściowy, odpowiednio wysyłając lub odbierając dane z wielu połączeń z różną częstością, wykorzystując różne protokoły komunikacyjne (TCP, UDP, QNet lub wspólną pamięć). Komunikacja jest całkowicie asynchroniczna bez gwarancji dostarczenia komunikatu, lecz zakłada się, że komunikaty są powtarzane i często wysyłane, zatem utrata jednego komunikatu nie ma istotnego wpływu na działanie systemu. Dla zapewnienia pracy w czasie rzeczywistym narzut sieciowy jest minimalizowany, dlatego też sieć YARP działa jako izolowana sieć lokalna – oczywiście jest to działanie bez gwarancji. Dostęp do sterowników urządzeń następuje przez interfejsy zdefiniowane dla konkretnej klasy urządzeń. Dzięki temu wymiana urządzenia na inne z danej klasy, niepociągająca zmiany interfejsu, nie powoduje modyfikacji programu klienta. Oprogramowanie stworzone za pomocą YARP wykorzystano do sterowania takich robotów jak Kismet, Cog, Domo oraz oczywiście iCub.
2.4. ORCA
ORCA jest programową strukturą ramowa wykorzystującą paradygmat programowania komponentowego. Jest ona przeznaczona dla robotów mobilnych [12, 11]. Szyperski [57] definiuje komponenty jako niezależnie wytwarzane, nabywane i instalowane moduły binarne, które współdziałając tworzą system. Istotne jest, że producent komponentu nie musi ujawniać jego użytkownikowi kodu źródłowego. Oznacza to, że komponenty muszą mieć ściśle zdefiniowane interfejsy (definiujące ich sposób użycia oraz zachowanie). Często zachowanie komponentu może być dostosowywane do potrzeb użytkownika, ale nie dzieje się to przez modyfikację kodu źródłowego, ale przez rekonfigurację w trakcie pracy (komponenty są odpowiednio parametryzowane) [17]. Przy wykorzystaniu struktury ramowej ORCA systemy składane są z gotowych oraz dodatkowo tworzonych komponentów, w opozycji do tradycyjnego podejścia opierającego się na tworzeniu kodu źródłowego programu. Komponenty struktury ramowej ORCA implementowane są jako procesy, które komunikują się przekazując sobie dane. ORCA określa wzorce komunikacji między procesami. Fizyczny mechanizm transportu danych początkowo był realizowany za pośrednictwem CORBA [51, 56], gniazd TCP/IP, a obecnie za pomocą biblioteki Ice (Internet Communication Engine) [2]. Z użytkowego punktu widzenia komponenty Orca stanowią algorytmy obliczeniowe oraz interfejsy sprzętowe. Mogą się one komunikować, jeżeli tylko ich interfejsy pasują do siebie, a więc jeżeli wzorzec komunikacji oraz typ przekazywanych danych są zgodne. To podejście zadecydowało o tym, że ORCA koncentruje się na wzorcach komunikacji, a nie sposobach tworzenia komponentów. Funkcje poszczególnych komponentów, ich granulacja i dobór zostały zostawione indywidualnej decyzji twórcy systemu i muszą uwzględniać opóźnienia wnoszone przez mechanizmy komunikacji oraz algorytmy realizowane przez komponenty. Zaletą tego podejścia jest duża elastyczność dotycząca architektury systemu, wadą natomiast brak wskazówek co do sprawdzonych rozwiązań architektonicznych. Orca odwołuje się do robotyki jedynie przez algorytmy zawarte w komponentach. Komponenty realizują algorytmy niezbędne do działania robota, natomiast
struktura połączeń między komponentami nie wynika ze wzorców robotycznych.
2.5. Microsoft Robotics Studio
Komercyjne narzędzie Microsoft Robotics Studio MSRS [26, 23] swego czasu zyskało dość dużą popularność wśród hobbystów zajmujących się robotyką. MSRS stanowi zintegrowane środowisko do symulacji i programowania robotów. Umożliwia ono tworzenie oprogramowania zorientowanego na usługi (realizowane przez komponenty). Jako mechanizm komunikacji wykorzystywana jest biblioteka CCR (Concurrency and Coordination Runtime). Umożliwia ona budowanie wydajnych programów wielowątkowych, gdzie usługa definiowana jest jako zbiór wywołań funkcji (delegatur) w reakcji na dane napływające do tzw. portów. Możliwe jest definiowanie różnych schematów obsługi portów, jak np. blokowanie wykonania w oczekiwaniu na nadejście nowych danych z kilku portów [22]. Wymiana danych między komponentami odbywa się za pomocą otwartego protokołu DSS (Decentralized Software Services), wykorzystującego kodowanie danych w formacie XML i transmisję przy użyciu protokołu HTTP. Programowanie możliwe jest w językach C#, Visual Basic .NET, C++/CLI oraz Iron Python, które korzystają z platformy .NET. MSRS przystosowane jest do wykorzystania komercyjnego przez dodawanie pakietów rozszerzających możliwości systemu. Przykładami darmowych pakietów są rozszerzenia do symulacji ligi robotów RoboCup oraz zawodów Sumo, dodatkowo wybrani producenci robotów przemysłowych oferują pakiety do symulacji i sterowania swoich produktów. Oczywiście powstałe oprogramowanie musi pracować pod kontrolą systemu operacyjnego z rodziny Windows, a w konsekwencji MSRS nie umożliwia tworzenia systemów działających w reżimie czasu rzeczywistego.
2.6. ROS
Analogiczne podejście (tzn. brak określonej z góry struktury sterownika) stosowane jest w jednej z najnowszych struktur ramowych do tworzenia rozproszonych, wieloprocesowych sterowników robotycznych: ROS (Robot Operating System) [55], opracowanym na Uniwersytecie Stanforda oraz przez wiele lat rozwijanym przez firmę Willow Garage. ROS jest obecnie jednym z najpopularniejszych, a zarazem najbardziej zaawansowanych narzędzi do tworzenia rozproszonych, wieloprocesowych sterowników robotycznych. W ROS poszczególne elementy sterownika działają jako niezależne procesy w sieci (zwane węzłami, od ang. Node), a system dostarcza mechanizmów przesyłania komunikatów, zarządzania pakietami oraz monitorowania i wizualizacji stanu poszczególnych węzłów, kanałów komunikacyjnych, jak i stworzonego systemu. ROS, podobnie jak Orca, koncentruje się na wzorcach komunikacji, a nie na sposobach tworzenia modułów czy zestawiania modułów w sterownik. ROS oferuje szereg mechanizmów służących do komunikacji i wymiany danych między poszczególnymi węzłami. Pierwszym z nich są kanały komunikacyjne zwane tematami (ang. Topic). Tematy oparte są na wzorcu projektowym publikacji subskrypcji oraz umożliwiają jednokierunkowe przesyłanie danych od nadawcy do odbiorcy, przy czym zarówno jednych jak i drugich może być dowolna liczba (komunikacja wiele do wielu). Głównym zastosowaniem tematów jest komunikacja strumieniowa następująca cyklicznie (np. wysyłanie kolejnych danych sensorycznych do przetworzenia). Tematy mają również mechanizmy synchronizacji wywoływania funkcji obsługi z danymi pojawiającymi się na wejściach kanałów komunikacyjnych danego węzła. Mechanizm ten łączy daną funkcję z listą wejść, dzięki czemu zostanie ona automatycznie wywołana, gdy dane znajdujące się w zarejestrowanych buforach będą spełniały odpowiednią zależność. Zależność ta może być zdefiniowana przez programistę. Dostępne są też dwie predefiniowane możliwości: wywoła-
9
Programowe struktury ramowe do tworzenia sterowników robotów nie funkcji w momencie, gdy wszystkie dane mają taka samą sygnaturę czasową bądź w momencie, gdy sygnatury te różnią się nie więcej niż o ustalony interwał. Kolejność wywołania funkcji w przypadku, gdy kilka z nich może być uruchomione (np. pokrywają się ich zestawy wejść) jest nieokreślona, nie ma również możliwości sprawdzenia, czy konkretne dane zostały juz wykorzystane w ramach bieżącego cyklu pracy komponentu. Drugim mechanizmem umożliwiającym wymianę danych między węzłami są serwisy (ang. Services), które w odróżnieniu od tematów są synchronicznym mechanizmem wymiany danych. Poza wiadomością przesyłaną od nadawcy do odbiorcy oraz odsyłaną odpowiedzią, serwisy umożliwiają wywołanie odpowiedniej funkcji obsługi (a więc oferują mechanizm zdalnego wywołania funkcji, RPC). Ponieważ wykonanie zdalnie uruchomionej funkcji może długo trwać, dlatego w ROS zaimplementowano trzeci mechanizm komunikacji zwany akcją (ang. Action), który umożliwia wywołanie funkcji bez konieczności zawieszania procesu zlecającego na czas jej wykonania. Akcje umożliwiają pytanie o stan wykonania wywołanej procedury, a także przerwanie jej wykonywania. Poza wymienionymi ROS ma wbudowane mechanizmy do obsługi szeroko pojętej konfiguracji systemu. Najważniejszym z nich jest serwer parametrów, dający globalny dostęp do parametrów wszystkim węzłom ROS.
czujnika wirtualnego; zero lub więcej procesów tego typu może być skojarzonych z dowolnym ECP lub MP; każdy proces VSP oblicza wartość funkcji agregującej dane z dołączonych do niego czujników. Każdy z tych procesów może składać się z wątków. Działanie procesów MP oraz ECP opisywane jest automatem skończonym, który w każdym ze swych stanów aktywuje odpowiednie zachowanie. Obecnie podsystemy percepcyjne, realizowane za pomocą czujników wirtualnych (VSP), tworzone są z wykorzystaniem dodatkowej struktury ramowej dedykowanej właśnie zadaniom percepcyjnym – DisCODe [40]. Wszystkie procesy MRROC++ mają jednakową strukturę ogólną. Składają się z powłoki oraz jądra. Powłoka jest odpowiedzialna za komunikację międzyprocesową, a ponadto za obsługę wykrytych błędów. Natomiast jądro zawiera kod stworzony przez użytkownika. Jest to kod związany z realizowanym zadaniem. Powłoka stanowi w dużej mierze niezmienną część procesu, natomiast jądro jest częścią wymienialną zależną od zadania bądź wykorzystywanego sprzętu, a więc dostarczana jest przez twórcę systemu. Komunikacja między procesami rezydującymi na jednym komputerze wykorzystuje przede wszystkim mechanizm spotkań (Send–Receive–Reply) dostępny w systemie operacyjnym czasu rzeczywistego QNX, natomiast komunikacja z procesami znajdującymi się na innych komputerach wykorzystuje protokół TCP/IP. Dane przekazywane procesom przez ich powłokę trafiają do wewnętrznych struktur danych zwanych buforami, które ulokowane są w jądrach procesów. Funkcje przejścia definiujące zachowanie procesu działają na tych buforach. Obliczenie tych funkcji, dokonanie odpowiednich przesłań danych między powłoką a jądrem oraz powłoką a innymi procesami zajmuje czas – czas ten wyznacza okres pracy procesu (makrokrok). Zazwyczaj jest on wielokrotnością okresu (zwanego krokiem) działania serwomechanizmów realizowanych przez EDP. Dla manipulatorów makrokrok stanowi niewielka wielokrotność kroku (kilka), natomiast dla platform mobilnych może to być większa liczba. Serwomechanizm potrzebuje nowej wartości zadanej co krok swego działania. Zazwyczaj ten krok odmierzany jest przerwaniem zegarowym, a więc jest dość stabilny. Funkcje definiujące sposób zachowania się procesu umieszczane są w tworze programowym (obiekcie języka C++) zwanym generatorem ruchu. Ów generator stanowi argument instrukcji ruchu Move. Poszczególne instrukcje ruchu przyporządkowane są węzłom grafu (stanom) automatu skończonego odzwierciedlającego sekwencję czynności wykonywanych przez efektor (jeżeli dotyczy to ECP) lub realizowanych przez system wieloefektorowy (jeżeli dotyczy to MP). Programista konstruuje jądro procesu MP lub ECP budując automat skończony z instrukcji Move, wspomagając się dodatkowymi instrukcjami języka C++ – w szczególności instrukcjami sterującymi wykonaniem programu. Tak więc definicja zadania, które ma być zrealizowane, rozbita jest na dwie części: −−zestaw ruchów (akcji), które trzeba wykonać, aby zrealizować zadanie (automat skończony) oraz −−opis sposobu wykonania każdego z tych ruchów – do tego służą generatory ruchu. Podkreślić należy, że generatory ruchu nie tylko określają zachowanie efektora, ale również determinują interakcje z czujnikami wirtualnymi i zawiadują transmisjami do i z koordynatora (MP). Funkcja przejścia i warunek końcowy określający, kiedy realizacja instrukcji ruchu ma sie skończyć, zapisane są jako metody obiektu zwanego generatorem ruchu. Ponieważ użytkownik dołącza do kodu MRROC++ swój własny kod, więc powstanie błędów jest wysoce prawdopodobne. Obsługa błędów w MRROC++ oparta jest na zgłaszaniu i obsłudze wyjątków. Zarówno kod powłoki jak i kod użytkownika stanowiący jądro procesu mogą i powinny zgłaszać wyjątki, jak tylko wykryją sytuację awaryjną. Zgłoszone wyjątki przechwytywane są przez
2.7. MRROC++
Układy sterowania systemami wielorobotowymi tworzone z wykorzystaniem programowej struktury ramowej MRROC++ (Multi-Robot Research Oriented Controller based on C++) [63, 77] mają hierarchiczną strukturę. Struktura ramowa MRROC++ powstała na Politechnice Warszawskiej [63, 73, 65‒67]. W jej skład wchodzą: biblioteka modułów (klas, obiektów, procesów, wątków i procedur) oraz wzorce ich wykorzystania. Z modułów tych można skonstruować sterownik dowolnego systemu wielorobotowego (wieloefektorowego, gdzie efektorem jest dowolne urządzenie oddziałujące na środowisko). Zestaw modułów bibliotecznych może być rozszerzony przez utworzenie nowych modułów w języku C++. Niezależnie, czy nowy układ sterowania będzie miał za zadanie sterowanie pojedynczym efektorem, czy ich grupą, powstanie system z koordynatorem, a więc o strukturze umożliwiającej sterowanie wieloma efektorami. Ponadto zarówno koordynator, jak i poszczególne sterowniki efektorów, mogą być wyposażone w swoją własną grupę eksteroreceptorów (czujników zbierających informacje o stanie otoczenia robota) oraz środki do komunikacji z innymi systemami tego typu. Współpracujące ze sobą procesy podzielono na warstwy. Każdej z warstw przyporządkowano ściśle określone funkcje – wyróżniono procesy zależne od sprzętu oraz zależne od zadania. Układy sterowania powstające na bazie MRROC++ składają się z następujących procesów: UI – User Interface Process zależny jest od konfiguracji systemu; odpowiedzialny jest za komunikację z operatorem; tylko jeden taki proces egzystuje w systemie; w systemach w pełni autonomicznych nie jest on potrzebny, ale w systemach do celów badawczych, ulegających częstym modyfikacjom, podczas których mogą się wkraść błędy, jest on wręcz nieodzowny, MP – Master Process koordynuje prace wszystkich efektorów systemu; system ma tylko jeden taki proces; proces ten może być uśpiony – wtedy składowe procesy ECP nie są koordynowane, ECP – Effector Control Process odpowiedzialny jest za realizację zadania zleconego efektorowi; system ma tyle takich procesów, ile efektorów wchodzi w jego skład, EDP – Effector Driver Process jest odpowiedzialny za bezpośrednie sterowanie efektorem; liczba procesów EDP równa jest liczbie procesów ECP, VSP – Virtual Sensor Process jest odpowiedzialny za agregację danych z eksteroreceptorów – w ten sposób powstaje odczyt
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
N R 1 / 20 1 5
Cezary Zieliński, Tomasz Kornuta powłokę, która stara się poradzić sobie z tą sytuacją najlepiej jak potrafi. Minimalnym wymaganiem jest zgłoszenie operatorowi komunikatu o powstaniu błędu, jego rodzaju oraz postawienie systemu sterującego w taki stan, aby możliwa była jego dalsza praca. Niestety nie jest to zawsze możliwe. Struktura ramowa MRROC++ była wykorzystana do stworzenia wielu systemów. Z wykorzystaniem MRROC++ powstawały sterowniki np.: robotów przemysłowych [72], przemysłowych systemów wielorobotowych [69], jak i robotów usługowych, np. dwurękiego robota posiadającego wzrok i czucie siły, który układał podana mu kostkę Rubika [74].
2.8. CLARAty
CLARAty (Coupled-Layer Architecture for Robotic Autonomy) jest programową strukturą ramową opracowaną przez Jet Propulsion Laboratory, NASA Ames Research Center, Carnegie Mellon University oraz University of Minnesota, na potrzeby projektu Mars Technology Program [59, 48, 46]. Służy głównie do integracji oprogramowania wielokrotnego użytku tworzonego przez wiele instytucji dla różnego rodzaju pojazdów, w tym manipulatorów mobilnych, których zadaniem jest eksploracja powierzchni innych planet, w szczególności pojazdów już działających bądź przygotowywanych do działania na powierzchni Marsa. W CLARAty, tak jak w MRROC++, również wydzielono warstwy, dokładnie dwie: decyzyjną oraz funkcjonalną. Warstwa funkcjonalna tworzona jest przez sterowniki urządzeń, natomiast warstwa decyzyjna odpowiedzialna jest za realizację i wykonanie planu, który tworzony jest na podstawie celów określonych przez zadanie sformułowane w kategoriach ograniczeń. Ograniczenia dotyczą dostępnych zasobów oraz czasu realizacji czynności przez poszczególne urządzenia. Podczas planowania stan warstwy funkcjonalnej uzyskiwany jest przez formułowanie i przekazywanie zapytań. Wykonanie planu i jego tworzenie przeplatają się, ponieważ przyjęte ograniczenia zmieniają się w czasie. Odejście od standardowej trójwarstwowej architektury (warstwa sprzętowa, egzekutor planu oraz planer) wynikało ze spostrzeżenia, że tworzenie planu wymaga wiedzy o stanie sprzętu i otoczenia, a więc bezpośredniego dostępu do warstwy sprzętowej. Dlatego powstała jedna warstwa odpowiedzialna za wykonanie i tworzenie planu. Warstwa decyzyjna korzysta jednocześnie z dwóch technik programowania: deklaratywnej i proceduralnej. Jak się później okazało próba połączenia tych dwóch podejść do programowania w jednej warstwie okazała się trudna, więc obecnie sugeruje się jednak podział tej warstwy na dwie [48]. Warstwę funkcjonalną tworzy się korzystając z programowania obiektowego. Obecnie warstwa ta zawiera szereg gotowych obiektów realizujących typowe czynności niezbędne robotom, takie jak lokomocja i manipulacja. Biblioteki zawierają ogólne algorytmy rozwiązywania prostego i odwrotnego zadania kinematyki, wykrywania i unikania kolizji, samolokalizacji, nawigacji, planowania ścieżki itp. [47]. U ich podstaw leżą obiekty umożliwiające realizację podstawowych działań matematycznych wykorzystujących takie obiekty jak: macierze orientacji definiowane za pomocą kątów Eulera, kwaterniony czy macierze przekształcenia jednorodnego. Te twory matematyczne mogą być wykorzystywane do modelowania łańcuchów kinematycznych. Te z kolei służą definiowaniu takich mechanizmów jak manipulatory, nogi maszyn kroczących lub platformy mobilne. Istniejące urządzenia obejmują zarówno sterowniki silników lub karty analogowych i cyfrowych wejść i wyjść, jak i kamery czy urządzenia RGB-D. Ponadto stworzono infrastrukturę do komunikacji wewnątrz jak i między warstwami.
2.9. URBI
URBI (Universal Real-time Behavior Interface) jest wieloplatformową strukturą ramową służącą do tworzenia progra-
mów sterujących dla złożonych systemów robotycznych [8, 7]. Oprogramowanie to zostało opracowane przez francuską firmę Gostai [1] i jest udostępniane na licencji AGPL. Bardzo wiele urządzeń wykorzystywanych do budowy systemów robotycznych ma swoje własne sterowniki. Istnieje również wiele użytecznych pakietów, które mogą być wykorzystane do stworzenia np. podsystemów percepcyjnych robotów. Jeżeli takie oprogramowanie chce się zintegrować w jeden spójny system realizujący złożone zadanie, to natrafia się na problem niekompatybilności części składowych. Zadaniem URBI jest rozwiązanie tego bardzo praktycznego problemu. W istocie URBI służy do tworzenia interfejsów do programów napisanych w innych językach, np. C++, Java, MATLAB i wykonywanych pod nadzorem różnych systemów operacyjnych (Linux, Windows, MacOSX). Komponowanie systemu z dostępnych lub tworzonych modułów ułatwia język skryptowy urbiscript. URBI służy tworzeniu oprogramowania rozproszonego, o architekturze klient-serwer. Język urbiscript umożliwia programowanie zdarzeniowe i zawiera instrukcje służące do tworzenia programów równoległych. Dzięki temu oprogramowanie powstające na bazie URBI powstaje z równoległych i rozproszonych, wyzwalanych zdarzeniami komponentów. Bibliotekę komponentów nazwano UObject – tak też nazywana jest architektura powstających systemów. Komponenty te można tworzyć samodzielnie, np. w języku C++. Większość tych komponentów służy uzyskaniu dostępu do sprzętu albo opakowuje istniejące w innych bibliotekach oprogramowanie. Poszczególne komponenty mogą pracować synchronicznie albo asynchronicznie – zależy to od konstruktora systemu. Program napisany w urbiscript określa interakcję między komponentami UObject. Stworzone komponenty mogą być wykorzystywane przez urbiscript, jako jego własne obiekty, albo mogą być traktowane jako zdalne obiekty działające pod nadzorem wyżej wspomnianych systemów operacyjnych. URBI zapewnia komunikację komponentów wewnątrz tworzonego systemu i dlatego klasyfikowana jest jako oprogramowanie pośredniczące (ang. middleware). Istnieją wersje tego oprogramowania dla robotów Aibo, robota humanoidalnego HRP-2 oraz robotów mobilnych Pioneer [7]. URBI zostało również wykorzystane do stworzenia układu sterowania robota społecznego FLASH skonstruowanego na Politechnice Wrocławskiej [37, 36].
3. Podsumowanie Mimo różnorodności opisanych programowych struktur ramowych można wyróżnić pewne ich cechy wspólne. Jedną z nich jest modularność, wynikająca ze standardowego podejścia do projektowania dużych systemów, polegającego na ich dekompozycji na mniejsze, współpracujące ze sobą elementy. Niezależnie, czy są to sterowniki w Player, moduły w CLARAty, procesy w ROS, czy komponenty w OROCOS, elementy tego typu umożliwiają powtórne użycie w różnych programach, a przez to również zwiększają niezawodność powstającego oprogramowania (elementy te są lepiej przetestowane, przy czym warte podkreślenia jest, iż mogą one być testowane niezależnie) oraz skraca czas projektowania i implementacji konstruowanego systemu. Podejście to, mimo wymienionych zalet, ma równiez wady, wśród których jedną z najwazniejszych są problemy z integracją. Przykładowo w ROS integracja podukładów sensorycznych (a w szczególności podsystemów wizyjnych) okazała się dla wielu użytkowników problemem, i to mimo elastyczności tej struktury ramowej oraz posiadanych różnorodnych mechanizmów komunikacji. Z tego powodu autorzy ROS opracowali strukturę ramową Ecto [60], gdzie uwaga została skupiona na organizacji obliczeń i przepływie danych w ramach jednego
11
Programowe struktury ramowe do tworzenia sterowników robotów procesu – zauważono bowiem, że programiści, aby zmniejszyć narzuty komunikacyjne, implementowali podsystemy percepcji (a szczególnie percepcji wizyjnej) w ramach jednego procesu. Innym problemem jest konfiguracja systemu, a więc umożliwienie łatwej zmiany wartości parametrów niezbędnych do właściwej pracy poszczególnych elementów układu. W Player, OROCOS, ROS oraz MRROC++ istnieją mechanizmy wczytywania ustawień z plików konfiguracyjnych, jednak zarówno w przypadku układów wizyjnych jak i serwomechanizmów, podczas ich testowania z reguły potrzebne jest ich ręczne dostrajanie (zmiana parametrów regulatora, modyfikacja progu binaryzacji, ręczna selekcja wymaganych cech, etc.). Był to jeden z powodów wydzielenia z MRROC++ wyspecjalizowanych programowych struktur ramowych do implementacji podsystemów wizyjnych: wpierw projektu FraDIA (Framework for Digital Image Analysis) [39], która później wyewoluowała we wspomnianą wcześniej komponentową strukturę ramową DisCODe [40]. Dodatkowo bardzo ważnym aspektem, na który często nie jest zwracana uwaga, jest organizacja samego projektu, a więc sposób zarządzania modułami oraz właściwym jego trzonem. W przypadku tak dużych systemów, jakimi są układy sterowania robotów, odpowiednia organizacja jest niezbędna, aby umożliwić pracę większej liczbie użytkowników i deweloperów. Brak niezależności między trzonem a modułami oraz zadaniami powoduje znaczne problemy z wykorzystaniem danego narzędzia w innym laboratorium – każde laboratorium dysponuje z reguły unikalnym zestawem sprzętowym. Dekompozycja samego repozytorium, gdzie przechowywane są kody źródłowe, związana jest więc ze skalowalnością projektu. Przykładowo, trzon struktury ramowej Player przechowywany był we wspólnym repozytorium plików razem ze wszystkimi sterownikami. Dlatego też jego autorzy, rozpoczynając pracę nad system ROS, postanowili rozdzielić te repozytoria, przy czym poszli o krok dalej od twórców struktury ramowej OROCOS (gdzie wydzielono trzon, a komponenty przechowywane są w jednym repozytorium OCL, od OROCOS Component Library) i zaproponowali rozproszoną organizację repozytoriów, dzieląc je na stosy oraz pakiety oddzielne dla poszczególnych użytkowników. Innym niedocenianym, a niezmiernie ważnym czynnikiem decydującym o sukcesie lub porażce danej struktury ramowej, mierzonym liczbą jej użytkowników, jest jakość dokumentacji dostarczanej wraz z oprogramowaniem. W położeniu nacisku na ten aspekt można szukać jednego z powodów sukcesu struktury ramowej ROS, która obecnie zaczyna być uznawana za standard przez coraz większy krąg robotyków. Różnego rodzaju struktur ramowych powstało dziesiątki. Ten przegląd miał na celu przedstawienie tych bardziej powszechnie używanych oraz tych, których cechy mają szanse pojawić sie w nowych strukturach ramowych. Nie ulega wątpliwości, że struktury ramowe dla robotów będą podlegały dalszemu rozwojowi. Zapewne przyszłe rozwiązania w istotniejszy sposób będą koncentrowały się na dziedzinie, dla której zostały stworzone, a więc na robotyce.
6. Backes P., Hayati S., Hayward V., Tso K., The kali multi-arm robot programming and control environment. NASA Conference on Space Telerobotics, 89–7, 1989. 7. Baillie J.-C., Design principles for a universal robotic software platform and application to URBI. IEEE ICRA 2007 Workshop on Software Development and Integration in Robotics (SDIR-II). IEEE Robotics and Automation Society, 2007. 8. Baillie J.-C., Nottale M., Pothier B., The URBI Tutorial v.1.5. [www.urbiforge.org/tutorial], 2007. 9. Blume C., Jakob W., PASRO: Pascal for Robots. Springer-Verlag, 1985. 10. Blume C., Jakob W., Programming languages for industrial robots. 1986. 11. Brooks A., Kaupp T., Makarenko A., Williams S., Orebäck A., Towards componentbased robotics. IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS’05), 163–168, August 2005. 12. Brooks A., Kaupp T., Makarenko A., Williams S., Orebäck A., Orca: A component model and repository. D. Brugali, (red.), Software Engineering for Experimental Robotics, wolumen 30 serii Springer Tracts in Advanced Robotics, 231– 251. Springer, 2007. 13. Broten G., Monckton S., Giesbrecht J., Collier J., Towards framework-based uxv software systems: An applied research perspective. D. Brugali, (red.), Software Engineering for Experimental Robotics, 365–393. Springer-Verlag, 2007. 14. Brugali D., Sidebar – middlewares for distributed computing. D. Brugali, (red.), Software Engineering for Experimental Robotics, strony 395–398. Springer-Verlag, 2007. 15. Brugali D., Stable analysis patterns for robot mobility. Brugali D., (red.), Software Engineering for Experimental Robotics, 9–30. Springer-Verlag, 2007. 16. Brugali D., Agah A., MacDonald B., Nesnas I., Smart W., Trends in robot software domain engineering. D. Brugali (red.) Software Engineering for Experimental Robotics, 3–8. Springer-Verlag, 2007. 17. Brugali D., Brooks A., Cowley A., Côté C., Domínguez-Brito A.C., Létourneau D., Michaud F., Schlegel C., Trends in component-based robotics. D. Brugali, (red.), Software Engineering for Experimental Robotics, wolumen 30 serii Springer Tracts in Advanced Robotics, 135–142. Springer-Verlag, 2007. 18. Brugali D., Broten G. S., Cisternino A., Colombo D., Fritsch J., Gerkey B., Kraetzschmar G., Vaughan R., Utz H., Trends in robotic software frameworks. D. Brugali, redaktor, Software Engineering for Experimental Robotics, 259–266. Springer-Verlag, 2007. 19. Bruyninckx H., Open robot control software: the orocos project. International Conference on Robotics and Automation (ICRA), wolumen 3, 2523–2528. IEEE, 2001. 20. H. Bruyninckx. OROCOS – Open Robot Control Software. [www.orocos.org], 2002. 21. H. Bruyninckx. The real-time motion control core of the OROCOS project. Proceedings of the IEEE International Conference on Robotics and Automation, 2766–2771. IEEE, September 2003. 22. Chrysanthakopoulos G., Singh S., An asynchronous messaging library for C#. 23. Cisternino A., Colombo D., Ambriola V., Combetto M., Increasing decoupling in the robotics4.net framework. D. Brugali, redaktor, Software Engineering for Experimental Robotics, 307–324. Springer-Verlag, 2007. 24. Collett T., MacDonald B., Gerkey B., Player 2.0: Toward a practical robot programming framework. Proceedings of the Australasian Conference on Robotics and Automation (ACRA), December 2005. 25. Corke P., Kirkham R., The ARCL robot programming system. 484–493. 14–16 July 1993. 26. Corporation M., Microsoft Robotics Studio.
Bibliografia 1. Strona projektu URBI. URBI [www.gostai.com]. 2. Internet Communication Engine. [http://zeroc.com/ice.html], 2008. 3. CORBA Basics. [www.omg.org/gettingstarted/corbafaq.htm], 2014. 4. Alami R., Chatila R., Fleury S., Ghallab M.M., Ingrand F., An architecture for autonomy. Int. J. of Robotics Research, 17(4):315–337, 1998. 5. Ambler A.P., Corner D.F., RAPT1 user’s manual. Department of Artificial Intelligence, University of Edinburgh, 1984.
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
N R 1 / 20 1 5
Cezary Zieliński, Tomasz Kornuta 27. Czarnecki K., Helsen S., Classification of model transformation approaches. Proceedings of the 2nd OOPSLA Workshop on Generative Techniques in the Context of the Model Driven Architecture, wolumen 45, 1–17. Citeseer, 2003. 28. Fitzpatrick P., Metta G., Natale L., YARP User Manual, 2007. 29. Fitzpatrick P., Metta G., Natale L., Towards long-lived robot genes. Robotics and Autonomous Systems, 56(1):29–45, 2008. 30. Fleury S., Herrb M., Chatila R., GenoM: A tool for the specification and the implementation of operating modules in a distributed robot architecture. Proceedings of the 1997 IEEE/ RSJ International Conference on Intelligent Robots and Systems (IROS’97), 2:842–849, September 1997. 31. Gerkey B.P., Vaughan R. T., Støy K., Howard A., Sukhatme G. S., Mataric M. J., Most Valuable Player: A Robot Device Server for Distributed Control. Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), 1226–1231, 2001. 32. Hayward V., Daneshmend L., Hayati S., An overview of KALI: A system to program and control cooperative manipulators. K. Waldron, redaktor, Advanced Robotics, 547–558. Springer–Verlag, Berlin, 1989. 33. Hayward V., Hayati S., Kali: An environment for the programming and control of cooperative manipulators. 7th American Control Conference, 473–478, 1988. 34. Hayward V., Paul R. P., Robot manipulator control under unix RCCL: A robot control C library. International Journal of Robotics Research, 5(4):94–111, Winter 1986. 35. Kaisler S., Software Paradigms. Wiley Interscience, 2005. 36. Kedzierski J., Janiak M., Budowa robota społecznego FLASH. Tchon K., Zielinski C., redaktorzy, Postępy Robotyki, wolumen 182 serii Prace Naukowe – Elektronika, 681–694. Oficyna Wydawnicza Politechniki Warszawskiej, 2012. 37. Kędzierski J., Małek Ł., Oleksy A., Zastosowanie otwartego oprogramowania w systemie sterowania robotem społecznym. Tchoń K., Zieliński C., redaktorzy, Postępy Robotyki, wolumen 182 serii Prace Naukowe – Elektronika, 671–680. Oficyna Wydawnicza Politechniki Warszawskiej, 2012. 38. Kleppe A., Software Language Engineering: Creating Domain-Specific Languages Using Metamodels. Addison-Wesley, 2009. 39. Kornuta T., Application of the FraDIA vision framework for robotic purposes. Bolc L., Tadeusiewicz R., Chmielewski L., Wojciechowski K., redaktorzy, Proceedings of the International Conference on Computer Vision and Graphics, Part II, wolumen 6375 serii Lecture Notes in Computer Science, strony 65–72. Springer Berlin/Heidelberg, 2010. 40. Kornuta T., Stefańczyk M., DisCODe: komponentowa struktura ramowa do przetwarzania danych sensorycznych. Pomiary Automatyka Robotyka, 16(7-8):76–85, 2012. 41. Kornuta T., Zieliński C., Robot control system design exemplified by multi-camera visual servoing. Journal of Intelligent & Robotic Systems, 1–25, 2013. 42. Lloyd J., Parker M., McClain R., Extending the RCCL Programming Environment to Multiple Robots and Processors. 465–469, 1988. 43. MacDonald B., Biggs G., Collett T., Software environments for robot programming. D. Brugali, redaktor, Software Engineering for Experimental Robotics, 107–124. Springer-Verlag, 2007. 44. Metta G., Fitzpatrick P., Natale L., YARP: Yet Another Robot Platform. International Journal on Advanced Robotics Systems, 3(1):43–48, 2006. 45. Mujtaba S., Goldman R., AL users’ manual. Stanford Artificial Intelligence Laboratory, Sty. 1979. 46. Nesnas I., The CLARAty project: Coping with hardware and software heterogenity. Brugali D., redaktor, Software Engineering for Experimental Robotics, 9–30. Springer–Verlag, 2007.
47. Nesnas I., Simmons R., Gaines D., Kunz C., Diaz-Calderon A., Estlin T., Madison R., Guineau J., McHenry M., Shu I., Apfelbaum D., Claraty: Challenges and steps toward reusable robotic. International Journal of Advanced Robotic Systems, 3(1.):23–30, 2006. 48. Nesnas I. A. D., The CLARAty project: Coping with hardware and software heterogeneity. D. Brugali, redaktor, Software Engineering for Experimental Robotics, wolumen 30 serii Springer Tracts in Advanced Robotics, 31–70. Springer-Verlag, 2006. 49. Niederliński A., Roboty przemysłowe. Wydawnictwa Szkolne i Pedagogiczne, 1981. 50. Nilakantan A., Hayward V., The Synchronisation of Multiple Manipulators in Kali. Robotics and Autonomous Systems, 5(4):345–358, 1989. 51. Object Management Group. The Common Object Request Broker: Architecture and Specification, Version 2.6.1. Object Management Group, May 2002. 52. Paul R., WAVE: A model based language for manipulator control. The Industrial Robot, 10–17, March 1977. 53. Paul R., Robot Manipulators: Mathematics, Programming, and Control. The MIT Press, 1982. 54. Popplestone R. J., Ambler A.P., Bellos I., RAPT: A Language for Describing Assemblies. Industrial Robot, 5(3):131– 137, September 1978. 55. Quigley M., Gerkey B., Conley K., Faust J., Foote T., Leibs J., Berger E., Wheeler R., Ng. ROS: an open-source Robot Operating System. Proceedings of the Open-Source Software workshop at the International Conference on Robotics and Automation (ICRA), 2009. 56. Schmidt D. C., Gokhale A., Harrison T. H., Parulkar G., A high-performance endsystem architecture for real-time CORBA. IEEE Communications Magazine, 14(2), 1997. 57. Szyperski C., Oprogramowanie komponentowe – obiekty to za mało. WNT, 2001. 58. Vaughan R. T., Gerkey B. P., Reusable robot software and the Player/Stage project. D. Brugali, redaktor, Software Engineering for Experimental Robotics, wolumen 30 serii Springer Tracts in Advanced Robotics, 267–289. Springer, 2007. 59. Volpe R., Nesnas I., Estlin T., Mutz D., Petras R., Das H., The claraty architecture for robotic autonomy. Jet Propulsion Laboratory, 2001. 60. Willow Garage. Website of the Ecto framework for perception, [http://ecto.willowgarage.com], 2011. 61. Zieliński C., TORBOL – język programowania robotów przeznaczonych do wykonywania zadan transportowo-montażowych. Archiwum Automatyki i Telemechaniki, 3, 1989. 62. Zieliński C., TORBOL: An object level robot programming language. Mechatronics, 1(4):469–485, 1991. 63. Zieliński C., The MRROC++ system. Proceedings of the First Workshop on Robot Motion and Control, RoMoCo’99, 147–152, June 1999. 64. Zielinski C., Implementation of control systems for autonomous robots. 6th Int. Conf. on Control, Automation, Robotics and Vision, ICARCV’2000, 5–8 December 2000, Singapore (on CD-ROM), 2000. 65. Zieliński C., Formal approach to the design of robot programming frameworks: the behavioural control case. Bulletin of the Polish Academy of Sciences – Technical Sciences, 53(1):57–67, March 2005. 66. Zielinski C., Systematic approach to the design of robot programming frameworks. Proceedings of the 11th IEEE International Conference on Methods and Models in Automation and Robotics (on CD), 639–646. Technical University of Szczecin, 29 August – 1 September 2005. 67. Zieliński C., Transition-function based approach to structuring robot control software. K. Kozłowski, (red.), Robot Motion
13
Programowe struktury ramowe do tworzenia sterowników robotów and Control, wolumen 335 serii Lecture Notes in Control and Information Sciences, 265–286. Springer-Verlag, 2006. 68. Zieliński C., Inteligencja wokół nas. Współdziałanie agentów softwareowych, robotów, inteligentnych urządzeń, wolumen 15, rozdział Formalne podejście do programowania robotów – struktura układu sterującego, 267–300. EXIT, 2010. 69. Zieliński C., Kasprzak W., Kornuta T., Szynkiewicz W., Trojanek P., Walecki M., Winiarski T., Zielinska T., Control and programming of a multi-robot-based reconfigurable fixture. Industrial Robot: An International Journal, 40(4):329–336, 2013. 70. Zieliński C., Kornuta T., Boryn M., Specification of robotic systems on an example of visual servoing. 10th International IFAC Symposium on Robot Control (SYROCO 2012), wolumen 10, 45–50, 2012. 71. Zieliński C., Kornuta T., Stefanczyk M., Szynkiewicz W., Trojanek P., Walęcki M., Języki programowania robotów przemysłowych. Pomiary Automatyka Robotyka, 16(11):10–19, 2012. 72. Zieliński C., Mianowski K., Nazarczuk K., Szynkiewicz W., A Prototype Robot for Polishing and Milling Large Objects. Industrial Robot, 30(1):67–76, January 2003.
73. Zieliński C., Szynkiewicz W., Mianowski K., Nazarczuk K., Mechatronic design of openstructure multi-robot controllers. Mechatronics, 11(8):987–1000, November 2001. 74. Zieliński C., Szynkiewicz W., Winiarski T., Staniak M., Czajewski W., Kornuta T., Rubik’s cube as a benchmark validating MRROC++ as an implementation tool for service robot control systems. Industrial Robot: An International Journal, 34(5):368–375, 2007. 75. Zieliński C., Winiarski T., General specification of multi-robot control system structures. Bulletin of the Polish Academy of Sciences – Technical Sciences, 58(1):15–28, 2010. 76. Zieliński C., Winiarski T., Motion generation in the MRROC++ robot programming framework. International Journal of Robotics Research, 29(4):386–413, 2010. 77. Zieliński C., Winiarski T., Szynkiewicz W., Kornuta T., Trojanek P. , Inteligencja wokół nas. Współdziałanie agentów softwareowych, robotów, inteligentnych urządzeń, wolumen 15, rozdział/l MRROC++ – programowa struktura ramowa do tworzenia sterowników systemów wielorobotowych, 317–384. EXIT, 2010.
Programming frameworks for development of robot controllers Abstract: The constantly increasing diversity of types of robot and sensors opens new fields of
applications. This affects the demand for tools facilitating their programming. This article focuses on the programming tools for development of high-level robotic controllers. It briefly discusses the evolution of methods of robot programming, starting from specialized languages, specialized libraries of functions for general purpose programming languages, ending up on robot programming frameworks. In particular, it presents a number of popular programming frameworks, enabling the creation of complex robot controllers. Keywords: robot programming methods, robot programming languages, programming frameworks, robot controllers
dr inż. Tomasz Kornuta
prof. dr hab. inż. Cezary Zieliński
Absolwent Wydziału Elektroniki i Technik Informacyjnych Politechniki Warszawskiej. W 2003 roku uzyskał‚ tytuł‚ inżyniera, w 2005 tytuł‚ magistra inżyniera, a w 2013 stopień doktora nauk technicznych. Od 2008 roku pracuje w Instytucie Automatyki i Informatyki Stosowanej, a od 2009 roku pełni funkcję Kierownika Laboratorium Podstaw Robotyki. Jego zainteresowania naukowe obejmują metody programowania robotów oraz wykorzystanie informacji wizyjnej w robotyce, a w szczególności aktywną wizję oraz rozpoznawanie obrazów RGB-D. Autor/współautor ponad trzydziestu publikacji dotyczących powyższych tematów. Recenzent krajowych oraz międzynarodowych konferencji robotycznych (KKR, IEEE MMAR, IEEE ICAR, IFAC SYROCO) oraz czasopism (Pomiary Automatyka Robotyka, Sensor Review, International Journal of Advanced Robotic Systems). Członek IEEE RAS.
Od 2008 roku pracuje w Przemysłowym Instytucie Automatyki i Pomiarów PIAP. Ponadto jest profesorem na Wydziale Elektroniki i Technik Informacyjnych Politechniki Warszawskiej. W latach 2002–2005 sprawował‚ na tym wydziale funkcję prodziekana ds. nauki i współpracy międzynarodowej, 2005–2008 zastępcy dyrektora Instytutu Automatyki i Informatyki Stosowanej (IAiIS) ds. naukowych, a od 2008 pełni funkcję dyrektora tego instytutu. Od roku 1996 pełni rolę kierownika Zespołu Robotyki w IAiIS. Od 2007 roku jest członkiem Komitetu Automatyki i Robotyki Polskiej Akademii Nauk. Jego zainteresowania badawcze koncentrują się na zagadnieniach związanych z programowaniem i sterowaniem robotów.
tkornuta@ia.pw.edu.pl
14
P
O
M
c.zielinski@ia.pw.edu.pl
I
A
R
Y
•
A
U
T
O
M
A
T
Y
K
A
•
R
O
B
O
T
Y
K
A
N R 1 / 20 1 5
Pomiary Automatyka Robotyka, R. 19, Nr 1/2015, 15–20, DOI: 10.14313/PAR_215/15
An Overview of ATmega AVR Microcontrollers Used in Scientific Research and Industrial Applications Wojciech Kunikowski, Ernest Czerwiński, Paweł Olejnik, Jan Awrejcewicz
Department of Automation, Biomechanics and Mechatronics, Lodz University of Technology, 90–924 Łódź, 1/15 Stefanowski str.
Abstract: Nowadays, microcontrollers are commonly used in many fields of industrial applications
previously dominated by other devices. Their strengths such as: processing power, low cost, and small sizes enable them to become substitutes for industrial PLC controllers, analog electronic circuits, and many more. In first part of this article an overview of the Atmel AVR microprocessor family can be found, alongside with many scientific and industrial applications. Second part of this article contains a detailed description of two implementations of ATmega644PA microprocessor. First one is a controller with PID regulation that supports a DC motor driver. Second one is a differential equation solver with 4-th order Runge-Kutta method implemented. It is used for solving a torsion pendulum dynamics. Finally, some general conclusions regarding the two presented implementations are made. Keywords: Atmel, AVR, ATmega, microcontroller, torsion pendulum, PID control, DC motor, PWM control
1. Introduction 1.1. Overview of some Atmel microcontrollers
AVR ATmega is a family of 8-bit microprocessors from Atmel. Their features vary across models, but mostly, the following ones are present: 4‒256 kB Flash memory, from 28 to 100 pins (SMD or DIP packaging), a watchdog timer and up to 20 MHz clock speed (depending on external clock). In addition, the family of microprocessors offers on-chip Flash, SRAM and internal EEPROM memories. AVR ATmega family also supports SPI, TWI (I2C), UART, USB, CAN, and LIN communication protocols. Analog capabilities such as ADC and DAC are available, a built-in temperature sensor and internal voltage reference, brown out detector, a fast analog comparator and a programmable analog gain amplifier [1]. Worth mentioning are other types of AVR microprocessors. The ATtiny is also an 8-bit device. It can be viewed as a more compact version of ATmega. ATtiny works best in implementations where
Autor korespondujący: Paweł Olejnik, pawel.olejnik@p.lodz.pl Artykuł recenzowany nadesłany 3.12.2014 r., przyjęty do druku 12.01.2015 r. Zezwala się na korzystanie z artykułu na warunkach licencji Creative Commons Uznanie autorstwa 3.0
the performance and compact dimensions of control units are the most important requirements. The described microprocessor characterizes also with very low power consumption. It is the only processor in AVR family that works with 0.7 V power supply. Two AVR groups dedicated for application where the high performance is required are XMEGA and UC3. The XMEGA is a member of family of 8/16-bit microprocessors with maximum clock frequency of 32 MHz. The UC3 states a group of 32-bit microprocessors with maximum clock frequency up to 66 MHz. Both groups are rich with peripheral devices. Very popular among hobbyists and students are the Arduino boards. They are produced as a single printed circuit boards with a selected ATmega microprocessor installed. All the necessary circuits are built-in, leaving the end user just with the task of connecting the board to the power supply and connecting any desired peripheries. The dedicated Arduino Integrated Development Environment (IDE) is used for the programming purposes. The IDE is based on C/C++ programming language. The great advantage of Arduino board is that it is a relatively cheap and easy installable even on robots or control devices that interact with surrounding world [2].
1.2. Exemplary implementations
Repetitively, programmable microprocessors are used in applications previously dominated by other devices or complex electronic circuits. Small low-cost microprocessors are often used instead of simple analog electronic circuits. In some applications, even PLC controllers are pushed out by microcon-
15
An Overview of ATmega AVR Microcontrollers Used in Scientific Research and Industrial Applications trollers. Examples of scientific and industrial applications are described below. In paper [3], ATmega161 was used as a controller with embedded system for an Uninterruptable Power Supply (UPS) system. This system was capable of receiving commands via internet and send back information regarding UPS status. Microcontroller also managed data communication with auxiliary memory unit via the I2C communication protocol. In certain determined cases the embedded system sends email messages to a list of defined addresses through SMTP protocol. Proposed solution allows for long distance monitoring and control of the UPS. Low cost and high reliability enables the use of mentioned microcontroller in serial produced UPS systems. An application of the microcontroller as a data gathering device was presented in [4]. Here the ATmega328 acts as a real-time health vital signs monitoring system. Measurements are transmitted using an XBee communication system. The system is designed to collect the body temperature and heart rate. The described device has a memory card installed in the case of loss of communication through the XBee radio. Data can be transmitted in real-time and it is simultaneously stored on a removable memory card. This solution increases the reliability of data collection. It also enables a complete history of the data to be stored and read separately without using the XBee radio. The whole device is compact enough to be installed in a wrist mounted chassis. An industrial application of an ATmega128 working as a microcontroller was presented in work [5]. The microprocessor acts as a central controller of DXDF40 automated powder packaging machine. During the bag forming the microcontroller is responsible for packaging film feeding speed (measured by number of impulses from a rotary encoder) and packaging material tension control (basing on analog measurement from a potentiometer). Length of material can be set to a constant value or can be controlled by an input from a color tag sensor. Speed of filling and volume of powder in the package is also controlled. Sealing temperature (in the horizontal and vertical seals) is controlled by a PID algorithm by means of an analog measurement from K-type thermocouple. Furthermore, there are incorporated: master motor control, production counting, system status display, system failure alarm etc. Described controller fulfils all requirements concerning speed and precision. An ATmega16 based wireless home appliance control system was presented in [6]. User can turn on and off up to 15 different devices using a set of relays. PWM regulation was applied for changing fan’s DC motor speed or to regulate intensity of connected lights. The system is controlled by a Radio Frequency (RF) remote controller. The controller is compatible with a Sim300 GSM modem. This solution enables the system to send notifications concerning status of powered devices through the mobile phone network to a defined telephone number. Same information can be shown on a LCD screen. Another useful implementation of an ATmega type microcontroller in industrial manufacturing is presented in [7]. ATmega8535 is used as a process controller of Pulse Electric Field (PEF) pasteurization. The pasteurized apple juice is subjected to a high voltage in range from 20 kV to 100 kV. This process is conducted in room temperature, contrary to classical pasteurization process which is conducted in temperatures ranging from 76 °C to 88 °C. Consequently, more vitamins and micro elements do not decay during the process, which gives better nutrition values to the pasteurized juice. The electronic circuit responsible for generating appropriate voltage is controlled by the PWM signal from the microcontroller. ATmega8535 is also responsible for regulating the duration of the process. The process parameters are displayed on
16
P
O
M
I
A
R
Y
•
A
U
T
O
M
a LCD screen and could be changed by the user via the attached keypad. A comparative analysis of efficiency in generating PWM signals by three different microcontrollers (8-bit ATmega328P, 16-bit SAB80C167 and 32-bit PIC32MX320F128H) is presented in [8]. Test was carried out for two duty cycle values and four different frequencies. Length of code needed to generate a PWM signal was compared as well as the time needed to reestablish the signal generation after reboot was measured. ATmega328P achieved shortest reboot time and required the least amount of code for the assigned task. It can be concluded that for simple PWM control, the 8-bit microcontroller has the advantage of easier programming and fast response. Another usage example of the ATmega microprocessor working as an electric motor controller is shown in [9]. The paper describes a spherical robot capable of moving under water. The propulsion is realized by three water jet thrusters. Each thruster consists of one DC motor for generating propulsive force and two servomotors for changing its direction. In this application ATmega2560 is used via the RS-232 communication protocol as a unit controlling rotation of six separated DC electric motors. Another device based on ATmega microcontroller used for underwater exploration is described in [10]. Quoted article describes a Poseidon MK6 Rebreather. Classical open-loop underwater breathing system disposes once used air into water. On the other hand, the Rebreather collects the exhaled air in a flexible bag (counter-lung). Carbon dioxide is chemically filtered in the so-called scrubber, and metabolized oxygen is substituted with fresh oxygen from a small tank. Whole control system for the Rebreather is based on four ATmega 8-bit microcontrollers connected into a network. The control system is responsible for the breathing gas composition, validation of the multiple sensor signals and performing automatic predive checks. In the case of a failure, several warning systems like flashing LEDs and vibration motor are included. System parameters can be displayed on a custom LCD display. Rebreather can communicate with a PC via the IrDA data transmission. It enables easy firmware upgrades and diving data exchange. ATmega microprocessors can be applied as regulators in complex dynamical systems. In papers [11] and [12] the microprocessors can be found as main controllers for Unmanned Aerial Vehicles (UAV). ATmega168-20U controls the flight of a tri-rotor flying robot. Using signals from two MEMS gyroscopes (ADC voltage conversion) it determines the pitch, roll and yaw angles of rotation. Later calculations have led to proper regulation of the speed of three PWM regulated brushless DC motors. Thanks to that, the tri-copter can fly and hover stably. Similar implementation is shown in work [12]. An ATmega644PA microprocessor is used there as a main regulator of the four-rotor flying machine’s hovering state. The quadrocopter aerial vehicle is controlled by a microprocessor located on the ATB 1.03 start-up board. Commands are sent by pressing the appropriate buttons on the remote control supplied with the board. The signals informing about the current quadrocopter’s state are retrieved from a KAmodMEMS2 3-axis accelerometer (LIS35DE MEMS Motion Sensor) and a KAmodGYRO 3-axis gyroscope (L3G4200D MEMS Motion Sensor). The control unit processes the data and then sends specific duty cycles that are transferred to the rotational velocities of four three-phase BLDC motors. The motors are sourced from the ESC Quattro-SQ20A4U driver. It combines four high performance 20 A ESCs and a 5 V/3 A UBEC, where the ESC is based on standard PWM control signal. The UART communication with a PC computer was applied for realization of real-time data acquisition.
A
T
Y
K
A
•
R
O
B
O
T
Y
K
A
N R 1 / 20 1 5
Wojciech Kunikowski, Ernest Czerwiński, Paweł Olejnik, Jan Awrejcewicz
2. ATmega644PA as a PID controller for a DC motor In the two subsequent sections of the article the described algorithms were implemented on the Atnel Testing Board (ATB) 1.03 [13]. It is equipped with ATmega644PA – an 8-bit microprocessor with 64 kB of Flash memory, 2 kB EEPROM, 4 kB SRAM and three programmable timers (two 8-bit and one 16-bit). The system used in this study operates under the control of 16 MHz external timing source.
speed of the transmission belt on which the oscillating body of mass was placed (the physical system (3) under control) an incremental encoder (4) was used. The ATB is powered by a 15 V power supply (6). The DC motor is controlled by a RN12 driver (2). Its power and logical electric circuits are sourced by MATRIX 60 V and 30 V power supply (7), respectively. For the purpose of GI333 encoder’s output noise cancelation, in the dedicated measuring circuit a M74HCT14N Schmitt Inverter has been used. It allowed to damp any voltage peaks causing appearance of incorrect (redundant) pulses to be counted by the microcontroller. To enable compatibility between the microcontroller and the RN12 driver, a L293D integrated circuit was implemented. It served as an amplifier for the PWM signal. A control algorithm pictured by the closed-loop control system shown in Fig. 2 calculates the adequate duty cycle of the PWM signal based on the reference speed and the number of pulses produced by the encoder in some predefined time interval (30 ms). In consequence, 9.7 kHz frequency PWM signal having well-modulated pulse width is sent to the RN12 regulator, which generates appropriate voltage for the DC motor. The PWM signal’s resolution is 10-bit so the variable describing its duty cycle can be tuned from 0 to 1023. The classical discrete PID controller takes the form:
Fig. 1. Picture of the experimental station Rys. 1. Zdjęcie stanowiska badawczego
The controlled object consists of a conveyer belt with a block mass m oscillating on it and a bracket M attached to the block mass by means of two linear springs (see in Fig. 1). The source of the oscillations is the so-called “stick-slip” phenomenon caused by self-excited vibrations of mass m on the belt. Depending on the linear placement of the block m and the angular displacement of the bracket M, the friction force in a contact surface between the block and the belt changes rapidly. Moreover, the friction force characteristics switches itself between its kinetic and static form. The experimentally observed periodic changes of frictional force between the two cooperating solid bodies are responsible for significantly varying load transferred on the DC motor driving the mechanical system. Constantly changing amplitude of load affects the speed of the gear’s conveyer belt. A more detailed description of the model can be found in [14‒16]. Figure 1 presents the laboratory station on which the experiments have been carried out. Control of the angular velocity of the DC motor (part 1 in the figure) is made by a system composed of the ATB (test board) equipped with the ATmega644PA microcontroller (5) and the RN12 driver (2). To measure the
Fig. 2. A diagram of the closed-loop control system Rys. 2. Schemat blokowy zamkniętego układu sterowania
, (1)
where: u(n) – controller output in current iteration, y(n) – plant output (measured value), e(n) – tracking error, Kp – gain of proportional action, Ki = Kp ×Ts/Ti gain of integral action, Kd = Kp ×Td/Ts – gain of derivative action, Ts – sampling time, Ti – time constant of integral action, Td – time constant of derivative action.
Fig. 3. Time history of the angular velocity controlled by the tuned PID algorithm (Kp = 1, Ki = 1.75, Kd = 0.05) Rys. 3. Wykres prędkości kątowej, sterowanej zgodnie z algorytmem PID
To eliminate any rapid responses of the derivative action when the reference speed changes in time (the so called “derivative kick”), the dependant variable was changed from error to difference between last acquired measurements of speed. Output of the PID controller is limited by the PWM resolution in the range of integer values [0, 1023], and then treated as the new value of the PWM duty cycle. Due to a complexity of the controller’s tuning, a black-box approach to the control problem was taken into the experimental considerations. Therefore, mathematical model of the multi-dimensional plant was omitted, and tuning of the controller was done manually basing on the acquisition of step responses. In Fig. 3, the experimental results show a step response of the angular velocity of the mechanical system’s gear with respect to the reference input of 15 rpm. As can be observed, the belt pulley’s angular velocity oscillations have not been completely rejected. The value of standard deviation of the measured speed is about 0.56 rpm (calculated for 12 seconds after reaching a steady state).
17
An Overview of ATmega AVR Microcontrollers Used in Scientific Research and Industrial Applications
3. Solving the dynamic equation of a torsion pendulum model on ATmega644PA The torsion pendulum is an angular equivalent of the linear harmonic oscillator. It consists of a twisted rod which is called string (1) and a suspended element (2) which rotates in the plane of oscillations. The oscillating element can have many shapes, for example, a cylindrical, spherical or can be a ring. Dynamic equation of the physical model presented in Fig. 4 takes the form: Fig. 4. Physical model of the analyzed torsion pendulum Rys. 4. Model fizyczny rozpatrywanego wahadła torsyjnego
, (2)
To prepare the model for numerical computation, it was converted into a set of ordinary differential equations of where: I0 – moment of inertia of the cross section of the string (part 1 in Fig. 4), B – moment of inertia of the suspended elefirst order: ment (part 2), G – modulus of rigidity of the string, l – length of the string. Analytical solution of the dynamical problem of torsion vibrations is given by the angular harmonic oscillator’s equ, (5) ation with free vibrations: , (3) where a = GI0/(Bl) is an auxiliary constant. The Runge-Kutta method of 4-th order (RK4) is one of the most common methods for solving systems of ordinary first, (4) -order differential equations and will be used for solving equ ations (5) of the torsion pendulum. It possesses a relatively simple coding, simplicity of implementation and high accuracy. where TC is the period of free vibrations of the system.
Table 1. Numerical and analytical solution of the angular displacement (t) Tabela 1. Analityczne i numeryczne rozwiązanie przemieszczenia kątowego ϕ (t)
1,70E-03
t[s]
ATmega 644PA
Analytical Solution
0
0
0
0.001
0.000944
0.000945
0.002
0.001579
0.001580
0.003
0.001697
0.001698
0.004
0.001261
0.001260
0.005
0.000412
0.000409
0.006
0.000570
0.000576
0.007
0.001366
0.001372
0.008
0.001715
0.001719
0.009
0.001503
0.001502
0.01
0.000799
0.000794
ATmega644PA 1,20E-03
Analytical solution
7,00E-04 2,00E-04 -3,00E-04
t[s] 0
0,002
0,004
0,006
0,008
0,01
-8,00E-04 -1,30E-03 -1,80E-03
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
N R 1 / 20 1 5
Wojciech Kunikowski, Ernest Czerwiński, Paweł Olejnik, Jan Awrejcewicz
According to RK4 algorithm given by equations (7) and (8), a subsequent point of the discrete trajectory of numerical solution is estimated by the formula:
yi
+1
= yi +
h ⋅ (k 1 + 2k 2 + 2k 3 + k 4), (6) 6
where ki (for i =1 … 4) are the approximation coefficients of the derivative at different points on the trajectory within the time range [ti, ti+1], h – a time step of integration. The approximation coefficients of the applied method are given by formulas:
(7)
Table 1 shows the comparison of data output from numerical and analytical solutions. The following parameters are assumed: time step of numerical integration h = 0.001, and the initial conditions: The observed variable is the angular displacement of the pendulum. As can be observed both graphs are identical and overlap. The difference between obtained values in both methods can be observed on sixth decimal place. The data series used to build the graph was obtained from the microcontroller via the UART communication protocol.
Conclusions As it was presented on the basis of many examples, the ATmega family microcontrollers proved to found many practical applications, both in scientific research and industrial use. Atmel microprocessors are offered in a wide variety of package styles, they have low power consumption over a wide operation voltage range and allow excellent code density. Embedded AD/DA converters, better support for communication protocols and more flexible programming have proved to be more efficient in many cases of real applications comparing to even a small PLC controllers. The second part of the article has shown in details that the ATmega644PA is capable of controlling even complex multidimensional dynamical systems, and has enough processing power for conducting numerical calculations. In both tests of usability some satisfactory results have been achieved.
Acknowledgements
This work has been supported by the Polish National Science Centre, MAESTRO 2, No. 2012/04/A/ST8/00738.
References 1. http://www.atmel.com/products/microcontrollers/avr/ default.aspx
2. http://www.arduino.cc 3. Zhang D.G., Dong D.C., Peng H.T.., Research on development of embedded uninterruptable power supply system for IOT-based mobile service, “Computers and Electrical Engineering”, Vol. 38, No. 6, 2012, 1377–1387. DOI: 10.1016/j.compeleceng.2012.04.001. 4. Kioumars A., Tang L., ATmega and XBee-Based Wireless Sensing, [in:] Proceedings of the 5th International Conference on Automation, Robotics and Applications, Dec 6‒8, 2011, Wellington, New Zealand. DOI: 10.1109/ ICARA.2011.6144908. 5. Lu Y., Liu Y., Li G., Song G., Liu M., Liu W., Design and application of an automatic packaging machine controller based on ATmega 128, [in:] The 2nd International Conference on Computer and Automation Engineering (ICCAE), 2010, Singapore. 6. Shah J., Modi B., Singh R., Wireless Home Appliances Controlling System, 2014 International Conference on Electronics and Communication Systems (ICECS), Coimbatore, India. DOI: 10.1109/ECS.2014.6892520. 7. Syamsiana I.N., Putri R.I., High voltage pulse generator design with voltage control for pulse electric field (PEF) pasteurization, [in:] International Conference on Electrical Engineering and Informatics, 17–19 July 2011, Bandung, Indonesia. DOI: 10.1109/ICEEI.2011.6021712. 8. Croitoru B., Tulbure A., Abrudean M., Microcontroller-based multiple-platform PWM signal generation procedures for industrial use, [in:] IEEE International Conference on Automation, Quality and Testing, Robotics, Cluj-Napoca, Romania 2014. DOI: 10.1109/AQTR.2014.6857891. 9. Yue C., Guo S., Li M., Shi L., Electrical System Design of a Spherical Underwater Robot (SUR-II), [in:] Proceeding of the IEEE International Conference on Information and Automation, 2013, Yinchuan, China. DOI: 10.1109/ ICInfA.2013.6720479. 10. Sieber A., Jones N., Stone B., Pyle R., Koss B., Sjoblom K., Embedded Systems in the Poseidon MK6 Rebreather, [in:] 7th Workshop on Intelligent solutions in Embedded Systems, Ancona, chapter 3, Italy 2009. DOI: 10.1007/97894-007-0638-5_3. 11. Zou JT., Su KL., TsoH., The modeling and implementation of tri-rotor flying robot, Springer, “Artif Life Robotics”, Vol. 17, No. 1, 2012, 86–91. DOI: 10.1007/ s10015-012-0028-2. 12. Czerwiński E., Szewc M., Wojtunik I., Awrejcewicz J., Olejnik P., Mathematical model, computer aided design and programming of a multifunctional flying object, Taylor & Francis, Aviation, Vol. 18, No. 1), 2014, 28–39. DOI: 10.3846/16487788.2014.865941. 13. [www.atnel.pl/download/elektronika/atb_instrukcja/ Instrukcja-zestawu-ATB_v102.pdf] – Documentation for the ATB1.03 testing board. 14. Kunikowski W., Awrejcewicz J., Olejnik P., Efficiency of a PLC-based PI controller in stabilization of a rotational motion affected by the chaotic disturbances, [in:] Dynamical Systems – Applications, Eds. J. Awrejcewicz, M. Kaźmierczak, P. Olejnik, J. Mrozowski, Publishing House of Lodz University of Technology, 2013, 173‒184. 15. Awrejcewicz J., Olejnik P., Friction pair modeling by 2-dof system: numerical and experimental investigations, “International Journal of Bifurcation and Chaos, World Scientific”, Vol. 15, No. 6, 2005, 1931‒1944. DOI: 10.1142/ S021812740501306X. 16. Awrejcewicz J., Olejnik P., Occurrence of stick-slip phenomenon, “Journal of Theoretical and Applied Mechanics”, Vol. 45, No. 1, 2007, 33–40.
19
An Overview of ATmega AVR Microcontrollers Used in Scientific Research and Industrial Applications
Przegląd mikrokontrolerów AVR stosowanych w badaniach naukowych i aplikacjach przemysłowych Streszczenie: W dzisiejszych czasach mikrokontrolery są często używane w miejscach poprzednio
zdominowanych przez inne układy logiczne. Argumenty przemawiające za stosowaniem tych układów, takie jak: moc obliczeniowa, niski koszt i małe rozmiary, pozwalają na zastępowanie nimi przemysłowych sterowników PLC i innych elektronicznych układów analogowych. W pierwszej części artykułu przedstawiono przegląd dostępnych mikroprocesorów Atmel AVR, uwzględniając przykłady naukowych i przemysłowych zastosowań. Druga część zawiera szczegółowy opis dwóch implementacji procesora ATmega644PA, przeprowadzonych przez autorów pracy. Pierwsza przedstawia regulator PID silnika prądu stałego obciążonego zmiennym momentem. Kolejna przedstawia implementację metody Runge-Kutty czwartego rzędu, stosowanej często do rozwiązywania równań różniczkowych. Algorytm został zastosowany do rozwiązania zadania dynamiki ruchu obrotowego wahadła torsyjnego na mikrokontrolerze. Słowa kluczowe: Atmel, AVR, ATmega, mikrokontroler, wahadło torsyjne, sterowanie PID, silnik prądu stałego, regulacja PWM
Wojciech Kunikowski, M.Sc. Eng.
Ernest Czerwiński, M.Sc. Eng.
Ph.D. student of Mechanics at the Faculty of Mechanical Engineering at the Lodz University of Technology. In July 2014, he defended his thesis in Mechatronics titled “Fuzzy logic in angular velocity control algorithms of DC motors”. Currently, under the leadership of Paweł Olejnik, Ph.D. D.Sc. His planned Ph.D. thesis is to be in the field of Applied Mechanics. His research interests cover: theory of control, mechatronics, system modeling, numerical simulations.
Ph.D. student of Mechanics at the Faculty of Mechanical Engineering at the Lodz University of Technology. In July 2014, he completed Master’s degree in Mechatronics by writing the thesis „Modeling and parameter identification of vibrations of a double torsional pendulum with friction”. Currently he is continuing research in the field of Applied Mechanics. Research interests: classical mechanics, theory of control, mechatronics, CAD design, system modeling, numerical simulations.
Paweł Olejnik, Ph.D. D.Sc. Eng.
Prof. Jan Awrejcewicz, Ph.D. D.Sc. Eng.
In 2000 he completed Master’s degree in computer physics at the Faculty of Technical Physics, Computer Science and Applied Mathematics of Lodz University of Technology. Then, he took a research and teaching job in the Department of Automation, Biomechanics and Mechatronics at Lodz University of Technology. In 2002 he defended his doctoral thesis in Mechanics under the leadership of Professor Jan Awrejcewicz with a distinction of self-made experimental station exploring of a two degrees of freedom system with friction. He received D.Sc. degree in Applied Mechanics from Lodz University of Technology in 2013. He is an author of scientific publications concerned on the use of computational techniques for solving problems of dynamical analysis of discontinuous systems, experimental research on laboratory stations, control of dynamical systems, virtualization of mechatronic systems.
He received the M.Sc. and Ph.D. degrees in the field of Mechanics from the Lodz University of Technology in 1977 and 1981, respectively. He received bachelor’s degree in Philosophy in 1978 from the University of Lodz, and D.Sc. degree in Mechanics from Lodz University of Technology in 1990. He is an author or co-author of 538 publications in scientific journals and conference proceedings, monographs, text books, edited volumes, conference proceedings, journal special issues, other books and short communications or unpublished reports. He is now the Head of Department of Automatics and Biomechanics, and the Head of Ph.D. School on ‘Mechanics’ associated with the Faculty of Mechanical Engineering of Lodz University of Technology. In 1994 he earned the title of Professor from the President of Poland, Lech Wałęsa. He is a contributor to research journals and to conferences. His papers and research cover various disciplines of mathematics, mechanics, biomechanics, automatics, physics and computer oriented sciences
wojciech.kunikowski@gmail.com
czerwinski.ernest@gmail.com
pawel.olejnik@p.lodz.pl
20
P
O
M
I
A
R
jan.awrejcewicz@p.lodz.pl
Y
•
A
U
T
O
M
A
T
Y
K
A
•
R
O
B
O
T
Y
K
A
N R 1 / 20 1 5
Pomiary Automatyka Robotyka, R. 19, Nr 1/2015, 21–28, DOI: 10.14313/PAR_215/21
Opracowanie i konstrukcja regulatora pompy ciepła typu powietrze-woda: modelowanie obiektu Piotr Tatjewski, Maciej Ławryńczuk, Piotr Marusak
Instytut Automatyki i Informatyki Stosowanej, Politechnika Warszawska, 00-665 Warszawa, ul. Nowowiejska 15/19, Gmach Elektroniki
Marian Rubik, Piotr Ziętek
Wydział Inżynierii Środowiska Politechniki Warszawskiej, 00-653 Warszawa, ul. Nowowiejska 20, Gmach Inżynierii Środowiska
Maciej Szumski, Michał Szumski Plum sp. z o.o., 16-001 Kleosin, Ignatki 27a
Streszczenie: W artykule opisano metodę tworzenia modelu pompy ciepła, który docelowo
zostanie wykorzystany do opracowania urządzenia sterującego. Ze względu na szybkie działanie obiektu, skoncentrowano się na opracowaniu modelu statycznego obiektu. Model ten jest złożony z szeregu równań, które opisują poszczególne elementy pompy ciepła, czyli: sprężarkę, skraplacz, zawór rozprężny oraz parowacz. Pomimo stosunkowo bogatej literatury, w której zostały opisane modele poszczególnych elementów pompy ciepła, ich połączenie w jeden model nie jest niestety działaniem prostym i, ze względu na stosunkowo duży stopień skomplikowania zagadnienia, wymaga opracowania funkcji (najczęściej w postaci wielomianów), które opisują zmiany parametrów modelu. Ponadto okazało się być potrzebne zastosowanie algorytmu otrzymywania wartości wyjść, który bazuje na metodzie iteracji prostych. Dzięki opisanemu w referacie podejściu, została uzyskana dobra jakość modelowania, o czym świadczą wyniki przeprowadzonych eksperymentów. Podczas tych badań, przebiegi zmiennych odwzorowujących pracę obiektu zostały porównane z danymi pozyskanymi z rzeczywistego obiektu (pompy ciepła). Słowa kluczowe: pompa ciepła, modelowanie, metoda iteracji prostych
1. Wstęp Istotnym i często najtrudniejszym zagadnieniem przy opracowywaniu algorytmu regulacji jest modelowanie obiektu. W przypadku pompy ciepła, ze względu na szybkie działanie obiektu, skoncentrowano się na opracowaniu modelu statycznego obiektu, co jest podejściem typowym (zob. np. [7]).
Autor korespondujący: Piotr Marusak, P.Marusak@ia.pw.edu.pl Artykuł recenzowany nadesłany 28.11.2014 r., przyjęty do druku 12.01.2015 r. Zezwala się na korzystanie z artykułu na warunkach licencji Creative Commons Uznanie autorstwa 3.0
W następnym etapie działań, opracowany model zostanie wykorzystany do sterowania obiektu optymalizującego efektywność energetyczną, a tym samym i ekonomiczną obiektu. Mimo stosunkowo bogatej literatury opisującej modele poszczególnych elementów pompy ciepła, ich połączenie w jeden model nie jest działaniem prostym i, ze względu na stosunkowo duży stopień skomplikowania zagadnienia, wymaga opracowania funkcji opisujących zmiany parametrów modelu. Potrzebne także okazało się użycie algorytmu wyznaczania wartości wyjściowych bazującego na metodzie iteracji prostych [2]. W kolejnym rozdziale opisano szczegółowo model pompy ciepła z rozbiciem na proste modele poszczególnych elementów obiektu oraz algorytm iteracyjny służący do bilansowania modelu i otrzymywania wartości poszczególnych zmiennych opisujących zachowanie procesu. W rozdziale 3 przedstawiono wyniki modelowania rzeczywistej pompy ciepła w postaci porównania przebiegów zmiennych otrzymanych z modelu z przebiegami pozyskanymi z rzeczywistego obiektu. Artykuł kończy krótkie podsumowanie.
21
Opracowanie i konstrukcja regulatora pompy ciepła typu powietrze-woda: modelowanie obiektu
2. Model pompy ciepła
Strumień masy czynnika roboczego przetłaczany przez sprężarkę jest dany wzorem (np. [1]):
2.1. Założenia modelu
W celu symulacji obiegu pompy ciepła algorytm powinien określać parametry stanu czynnika roboczego w poszczególnych punktach charakterystycznych obiegu, uwzględniając jednocześnie strumień masy czynnika przepływający przez każdy z elementów. Parametry czynnika oraz strumień masy mogą być wyznaczone przy użyciu modeli poszczególnych elementów. Na przykład, model sprężarki zazwyczaj pozwala określić strumień masy na podstawie ciśnienia wlotowego i entalpii oraz ciśnienia na wylocie. Obliczony strumień jest następnie wykorzystywany w modelu skraplacza. Podobnie do modelu sprężarki, model zaworu rozprężnego pozwala wyznaczyć strumień masy, który jest następnie wykorzystywany do modelowania parowacza. Pompa ciepła składa się z czterech głównych elementów: sprężarki, skraplacza, zaworu rozprężnego oraz parowacza (parownika). Model każdego z elementów wymaga określania termofizycznych parametrów czynnika roboczego. Może być to wykonane np. za pomocą programu REFPROP [4] lub danych tablicowych. Podstawą do obliczeń modeli podzespołów są zwykle parametry wejściowe czynnika – ciśnienie oraz entalpia. Sprężarka i zawór rozprężny wymagają również ciśnienia wylotowego, aby określić strumień masy, natomiast wymienniki (parowacz i skraplacza) wymagają strumienia masy. W dalszej części opisano modele poszczególnych elementów pompy ciepła, w których wykorzystano opis literaturowy [8]: – sprężarki, – skraplacza, – zaworu rozprężnego oraz – parowacza. Na końcu omówiono algorytm iteracyjnego dostrajania modelu.
mspr = ρ1·VS·N·ηv, (1)
gdzie: ρ1 – gęstość czynnika roboczego przed sprężarką, VS – objętość komory sprężania zależąca od wielkości i rodzaju sprężarki, N – prędkość obrotowa wału napędowego sprężarki, ηv – sprawność objętościowa sprężania. Parametry fizyczne sprężarki były identyfikowane z wykorzystaniem danych katalogowych producenta oraz danych pomiarowych. Prędkość obrotowa wału napędowego sprężarki jest opisana wzorem:
N =
f ⋅ 60 [obr./min] b
(2)
gdzie f – częstotliwość pracy sprężarki [Hz] (pierwsze wejście sterujące), b – liczba par biegunów silnika, b = 6. Gęstość czynnika w punkcie 1 określić należy z właściwości czynnika, na podstawie danych pomiarowych, jako funkcję:
ρ1 = f(P1, T1). (3) Sprawność objętościową można opisać wzorem [3]: ,
(4)
gdzie: C (ang. clearance volume ratio) – parametr związany z rzeczywistą objętością komory sprężania; P2 – ciśnienie tłoczenia sprężarki (za sprężarką), P1 – ciśnienie ssania sprężarki (przed sprężarką), n – wykładnik politropy. We wzorze (4) pominięto spadek ciśnienia na wlocie do komory sprężania i związaną z nim zmianę objętości właściwej czynnika – objętość właściwa czynnika dopływającego do komory sprężania jest równa objętości właściwej czynnika w przewodzie ssawnym sprężarki. Współczynnik C przyjmuje najczęściej stałą wartość i charakteryzuje daną sprężarkę. Wykładnik politropy przyjmuje się jako stały lub zmienny. Często w literaturze (zob. np. [6, 7]) znajduje się opis sprawności objętościowej, który uzależnia jej wartość od stopnia sprężania oraz prędkości obrotowej sprężarki, czyli:
2.2. Model sprężarki
Zmienne wejściowe: parametry czynnika roboczego: h1, P1, P2, zmienne wyjściowe: entalpia czynnika: h2, strumień masy: mspr, moc elektryczna pobierana przez sprężarkę: Pspr.
(5)
Tak samo uczyniono w rozważanym w referacie przypadku, przy czym zastosowano funkcję drugiego stopnia, jak w (Rasmussen i Alleyne 2006). Sprawność adiabatyczna jest opisana wzorem:
P
O
M
I
A
R
Y
•
A
U
T
h 2t − h1 , h 2 − h1
(6)
gdzie h1 – entalpia właściwa czynnika na wlocie sprężarki, h2t – entalpia właściwa czynnika na wylocie sprężarki przy założeniu procesu adiabatycznego (stała entropia); h 2t = f(P 2,s 2=s 1), h 2 – rzeczywista entalpia właściwa czynnika na wylocie sprężarki (proces politropowy), h2 = f(P2,T2). W praktyce, sprawność adiabatyczną przedsta-
Rys. 1. Schemat obiegu pompy ciepła z zaznaczeniem punktów charakterystycznych Fig. 1. Scheme of a heat pump cycle with state points
22
ηa =
O
M
A
T
Y
K
A
•
R
O
B
O
T
Y
K
A
N R 1 / 20 1 5
Piotr Tatjewski, Maciej Ławryńczuk, Piotr Marusak, Marian Rubik, Piotr Ziętek i inni
wia się często jako funkcję prędkości obrotowej sprężarki oraz stopnia sprężania (Rasmussen i Alleyne 2006):
P
ηa = f 2 , N , P1
(7)
Podczas prac założono tutaj funkcję trzeciego stopnia. Wykorzystując sprawność adiabatyczną oraz entalpię czynnika h2t, można określić entalpię w punkcie 2, korzystając z zależności:
h 2 = h1 +
h 2t − h1 .
(8)
ηa
Wartość entalpii h2t można określić na podstawie entropii s1 oraz ciśnienia P2, z właściwości czynnika roboczego, jako funkcje h2t = f(P2, s1) oraz s1 = f(P1, T1). Moc elektryczna pobierana przez sprężarkę jest zaś dana wzorem:
Pspr =
m spr (h 2 − h1 )
ηmech
, (9)
gdzie: ηmech – sprawność mechaniczna silnika sprężarki.
2.3. Model skraplacza
Zmienne wejściowe: parametry czynnika roboczego: h2, mspr, P2, zmienne wyjściowe: entalpia czynnika: h3, ciśnienie czynnika: P3, temperatura wody na wylocie: Tw_out, moc cieplna: Q. Spadek ciśnienia w skraplaczu można w uproszczeniu opisać zależnością jak przepływu jednofazowego, w postaci:
∆Pskr = fT
2Lskr
πρ 2 D skr
2 m spr ,
(10)
gdzie: fT – współczynnik tarcia, Lskr – długość rur skraplacza, Dskr – średnica rur skraplacza. Współczynnik fT jest funkcją właściwości czynnika roboczego oraz parametrów wymiennika i zależy m.in. od charakteru przepływu oraz liczby Reynoldsa. Parametry fT, Lskr, Dskr można próbować zidentyfikować na podstawie danych pomiarowych, przy czym Lskr i Dskr są wielkościami stałymi. W pracy całą zależność (10), na podstawie danych pomiarowych przybliżono funkcją trzeciego stopnia strumienia masy przepływającego przez sprężarkę, czyli:
∆Pskr = f (m spr ), (11)
Znając spadek ciśnienia można wyznaczyć ciśnienie w punkcie 3:
P3 = P2 – ΔPskr. (12)
Zwykle w skraplaczu wymiana ciepła odbywa się w trzech strefach: strefa pary przegrzanej, strefa mieszaniny cieczy i pary suchej (przepływ dwufazowy), strefa cieczy dochłodzonej. Największą część stanowi strefa dwufazowa, stąd dla uproszczenia można przyjąć stałą temperaturę czynnika roboczego w skraplaczu, odpowiadającą średniej temperaturze nasycenia czynnika w skraplaczu:
(13)
Strumień ciepła oddawany wodzie w skraplaczu w uproszczeniu można wyrazić wzorem:
(14)
gdzie UAs – iloczyn współczynnika przenikania ciepła (U [W/m2∙K]) oraz powierzchni wymiany ciepła skraplacza (A [m2]), [W/K]. Strumień ciepła można także wyznaczyć na podstawie zależności:
Q = mspr(h2 – h3), (15)
przy czym entalpia w punkcie 3 h3 jest wyznaczana jako funkcja ciśnienia i temperatury:
h3 = f(P3, T3).
(16)
Temperatura wody na wylocie ze skraplacza jest opisana wzorem:
(17)
gdzie mw – strumień masy wody, kg/s, cw – ciepło właściwe wody, cw ≈ 4,19 kJ/(kg∙K), Tw_in – temperatura wody na wlocie do skraplacza.
2.4. Model zaworu rozprężnego
Zmienne wejściowe: parametry czynnika roboczego: h3, P3, P4, ρ3, zmienne wyjściowe: entalpia czynnika: h4, strumień masy: mzr. Strumień masy czynnika przepływającego przez zawór jest opisany zależnością (np. [5]):
(18)
gdzie Czr – stała zaworu zależna od jego rodzaju, Azr – pole przekroju otworu dławiącego w zaworze rozprężnym, [m2], ρ3 – gęstość czynnika roboczego dopływającego do zaworu rozprężnego [kg/m3], która jest przedstawiona jako funkcja ciśnienia P3 i entalpii h3:
ρ3 = f(P3, h3). (19)
Ponadto, przyjmuje się, że rozprężanie zachodzi izoentalpowo, stąd: h4 = h3. (20) Iloczyn Czr·Azr zidentyfikowano, jako funkcję ciśnienia P3, ciśnienia P4, temperatury T3 oraz stopnia otwarcia zaworu z (drugie wejście sterujące):
Czr·Azr = f(P3, P4, T3, z). (21)
2.5. Model parowacza
Zmienne wejściowe: parametry czynnika roboczego: h4, mzr, P4, zmienne wyjściowe: entalpia czynnika: h1, ciśnienie czynnika: P1, temperatura powietrza na wylocie: ta_out, moc cieplna pobierana w parowaczu: Q0. Spadek ciśnienia w parowaczu można w uproszczeniu opisać zależnością dotyczącą przepływu jednofazowego, w postaci:
∆Ppar = fT
2L par
πρ 4 D par
m zr2 , (22)
23
Opracowanie i konstrukcja regulatora pompy ciepła typu powietrze-woda: modelowanie obiektu
gdzie fT – współczynnik tarcia, Lpar – długość rur parowacza, Dpar – średnica rur parowacza. Podobnie, jak w przypadku skraplacza, wielkości fT, Lpar, Dpar można spróbować zidentyfikować na podstawie danych pomiarowych, przy czym Lpar i Dpar są wielkościami stałymi. Tak, jak w przypadku skraplacza, całą zależność (22), na podstawie danych pomiarowych, przybliżono funkcją trzeciego stopnia strumienia masy przepływającego przez sprężarkę, czyli:
Temperatura powietrza na wylocie z parowacza jest opisana wzorem:
(30)
gdzie ma – strumień masy powietrza [kg/s], cap – ciepło właściwe powietrza, cap ≈ 1,005 kJ/(kg∙K), Va – strumień objętości
ΔPpar = f(mspr). (23) Znając spadek ciśnienia można wyznaczyć ciśnienie w punkcie 1:
P1 = P4 – ΔPpar. (24)
Zwykle w parowaczu wymiana ciepła odbywa się w dwóch strefach: strefie mieszaniny cieczy i pary suchej (przepływ dwufazowy) oraz strefie pary przegrzanej. Największą część stanowi strefa dwufazowa, stąd w uproszczeniu można przyjąć stałą temperaturę czynnika roboczego w parowaczu odpowiadającą średniej temperaturze nasycenia czynnika w parowaczu: (25)
W badanej pompie ciepła ciśnienie nasycenia czynnika roboczego w punkcie 4 jest znacznie wyższe niż ciśnienie, które umożliwiałoby wymianę ciepła (temperatura czynnika jest wyższa niż temperatura powietrza zewnętrznego). Wymiana ciepła (pobieranie ciepła) pomiędzy czynnikiem roboczym a powietrzem zewnętrznym rozpocznie się dopiero, gdy ciśnienie nasycenia spadnie poniżej ciśnienia nasycenia odpowiadającego temperaturze powietrza zewnętrznego. Stąd przyjęto jako średnią temperaturę czynnika roboczego wartość uwzględniającą temperaturę powietrza zewnętrznego: (26)
gdzie Tpar_wc – średnia temperatura nasycenia czynnika roboczego uczestniczącego w pobieraniu ciepła z powietrza zewnętrznego w parowaczu, P(Ta_in) – ciśnienie nasycenia czynnika roboczego przy temperaturze odpowiadającej temperaturze powietrza zewnętrznego na wlocie do parowacza, P1 – ciśnienie nasycenia czynnika roboczego w punkcie 1 (za parowaczem). Strumień ciepła pobieranego z powietrza zewnętrznego w parowaczu jest opisany zależnością:
(27)
gdzie UAp – iloczyn współczynnika przenikania ciepła (U [W/m2∙K]) oraz powierzchni wymiany ciepła parowacza (A [m2]), [W/K]. Podobnie, jak w przypadku skraplacza, strumień ciepła można także wyznaczyć na podstawie zależności:
Q0 = mzr(h1 – h4), (28)
przy czym entalpia w punkcie 1, h1 jest wyznaczana jako funkcja ciśnienia i temperatury:
h1 = f(P1, T1).
24
P
O
M
I
A
Rys. 2. Porównanie ciśnienia w punktach 1, 2 oraz 4 obiegu czynnika w pompie ciepła (ciśnienie wyrażone w kPa) Fig. 2. Pressure (in kPa) in state points 1, 2 and 4 of the heat pump cycle
(29)
R
Y
•
A
U
T
O
M
A
T
Y
K
A
•
R
O
B
O
T
Y
K
A
N R 1 / 20 1 5
Piotr Tatjewski, Maciej Ławryńczuk, Piotr Marusak, Marian Rubik, Piotr Ziętek i inni
powietrza (w badanej pompie ciepła nominalnie: Va = 1 m3/s), ρa – gęstość powietrza (funkcja temperatury) [kg/m3]. Równanie (30) jest poprawne przy założeniu pracy wymiennika ciepła bez wykraplania wilgoci z powietrza. Jeżeli temperatura czynnika roboczego będzie niższa niż temperatura punktu rosy powietrza zewnętrznego, to następować będzie kondensacja pary wodnej i w obliczeniach należy uwzględnić
również ciepło utajone. Wzór, który to uwzględnia opiera się na entalpii powietrza zewnętrznego i ma postać:
(31)
Określenie temperatury powietrza wilgotnego na podstawie entalpii wymaga określenia wilgotności względnej powietrza lub zawartości wilgoci w powietrzu. Problem ten, jako istotny, jest tu sygnalizowany, jednak w dalszej części pracy nie jest rozważany.
2.6. Algorytm iteracyjnego dostrajania modelu
Idea algorytmu iteracyjnego dostrajania modelu, zaadaptowanego z pracy [2] jest następująca: 1. stosujemy równania opisujące pracę sprężarki otrzymując między innymi wartość strumienia masy; 2. stosujemy równania opisujące pracę skraplacza, otrzymując wartości zmiennych w kolejnym modelu; 3. używamy równań opisujących pracę zaworu rozprężnego otrzymując między innymi wartość strumienia masy; 4. porównujemy wartość strumienia masy w sprężarce i w zaworze rozprężnym. Jeśli są one wystarczająco zbliżone (|mspr – mzr| < δ1), to przechodzimy do kolejnego punktu, jeśli nie, to zmieniamy wartość ciśnienia P2 i wracamy do punktu 1; 5. korzystamy z równań opisujących działanie parowacza. Wśród wartości zmiennych, które otrzymamy, jest wartość entalpii h1; 6. porównujemy wartość entalpii h1 z poprzednio przyjętą wartością. Jeśli są one wystarczająco zbliżone (|h1_po – h1|<δ2), to przechodzimy do kolejnego punktu, jeśli nie, to zmieniamy wartość ciśnienia P4 i wracamy do punktu 1. Zauważmy przy tym, że ciśnienie P4 wpływa na wartość ciśnienia P1 i wartość początkową entalpii h1; 7. otrzymaliśmy zbilansowany model – możemy odczytać wartości poszczególnych zmiennych. Uwagi dotyczące implementacji
W powyższym algorytmie oprócz parametrów określających dokładność bilansowania δ1 i δ2, wprowadzone zostały następujące parametry: −−maksymalna liczba iteracji przy bilansowaniu strumienia masy,
Rys. 3. Porównanie entalpii (w kJ/kg) w punktach 1, 2 oraz 3 obiegu czynnika w pompie ciepła Fig. 3. Enthalpy (in kJ/kg) in the state points 1, 2 and 3 of the heat pump cycle
Rys. 4. Porównanie strumienia masy czynnika w obiegu (w kg/s) Fig. 4. Mass flow of the heat pump cycle (in kg/s)
25
Opracowanie i konstrukcja regulatora pompy ciepła typu powietrze-woda: modelowanie obiektu
Rys. 5. Porównanie temperatury powietrza na wylocie z parowacza w oC Fig. 5. Temperature of air at the outlet of evaporator in oC
Rys. 6. Porównanie temperatury wody na wylocie ze skraplacza w oC Fig. 6. Water temperature at the outlet of condenser in oC
−−maksymalna liczba iteracji przy bilansowaniu entalpii w punkcie 1, −−początkowa wielkość zmiany P2, −−początkowa wielkość zmiany P4. W przypadku dopasowywania wartości ciśnienia P2 oraz P4, początkowe wielkości ich zmian są modyfikowane, podobnie, jak kierunek zmian, tak, aby otrzymać jak najlepsze zbilansowanie modelu. Modyfikacje te są automatyczne i nie wymagają ingerencji użytkownika.
Rys. 6 przedstawia porównanie modelowanej temperatury wody na wylocie ze skraplacza, ze zmierzoną w obiekcie. Jakość modelowania jest również zadowalająca, charakter przebiegu jest w przypadku większości próbek dobrze odwzorowany.
4. Podsumowanie W referacie przedstawiono sposób modelowania rzeczywistej pompy ciepła przy użyciu modelu złożonego z szeregu równań opisujących pracę poszczególnych elementów obiektu oraz algorytmu iteracyjnego służącego do bilansowania modelu. Zastosowane rozwiązanie przyniosło zadowalające wyniki, co dobrze ilustrują rezultaty porównania działania modelu z danymi pozyskanymi z rzeczywistego obiektu. Opracowaniu dobrego modelu pompy ciepła poświęcono szczególną uwagę, ponieważ będzie on bezpośrednio wykorzystany w algorytmie sterowania obiektu, po dalszym przetestowaniu w warunkach zimowych.
3. Porównanie działania modelu z danymi rzeczywistymi z obiektu Podczas eksperymentów z wykorzystaniem danych z rzeczywistego obiektu sprawdzono jakość otrzymanego modelu. Założono następujące parametry algorytmu iteracyjnego dostrajania modelu: δ1= 0,0008, δ2= 0,1, początkowa zmiana wartości ciśnienia P2 ustawiona na 0,01 MPa, początkowa zmiana wartości ciśnienia P4 – na 0,01 MPa. Na rys. 2 przedstawiono przebiegi ciśnienia w poszczególnych punktach obiegu czynnika w pompie ciepła. Ciśnienie w punkcie 3 nie zostało zaprezentowane ponieważ jest bardzo zbliżone do tego z punktu 2. Zauważmy, że błędy modelowania są stosunkowo małe i nie przekraczają 5 %. Podobnie, jak w przypadku ciśnienia, entalpia otrzymywana z modelu różni się stosunkowo niewiele od obliczonej bezpośrednio z danych pomiarowych (rys. 3). Wyjątkiem jest niestety entalpia w punkcie 3, gdzie pojawiają się jej nagłe wzrosty, co wskazuje na konieczność wprowadzenia poprawek do modelu skraplacza. Entalpia w punkcie 4 nie została zaprezentowana, ponieważ jest ona taka sama, jak w punkcie 3. Na rys. 4 przedstawiono porównanie strumienia masy otrzymanego z modelu z tym, który został zmierzony. Zauważmy, że jakość modelowania jest w tym przypadku zadowalająca. Na rys. 5 przedstawiono porównanie temperatury powietrza na wylocie z parowacza otrzymane przy użyciu modelu z wielkością zmierzoną. Warto jednak zaznaczyć, że pomiar nie jest w tym przypadku zbyt pewny ze względu na nierównomierny przepływ powietrza przez wymiennik i związane z tym trudności pomiarowe oraz zmienne warunki atmosferyczne. Mimo tego otrzymany model stosunkowo dobrze odwzorowuje zachowanie tej zmiennej.
26
P
O
M
I
A
R
Y
•
A
U
T
O
M
Podziękowanie
Praca zrealizowana w ramach Programu Operacyjnego Innowacyjna Gospodarka, lata 2007–2013, Priorytet 1 – Badania i rozwój nowoczesnych technologii, Działanie 1.3 – Wsparcie projektów B+R na rzecz przedsiębiorców realizowanych przez jednostki naukowe, Nr POIG.01.03.01-00-071/12, tytuł projektu: „Opracowanie i konstrukcja regulatora pompy ciepła typu powietrze-woda”
Bibliografia 1. Corberan M., Gonzalvez J., Urchueguia J., Lendoiro A.M., Simulation of An Air-to-Water Reversible Heat Pump, “International Refrigeration and Air Conditioning Conference”, paper 524, 2000, [http://docs.lib.purdue.edu/ iracc/524] 2. Domanski P., Didion D., Computer Modeling of the Vapor Compression Cycle With Constant Flow Area Expansion Device, “NBS Building Science Series” 155, 1983. 3. Klein S.A., Reindl D.T., Develop Data Base for Determining Optimum Compressor Rating Points for Residential Refrigerator and Freezer Compressors, “ASHRAE Report” RP-870, 1999. A
T
Y
K
A
•
R
O
B
O
T
Y
K
A
N R 1 / 20 1 5
Piotr Tatjewski, Maciej Ławryńczuk, Piotr Marusak, Marian Rubik, Piotr Ziętek i inni
4. Lemmon E.W., Huber M.L., McLinden M.O., NIST Standard Reference Database 23: Reference Fluid Thermodynamic and Transport Properties-REFPROP, Version 9.1, National Institute of Standards and Technology, Standard Reference Data Program, Gaithersburg 2013. 5. Liang C., Jiangping C., Jinghui L., Zhijiu C., Experimental investigation on mass flow characteristics of electronic expansion valves with R22, R410A and R407C, “Energy Conversion and Management”, vol. 50(4) 2009, 1033–1039. 6. Rasmussen B., Alleyne A.G., Dynamic Modeling and Advanced Control of Air Conditioning and Refrigeration Systems, ACRC TR-244, June 2006.
7. Sanaye S., Dehghandokht M., Mohammadbeigi H., Bahrami S., Modeling of rotary vane compressor applying artificial neural network, “Internal Journal of Refrigeration” vol. 34 2011, 764–772. 8. Winkler J., Development of a Component Based Simulation Tool for the Steady State and Transient Analysis of Vapor Compression Systems, Ph.D. thesis, Department of Mechanical Engineering, University of Maryland College Park, MD, 2009.
Design and construction of the controller for air-water heat pump: modeling of control plant Abstract: A method of design of a heat pump model for developing optimizing control device
is described. The control plant is fast, therefore a static control plant model is considered. The model consists of many equations describing elements of the heat pump, namely: a compressor, a condenser, an expansion valve and an evaporator. Despite relatively rich literature describing models of the elements of the heat pump, connection of these models into one is not a simple task. Due to the complexity of the problem some functions describing changes of parameters of the control plant must be obtained (in most cases polynomials are used as these functions). Moreover, as the complexity of the model is considerable an algorithm based on direct iteration method must be used to obtain output values. Thanks to the approach which was described in the paper, good quality of modeling was obtained, what is well illustrated by results of comparison of variables obtained from the model with data collected from the real plant.
Keywords: heat pump, modeling, direct iteration method
prof. dr hab. inż. Piotr Tatjewski
dr hab. inż. Maciej Ławryńczuk
Mgr inż w 1972 r., dr inż. w 1976 r., dr hab. w 1988 r. na Wydziale Elektroniki Politechniki Warszawskiej. Od 1993 r. profesor PW w Instytucie Automatyki i Informatyki Stosowanej, w latach 1996–2008 dyrektor Instytutu. Od 2003 r. profesor tytularny, od 2006 r. zwyczajny, obecnie kierownik Zakładu Automatyki i Inżynierii Oprogramowania, Prodziekan ds. Nauki Wydziału Elektroniki i Technik Informacyjnych PW. Członek Komitetu Automatyki i Robotyki PAN. Autor 7 książek, ponad 130 artykułów i referatów opublikowanych, pięciokrotnie laureat nagrody Ministra Nauki i Szkolnictwa Wyższego za osiągnięcia w pracy naukowej, w tym trzykrotnie indywidualnie. Zainteresowania naukowe: sterowanie zaawansowane, regulacja predykcyjna, sterowanie warstwowe i optymalizacja punktów pracy, inteligencja obliczeniowa, metody hierarchiczne optymalizacji i sterowania.
Urodzony w Warszawie w 1972 r. Pracuje w Instytucie Automatyki i Informatyki Stosowanej Politechniki Warszawskiej, na Wydziale Elektroniki i Technik Informacyjnych, gdzie w 1998 r. uzyskał dyplom magistra inżyniera elektronika o specjalności automatyka i robotyka, w 2003 r. uzyskał stopień naukowy doktora nauk technicznych w dyscyplinie automatyka i robotyka, natomiast w 2013 r. stopień naukowy doktora habilitowanego w tej samej dziedzinie. Jego zainteresowania naukowe to: zaawansowane algorytmy regulacji, w szczególności algorytmy regulacji predykcyjnej, algorytmy optymalizacji punktu pracy, techniki sztucznej inteligencji, w szczególności sieci neuronowe, zagadnienia modelowania i symulacji. Jest autorem (lub współautorem) 6 książek i ponad 100 publikacji naukowych. Brał udział w kilkunastu projektach badawczych oraz badawczo-rozwojowych.
P. Tatjewski@elka.pw.edu.pl
M.Lawrynczuk@ia.pw.edu.pl
27
Opracowanie i konstrukcja regulatora pompy ciepła typu powietrze-woda: modelowanie obiektu
dr inż. Piotr Marusak
dr inż. Marian Rubik
Urodzony w Warszawie w 1974 r. Dyplom magistra inżyniera uzyskał w 1997 r. a doktora inżyniera – w 2003 r., obydwa na Wydziale Elektroniki i Technik Informacyjnych Politechniki Warszawskiej. Pracuje w Instytucie Automatyki i Informatyki Stosowanej Politechniki Warszawskiej. Jego zainteresowania naukowe obejmują: sterowanie obiektów nieliniowych, algorytmy regulacji predykcyjnej, modelowanie i sterowanie rozmyte, układy regulacji odporne na uszkodzenia, układy sterowania z optymalizacją punktu pracy.
Głównym obszarem działalności zawodowej i naukowej jest technika chłodnicza w klimatyzacji, zastosowanie pomp ciepła w technice instalacyjnej, trójgeneracja, wykorzystanie systemów ciepłowniczych w okresie letnim do zasilania urządzeń chłodniczych instalacji klimatyzacyjnych, niezawodność urządzeń chłodniczych, racjonalizacja wykorzystania ciepła, chłodu i energii elektrycznej, intensyfikacja procesów wymiany ciepła i masy w technice chłodniczej i klimatyzacyjnej, niekonwencjonalne źródła ciepła i energii. Autor ok. 20 książek i skryptów wyróżnionych nagrodami I, II i III stopnia Ministrów: Nauki i Szkolnictwa Wyższego oraz Budownictwa i Przemysłu Materiałów Budowlanych oraz ok. 200 artykułów i referatów.
dr inż. Maciej Szumski
dr inż. Piotr Ziętek
Absolwent Wydziału Elektroniki Politechniki Warszawskiej mający wieloletnie doświadczenie w konstrukcji urządzeń elektronicznych (Zakład Elektronicznej Aparatury Medycznej w Zabrzu, Centralny Ośrodek Techniki Medycznej w Białymstoku). Od 1986 r. właściciel firmy PLUM i od 2000 r. prezes spółki prawa handlowego PLUM sp. z o.o., która produkuje precyzyjne przyrządy pomiarowe dla gazownictwa oraz układy zaawansowanej automatyki.
Urodzony w Warszawie w 1977 r. Dyplom magistra inżyniera uzyskał w 2001 r. a doktora inżyniera w 2007 r. – obydwa na Wydziale Inżynierii Środowiska Politechniki Warszawskiej. Pracuje w Zakładzie Klimatyzacji i Ogrzewnictwa. Jego zainteresowania zawodowe i naukowe dotyczą badań i analiz związanych z wentylacją i klimatyzacją, rozdziałem powietrza wentylacyjnego, techniką chłodniczą na potrzeby klimatyzacji i ogrzewania, a także aspektów związanych z projektowaniem i eksploatacją systemów HVACR w budynkach.
P.Marusak@ia.pw.edu.pl
M.Rubik9@upcpoczta.pl
piotr.zietek@is.pw.edu.pl
maciej.szumski@plum.pl
inż. Michał Szumski michal.szumski@plum.pl
Urodzony w Białymstoku w 1989 r. Dyplom inżyniera uzyskał w 2010 r. na Wydziale Matematyki na Uniwersytecie Loughborough w Wielkiej Brytanii. Pracuje w firmie Plum sp. z o.o. Jego zainteresowania zawodowe obejmują: sterowanie ogrzewaniem i wentylacją w domach energooszczędnych, sterowanie pompami ciepła.
28
P
O
M
I
A
R
Y
•
A
U
T
O
M
A
T
Y
K
A
•
R
O
B
O
T
Y
K
A
N R 1 / 20 1 5
Pomiary Automatyka Robotyka, R. 19, Nr 1/2015, 29–36, DOI: 10.14313/PAR_215/29
Analiza efektywności wybranych równoległych implementacji algorytmu Gaussa-Seidela Marek Machaczek, Jan Sadecki
Instytut Automatyki i Informatyki, Wydział Elektrotechniki, Automatyki i Informatyki, Politechnika Opolska, 45-272 Opole, ul. Sosnkowskiego 31
Streszczenie: W artykule przedstawiono analizę porównawczą dotyczącą badania efektywności
kilku równoległych implementacji algorytmu Gaussa-Seidela. Analizowany w artykule algorytm pozwala na osiągnięcie dosyć dobrych pod względem szybkości zbieżności oraz wartości współczynnika przyspieszenia obliczeń wyników w porównaniu do standardowej sekwencyjnej oraz równoległej implementacji metody Gaussa-Seidela. Obliczenia praktyczne przeprowadzono w środowisku procesorów wielordzeniowych oraz w środowisku klastrów obliczeniowych. Słowa kluczowe: algorytmy optymalizacji, obliczenia równoległe, równoległe algorytmy optymalizacji
1. Wprowadzenie Problemy optymalizacji występują w bardzo wielu dziedzinach współczesnej nauki oraz techniki. Pojawiają się one wszędzie tam, gdzie poszukuje się najlepszych, z punktu widzenia przyjętych kryteriów, rozwiązań. W teorii i praktyce obliczeń optymalizacyjnych znanych jest wiele bardzo różnorodnych metod i algorytmów, często silnie powiązanych z rodzajem zadań i problemów, do których rozwiązania są one wykorzystywane. Dobór właściwego do rozważanego problemu algorytmu zależny jest również od ilości oraz rodzaju dostępnej informacji o przyjętej funkcji celu. W przypadku prostszych algorytmów wystarczające może być zagwarantowanie możliwości wyznaczenia jedynie wartości funkcji celu, podczas, gdy zastosowanie bardziej zaawansowanych metod obliczeniowych może wymagać znajomości gradientu, czy też nawet drugich pochodnych funkcji celu [3, 4]. W przypadku złożonych zadań optymalizacji już samo wyznaczenie wartości funkcji celu może wymagać przeprowadzenia bardzo czasochłonnych obliczeń, wynikających ze złożoności modeli wykorzystywanych do opisu optymalizowanych procesów i zjawisk rzeczywistych. Dodatkowym czynnikiem zwiększającym czasochłonność procedur optymalizacyjnych może być wysoki wymiar rozwiązywanych
Autor korespondujący: Jan Sadecki, j.sadecki@po.opole.pl Artykuł recenzowany nadesłany 22.12.2014 r., przyjęty do druku 23.01.2015 r. Zezwala się na korzystanie z artykułu na warunkach licencji Creative Commons Uznanie autorstwa 3.0
problemów, co przy stosowaniu nawet najbardziej efektywnych algorytmów optymalizacji może stanowić poważne utrudnienie w procesie ich rozwiązywania. Bardzo duży potencjał w zakresie znacznego ograniczenia niedogodności wynikających z dużej czasochłonności obliczeń optymalizacyjnych tkwi w możliwości zastosowania do ich realizacji tak programowych, jak i sprzętowych środków umożliwiających równoległe przetwarzania danych [5, 6, 11]. Rozważania przedstawione w niniejszej pracy dotyczą generalnie zadania programowania nieliniowego (ZPN), sformułowanego w punkcie 2 zależnością (1). Większość z podstawowych algorytmów obliczeniowych optymalizacji ma strukturę wybitnie sekwencyjną, stąd też bezpośrednie ich wykorzystanie do obliczeń w systemach równoległych może okazać się dosyć trudne. Jest tak np. w odniesieniu do wielu metod i algorytmów programowania nieliniowego, opartych na wykonywaniu sekwencji elementarnych zadań optymalizacji kierunkowych realizowanych dla właściwych dla danych metod sposobów określania kierunków poszukiwań. Z uwagi na naturalne ograniczenia wielu środowisk przetwarzania równoległego, związane z niekorzystnym wpływem procesu wymiany danych (np. klastry obliczeniowe) lub częstego odwołania do wspólnych danych (np. systemy z pamięcią wspólną) na globalną efektywność praktycznych implementacji algorytmów równoległych, powinno się zmierzać do tego, aby granulacja zadań realizowanych równolegle nie była zbyt drobna. Stąd też przyjęte w niniejszej pracy założenie aby, w odniesieniu do równoległych implementacji rozważanych algorytmów optymalizacji, zadanie optymalizacji kierunkowej było najmniejszą możliwą do wyszczególnienia porcją zadania, wydaje się być uzasadnione. W implementacjach sekwencyjnych rozważanych algorytmów optymalizacji generowany jest zazwyczaj ściśle sekwencyjny ciąg przybliżeń (rozwiązań) problemu, zbieżny (przy zapewnieniu zbieżności wykorzystywanej metody) do rozwiązania optymal-
29
Analiza efektywności wybranych równoległych implementacji algorytmu Gaussa-Seidela nego. W przypadku równoległej implementacji tych algorytmów otrzymuje się z reguły (na każdym jego etapie) rozproszoną grupę punktów, na bazie których należy określić jeden punkt lub grupę punktów (przybliżeń rozwiązania optymalnego) stanowiących punkt początkowy dla kolejnego etapu algorytmu. Wspomniana wyżej grupa punktów może być otrzymana w wyniku równolegle (jednocześnie) realizowanych wielu zadań optymalizacji kierunkowej, „startujących” z tego samego lub z wielu różnych punktów początkowych, realizowanych przy tym względem jednego, tego samego kierunku poszukiwań (wiązka równoległa) lub wielu (wiązka zbieżna lub rozbieżna) różnych kierunków. Spostrzeżenie to może być podstawą sformułowania wielu różnych równoległych implementacji tego samego algorytmu sekwencyjnego, przy czym tak sformułowane algorytmy mogą charakteryzować się różnymi warunkami zbieżności oraz różną szybkością zbieżności w porównaniu do wyjściowej, sekwencyjnej ich wersji, jednak ich bezsprzeczną zaletą jest to, że mogą być realizowane w sposób równoległy, a więc pozwalają na wykorzystanie trudnego do przecenienia potencjału, jaki tkwi w równoległych systemach obliczeniowych [11]. Może się też zdarzyć, że opracowana dla danego algorytmu sekwencyjnego wersja równoległa będzie charakteryzowała się zdecydowanie lepszymi właściwościami w porównaniu do jej odpowiednika sekwencyjnego, jak to jest np. w przypadku równoległej wersji algorytmu Neldera-Meada [2, 11]. Algorytm sympleksu Neldera-Meada jest w miarę popularnym i, jak wskazuje literatura przedmiotu (np. pozycja [8, 11]), dosyć chętnie stosowanym algorytmem w obliczeniach praktycznych, tym bardziej że jego implementacja dostępna jest w środowisku MATLAB. Jednakże jego zastosowanie w odniesieniu do realizacji sekwencyjnej może prowadzić do tak zwanej redukcji sympleksu, co skutkuje praktycznie niemożnością wyznaczenia rozwiązania optymalnego bez zastosowania procedury „odświeżania” sympleksu. Ponadto, jak pokazują badania zaprezentowane w pracy [11], dla rozważanych tam przykładów, zastosowanie algorytmu Neldera-Meada daje gorsze wyniki odnośnie czasochłonności obliczeń, (zarówno w implementacji sekwencyjnej, jak i równoległej) w porównaniu do omawianego w niniejszym artykule algorytmu Gaussa-Seidela z dynamiczną modyfikacją bazy kierunków poszukiwań. Możliwość równoległego prowadzenia obliczeń (np. jednoczesnego poszukiwania ekstremum w różnych kierunkach generowanych według różnych algorytmów) stwarza również realne podstawy poprawy niezawodności stosowanych obecnie algorytmów, co ma znaczenie w odniesieniu do trudnych (np. źle uwarunkowanych) zadań optymalizacji. Straty czasu spowodowane stosowaniem wielu kierunków poszukiwań są tutaj rekompensowane przyspieszeniem wynikającym z równoległego sposobu przetwarzania danych. Może się też zdarzyć, że opracowana dla danego algorytmu sekwencyjnego wersja równoległa będzie charakteryzowała się lepszymi właściwościami lub też nawet w pewnych warunkach szybszą zbieżnością, jak jest na przykład w przypadku jednej z zaproponowanych w pracy [11] równoległych implementacji algorytmu Gaussa-Seidela, który to algorytm dla niektórych zadań okazał się wyraźnie szybciej zbieżny niż jego podstawowa wersja sekwencyjna. Jedną z bardzo interesujących propozycji równoległej implementacji obliczeń optymalizacyjnych jest metoda zaproponowana przez Chazana-Mirankera [1, 11]. Opiera się ona na równoległej optymalizacji kierunkowej prowadzonej jednocześnie przez P = n procesorów (gdzie n – wymiar problemu optymalizacji) w jednym i tym samym kierunku, przy czym poszczególne procesory prowadzą tę optymalizację startując z pewnej, sukcesywnie modyfikowanej bazy n punktów określonych w przestrzeni Rn. W pracach poświęconych omawianej metodzie znajduje uzasadnienie stwierdzenie, iż jest ona zbieżna dla pewnej klasy ściśle wypukłych, podwójnie różniczkowalnych funkcji. Ponadto, jeżeli minimalizowana funkcja f(x), gdzie x Î Rn
30
P
O
M
I
A
R
Y
•
A
U
T
O
M
jest funkcją kwadratową, wówczas metoda ta będzie zbieżna po wykonaniu maksymalnie n2 optymalizacji kierunkowych, co przy założeniu, że n optymalizacji jest wykonywanych jednocześnie przez P = n procesorów daje w efekcie zbieżność dla tego typu funkcji po n iteracjach, gdzie przez iterację rozumie się jeden pełny cykl algorytmu. Jak pokazały zaprezentowane w pracy [11] badania, metoda ta może prowadzić do bardzo interesujących rezultatów, w szczególności w odniesieniu np. do trudniejszych zadań optymalizacji (np. dla funkcji Rosenbrocka), dla których inne, prostsze metody zawodzą. Innym, równie interesującym rozwiązaniem jest zaproponowany w pracy [11] algorytm równoległy oparty również na wykorzystaniu wiązki równoległej, lecz wykorzystujący dodatkowo pewną specyficzną właściwość tak prowadzonej optymalizacji, skutkującej mającą miejsce na każdym etapie algorytmu redukcją wymiaru przestrzeni poszukiwań, co dla pewnego typu problemów optymalizacji, gwarantuje uzyskanie zbieżności algorytmu do rozwiązania optymalnego w n krokach, lecz przy dwukrotnie mniejszym, w porównaniu do metody Chazana-Mirankera, nakładzie obliczeń. Na szczególną uwagę zasługują również tak zwane algorytmy dwuetapowe. Powstały one również z myślą o wykorzystaniu do ich realizacji systemów równoległych, gdyż w naturalny sposób zakładają równoległe przeszukiwanie przestrzeni, w jakiej określone jest rozważane zadanie przy wykorzystaniu zbieżnej bądź równoległej wiązki kierunków [11, 13]. Są one połączeniem wykonywanych naprzemiennie algorytmów dwojakiego typu. Pierwszy z tych algorytmów, stanowiący tak zwaną iterację rozbieżną, ma za zadanie wygenerowanie rozproszonego zbioru rozwiązań aproksymujących rozwiązanie optymalne. W najprostszym przypadku może tu być wykorzystany algorytm realizujący poszukiwania w kierunkach wersorów kartezjańskiego układu współrzędnych (np. algorytm Gaussa-Seidela). Drugi z algorytmów polega z kolei na wytyczeniu w każdym z tych punktów kierunku poprawy, przeprowadzeniu optymalizacji w tych kierunkach oraz wyborze takiego spośród otrzymanych rozwiązań, które najlepiej aproksymuje rozwiązanie optymalne. Jeżeli kierunki te będą generowane niezależnie w każdym z punktów przy wykorzystaniu np. algorytmów newtonowskich, wówczas otrzyma się tzw. zbieżną wiązkę kierunków (iteracja zbieżna), jeżeli natomiast dla każdego z punktów generowany będzie jeden i ten sam wspólny kierunek to otrzymana wiązka będzie wiązką równoległą (iteracja równoległa) [11]. Jak z powyższego widać, w algorytmach tych tkwią duże potencjalne możliwości zwiększenia niezawodności obliczeń optymalizacyjnych w porównaniu do klasycznych algorytmów jednoetapowych. Wynika to głównie z tego, iż przeszukuje się dany obszar rozwiązania nie jednym, lecz wiązką kierunków, a ponadto przy generowaniu wiązki kierunków można posługiwać się nie jednym, lecz wieloma różnymi algorytmami, co może być ważne w przypadku trudnych zadań optymalizacji. Przedmiotem niniejszego artykułu jest przedstawienie jeszcze innej możliwości równoległej realizacji obliczeń optymalizacyjnych zaproponowanej w pracy [11], będącej daleko idącą modyfikacją klasycznego algorytmu Gausa-Seidela. Modyfikacja ta polega na sukcesywnej aktualizacji przyjętej na początku obliczeń ortogonalnej bazy kierunków poszukiwań. Jak pokazano w pracy [11], podejście takie może prowadzić dla pewnych funkcji do bardzo dobrych wyników, konkurencyjnych w stosunku do rezultatów otrzymanych przy wykorzystaniu innych klasycznych metod optymalizacji podobnego typu.
2. Metoda Gaussa-Seidela Algorytm Gaussa-Seidela jest jednym z najprostszych, a zarazem najbardziej naturalnym algorytmem rozwiązywania wielowymiarowych zadań programowania nieliniowego (ZPN) bez A
T
Y
K
A
•
R
O
B
O
T
Y
K
A
N R 1 / 20 1 5
Marek Machaczek, Jan Sadecki ograniczeń, opartym na wykorzystaniu optymalizacji kierunkowej [3, 4, 7, 11, 12]. Cechą charakterystyczną tego algorytmu jest wykorzystanie stałej, niezmieniającej się w czasie realizacji obliczeń bazy kierunków określonej przez wersory kartezjańskiego układu współrzędnych. Kierunki te w przestrzeni Rn określone są następująco: x1 = [1, 0, 0, … 0, 0]T, x2 = [0, 1, 0, … 0, 0]T, … xn = [0, 0, 0, … 0, 1]T. Zadanie poszukiwania minimum funkcji bez ograniczeń można sformułować następująco: (1) x ∈R
gdzie: f: Rn ® R, przy czym zakłada się, że f jest funkcją ograniczoną od dołu. Analizę efektywności równoległych realizacji omawianych algorytmów prowadzono w oparciu o przykładowe, mieszczące się w klasie problemów opisanych ogólną zależnością (1) zadanie programowania nieliniowego. Poniżej przedstawiono rozważane w artykule wersje algorytmu Gaussa-Seidela tak w implementacji sekwencyjnej, jak i analizowanych realizacjach równoległych. Do wyznaczania minimum funkcji w kierunku (w wersji sekwencyjnej oraz równoległej) wykorzystano algorytm Brenta [10] oparty na zastosowaniu metody interpolacji kwadratowej oraz metody złotego podziału. Jako kryterium stopu przy obliczaniu minimum w kierunku przyjęto spełnienie warunku:
λi +1 − λi ≤ ek , (2)
gdzie: li, li+1 oznaczają kolejno po sobie wyznaczane w algorytmie minimalizacji kierunkowej przesunięcia względem punktu x0 w kierunku x(x = x0 + lx), gwarantujące zmniejszenie wartości funkcji f(x0 + lx). Natomiast generalnie dla każdej z analizowanych metod programowania nieliniowego kryterium stopu było spełnienie warunku:
(3)
gdzie: xi+1, xi oznaczają przybliżenia rozwiązania optymalnego wyznaczone w kolejnych krokach algorytmu, przy czym przez krok algorytmu rozumie się w przypadku metody Gaussa-Sedela wykonanie n zadań minimalizacji kierunkowych funkcji f(x) we wszystkich kierunkach przyjętej bazy ortogonalnej, natomiast norma rozumiana jest w sensie normy euklidesowej, tzn.:
(4)
Dla wielkości określających odpowiednio dokładność realizacji optymalizacji kierunkowej (ek) oraz dokładność realizacji całej metody (em) przyjęto następujące wartości
ek = 10–8, em = 10–6. (5)
Jako punkt xo, z którego inicjowano obliczenia, przyjęto we wszystkich przeprowadzonych badaniach symulacyjnych punkt początkowy układu współrzędnych: x0 = [0, 0, 0, ... 0, 0]T.
Dla rozważanego w artykule przykładu (15) badane algorytmy są praktycznie zbieżne do rozwiązania optymalnego niezależnie od wyboru punktu początkowego. Mogą jednak wystąpić pewne różnice w szybkości zbieżności (liczbie iteracji niezbędnych dla uzyskania wymaganej dokładności obliczeń), które nie mają jednak większego znaczenia z punktu widzenia rozważanej w artykule problematyki. Algorytm sekwencyjny (AS)
Algorytm w implementacji sekwencyjnej sprowadza się do realizacji obliczeń według następujących kroków [11]: 1. dla j = 1, 2, ..., n obliczyć kolejno minimalizujące:
min: f (x j −1 +l j x j ), (6) lj
oraz współrzędne nowego punktu:
x j = x j −1 + ˆl j x j , (7)
gdzie: f(x) – minimalizowana funkcja, x Î Rn, x1, x2, …, xn – baza wyjściowa utworzona z n wzajemnie ortogonalnych wersorów kartezjańskiego układu współrzędnych. 2. powyższe kroki powtarza się do momentu spełnienia kryterium stopu. Przyjmując zadania minimalizacji kierunkowej za najmniejsze części algorytmu, które mogłyby być realizowane równolegle (jednocześnie), zadania tego nie da się w prosty sposób zrealizować równolegle, gdyż ma ono strukturę sekwencyjną. Dostosowanie omawianego algorytmu do równoległej architektury komputera (w wersji procesora wielordzeniowego, czy też klastra połączonych ze sobą komputerów) wymaga jego wcześniejszej modyfikacji. Zrównolegloną wersję omawianego algorytmu można sformułować w przedstawiony poniżej sposób [11]. Algorytm równoległy (AR1)
Algorytm w implementacji równoległej polega na realizacji obliczeń w następujących krokach [11, 12]: 1. każdy procesor oblicza minimalizujące funkcję f(x) w jednym kierunku (gdy n = P, gdzie n – wymiar problemu, P – liczba procesorów) lub kolejno w kilku kierunkach (gdy n > P), j = 1, 2, ..., n:
min: f (x 0 +l j x j ), (8) lj
gdzie: x0 – wynik poprzedniej iteracji, 2. nowy punkt wyznacza się według zależności: n
x = xo + ∑ ˆl j x j → x 0 , (9) j=1
3. powyższe kroki powtarza się do momentu spełnienia kryterium stopu. Konsekwencją stosowania złożenia (9) może być wolniejsza zbieżność algorytmu, co zostało potwierdzone praktycznymi obliczeniami. Zaletą natomiast jest to, że tak sformułowany algorytm może być realizowany w sposób równoległy. Przedstawiony powyżej algorytm równoległy, podobnie jak jego wyjściowa wersja sekwencyjna, zakłada korzystanie z niezmieniającej się w czasie bazy ortogonalnych kierunków poszukiwań. Zakładając możliwość jednoczesnej (równoległej) realizacji wielu zadań poszukiwania minimum optymalizowanej funkcji w wielu różnych kierunkach, można podjąć próbę sformułowania nowego algorytmu dopuszczającego modyfikację bazy kierunków. Idea ta legła u podstaw zaproponowanej w pracy
31
Analiza efektywności wybranych równoległych implementacji algorytmu Gaussa-Seidela Na podstawie badań ustalono, że współczynnik a rzędu 10-2 jest odpowiedni tylko dla problemów o wymiarze nie większym niż 250. Dla problemów o większym wymiarze taka wartość współczynnika a była przyczyną zakłóceń w zbieżności algorytmu do rozwiązania optymalnego lub też skutkowała spowolnieniem szybkości zbieżności algorytmu. Problemy te znikały przy właściwym doborze wartości tego współczynnika dla danego wymiaru problemu n. Wartość współczynnika a dla problemów o większym wymiarze była dobierana na tym etapie badań eksperymentalnie. Generalnie przyczyną zaobserwowanych problemów w przebiegu algorytmu były problemy wynikające z niezachowania wzajemnej sprzężoności wektorów określających kierunki poszukiwań, wchodzących w skład sukcesywnie modyfikowanej bazy kierunków. Problemów tych uniknięto stosując sukcesywne odświeżanie bazy kierunków lub też wprowadzając na wzór metody Powella, dodatkowy warunek uzależniający modyfikację bazy od np. wartości wyznacznika macierzy kierunków. Algorytm Gaussa-Seidela został zaimplementowany w dwóch środowiskach systemów równoległych: przy wykorzystaniu standardu OpenMP – w środowisku maszyn wielordzeniowych, oraz przy wykorzystaniu standardu MPI – na klastrze komputerów [6]. Obliczenia z biblioteką OpenMP zostały przeprowadzone na komputerze stacjonarnym z procesorem i5-3570k w systemie operacyjnym Ubuntu 12.04, natomiast obliczenia z protokołem MPI zostały przeprowadzone na klastrze uczelnianym składającym się z 16 identycznych maszyn (węzłów) z procesorem AMD Phenom II X6 1090T w systemie operacyjnym Fedora 17. Poniżej przedstawiono wyniki numeryczne otrzymane na drodze praktycznej realizacji omówionych wyżej metod i algorytmów równoległych. Ocenę efektywności obliczeń równoległych prowadzono w oparciu o współczynnik przyspieszenia określony zależnością (14). Oznaczając mianowicie przez tSEQ(1,n) czas realizacji algorytmu sekwencyjnego (lub algorytmu równoległego realizowanego sekwencyjnie) na jednym wątku albo na jednym procesie, natomiast przez tPAR(P,n) czas równoległej realizacji algorytmu równoległego przy wykorzystaniu P wątków albo P procesów. Czasy te dotyczą rozwiązania tego samego n-wymiarowego problemu optymalizacji. Wartość współczynnika przyspieszenia obliczeń wyznaczano w oparciu o zależność:
[11] nowej równoległej wersji analizowanego w artykule algorytmu. Algorytm w takiej wersji nie jest już de facto algorytmem Gaussa-Seidela. Można stwierdzić, iż zawiera on zarówno elementy algorytmu Gaussa-Seidela (optymalizacja względem n-wymiarowej bazy kierunków), jak i analizowanej w pracy [11] równoległej implementacji algorytmu Powella (dopuszczającej modyfikację wykorzystywanej bazy kierunków). Wersja sekwencyjna algorytmu Powella opisana jest w pracach [3, 4], natomiast zrównoleglony algorytm Gaussa-Seidela z modyfikowaną bazą kierunków został sformułowany poniżej. Algorytm równoległy Gaussa-Seidela z modyfikacją bazy (AR2):
Zaproponowany w pracy [11] algorytm równoległy z modyfikacją bazy sprowadza się do realizacji obliczeń według następujących kroków: 1. każdy procesor oblicza minimalizujące funkcję f(x)w jednym kierunku (gdy n =P, gdzie P – liczba procesorów) lub kolejno w kilku kierunkach (gdy n >P), j = 1,2, ... ,n:
min: f (x 0 +l j x j ), (10) lj
gdzie: x0 – wynik poprzedniej iteracji, 2. nowy punkt wyznaczyć z: x = x0 + emax, (11) gdzie:
3. wyznaczyć współrzędne nowego kierunku:
x j = l / ||l||,
gdzie l = x − x 0 (12)
4. zmodyfikować bazę kierunków x1, x2 , ..., xn : x j = x*j +ax, i, j =1,2, ...,n (13) gdzie: , x *j – przeorientowany znakowo kierunek xj (za dodatni przyjmuje się zwrot zgodny ze zwrotem x), 5. powyższe kroki powtarza się do momentu spełnienia kryterium stopu. Tak sformułowany algorytm znacząco różni się od równoległego algorytmu Gaussa-Seidela AR1. Następuje tutaj modyfikacja bazy kierunków w sposób nie zachowujący jej ortogonalności. Ponadto, ze względu na niezachowaną ortogonalność wykorzystywanej bazy kierunków, stosowanie prostego złożenia geometrycznego wyznaczanych równolegle przesunięć (uzyskanych dla poszczególnych kierunków bazowych) może prowadzić do „spowolnienia” algorytmu, jak też może, w krańcowych sytuacjach być przyczyną niezbieżności algorytmu. W celu uniknięcia tych niedogodności, zaproponowano złożenie tylko maksymalnych wartości wyznaczonych przesunięć, obliczanych względem poszczególnych składowych (wersorów) globalnego, kartezjańskiego układu współrzędnych (globalnego układu odniesienia). Generowany nowy kierunek wykorzystywany jest jedynie do modyfikowania istniejącej bazy według zależności (13), a nie tak jak to jest w metodzie Powella do tworzenia nowego kierunku bazowego. Wymagane przeorientowanie zwrotów kierunków ma zapewnić zawężanie się układu kierunków wokół wyznaczanych kolejno (w kolejnych krokach algorytmu) przybliżeń rozwiązania optymalnego. Początkowa wartość wykorzystywanego do modyfikacji bazy kierunków współczynnika a została empirycznie wyznaczona na 10-2.
32
P
O
M
I
A
R
Y
•
A
U
T
O
M
S (P,n ) =
tSEQ (1,n )
tPAR (P,n )
. (14)
Obliczenia prezentowane poniżej przeprowadzone były na przykładzie następującego problemu optymalizacji:
(15) gdzie n oznacza wymiar problemu optymalizacji. Funkcja (15) jest typową funkcją testową, podobną do innych tego typu funkcji cytowanych w literaturze [13], skonstruowaną na potrzeby analizy porównawczej prowadzonej m.in. w pracy [11]. Jest ona funkcją ściśle wypukłą w całym obszarze określoności, spełniającą wszystkie podstawowe wymagania zawarte w warunkach stosowalności analizowanych metod optymalizacji. Na rys. 1 przedstawiono wykres poziomicowy funkcji (15) dla przypadku n = 2. Wyniki obliczeń przedstawione zostały na rysunkach: 2, 3 oraz 4. Prezentowane badania symulacyjne dotyczyły rozwiązania problemu (1) dla funkcji f(x) określonej zależnością (15), przy n = 500. Rysunki 2 oraz 3 dotyczą algorytmu AR1, przy czym rys. 2 obrazuje zależność wartości współczynnika przyspieszenia obliczeń w funkcji liczby wątków (OpenMP), natomiast rys. 3. przedstawia zależność wartości tego współczynnika od liczby procesów (MPI). W tym przypadku obliczenia zrealizowane były na 16 węzłowym (96 rdzeniowym) klastrze, przy czym wyszczeA
T
Y
K
A
•
R
O
B
O
T
Y
K
A
N R 1 / 20 1 5
Marek Machaczek, Jan Sadecki 8.0 7.0 f=101 f=51
6.0
x2
5.0
f=1
4.0 3.0 f=1001
2.0 1.0 0.0 -2.0
-1.0
0.0
1.0
2.0
3.0 x1
4.0
5.0
6.0
7.0
8.0
Rys. 1. Funkcja testowa: n = 2 Fig. 1. Benchmark function: n = 2
gólnione w obliczeniach procesy realizowane były na różnych rdzeniach wchodzących w skład węzłów klastra. Rys. 4 dotyczy natomiast algorytmu AR2 i przedstawia, podobnie jak rys. 2, zależność wartości współczynnika przyspieszenia obliczeń w funkcji liczby wątków. Jak wynika z rysunków 2 oraz 4, algorytmy AR1 oraz AR2 niewiele się różnią jeżeli chodzi o uzyskane wartości przyspieszenia obliczeń, co jest raczej zrozumiałe z uwagi na przyjęty w artykule, często stosowany w praktyce, sposób obliczania wartości współczynnika przyspieszenia. Za punkt odniesienia przy wyznaczaniu jego wartości, czyli jako czas sekwencyjnej realizacji algorytmu, przyjęto czas realizacji zrównoleglonej wersji algorytmu na jednym wątku/procesie.
Różnice pomiędzy analizowanymi wersjami algorytmu Gaussa-Seidela będą możliwe do zaobserwowania jedynie wówczas, gdy do ich porównania przyjmie się wskaźnik odzwierciedlający rzeczywistą czasochłonność obliczeń. Dobrą bezwzględną miarą może być tutaj liczba iteracji niezbędnych do przeprowadzenia w celu uzyskania takiej samej dokładności rozwiązania (dla takich samych parametrów zadania). Jest to tym bardziej uzasadnione, iż czasochłonność pojedynczych iteracji dla wszystkich analizowanych algorytmów dla takiej samej liczby wątków/procesów powinna być zbliżona. Nakład obliczeń mierzony liczbą iteracji jaką otrzymano w przypadku algorytmów AS, AR1 oraz AR2 (dla n = 500) przedstawiono na rys. 5. Rysunek ten obrazuje bardzo interesującą zaletę analizowanego algorytmu z modyfikacją bazy (AR2), a mianowicie dla rozważanych przykładów okazał się on szybciej zbieżny zarówno w stosunku do podstawowej wersji równoległej tego algorytmu (AR1), jak też, co jest niezmiernie istotne, w stosunku do jego oryginalnej wersji sekwencyjnej (AS). Wynik ten zaobserwowany w pracy [11] dla niewielkich wymiarów analizowanych przykładowych problemów optymalizacji potwierdził się również dla zadań o znacznie większym wymiarze.
3. Poprawiona metoda Gaussa-Seidela z modyfikacją bazy Algorytm Gaussa-Seidela z modyfikacją bazy, dla odpowiednio dobranego a, pozwalał na otrzymanie rozwiązania przy wyraźnie mniejszej liczbie iteracji niż algorytm sekwencyjny oraz podstawowy równoległy algorytm Gaussa-Seidela. Eks-
Rys. 2. Równoległy algorytm Gaussa-Seidela (AR1): n = 500 (OpenMP) Fig. 2. Parallel Gauss-Seidel algorithm (AR1): n = 500. (OpenMP)
Rys. 4. Równoległy algorytm Gaussa-Seidela z modyfikacją bazy kierunków (AR2): n = 500 (OpenMP) Fig. 4. Parallel Gauss-Seidel algorithm with modification of search directions (AR2): n = 500 (OpenMP)
Rys. 3. Równoległy algorytm Gaussa-Seidela (AR1): n = 500, P = 1,2,…,20 (klaster, MPI) Fig. 3. Parallel Gauss-Seidel algorithm (AR1): n = 500, P = 1,2,…,20 (cluster, MPI)
Rys. 5. Algorytmy Gaussa-Seidela (AS, AR1, AR2): szybkość zbieżności (OpenMP) Fig. 5. Parallel Gauss-Seidel algorithms (AS, AR1, AR2): speed of convergence (OpenMP)
33
Analiza efektywności wybranych równoległych implementacji algorytmu Gaussa-Seidela
Rys. 6. Równoległy algorytm Gaussa-Seidela (AR2m): n = 500 (OpenMP) Fig. 6. Parallel Gauss-Seidel algorithm (AR2m): n = 500. (OpenMP)
Rys. 7. Algorytmy Gaussa-Seidela (AS, AR1, AR2, AR2m): szybkość zbieżności (OpenMP) Fig. 7. Parallel Gauss-Seidel algorithms (AS, AR1, AR2, AR2m): speed of convergence (OpenMP)
perymentalny dobór wartości współczynnika a dla różnych wielkości problem jest jednak działaniem przybliżonym i nie zawsze prowadził do zadowalających rezultatów w odniesieniu do uzyskiwanych praktycznie szybkości zbieżności algorytmu. W zakresie doboru wartości tego współczynnika wymagane jest wobec tego prowadzenie dalszych badań teoretycznych, które być może pozwolą w przyszłości określać wartość tego współczynnika w sposób optymalny. Inną wprowadzoną dodatkowo modyfikacją algorytmu było przywracanie bazy kierunków do stanu pierwotnego po wykonaniu pewnej, założonej z góry liczby iteracji (odświeżanie bazy). Dzięki tej modyfikacji zauważona została poprawa właściwości algorytmu – zawsze znajdował on rozwiązanie optymalne, lecz kosztem pewnego spowolnienia obliczeń – zwiększenia liczby iteracji.
4. odśwież bazę kierunków x = xpocz gdzie: xpocz – początkowa baza kierunków, przejdź do kroku (9) 5. sprawdzić warunek det Ξ ≥ 0.45
(20)
gdzie Ξ = [x1, x2, … xn] – macierz kierunków. Jeżeli warunek jest spełniony to przejdź do kroku (6), jeżeli warunek nie jest spełniony to przejdź do kroku (9). 6. wyznaczyć współrzędne nowego kierunku: gdzie l = x − x 0 (21)
x j = l / ||l||,
Poprawiony algorytm równoległy Gaussa-Seidela z modyfikacją bazy (AR2m)
7. zmodyfikować bazę kierunków: x j = x*j + ax, i, j = 1,2, ...,n (22)
1. każdy procesor oblicza minimalizujące funkcję f(x) w jednym kierunku (gdy n = P, gdzie P – liczba procesorów) lub kolejno w kilku kierunkach (gdy n>P), j = 1, 2, ..., n:
(19)
gdzie: 0 < a << 1, xj* – przeorientowany znakowo kierunek xj (za dodatnim przyjmuje się zwrot zgodny ze zwrotem x) 8. znormalizować bazę kierunków:
min: f (x 0 +l j x j ), (16) lj
x j = x j / ||x j || (23)
gdzie: x0 – wynik poprzedniej iteracji,
2. nowy punkt wyznaczyć z:
9. powyższe kroki powtarza się do momentu spełnienia kryterium stopu.
x = x0 + emax, (17)
Obliczenia dla zmodyfikowanego algorytmu Gaussa-Seidela z modyfikacją bazy zostały przeprowadzone przy wykorzystaniu standardu OpenMP. Wartość współczynnika a wynosiła 10-2, odświeżanie bazy było wykonywane co 10 iteracji. Bada nia przeprowadzono dla wielkości problemu n = 500. Najlepsze wyniki uzyskano dla przyjętej w warunku (20) wartości 0,45. Wyniki otrzymane dla tej wersji metody przedstawiono na rysunkach 6 oraz 7, przy czym rys. 6 obrazuje zależność wartości współczynnika przyspieszenia obliczeń w funkcji liczby wątków, natomiast rys. 7 przedstawia liczbę iteracji otrzymaną dla 3. sprawdzić warunek algorytmu AR2m na tle analogicznych rezultatów otrzymanych l mod 10 = 0 oraz l > 0 (18) dla wszystkich wcześniej omawianych wersji metody Gaussa-Seidela. Rys. 6 pokazuje, iż algorytm AR2m poddaje się zrówgdzie: l – numer iteracji, 10 – przyjęta częstotliwość odświenolegleniu równie dobrze jak pozostałe algorytmy, natomiast żania bazy. rys. 7 wskazuje iż jest on pod względem czasochłonności obliJeżeli warunek jest spełniony to wykonaj krok (4), czeń najbardziej efektywnym algorytmem spośród wszystkich jeżeli warunek nie jest spełniony to przejdź do kroku (5). wersji rozważanych w artkule. gdzie:
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
N R 1 / 20 1 5
Marek Machaczek, Jan Sadecki Na rysunkach 8 oraz 9 przedstawiono z kolei przebieg zależności liczby iteracji niezbędnych dla osiągnięcia założonej dokładności obliczeń dla analizowanego przykładu obliczeniowego odpowiednio dla problemów o wymiarze n = 2, 3, 4, …, 20 (rys. 8) oraz problemów o wymiarze n = 50, 100, …, 950 (rys. 9). Rysunki te pokazują, że dla niewielkich wymiarowości analizowanego problemu optymalizacji proponowany algorytm wykazuje przewagę w porównaniu do sekwencyjnej jak i podstawowej równoległej jego wersji, natomiast dla dużych wymiarowości problemu przewagę tą można zachować wprowadzając okresowe odświeżanie bazy kierunków.
4. Podsumowanie i dalsze kierunki badań Z przeprowadzonych i częściowo zaprezentowanych w niniejszym artykule badań wynika, że dla zadań o znacznie większym wymiarze w porównaniu do rozważań prowadzonych w pracy [11] (gdzie analizowano zadania o wymiarze przeważnie do n = 20), to znaczy np. dla n = 500 i więcej dało się również w wielu analizowanych przypadkach zaobserwować wyraźną, pod względem szybkości zbieżności, przewagę algorytmu Gaussa-Seidela z modyfikacją bazy zarówno w stosunku do podstawowej wersji równoległej tego algorytmu, jak też, co jest niezmiernie istotne, w stosunku do jego oryginalnej wersji sekwencyjnej. Dalsze badania obejmą w przyszłości jeszcze bardziej złożoną pod względem wymiarowości grupę problemów optymalizacji, jak też tzw. trudniejsze zadania optymalizacji stanowiące pewne wyzwanie również dla innych znanych efektywnych algorytmów i metod optymalizacji. Innym problemem jest zagadnienie analizy i określenia teoretycznych warunków zbieżności rozważanego w artykule algorytmu bardzo mocno uzależnionych od sposobu generowania kierunków poszukiwań. Wiadomo, że jeżeli jakiekolwiek dwa kierunki spośród kierunków tworzących macierz kierunków Ξ, gdzie Ξ = [x1, x2, …, xn], będą względem siebie liniowo zależne, to wówczas wyznacznik tej macierzy będzie równy zero: det Ξ = 0. Liniowa zależność jakichkolwiek dwóch, lub większej liczby kierunków zawartych w modyfikowanej na bieżąco bazie kierunków może skutkować dużymi trudnościami w osiągnięciu zbieżności algorytmu w ogóle, a w szczególności trudnościami w osiągnięciu zbieżności algorytmu do rozwiązania optymalnego. Stąd zagwarantowanie spełnienia warunku: det Ξ > 0 przy każdorazowej modyfikacji macierzy kierunków dokonywanej w trakcie działania algorytmu może mieć bardzo duże znaczenia. W szczególności, warunek ten może przyjąć ostrzejszą formę, a mianowicie: det Ξ ≥ b, gzie b jest przyjętą graniczną dopuszczalną wartością jaką może przyjąć wyznacznik macierzy Ξ. W dotychczasowych badaniach problem określenia wartości współczynnika b analizowany był jedynie na gruncie eksperymentalnym, i pokazał że ma on niebagatelny wpływ na szybkość zbieżności algorytmu. W dalszych badaniach podjęte będą działania zmierzające do teoretycznego określenia wartości tego współczynnika lub też do określenia bardziej sformalizowanego warunku gwarantującego zbieżność analizowanego w artykule algorytmu równoległego z modyfikacją bazy np. na wzór warunków sformułowanych dla metody Powella [3, 4].
Rys. 8. Algorytmy Gaussa-Seidela: n = 2, 3, … , 20 (OpenMP) Fig. 8. Gauss-Seidel algorithms: n = 2, 3, … , 20 (OpenMP)
Bibliografia 1. Chazan D., Miranker W.L., A Nongradient and Parallel Algorithm for Unconstrained Minimization, “SIAM Journal on Control”, vol.8, No. 2, May 1970, 207–217. DOI: 10.1137/0308015. 2. Dennis J.E., Torczon V., Direct Search Methods on Parallel Machines, SIAM Journal on Optimization, Vol. 1, No.4, November 1991, 448–474. DOI: 10.1007/978-3-642-48417-9_2.
Rys. 9. Algorytmy Gaussa-Seidela: n = 50, 100, …, 1000 (OpenMP) Fig. 9. Gauss-Seidel algorithms: n = 50, 100, …, 1000 (OpenMP)
35
Analiza efektywności wybranych równoległych implementacji algorytmu Gaussa-Seidela 3. Findeisen Wł., Szymanowski J., Wierzbicki A., Metody obliczeniowe optymalizacji, Wydawnictwo Politechniki Warszawskiej, 1973. 4. Findeisen Wł., Szymanowski J., Wierzbicki A., Teoria i metody obliczeniowe optymalizacji. PWN, Warszawa 1980. 5. Kaliczyńska M., Sadecki J., Obliczenia równoległe – klastry obliczeniowe, Zeszyty Naukowe PO, s. Elektryka, z. 57, 2006, 101–114. 6. Karbowski A., Niewiadomska-Szynkiewicz E., Programowanie równoległe i rozproszone, Oficyna Wydawnicza PW, Warszawa 2009. 7. Korytkowski A., Ziółko M., Metody optymalizacji z ćwiczeniami laboratoryjnymi, Wydawnictwo AGH, Kraków 1992. 8. Lewis A., Parallel Optimization Algorithms for Continuous, Non-linear Numerical Simulation, PhD thesis, 2004, Griffith University, Brisbane, Australia.
9. Molga M., Smutnicki Cz., Test functions for optimization needs, 2005, www.robertmarks.org/Classes/ENGR5358/Papers/functions.pdf. 10. Press W. H., Flannery B. P., Teukolsky S.A., Vetterling W. T., Numerical Recipes, The Art of Scientific Computing, Cambridge University Press, 1986. 11. Sadecki J., Algorytmy równoległe optymalizacji i badanie ich efektywności; systemy równoległe z rozproszoną pamięcią, Oficyna Wydawnicza Politechniki Opolskiej, Opole 2001. 12. Sadecki J., Równoległe implementacje algorytmu Gaussa-Seidela w środowisku OpenMP, PAK, 2011, nr 03, 301–304. 13. Sobczyk J., Wierzbicki A. P., Obliczenia równoległe w optymalizacji liniowej i nieliniowej. Algorytm pulsacyjny w optymalizacji nieliniowej, [w:] I Konferencja Granty-Automatyka’95. Warszawa, 27–29.06.1995.
Efficiency Analysis of Some Parallel Implementations of the Gauss-Seidel Algorithm Abstract: The paper presents the results of the efficiency analysis of some parallel implementations
of Gauss-Seidel algorithm. The main idea of the presented method consists in successive modification of the search directions used in the computations. This modification is performed on the basis of solutions of local optimization subproblems received for all stages of the algorithm. The analyzed algorithm enable to achieve a good efficiency of parallel computation in terms of speed of convergence and value of speedup factor in comparison to standard sequential and parallel implementation of Gauss-Seidel method. Parallel computation were implemented in the multicore processor and multiprocessor cluster. Keywords: optimizatiom algorithms, parallel computation, parallel optimization algorithm
mgr inż. Marek Machaczek
dr hab. inż. Jan Sadecki, prof. PO
Dyplom magistra inżyniera w zakresie informatyki uzyskał w 2013 r. na Wydziale Automatyki, Elektrotechnik i Informatyki Politechniki Opolskiej. Obecnie jest doktorantem Politechniki Opolskiej w dyscyplinie Automatyka i Robotyka. Głównym kierunkiem jego badań są obliczenia równoległe.
Jest długoletnim pracownikiem Politechniki Opolskiej. Stopień doktora nauk technicznych (1988 r.) oraz doktora habilitowanego (2004 r.) uzyskał w dyscyplinie Automatyka i Robotyka na Wydziale Elektroniki i Technik Informacyjnych Politechniki Warszawskiej. Zajmuje się przetwarzaniem równoległym i rozproszonym, systemami równoległymi, klastrami obliczeniowymi.
marek.ma89@gmail.com
36
P
O
M
I
j.sadecki@po.opole.pl
A
R
Y
•
A
U
T
O
M
A
T
Y
K
A
•
R
O
B
O
T
Y
K
A
N R 1 / 20 1 5
Pomiary Automatyka Robotyka, R. 19, Nr 1/2015, 37–41, DOI: 10.14313/PAR_215/37
Pomiary parametrów pracy pneumatycznej instalacji odciągowej przy różnych wariantach sterowania Remigiusz Aksentowicz, Waldemar Uździcki
Wydział Mechaniczny, Uniwersytet Zielonogórski, 65–001 Zielona Góra, ul. prof. Z. Szafrana 4
Streszczenie: Do usuwania odpadów w postaci wiórów i pyłów powstających przy mechanicznej obróbce drewna stosowane są pneumatyczne instalacje odciągowe (PIO). Niestety, istotnym problemem i zasadniczą wadą związaną z eksploatacją pneumatycznych instalacji odciągowych jest ich duża energochłonność. Najważniejszymi parametrami pracy – parametrami eksploatacyjnymi pneumatycznych instalacji odciągowych są: prędkość przepływu powietrza, strumień objętości powietrza oraz ciśnienie dynamiczne. Podczas eksploatacji instalacji te parametry ulegają zmianie. Prędkości przepływu powietrza w odgałęzieniach bocznych instalacji powinny być tak dobrane, aby były równe prędkości przepływu powietrza w przewodzie głównym w miejscu podłączenia tych odgałęzień. Przepływ powietrza powinien odbywać się z prędkością nie niższą niż wartość minimalna wymagana dla każdej z obrabiarek oraz dla rodzajów usuwanych odpadów. Elementami umożliwiającymi sterowanie pracą instalacji i zmniejszenie energochłonności mogą być dodatkowe środki wyposażenia technicznego, m.in.: zasuwy odcinające na przewodach odciągowych – umożliwiają zamykanie przewodów przy niepracujących obrabiarkach; doprowadzenie dodatkowego powietrza z zewnątrz hali do kolektora instalacji – pozwala na utrzymanie prędkości przepływu w przewodzie głównym na wymaganym poziomie; przetwornice częstotliwości – stosowane do regulacji prędkości obrotowej wirnika wentylatora; układy automatycznie sterujące i kontrolujące proces odciągowy. W artykule przedstawiono wyniki pomiarów parametrów pracy pneumatycznej instalacji odciągowej o układzie kolektorowym przy różnych wariantach jej sterowania i dodatkowego wyposażenia technicznego. Słowa kluczowe: efektywność energetyczna, pneumatyczne instalacje odciągowe, prędkość przepływu powietrza
1. Wprowadzenie Do usuwania odpadów powstających w trakcie mechanicznej obróbki drewna stosowane są pneumatyczne instalacje odciągowe PIO, określane również jako instalacje pneumatycznego odwiórowania lub instalacje odpylania obrabiarek – w zależności od tego do jakiego rodzaju odpadów są przeznaczone. Zgodnie z dyrektywą [2] i zastępującą ją w Unii Europejskiej oraz w Polsce dyrektywą [3] oraz ustawą [9], istnieje potrzeba Autor korespondujący: Remigiusz Aksentowicz, R.Aksentowicz@iibnp.uz.zgora.pl Artykuł recenzowany nadesłany 18.11.2014 r., przyjęty do druku 21.12.2014 r. Zezwala się na korzystanie z artykułu na warunkach licencji Creative Commons Uznanie autorstwa 3.0
poprawy efektywności wykorzystania energii przez użytkowników końcowych. Dawno już wykazano, że branża drzewna charakteryzuje się dużą energochłonnością [1, 4], a jest to związane nie tylko z zużywaniem energii przez obrabiarki do mechanicznej obróbki drewna, ale głównym źródłem zapotrzebowania na energię są instalacje odwiórowania i odpylania niezbędne do usunięcia wiórów i pyłów z przestrzeni roboczej obrabiarek i przetransportowanie ich na zewnątrz hali oraz instalacje wentylacyjne. W celu zmniejszenia zużycia energii przez instalacje prowadzono badania dotyczące jednoczesności pracy obrabiarek, w których stwierdzono, że chwilowe zapotrzebowanie na odwiórowanie i zużycie energii są nierównomierne w trakcie trwania zmiany roboczej i wahają się w szerokich przedziałach [6–8, 10]. Rozpatrywane były więc różne możliwości dostosowania pracy instalacji odciągowej do zmiennych procesów pracy obrabiarek do drewna. Wynikiem tych rozważań są propozycje zmian wprowadzanych w zakresie konstrukcji i sposobie eksploatacji pneumatycznych instalacji odciągowych.
37
Pomiary parametrów pracy pneumatycznej instalacji odciągowej przy różnych wariantach sterowania ku=0,56
ku=0,29
60000 58240
60000 58240
50000
50000
50000
40000
40000
40000
30000 20000
14979 14651
10000 0
1
2
3
30000 20000
14105 14287
10000
4750 5060
0
kWh/rok
60000 58240
kWh/rok
kWh/rok
ku=1,0
0
Wariant instalacji
1
2
3
20000
12758 13250
10000
5333 5114
0
4
30000
6880 5788
0
4
0
Wariant instalacji
1
2
Wariant instalacji
Rys. 1. Roczne zużycie energii elektrycznej przez silnik wentylatora Eel,s w zależności od współczynnika jednoczesności użytkowania obrabiarek ku Fig. 1. Annual electricity consumption of fan motor Eel,s, in relation to coefficient of simultaneous operation of machine tools ku
Badania przeprowadzono dla 4 wariantów wyposażenia technicznego instalacji: 1. Pneumatyczna instalacja odciągowa bez dodatkowego wyposażenia technicznego (brak możliwości sterowania prędkości przepływu powietrza – prędkość zmienia się w zależności od liczby otwartych zasuw na odgałęzieniach bocznych instalacji i współczynnika jednoczesności użytkowania obrabiarek ku). 2. Pneumatyczna instalacja odciągowa wyposażona w dodatkowy przewód (utrzymywanie stałej prędkości przepływu powietrza w przewodzie głównym instalacji) doprowadzający powietrze z zewnątrz hali do zbiornika wyrównawczego (kolektora) zaopatrzony w jednopłaszczyznową przepustnicę sterowaną automatycznie. 3. Pneumatyczna instalacja odciągowa wyposażona w przetwornicę częstotliwości Hitachi J300 służącą do zmiany prędkości obrotowej silnika wentylatora przy zadanej stałej (dowolnie zmienianej) prędkości przepływu powietrza. 4. Pneumatyczna instalacja odciągowa wyposażona w przetwornicę częstotliwości Hitachi J300 służącą do zmiany prędkości obrotowej silnika wentylatora oraz w dodatkowy przewód doprowadzający powietrze z zewnątrz hali do zbiornika wyrównawczego (kolektora) zaopatrzony w jednopłaszczyznową przepustnicę sterowaną automatycznie. W pierwszej serii przeprowadzono pomiary parametrów eksploatacyjnych w przewodzie głównym wo i w otwartych przewodach odciągowych wi dla siedmiu współczynników użytkowania obrabiarek ku. Do pomiarów wykorzystano układ pomiarowo-obliczeniowy, zbudowany w oparciu o komputer z kartą pomiarową DaqBoard 3000 [11]. Pomiary i obliczenia realizowano w programie DasyLab, do pomiarów jako sonda została wykorzystana rurka Prandtla, którą umieszczono w jednym przekroju pomiarowym każdego z rurociągów, w miejscach gdzie prędkość przepływu powietrza jest w przybliżeniu równa średniej prędkości dla całego przekroju – tzn. w odległości 0,2d od ścianki przewodu, w płaszczyźnie oddalonej od miejsca zaburzeń w prostoliniowym przepływie strumienia powietrza co najmniej 5d (d – średnica rurociągu). Do kontroli i pomiaru podstawowych parametrów eksploatacyjnych w tym prędkości przepływu powietrza zastosowano mikromanometr cyfrowy firmy TESTO typu 521 współpracujący z rurką Prandtla. Zastosowano oprogramowanie ComSoft 3 przeznaczone do zapamiętywania, odczytu i analizy danych pomiarowych. W pierwszej
Z przeprowadzonych badań, analiz i obserwacji wiadomo, że zastosowanie zmian w postaci rozwiązań technicznych wywiera wpływ na zmienne w czasie parametry eksploatacyjne instalacji [5, 10]. Jednak w dotychczasowych badaniach nie analizowano relacji między zmiennością parametrów eksploatacyjnych, a efektywnością energetyczną pneumatycznych instalacji odciągowych w warunkach eksploatacji w zależności od zastosowanego wyposażenia technicznego instalacji. Na wielkość zużycia energii wywołanej pracą pneumatycznej instalacji odciągowej składa się: −−zużycie energii elektrycznej wywołane pracą silników wentylatorów odciągowych i nawiewnych; −−zużycie ciepła potrzebnego do podgrzania w okresie grzewczym nawiewanego powietrza kompensacyjnego do hali przemysłowej. Praca pneumatycznej instalacji odciągowej związana jest również bezpośrednio z pracą obrabiarek do drewna, więc można przyjąć, że kolejnym składnikiem mającym wpływ na energochłonność instalacji jest zużycie energii przez silniki obrabiarek. Badania wykazały możliwość zmniejszenia zużycia energii przez dostosowanie pracy instalacji do rzeczywistych procesów pracy obrabiarek. Dostosowanie odciąganego powietrza przez instalację do zmiennego obciążenia obrabiarek odbywa się przez zamykanie zasuw przewodów odciągowych przy niepracujących obrabiarkach, czego konsekwencją są zmienne parametry eksploatacyjne pneumatycznej instalacji odciągowej. Jednym ze sposobów na zachowanie parametrów eksploatacyjnych na żądanym poziomie jest doprowadzenie powietrza uzupełniającego do kolektora instalacji oraz zastosowanie przetwornicy częstotliwości. Umożliwia to zmniejszenie zużycia energii, jak również zachowanie parametrów eksploatacyjnych na wymaganym poziomie [11].
2. Przebieg badań Badania wykonano przeprowadzając pomiary na pneumatycznej instalacji odciągowej o układzie kolektorowym, która została zaprojektowana dla wariantu projektowego wp = 0,5, co oznacza, że będzie pracować przy współczynniku jednoczesności użytkowania obrabiarek ku = 0,5. Stosownie do tego dobrano średnicę przewodu głównego, wentylator i wielkość silnika wentylatora. Na przewodach odciągowych (bocznych) zamontowano ręczne zasuwy odcinające.
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
N R 1 / 20 1 5
Remigiusz Aksentowicz, Waldemar Uździcki serii pomiary wykonano dla stałej prędkości obrotowej silnika wentylatora dla dwóch wariantów wyposażenia instalacji. Druga seria obejmowała pomiary parametrów eksploatacyjnych w przewodzie głównym i w przewodach odciągowych z wykorzystaniem przetwornicy częstotliwości dla różnych wartości prędkości obrotowej silnika wentylatora. W drugiej serii pomiary wykonano dla dwóch kolejnych wariantów wyposażenia instalacji.
3. Wyniki badań Na podstawie rejestracji rzeczywistych parametrów eksploatacyjnych instalacji pracujących w warunkach zmiennych można było precyzyjnie określić zużycie energii przez pneumatyczne instalacje odciągowe w zależności od wariantów wyposażenia technicznego instalacji. Na rys. 2 dodatkowo przedstawiono wartości obliczeniowe dla wariantu 0 instalacji. Jest to wariant instalacji (charakteryzujący się największym zużyciem energii) zaprojektowany dla wp = 1,0, czyli przy założeniu, że wszystkie obrabiarki pracują cały czas – wariant użytkowy ku = 1,0. Wariant 0 (wp = 1,0) został przedstawiony w celu bardziej wyrazistego pokazania znaczenia uwzględniania warunków zmiennych. Zużycie energii przez silniki obrabiarek Eel,s dla wariantu 1 instalacji przy ku = 1,0 wynosi 25,7 % zużycia energii przez silniki obrabiarek Eel,s w stosunku do wariantu 0. Dla wariantu 3 instalacji przy ku = 1,0 jest to już 8,15 %. Zużycie energii elektrycznej dla różnych wariantów instalacji w zależności od współczynnika jednoczesności użytkowania obrabiarek ku przedstawiono na rys. 2.
3.1. Wyniki badań PIO o wariancie projektowym wp = 0,5
Rys. 2 pokazuje zmiany parametrów eksploatacyjnych dla siedmiu wartości współczynnika jednoczesności użytkowania ku
Rys. 2. Określone na drodze pomiarowej wartości parametrów eksploatacyjnych w przewodzie głównym wo przy różnych wartościach współczynnika jednoczesności użytkowania ku (wariant 1) Fig. 2. Measured operating parameters in the main line wo at different values of coefficient of simultaneous operation of machine tools ku (Option 1)
– w czasie rejestracji pomiarów otwierano ręcznie zasuwy na przewodach odciągowych od obrabiarek w odstępach 60 sekundowych. Pierwsze 60 sekund pomiaru oznacza (ku = 0,14), że została 1 zasuwa otwarta, a 6 zasuw było zamkniętych na odgałęzieniach bocznych instalacji (odpowiada to 1 włączonej obrabiarce i 6 niepracujących obrabiarkach) i tak co 60 sekund do otwarcia wszystkich zasuw na przewodach odciągowych i włączenia wszystkich obrabiarek (ku = 1,0). Dla pozostałych wariantów pomiary były przeprowadzone w sposób analogiczny. Z wyników przeprowadzonych badań można stwierdzić, że zmiany współczynnika jednoczesności użytkowania obrabiarek ku wywierają wpływ na zmianę parametrów eksploatacyjnych instalacji. Spadek wartości współczynnika jednoczesności użytkowania obrabiarek ku powoduje spadek prędkości przepływu powietrza w przewodzie głównym od V = 15,8 m/s do V = 10 m/s, przy jednoczesnym wzroście prędkości w przewodach odciągowych do V = 24 m/s. Spadek wartości współczynnika jednoczesności użytkowania obrabiarek ku powoduje wzrost prędkości obrotowej silnika wentylatora od n = 2975 obr/min do n = 2987 obr/min przy jednoczesnym spadku prędkości przepływu powietrza w przewodzie głównym do V = 10 m/s. Spadek wartości współczynnika jednoczesności użytkowania obrabiarek ku powoduje spadek mocy czynnej zużywanej przez silnik wentylatora od P = 8,0 kW do P = 6,0 kW. Wraz ze wzrostem współczynnika użytkowania obrabiarek ku wzrasta prędkość przepływu powietrza w przewodzie głównym od V = 10,0 m/s do V = 15,8 m/s oraz moc zużywana przez silnik wentylatora od P = 6,0 kW do P = 8,0 kW. Spadek wartości współczynnika jednoczesności użytkowania obrabiarek ku powoduje spadek mocy czynnej zużywanej przez silnik wentylatora od P = 8,0 kW do P = 6,0 kW przy jednoczesnym wzroście prędkości obrotowej silnika wentylatora od n = 2975 obr/min do n = 2987 obr/min.
Rys. 3. Określone na drodze pomiarowej wartości parametrów eksploatacyjnych w przewodzie głównym wo przy różnych wartościach współczynnika jednoczesności użytkowania ku (wariant 2) Fig. 3. Measured operating parameters in the main line wo at different values of coefficient of simultaneous operation of machine tools ku (Option 2)
Rys. 4. Określone na drodze pomiarowej wartości parametrów eksploatacyjnych w przewodzie głównym wo dla współczynnika jednoczesności użytkowania ku=1,0 w zakresie od 0-50 Hz Fig. 4. Measured operating parameters in the main line wo for different values of coefficient of simultaneous operation of machine tools ku=1,0 in a range from 0 to 50 Hz
39
Pomiary parametrów pracy pneumatycznej instalacji odciągowej przy różnych wariantach sterowania noczesnym wzroście prędkości obrotowej silnika wentylatora od n = 2974 obr/min do n = 2979 obr/min.
3.3. Wyniki badań PIO o wariancie projektowym wp = 0,5 z przetwornicą częstotliwości
Na rys. 4 przedstawiono wartości parametrów mierzonych w czasie dla współczynnika jednoczesności wykorzystania obrabiarek ku = 1,0 w zakresie od 0–50 Hz – przetwornica częstotliwości funkcja START (0 Hz) – STOP (50 Hz). Rys. 5 pokazuje zmiany parametrów eksploatacyjnych dla siedmiu wartości współczynnika jednoczesności użytkowania ku = 0,14 –1,0 przy zadanej stałej prędkości przepływu V = 10,8 m/s.
Rys. 6. Określone na drodze pomiarowej wartości parametrów eksploatacyjnych w przewodzie głównym wo przy różnych wartościach współczynnika jednoczesności użytkowania ku (wariant 4) Fig. 6. Measured operating parameters in the main line wo at different values of coefficient of simultaneous operation of machine tools ku (Option 4)
Rys. 5. Określone na drodze pomiarowej wartości parametrów eksploatacyjnych w przewodzie głównym wo przy różnych wartościach współczynnika jednoczesności użytkowania ku (wariant 3) Fig. 5. Measured operating parameters in the main line wo at different values of coefficient of simultaneous operation of machine tools ku (Option 3)
Na rys. 3 przedstawiono wartości parametrów mierzonych w czasie dla różnych wartości współczynnika jednoczesności użytkowania obrabiarek ku. Z wyników przeprowadzonych badań można stwierdzić, że zmiany współczynnika jednoczesności użytkowania obrabiarek ku wywierają wpływ na zmianę parametrów eksploatacyjnych instalacji, jednak przy zastosowaniu przewodu dodatkowego doprowadzającego powietrze do przewodu głównego zmiany te nie są aż tak widoczne jak przy instalacji standardowej, co jest zrozumiałe, ponieważ zastosowanie przewodu dodatkowego odpowiada za utrzymywanie prędkości przepływu powietrza w przewodzie głównym na stałym poziomie. Spadek wartości współczynnika jednoczesności użytkowania obrabiarek ku powoduje niewielki spadek prędkości przepływu powietrza w przewodzie głównym w zakresie V = 1,6 m/s, przy jednoczesnym wzroście prędkości przepływu w przewodach odciągowych. Spadek wartości współczynnika jednoczesności użytkowania obrabiarek ku od wartości ku = 0,56 powoduje wzrost prędkości obrotowej silnika wentylatora od n = 2974 obr/min do n = 2979 obr/min przy jednoczesnym spadku prędkości przepływu powietrza w przewodzie głównym od V = 15,8 m/s do V = 14,2 m/s. Spadek wartości współczynnika jednoczesności użytkowania obrabiarek ku powoduje spadek mocy czynnej zużywanej przez silnik wentylatora od P = 8,1 kW do P = 7,1 kW. Wraz ze wzrostem współczynnika użytkowania obrabiarek od ku = 0,56 wzrasta prędkość przepływu powietrza w przewodzie głównym oraz moc zużywana przez silnik wentylatora. Spadek wartości współczynnika jednoczesności użytkowania obrabiarek ku powoduje spadek mocy czynnej zużywanej przez silnik wentylatora od P = 8,1 kW do P = 7,1 kW, przy jedP
O
M
I
A
R
Y
•
A
U
T
Rys. 6 pokazuje zmiany parametrów eksploatacyjnych dla siedmiu wartości współczynnika jednoczesności użytkowania ku = 0,14–1,0 przy zadanej stałej prędkości przepływu powietrza V = 10,8 m/s.
4. Podsumowanie
3.2. Wyniki badań PIO o wariancie projektowym wp = 0,5 z dodatkowym przewodem
40
3.4. Wyniki badań PIO o wariancie projektowym wp = 0,5 z przetwornicą częstotliwości oraz z przewodem dodatkowym
O
M
W badaniach wykorzystano pneumatyczną instalację odciągową o układzie kolektorowym, która była wyposażona w dodatkowe środki techniczne. W wyniku przeprowadzonych badań parametrów pracy instalacji sformułowano następujące wnioski: −−stosowanie przetwornicy częstotliwości do regulacji prędkości obrotowej silnika wentylatora w czasie eksploatacji instalacji pozwala osiągnąć znaczne nawet 83 % oszczędności (energii elektrycznej i ciepła), −−zastosowanie przewodu dodatkowego doprowadzającego powietrze do przewodu głównego instalacji oraz jednoczesne stosowanie przetwornicy częstotliwości znacznie obniża zużycie ciepła w budynku przemysłowym – np. dla współczynnika jednoczesności użytkowania obrabiarek ku = 0,56 oszczędność ciepła wynosi aż 94 %, −−zużycie energii elektrycznej i ciepła związane z pracą pneumatycznej instalacji odciągowej dzięki zastosowaniu dodatkowego wyposażenia technicznego może być mniejsze nawet o połowę, −−stosowanie środków dodatkowego wyposażenia technicznego w postaci przetwornicy częstotliwości i przewodu dodatkowego pozwala utrzymywać parametry eksploatacyjne na żądanym poziomie oraz ma znaczny wpływ na poprawę efektywności energetycznej instalacji, −−największą efektywnością energetyczną cechowała się pneumatyczna instalacja odciągowa wyposażona w przewód dodatkowy (wariant 2) oraz w przetwornicę częstotliwości i przewód dodatkowy (wariant 4).
Bibliografia
1. Dolny S., Strumiński J., Technologiczne projektowanie zakładów mechanicznej obróbki drewna, Akademia Rolnicza, Poznań 1993. A
T
Y
K
A
•
R
O
B
O
T
Y
K
A
N R 1 / 20 1 5
Remigiusz Aksentowicz, Waldemar Uździcki 2. Dyrektywa 2006/32/WE Parlamentu Europejskiego i Rady z dnia 5.04.2006 r. w sprawie efektywności końcowego wykorzystania energii i usług energetycznych oraz uchylająca dyrektywę Rady 93/76/EWG 3. Dyrektywa 2012/27/UE Parlamentu Europejskiego i Rady z dnia 25.10.2012r. w sprawie efektywności energetycznej, zmiany dyrektyw 2009/125/WE i 2010/30/UE oraz uchylenia dyrektyw 2004/8/WE i 2006/32/WE. 4. Lis K., Koperski K., Charakterystyka rachunku kosztów w przedsiębiorstwach przemysłu drzewnego. „Przemysł Drzewny”, 5/1999, 12-15. 5. Litomisky A., On-Demand Ventilation Energy Saling in Industrial Applications. ACEEE Summer Study on Energy Efficiency in Industry, 6/2007, 91–102. 6. . Moeller S.T., Energy Efficiency: Issues and Trends Nova Publishers. New York 2002.
7. Suska M., Metodyka racjonalizowania kosztów utrzymania środowiska pracy. Rozprawa doktorska. Poznań 2002. 8. Szełemej Z., Wpływ organizacji czasu pracy instalacji na energochłonność procesu odwiórowywania obrabiarek, „Przemysł Drzewny”, 3/1993, 22–24. 9. Ustawa o efektywności energetycznej z 15.04.2011 r. Dziennik Ustaw Nr 94. Poz. 551. 10. Uździcki W., Tendencje w projektowaniu elastycznych systemów pneumatycznego odwiórowania. „Przemysł Drzewny”, 3/2002, 18–20. 11. Uździcki W., Aksentowicz R., Bachman P., Chciuk M., Pavlovkin J., Improving the energy efficiency of pneumatic extraction systems by automating the process of air flow rate adjustment, “Pomiary Automatyka Robotyka”, 2/2013, 525–529.
Measurements of Parameters of Pneumatic Dust Extraction Installation with Different Control Options Abstract: For waste disposal in the form of chips and dust created by mechanical wood processing plants pneumatic extraction systems are applied. Unfortunately, a significant problem and the main drawback related to the operation of pneumatic extraction systems is their high energy intensity. The key working parameters – performance parameters of pneumatic extraction systems are: air velocity, air volume flow rate and dynamic pressure. During the operation of the installation these parameters change. Air velocity in the side branches of the system should be so selected to be equal to air velocity in the main line where the branches are connected. Air flow should take place at a speed not less than the minimum value required for each of the ma-chine tool and the types of waste. The following, among others, may be used as elements for control of the installation and the reduction of energy consumption: gate valves on extraction lines – allow for the closure of the lines at the non-working machine tools; flow of additional air from outside the hall to installation collector – keeps the air velocity in the main line at the required level; frequency converters – used to control the speed of the fan impeller; systems that automatically command and control the extraction process. The article presents the results of measurements of parameters of pneumatic extraction systems featuring manifold system with different variations of its control and additional technical equipment. Keywords: energy efficiency, pneumatic hood installation, air flow velocity
dr hab. inż. Waldemar Uździcki, prof. UZ
dr inż. Remigiusz Aksentowicz
Profesor nadzwyczajny w Instytucie Inżynierii Bezpieczeństwa i Nauk o Pracy, Wydział Mechaniczny Uniwersytetu Zielonogórskiego. Kierownik Zakładu Bezpieczeństwa Systemów Technicznych. Specjalność naukowa: budowa i eksploatacja maszyn, transport pneumatyczny.
Adiunkt w Instytucie Inżynierii Bezpieczeństwa i Nauk o Pracy, Wydział Mechaniczny Uniwersytetu Zielonogórskiego. Członek Zrzeszenia Audytorów Energetycznych i Polskiego Towarzystwa Ergonomicznego.
W.Uzdzicki@iibnp.uz.zgora.pl
R.Aksentowicz@iibnp.uz.zgora.pl
41
42
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
N R 1 / 20 1 5
Pomiary Automatyka Robotyka, R. 19, Nr 1/2015, 43–47, DOI: 10.14313/PAR_215/43
System pomiarowy poślizgu względnego na hamowni podwoziowej Piotr Mróz, Sebastian Brol
Katedra Pojazdów Drogowych i Rolniczych, Wydział Mechaniczny, Politechnika Opolska, 45-271 Opole, ul. Mikołajczyka 5
Streszczenie: W artykule przedstawiono metodę wyznaczania poślizgu względnego pneumatycznego koła ogumionego samochodu na jednorolkowej hamowni podwoziowej. Ustalono, że poślizg względny może być traktowany jako błąd systematyczny, który znacząco wpływa na wynik pomiaru mocy na kołach na hamowni podwoziowej. Poślizg względny wyznaczono za pomocą opracowanego systemu pomiarowego, którego podstawą jest mikrokontroler STM32. Przedstawiono również problemy związane z kalibracją układów licznikowych, których celem jest uzyskanie jak najmniejszych niepewności pomiarowych. Słowa kluczowe: STM32, hamownia podwoziowa, poślizg względny, prędkość
Hamownie podwoziowe umożliwiają badania układów napędowych samochodów, ale również robotów mobilnych, a szczególnie czterokołowych, gdzie wykorzystywane są przekładnie CVT, napęd na jedną oś lub na wszystkie koła. Tego rodzaju roboty są dość rozpowszechnione, a najbardziej znane z nich to: −−Warrior I – robot inspekcyjny studenckiego koła naukowego z Politechniki Warszawskiej [13], −−Gryf® – robot do zadań specjalnych Przemysłowego Instytutu Automatyki i Pomiarów PIAP [12], −−MOSTS – czyli, robot z prototypowym układem napędowym wykorzystującym przekładnie CVT, Seoul National University [4]. Głównym celem robota mobilnego jest wykonanie pracy, może to być np. ciągnięcie, pchanie lub transport, stąd potrzeba wyznaczenia charakterystyk układu napędowego. Wyniki takich badań (w odróżnieniu od metod trakcyjnych) są w dużej mierze powtarzalne z uwagi na fakt, że są przeprowadzane w kontrolowanych i ustalonych warunkach. Należy pamiętać, że jednym z problemów badań na hamowni podwoziowej jest poślizg. Poślizg jest zjawiskiem, gdzie jedno ciało, współpracując i pozostając w bezpośrednim kontakcie, porusza się z większą prędkością względem drugiego ciała.
1. Wstęp Moment obrotowy wytwarzany na rolkach hamowni podwoziowej (obciążeniowej), zwany momentem hamującym, podczas przeprowadzanych testów przeciwdziała momentowi obrotowemu generowanemu przez koła napędzane pojazdu. Wartość momentu hamującego ustalana jest na podstawie założonego algorytmu pomiarowego i zwykle jest stały. Należy w tym miejscu zaznaczyć, że nieznany jest, zmienny w funkcji prędkości kątowej i momentu obrotowego na kołach napędzanych pojazdu, moment oporów toczenia, który wyznacza się w tzw. próbie wybiegu. Na podstawie opisanych warunkach przeprowadzania testów na hamowni podwoziowej, można opisać bilans działających momentów obrotowych [5, 6], niżej przedstawioną zależnością (1).
M K = M t + M R , (1) gdzie: MK – moment obrotowy na kołach napędzanych pojazdu, Mt – moment oporów toczenia, MR – moment hamujący na rolce hamowni. Stosując zależność (1) możliwe jest wyznaczenie siły napędowej FN (2). Należy pamiętać, że wartość promienia dynamicznego rdynam. nie jest stała i zmienia się w zależności od prędkości kątowej koła pojazdu oraz obciążenia.
M R + Mt , (2) rdynam .
Autor korespondujący: Piotr Mróz, p.mroz@po.opole.pl
Artykuł recenzowany nadesłany 15.11.2014 r., przyjęty do druku 22.12.2014 r.
gdzie: FN – siła napędowa na kołach napędzanych pojazdu, Mt – moment oporów toczenia, MR – moment hamujący na rolce hamowni, rdynam. – promień dynamiczny koła pojazdu. Jeśli momenty obrotowe koła pojazdu i rolki hamowni są różne co do wartości, to w danej chwili na styku tych dwóch, oddzia-
Zezwala się na korzystanie z artykułu na warunkach licencji Creative Commons Uznanie autorstwa 3.0
FN =
43
System pomiarowy poślizgu względnego na hamowni podwoziowej łujących ze sobą ciał powstaje poślizg wzdłużny, który często wyraża się jako tzw. poślizg względny SN, który zależny jest od siły napędowej napędzanego koła pojazdu, przeciwdziałającej jej sile stycznej na rolce hamowni. Należy pamiętać, że istotny wpływ na wartość poślizgu ma rodzaj i stan opony, ciśnienie, promień rolki hamowni oraz wymiana ciepła pomiędzy oddziałującymi na siebie ciałami [7]. Na podstawie zebranych wyżej informacji, zakłada się, że poślizg względny, podczas testów na hamowni podwoziowej, ma charakter systematyczny (w kontekście metrologicznym), który wpływa w istotny sposób na wynik pomiaru. Wg Siłki [8], poślizg względny to iloraz prędkości liniowej pojazdu i chwilowej prędkości środka koła (3).
SN =
Vp v
=
vp
rkinem. ⋅ ωK
oraz dokonywać pomiaru promienia dynamicznego napędzanego koła pojazdu [6]. Innym rozwiązaniem jest wyznaczanie poślizgu względnego dla stałej prędkości rolki hamowni dla warunków, gdzie wartość poślizgu względnego jest możliwie najmniejsza. Zgodnie ze stanem wiedzy [5, 11], opisany wcześniej stan można uzyskać dla ruchu z ustalonym, niewielkim, momentem napędowym kół napędzanych, tak, aby zniwelować wpływ oporów toczenia, powstające, gdy rolka hamowni napędza koła pojazdu. Aby tego dokonać, kierowca pojazdu, stale musi obserwować wskazania siły napędowej rolki hamowni dla ustalonej, stałej prędkości liniowej rolki hamowni. Dla dalej opisanych badań, gdzie wyznaczano prędkość kątową koła napędzanego, kierowca, obserwując wartość siły napędowej, utrzymywał wartość siły stycznej na poziomie FS = 0 ±20 N. Dla wyżej opisanej metodyki wyznaczania poślizgu względnego, można jego wartość wyznaczyć poniższym wyrażeniem (6).
, (3)
gdzie: SN – poślizg względny, vP – prędkość liniowa pojazdu, v – chwilowa prędkość środka koła, wK – prędkość kątowa koła. Moc na kołach napędowych można wyrazić iloczynem prędkości liniowej i siły napędowej na rolce hamowni. Obliczona w taki sposób moc na kołach napędowych obarczona jest błędem, z uwagi na występowanie poślizgu względnego, ponieważ wartość obliczona jest niższa od rzeczywistej [6]. Biorąc pod uwagę ten fakt, należy uwzględnić wartość poślizgu względnego przy obliczaniu mocy na kołach napędzanych pojazdu (4).
NK =
rdynam.
Przyjmując wyżej opisaną metodę wyznaczania poślizgu względnego, należy monitorować prędkość kątową napędzanego koła pojazdu wK oraz prędkość liniową rolki hamowni VR. Pomiar prędkości liniowej rolki hamowni VR realizowano, dzięki urządzeniu Datron, przy wykorzystaniu głowicy L350 Aqua, którą skierowano w kierunku powierzchni cylindrycznej rolki hamowni. Wartość prędkości wyznaczano przez różniczkowanie drogi po czasie. Droga przebyta przez rolkę, była obliczana dzięki zliczaniu zboczy narastających sygnału dwustanowego z urządzenia Datron. Urządzenie Datron skonfigurowano w taki sposób, aby każde, pojedyncze zliczone zbocze narastające oznaczało 1 cm przebytej drogi. Wynik porównano z pomiarem czasu pełnego obrotu rolki hamowni oraz wskazaniami prędkości liniowej hamowni na interfejsie obsługi użytkownika hamowni podwoziowej. Różnica wskazań nie przekraczała 0,2 km/h. Pomiar prędkości kątowej napędzanego koła pojazdu wK opierał się na pomiarze czasu trwania jednego obrotu koła. Pomiar wyzwalano i rejestrowano dzięki folii odbłyskowej pełniącej rolę znacznika dla czujnika laserowego, z którego sygnał dwustanowy rejestrowany był przez mikrokontroler (STM32F103VBT6). Zmiana stanu na wyprowadzeniu mikrokontrolera sygnalizowała rozpoczęcie nowego i zakończenie starego pomiaru czasu każdego, kolejnego obrotu koła pojazdu. Do wyżej opisanych pomiarów opracowano system pomiarowy (rys. 1), gdzie szczególnie wykorzystano układy licznikowe, wspomnianego wcześniej mikrokontrolera, dla których sygnałem taktującym był sygnał zegarowy pochodzący z zewnętrznego rezonatora kwarcowego. Jak wcześniej wspomniano do pomiarów użyto odpowiednio skonfigurowanych układów licznikowych. Do pomiaru prędkości liniowej rolki hamowni VR, gdzie wykorzystywano sygnał pochodzący z urządzenia Datron. Dla tego pomiaru zadaniem było zliczenie zboczy narastających, które opisywały przebytą drogę przez rolkę hamowni i odniesienie jej wartości do ustalonej ramy czasu. W tym przypadku ustalono, że przerwanie zegarowe licznika będzie zapamiętywało zliczoną wartość zboczy co 40 ms. Natomiast prędkość kątową napędzanego koła pojazdu ustalano na podstawie czasu trwania obrotu koła, tak więc, układ licznikowy mikrokontrolera skonfigurowano tak, aby wartość licznika inkrementowana była co 0,1 ms.
1 ⋅ FN v , (4) rkinem. 1 − S N
2. Metody pomiaru Aspektem wymagającym należytej uwagi, podczas wykonywania testów na hamowni podwoziowej, jest dobór odpowiedniej metody pomiarowej, która pozwoli na wyznaczenie poślizgu względnego. Jedną z metod jest wyznaczenie prędkości liniowej oddziałujących wzajemnie ciał, tj. koła napędzanego pojazdu i rolki hamowni podwoziowej, a poślizg względny dla tak przedstawionego układu można wówczas zapisać, jako (6), VR , (5) VK
gdzie: VR – prędkość liniowa rolki hamowni, VK – prędkość liniowa koła napędzanego. Z uwagi na odkształcenie bieżnika opony i samej opony, aby dokonać pomiaru prędkości liniowej koła napędzanego i rolki hamowni podwoziowej, należałoby wykorzystać metodę fotometryczną [2, 10], dlatego zwykle wykorzystuje się metodę pośrednią, gdzie prędkości liniowe są wyznaczane na podstawie pomiaru prędkości kątowej koła napędzanego i rolki hamowni, jednakże należy znać promień rolki hamowni, który jest stały
44
P
O
M
I
A
R
Y
•
A
U
T
O
M
(6)
3. System pomiarowy
⋅
SN = 1 −
ωK , ωK 0
gdzie: wK – prędkość kątowa koła, wK0 – prędkość kątowa koła bez poślizgu.
gdzie: NK – moc na kołach napędzanych pojazdu, rdynam. – promień dynamiczny, rkinem. – promień kinematyczny, FN – siła napędowa, v – prędkość liniowa rolki hamowni. Obserwując przebiegi poślizgu względnego dla kół (napędzanych) współpracujących z różnymi nawierzchniami oraz zmiany wartości momentu hamującego i napędowego podczas przeprowadzanych testów na hamowni podwoziowej, możliwe jest założenie, że poślizg względny kół napędzanych jest równoważny z występowaniem błędu systematycznego, wpływającego na niepewność pomiarową mocy na kołach napędzanych pojazdu [3].
SN = 1 −
A
T
Y
K
A
•
R
O
B
O
T
Y
K
A
N R 1 / 20 1 5
Piotr Mróz, Sebastian Brol
Rys. 1. Schemat opracowanego systemu pomiarowego Fig. 1. A diagram of the measuring system
Oznaczenia na rys. 1: K – koło napędzane samochodu, R – rolka hamowni podwoziowej, rK – promień koła samochodu, rR – promień rolki hamowni podwoziowej, LAS – czujnik laserowy, DAT – urządzenie Datron, T – czas zliczania zboczy narastających z urządzenia Datron, wK – prędkość kątowa koła samochodu, VR – prędkość liniowa rolki hamowni podwoziowej. Wszystkie wyżej opisane, a podczas pomiaru zebrane, dane gromadzone były w komputerze za pomocą złącza szeregowego i przy wykorzystaniu protokołu RS-232.
4. Rozdzielczość pomiaru Aby móc skonfigurować system pomiarowy, należało ustalić jego rozdzielczość pomiarową (rys. 2.)
Ustalono, że rozdzielczość pomiarowa, dla pomiaru prędkości liniowej rolki hamowni, uzależniona jest od długości czasu w jakim układ licznikowy zlicza zbocza narastające sygnału dwustanowego z urządzenia Datron oraz długości taktu będącego podstawą czasu dla układu licznikowego. Dla pomiaru prędkości kątowej koła samochodu, ustalono, że rozdzielczość pomiaru (rys. 3.) rośnie nieliniowo w funkcji prędkości kątowej koła oraz długości taktu, będącego podstawą czasu dla wybranego układu licznikowego. Ustalono, że rozdzielczość pomiaru prędkości liniowej rolki hamowni podwoziowej Rvr jest liniowa i zależy wyłącznie od prędkości liniowej rolki hamowni. W czasie taktu wynoszącym 1 × 10-3 s, rozdzielczość jest stała i wynosi 0,01 m/s, a w czasie taktu wynoszącym 7,14 × 10-5 s, rozdzielczość jest również stała i wynosi 0,14 m/s. Ustalono również, że rozdzielczość pomiaru prędkości kątowej koła samochodu RwK jest nieliniowa i zależy od prędkości kątowej koła oraz czasu taktu układu licznikowego. Rozdzielczość rośnie nieliniowo od 4,4ˑ10-9 rad/s (przy wK = 0,33 rad/s) do 3,9 × 10-4 rad/s (przy wK = 100 rad/s) dla czasu taktu układu licznikowego wynoszącym 1,43 × 10-7 s. Natomiast, dla czasu taktu wynoszącym 2,5 × 10-5 s, rozdzielczość rośnie nieliniowo od 7,7 × 10-7 rad/s (przy wK = 100 rad/s) do 6 × 10-2 rad/s (przy wK = 100 rad/s).
5. Niepewność pomiarowa Miarą wpływu poślizgu względnego na wynik pomiaru mocy na hamowni podwoziowej jest niepewność pomiarowa. Wartość poślizgu względnego jest ustalana pośrednio, dzięki informacji o prędkości kątowej koła oraz prędkości liniowej rolki hamowni. Najpowszechniejsze metody wyznaczania niepewności pomiarowej to metoda A i B [1, 9]. Metoda A opiera się na analizie statystycznej zebranych wyników pomiarowych, natomiast druga metoda obejmuje sposoby wyznaczania niepewności pomiarowej, które dotyczą urządzeń pomiarowych, gdzie pomiar obarczony jest błędem systematycznym. Poniższym wzorem (7) opisano niepewność pomiarową prędkości liniowej rolki hamowni, do czego wykorzystano metodę różniczki zupełnej.
1 1 1 ∆v = ⋅ ∆Li + ⋅ ∆T + ⋅ ∆g , m/s (7) 2 2 T ⋅g T ⋅g g ⋅T
Rys. 2. Funkcja rozdzielczości pomiarowej prędkości liniowej rolki hamowni Fig. 2. Measurement resolution of linear velocity of roller chassis dynamometer
gdzie: T – czas zliczania zboczy narastających sygnału z urządzenia Datron, g – czas trwania taktu układu licznikowego, Li – stan licznika dla czasu T, ΔLi – rozdzielczość dwóch kolejnych pomiarów Li, ΔT – niepewność okresu, Δg – niepewność taktu. Dla pomiaru prędkości liniowej rolki hamowni wykazano liniowość niepewności pomiarowej, która zależy od wartości prędkości liniowej rolki hamowni. Jej wartość rośnie od 0,004 m/s (przy 1 km/h) do 0,5 m/s (przy 200 km/h). Do ustalenia niepewności pomiarowej dla pomiaru prędkości kątowej koła samochodu, również wykorzystano metodę różniczki zupełnej (8).
Rys. 3. Funkcja rozdzielczości pomiarowej prędkości kątowej koła samochodu Fig. 3. Measurement resolution of angular velocity of the car wheel
60 2π 60 ⋅ + ∆ωK = ⋅ ∆ L ⋅ ∆ g (8) i g ⋅ L 2 L ⋅ g2 60 i i
gdzie: g – czas trwania taktu układu licznikowego, Li – liczba zboczy narastających układu licznikowego w czasie trwania jednego obrotu koła.
45
System pomiarowy poślizgu względnego na hamowni podwoziowej czość pomiaru prędkości kątowej koła samochodu poruszającego się z poślizgiem i bez poślizgu. Analizując dane podawane przez producenta hamowni podwoziowej, ustalono, że każda z rolek hamowni MSR 500/2 ma masę 300 kg. Urządzenie może wygenerować, dzięki dwóm elektrycznym silnikom trójfazowym, moment hamujący o łącznej mocy 22 kW, a możliwa do uzyskania największa siła styczna na rolce hamowni to FS = 7 kN. Na hamowni można prowadzić pomiary przy prędkości maksymalnej 300 km/h. Producent podaje, że uzyskane wyniki uzyskane są z dokładnością 2 %. Wykres (rys. 5) przedstawia wyniki niepewności pomiarowej dla pomiaru prędkości liniowej rolki hamowni. Ponadto, wyniki obrazują pracę regulatora prędkości liniowej rolek hamowni, który wykazuje stabilną pracę.
Podczas wyznaczania niepewności pomiarowych pominięto błąd utrzymania częstotliwości taktowania, który jest błędem systematycznym, a jego wartość mieści się w tolerancji częstotliwości sygnału taktującego. Możliwe jest skompensowanie tego błędu dzięki pomiarom lub porównanie do sygnału taktującego pochodzącego z dokładnego generatora. Należy zaznaczyć, że na niepewność pomiarową, dla pomiaru prędkości kątowej koła, wpływa ilość zboczy narastających zliczonych podczas trwania jednego obrotu koła oraz czas trwania taktu sygnału zegarowego. Wykazano, że tzw. pierwszy składnik równania opisującego niepewność pomiarową prędkości kątowej koła (8), tylko w niewielkim stopniu wpływa na sumaryczną wartość tej niepewności pomiarowej. Natomiast dla pomiaru prędkości kątowej koła, wpływ na sumaryczną wartość niepewności pomiarowej jest już istotny, co obrazuje przedstawiony dalej wykres (rys. 4).
Rys. 4. Niepewność pomiarowa prędkości kątowej koła samochodu Fig. 4. Measurement uncertainty angular velocity of the car wheel
Rys. 5. Niepewność pomiarowa prędkości liniowej rolki hamowni Fig. 5. Measurement uncertainty linear speed of the roller dynamometer
Kolejny wykres (rys. 6) przedstawia niepewność pomiarową poślizgu względnego koła samochodu, która była wyznaczana dla różnych obciążeń siłą styczną FS rolki hamowni.
Z powyższych rozważań wynika, że na zmniejszenie niepewności pomiarowej największy wpływ ma konfiguracja układu licznikowego oraz możliwie najniższa niepewność sygnału taktującego generowana przez dobrany generator. W tym miejscu należy zaznaczyć, że z analizy podaży generatorów sygnału taktującego, nie zaobserwowano istotnego wpływu w dokładności sygnału taktującego na cenę generatora. Ustalono, że niepewność pomiarowa dla pomiaru prędkości kątowej koła samochodu ma przebieg nieliniowy i zależy od częstotliwości taktowania układu licznikowego oraz prędkości kątowej koła samochodu. Zatem, przy częstotliwości 20 kHz, niepewność pomiarowa rośnie nieliniowo od 9,73 × 10-4 rad/s (przy wK = 6,283 rad/s) do 0,736 rad/s (przy wK = 159,7 rad/s). Natomiast dla częstotliwości 200 Hz, niepewność pomiarowa rośnie nieliniowo od 5,4 × 10-3 (przy wK = 6,283 rad/s) do 2,03 rad/s (przy wK = 159,7 rad/s). Należy zaznaczyć, że do ustalenia niepewności pomiarowej dla pomiaru prędkości kątowej koła, przyjęto promień dynamiczny koła samochodu rdynam. = 0,318 m. Podczas badań na hamowni podwoziowej, gdzie obiektem badań był samochód marki Fiat Punto, wyznaczono, przy wykorzystaniu metody różniczki zupełnej, niepewność pomiarową poślizgu względnego kół napędzanych samochodu, którą opisuje poniższa zależność (9).
1 ω ∆S N = ⋅ ∆ωK 0 + K 02 ⋅ ∆ωK ω ω K K
Rys. 6. Niepewność pomiarowa poślizgu względnego SN koła samochodu Fiat Punto Fig. 6. Measurement uncertainty of relative slip SN of car wheel of Fiat Punto
, (9)
6. Wnioski Wykazano, że dla tego rodzaju badań na hamowni podwoziowej, niepewność pomiarowa pozostaje stała, jeśli stały jest stosunek niepewności generowania sygnału taktującego i czasu trwania taktu.
gdzie: wK – prędkość kątowa koła samochodu, wK0 – prędkość kątowa koła samochodu bez poślizgu, ΔwK, ΔwK0 – rozdziel-
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
N R 1 / 20 1 5
Piotr Mróz, Sebastian Brol Zmiany rozdzielczości i niepewności pomiarowej dla pomiaru prędkości kątowej koła, mają charakter nieliniowy. Najistotniejszy wpływ na rozdzielczość pomiarową prędkości kątowej koła ma czas trwania taktu układu licznikowego i jego niepewność pomiarowa. Dla opracowanego systemu pomiarowego niepewność pomiarowa poślizgu względnego wynosi od 0,1 do 0,2 na każdy procent wartości poślizgu.
Bibliografia 1. Arendarski J., Niepewność pomiarów. Oficyna Wyd. PW, Warszawa 2006. 2. Białczyk W., Cudzik A., Czarnecki J., Moś D., Ocena energetycznych parametrów współpracy układu koło napędowe-droga leśna, Inżynieria Rolnicza 1(119)/2010. 3. Brol S., Analiza możliwości wykorzystania bezpośredniego pomiaru przyspieszenia do wyznaczania właściwości trakcyjnych samochodu osobowego, Oficyna Wydawnicza PO, Opole 2013. 4. Jungyun K., Design, Analysis and Control of a Spherical Continuously Variable Transmission, Rozprawa Doktorska,
School of Mechanical and Aerospace Engineering, Seoul National University, Seoul 2001. 5. Lanzendoerfer J, Szczepaniak C., Szosland A., Teoria ruchu samochodu, Wyd. PŁ, Łódź 1988. 6. Mitschke M., Dynamika samochodu. T. 2, Drgania, WKiŁ, Warszawa 1989. 7. Reński A., Sar H., Application of dynamic slip characteristics in simulation of vehicle, Zeszyty Naukowe Instytutu Pojazdów 5(72)/2008, Warszawa 2008. 8. Siłka W., Teoria ruchu samochodu, WNT, Warszawa, 2002. 9. Skubis T., Podstawy metrologicznej interpretacji wyników pomiaru, Wyd. PŚ, Gliwice 2004. 10. Słowiński K., Walczyk J., Pomiary poślizgu kół przy pomocy poślizgomierza fotooptycznego, Inżynieria Rolnicza 10/2005. 11. Szosland A., Dychto R., Wpływ parametrów dynamiki pojazdu na działanie układu ESP, Konferencja Hamulcowa, Łódź 2004. 12. [www.antyterroryzm.com] – Przemysłowy Instytut Automatyki i Pomiarów PIAP (14 listopada 2014). 13. [www.robotyka.info.pl/cyborg] – Robot Warrior I – Koło Naukowe Cyborg++ (14 listopada 2014).
Measurement System of Relative Slip on Chassis Dynamometer Abstract: This article presents the method of determining the relative slip of the pneumatic wheel
of car on a single-roller of chassis dynamometer. It was established that the relative slip can be treated as a systematic error, which substantially affects the measurement of power on a chassis dynamometer. Relative slip was determined by using specially developed measurement system which is based on microcontroller STM32. It presents problems associated with calibration of counting systems, where the objective is to obtain the smallest measurement uncertainty. Keywords: STM32, chassis dynamometer, relative slip, velocity
mgr inż. Piotr Mróz
dr hab. inż. Sebastian Brol
Doktorant w Katedrze Pojazdów Drogowych i Rolniczych na Wydziale Mechanicznym Politechniki Opolskiej. Zajmuje się identyfikacją i sterowaniem układami napędowymi pojazdów samochodowych oraz budową systemów pomiarowych. Stypendysta Unijny z projektu Stypendia doktoranckie – inwestycja w kadrę naukową województwa opolskiego II.
Pracownik samodzielny w Katedrze Pojazdów Drogowych i Rolniczych na Wydziale Mechanicznym Politechniki Opolskiej. Główne obszary pracy to testowanie pojazdów samochodowych, budowa urządzeń pomiarowych i diagnostyka.
p.mroz.po@wp.pl
s.brol@po.opole.pl
47
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
N R 1 / 20 1 5
Pomiary Automatyka Robotyka, R. 19, Nr 1/2015, 49–55, DOI: 10.14313/PAR_215/49
Bezzałogowa zdalnie sterowana jednostka latająca
Zobacz więcej Pobierz bezpłatną aplikację PAR+ App Store | Google Play
Patryk Piotrowski, Tomasz Witkowski, Robert Piotrowski
Wydział Elektrotechniki i Automatyki, Politechnika Gdańska, 80–233 Gdańsk, ul. Narutowicza 11/12
Streszczenie: Quadrocopter, jako przykład drona, wykorzystywany jest coraz częściej przez sektor publiczny i przemysłowy. W artykule omówiono zadania realizowane podczas projektowania i praktycznej realizacji zdalnie sterowanej jednostki latającej. W pierwszej kolejności zaprojektowano i wykonano ramę urządzenia. Następnie dobrano elementy pozwalające na lot quadrocoptera. Na płycie znalazła się jednostka centralna w postaci mikrokontrolera ATmega644PA. W dalszej części udokumentowano proces programowania kolejnych elementów składających się na program sterujący quadrocopterem. Układ regulacji do stabilizacji maszyny wymaga informacji o położeniu quadrocoptera w przestrzeni. Realizowane jest to przez moduł pomiarowy zawierający akcelerometr i żyroskop. Quadrocopter potrzebuje informacji o poleceniach operatora. Zaimplementowano sterowanie z wykorzystaniem modułu Bluetooth i aplikacji dla systemu Android. Słowa kluczowe: quadrocopter, jednostka latająca, projektowanie, automatyka, mechatronika
1. Wstęp Czasami wymaganym działaniem jest start i lądowanie poziome z jednoczesną możliwością utrzymania jednostki latającej w powietrzu. Największą rodziną tego typu urządzeń są helikoptery, jednak dzięki rozwojowi techniki coraz częściej można spotkać samoloty pionowego startu, a także bezzałogowe pojazdy latające – drony (amatorskie i profesjonalne). Jednym z rodzajów dronów jest quadrocopter, napędzany przy pomocy czterech silników ustawionych pionowo w osi. Głównym polem zastosowania quadrocopterów jest przemysł wojskowy. Dzięki nim można dokonywać infiltracji, zwiadu i ataku bez narażania czynnika ludzkiego. Wszystkie te czynności wykonuje np. MQ-5B Hunter – maszyna wojskowa zdolna do śledzenia i likwidacji potencjalnego celu [1]. Rozwój technologiczny pozwolił dronom zaistnieć również w sektorze cywilnym. Są one wykorzystywane do transportu przesyłek [2], kręcenia filmów z dużych wysokości oraz innych czynności, które są ograniczone tylko przez ludzką pomysłowość.
Autor korespondujący: Patryk Piotrowski, patryk.piotrowski.91@gmail.com Artykuł recenzowany nadesłany 24.11.2014 r., przyjęty do druku 19.01.2015 r. Zezwala się na korzystanie z artykułu na warunkach licencji Creative Commons Uznanie autorstwa 3.0
Artykuł dotyczy projektu technicznego i realizacji zdalnie sterowanej jednostki latającej typu quadrocopter. Opracowano i wykonano wszystkie elementy (mechaniczne i elektroniczne), oprogramowano urządzenie oraz zaimplementowano algorytmy filtracji, sterowania i metody komunikacji. Uniwersalnością opisanego rozwiązania jest możliwość kontroli lotu przez każdą osobę posiadającą smartfona z systemem operacyjnym Android i modułem Bluetooth.
2. Założenia do projektu Głównym celem projektu była budowa wytrzymałego pojazdu latającego typu quadrocopter, który zmienia kierunki lotu zgodnie z poleceniami operatora oraz jest wyposażony w algorytm stabilizacji maszyny w powietrzu. Dodatkowym założeniem było zaprojektowanie i wykonanie części mechanicznej i elektrycznej. Sygnał sterujący silnikami pochodzi z głównej płytki sterującej, która po zaprojektowaniu została wykonana we własnym zakresie. Aby quadrocopter mógł unieść dodatkowe obciążenie, konieczne było uzyskanie zapasu mocy silników. Wymiary konstrukcji są kompromisem między udźwigiem i jak najdłuższym czasem lotu.
3. Część mechaniczna Budowa tak zaawansowanej maszyny wymaga skrupulatnego przygotowania wstępnej dokumentacji technicznej oraz modelu konstrukcji powstającego obiektu. Projekt quadrocoptera wykonano w środowisku Autodesk Inventor [3] (rys. 1).
49
Bezzałogowa zdalnie sterowana jednostka latająca rowi prądu przez silnik, co zapewniło osiągnięcie maksymalnych parametrów napędów. Ostatnią kwestią był wybór zasilania quadrocoptera i śmigieł. Złożona konstrukcja została przedstawiona na rys. 2. Na potrzeby projektu zdecydowano się wykorzystać silniki bezszczotkowe RCTimer BC2830/14 [4], jeden z nich pokazano na rys. 3. Dzięki pozbyciu się szczotek w silniku, uzyskano większą wytrzymałość, sprawność oraz mniejsze zużycie elementów ruchomych. Cechy te pozwalają na dłuższą oraz mniej awaryjną pracę silników. Przed użyciem każdego silnika należy sprawdzić, czy nie występują w nich nadmierne drgania spowodowane np. tarciem łożysk lub stojana o magnesy. Niestety wybrany model silników miał dość długi wał, co może prowadzić do przenoszenia większej ilości drgań. Ponieważ dodatkowe zakłócenia są niedopuszczalne, zdecydowano o usunięciu fabrycznych wałów przy pomocy prasy hydraulicznej. Zmiana ta pozwoliła na bardzo bliskie mocowanie śmigieł do silników. Aby zapewnić maksymalne osiągi oraz najwyższy poziom bezawaryjności wykorzystano kontrolery silników ABC-Power 30A [5], jeden z nich przedstawiono na rys. 4. Element ten ma dodatkowe wyprowadzenie typu BEC (ang. Battery Eliminator Circuits), dzięki czemu istnieje możliwość zasilania układu sterowania napięciem 5 V i wydajnością 2 A. Charakterystyka tego wyjścia jest prawie idealnie liniowa, co zapewnia dobre warunki pracy układu sterującego. Ograniczona jest również złożoność płyty sterującej ze względu na brak konieczności stosowania dodatkowych stabilizatorów liniowych lub przetwornic napięcia do zasilania układu. Ponadto kontroler sprawuje też kontrolę nad stanem baterii. Oznacza to, że w chwili gdy napięcie na akumulatorze spadnie do niskich wartości, kontroler wymusi zmniejszenie obrotów silników, co zapobiegnie np. uszkodzeniu baterii. Oczywiście kontrolę nad stanem baterii powinna sprawować jednostka sterująca, jednak w przypadku nie zadziałania algorytmu, kontroler staje się dodatkowym zabezpieczeniem. Programowanie tych kontrolerów przeprowadza się za pomocą specjalnie przystosowanej do tego karty programującej, dzięki której można zmieniać najważniejsze parametry urządzeń m.in. poziom napięcia odcięcia zasilania i sposób rozruchu silnika. Warto podkreślić, że częstotliwość pracy kontrolera (kHz) jest szersza niż podano w specyfikacji, jednak optymalne osiągi pracy utrzymywane są przy zalecanej częstotliwości sygnału.
Rys. 1. Model quadrocoptera (Autodesk Inventor) Fig. 1. The quadrocopter model (Autodesk Inventor)
Oprogramowanie to umożliwiło, już we wczesnej fazie projektu, eliminację problemów związanych z wytrzymałością materiałów. Ponadto w każdej chwili program pozwalał na dokonywanie zmian, co znacząco zwiększyło elastyczność urządzenia. Parametry ramy, które zostały wygenerowane w oprogramowaniu i ich wyniki pokrywają się z rzeczywistą konstrukcją. Ramiona quadrocoptera wykonano z aluminiowych profili ułożonych w kształt litery X. Zostały one przymocowane do siebie za pomocą laminatu, który równocześnie wykorzystano do mocowania silników i kończyn quadrocoptera. Wykorzystanie tych materiałów w procesie budowy zapewniło optymalne osiągi między wagą całej konstrukcji, a wytrzymałością mechaniczną. Odpowiednie kształty wycięto na maszynie sterowanej numerycznie. W celu przymocowania laminatu do profili, użyto nylonowych śrub. Są one lepszym rozwiązaniem od ich metalowych odpowiedników. W przypadku mocnego uderzenia drona w inny obiekt śruby połamią się, dzięki czemu siła nie przeniesie się na inne elementy, powodując ich zniszczenie.
4. Część elektryczna Dobór podzespołów rozpoczęto od oszacowania masy całego drona. Przyjęto, że nie powinna ona przekraczać 950 g. Ze względu na potrzebę zapewnienia elastyczności rozbudowy konstrukcji w dalszych etapach wybrano silniki o odpowiednio większej nośności. Kolejnym krokiem był dobór kontrolerów silników o parametrach odpowiadających maksymalnemu pobo-
Rys. 2. Konstrukcja quadrocoptera Fig. 2. Construction of the quadrocopter
50
P
O
M
I
Rys. 4. Kontroler silnika ESC Fig. 4. The ESC motor controller
Rys. 3. Silnik Fig. 3. The motor
A
R
Y
•
A
U
T
O
M
A
T
Y
K
A
•
R
O
B
O
T
Y
K
A
N R 1 / 20 1 5
Patryk Piotrowski, Tomasz Witkowski, Robert Piotrowski
Rys. 7. Mikrokontroler ATmega644PA Fig. 7. Microcontroler ATmega644PA Rys. 5. Bateria Li-Po Fig. 5. The Li-Po battery
Rys.6. Śmigła Fig.6. The propellers
Do zasilania tego typu modeli najczęściej używa się baterii Li-Po (litowo-polimerowych). Cechuje je duża wydajność prądowa oraz dobry stosunek pojemności pakietu do jego wymiarów. Na rys. 5 pokazano baterie ABC-POWER Li-Po 3S 11,1 V o pojemności 3300 mAh [6]. W trakcie użytkowania baterii należy zwrócić uwagę, aby nie przekroczyć najniższego (3 V) i najwyższego (4,2 V) dozwolonego napięcia na celach. Charakterystyka użytkowania baterii Li-Po jest nieliniowa,dlatego pod żadnym pozorem nie powinno się przewyższać prądów ładowania i rozładowywania. Masa użytej baterii to 256 g. Głównym elementem w modelach latających zmieniającym moment obrotowy (pochodzący od silników) na pracę ciągu (wykorzystywaną do unoszenia się pojazdu w powietrzu) są śmigła. Te wykorzystywane w dronach dzielą się na: przystosowane do obrotów zgodnie ze wskazówkami zegara CW (ang. Clock Wise) i w przeciwnym kierunku CCW (ang. Counter Clock Wise). Głównymi materiałami, z których się je wykonuje są włókna węglowe lub plastik. Para śmigieł zastosowanych w projekcie została przedstawiona na rys. 6. Przy doborze tych elementów należy zwrócić uwagę na ich rozmiar. Im większa średnica, tym mniejsza prędkość obrotowa, co przekłada się na obniżenie lotności modelu. Poza tym każde śmigło przed użyciem należy wyważyć, aby zminimalizować drgania powstające poprzez nierówną pracę układu.
5. Budowa i oprogramowanie jednostki sterującej 5.1. Jednostka sterująca
Sercem pojazdu jest elektroniczny układ sterowania, który bazuje na mikrokontrolerze ATmega644PA firmy Atmel (rys. 7) [7]. Model procesora wybrano ze względu na dużą pamięć i liczbę wyprowadzeń, których odpowiednie zaprogramowa-
Rys. 8. Projekt PCB (Eagle) Fig. 8. PCB Project (Eagle)
nie pozwoliło uzyskać m.in. sprzętową modulację szerokości impulsu napięcia, przetwarzanie analogowo-cyfrowe i komunikację zgodną ze standardem RS-232. Do tworzenia schematów elektrycznych i projektu płytki sterującej wykorzystano środowisko Eagle [8] wspomagające proces projektowania płytek drukowanych PCB (ang. PrintedCircuit Board) (rys. 8). Projektowanie systemu sterującego rozpoczęto od poprawnego zasilenia mikrokontrolera i nawiązania komunikacji przez programator. Kolejnym etapem było dołączenie niezbędnej filtracji zasilania, stosując kondensatory i dławik. Szczególną uwagę zwrócono na ochronę wyprowadzeń przetwornika analogowo-cyfrowego. Program sterujący napisano w języku C, który jako język programowania wysokiego poziomu jest dużo szybszy od języków interpretowanych i może efektywnie wykonywać złożone operacje matematyczne [9, 10]. Fabrycznie mikrokontroler taktowany jest częstotliwością 1 MHz, co przy budowie zaawansowanego układu sterowania sprawia, że nie wykorzystujemy pełnych możliwości obliczeniowych procesora. W opisywanym układzie zwiększono częstotliwość taktowania przez zewnętrzny oscylator do 20 MHz, dzięki czemu uzyskano wykonywanie 20 milionów podstawowych operacji na sekundę [9].
5.2. Przetwornik analogowo-cyfrowy
Oprócz wykorzystania podstawowej możliwości zmiany stanu na poszczególnych pinach procesora, posłużono się również jego wewnętrznymi modułami, m.in. przetwornikiem analogowo-cyfrowym. Wspomniany przetwornik posłużył jako miernik napięcia (wielkości analogowej) i jego zamiany na postać cyfrową zrozumiałą dla mikrokontrolera. Dzięki pomiarowi napięcia na poszczególnych ogniwach uzyskano informację o stanie naładowania baterii. Przetwornik w mikrokontrolerze ATmega644PA ma 10-bitową rozdzielczość, co oznacza 1024 możliwości pomia-
51
Bezzałogowa zdalnie sterowana jednostka latająca gdy odbiornik USART wykrywa początek ramki transmisyjnej, a następnie próbkuje sygnał wejściowy przez ustalony przez obie strony czas trwania bitu [10]. W omawianym projekcie skupiono się jedynie na transmisji asynchronicznej odbywającej się po zmianie sterowania quadrocopterem przez użytkownika.
5.5. Komunikacja Bluetooth
Obecnie w technologie bezprzewodowe wyposażanych jest coraz więcej urządzeń. Pozwala to m.in. na transmisję danych w miejscach, gdzie położenie infrastruktury kablowej byłoby problemem. Ze względu na ogólną dostępność modułów w smartfonach wybrano transmisję Bluetooth. Szybko okazało się, że istnieje bardzo dużo układów peryferyjnych dla mikroprocesorów umożliwiających taką komunikację. Zdjęcie użytego modułu ATB-BTM-222 przedstawiono na rys. 10. W opisywanym projekcie komunikację oparto na autorskim programie z własnym interfejsem użytkownika (punkt 5.6).
Rys. 9. Sygnał PWM Fig. 9. PWM signal
5.6. Interfejs użytkownika
rowe przypadające zmierzonemu napięciu. Ponadto do wyboru użytkownika pozostawiono cztery napięcia odniesienia [7]. Zmieniając je użytkownik decyduje o zmianie wartości maksymalnego napięcia podawanego na pin przetwornika. I tak wybierając najmniejsze napięcie odniesienia (tj. 1,1 V) zwiększona zostaje czułość urządzenia pomiarowego (1024 możliwości pomiarowe przypadające na 1,1 V). Niestety podawanie tak niskiego napięcia wiąże się często z koniecznością stosowania dzielnika napięcia w celu dostosowania jego wartości. W omawianym projekcie wykorzystano trzy wejścia przetwornika (po jednym na każde ogniwo). Do zwiększenia dokładności wskazań zbudowanego urządzenia pomiarowego, oprócz zastosowania kondensatorów filtrujących, zaimplementowano cykliczną procedurę sumowania i obliczania średniej z danych zebranych z przetwornika [9]. Dzięki temu otrzymano zadowalającą dokładność wskazań napięcia na poszczególnych ogniwach baterii.
Android to obecnie najpopularniejszy na świecie system operacyjny dla urządzeń mobilnych [12]. Spośród innych systemów wyróżnia się otwartością (pozwala na pełną ingerencję w system), niewielkimi wymaganiami sprzętowymi, prostą konfiguracją i łatwym przenoszeniem między różnymi urządzeniami mobilnymi. Cechy te zdecydowały o przygotowaniu aplikacji, która umożliwiła sterowanie quadrocopterem z poziomu smartfona. Wadą powyższego rozwiązania jest zasięg sterowania. W większości dostępnych obecnie telefonów, moduły Bluetooth pozwalają na transmisję danych do 100 m. Dla dużej liczby zastosowań zasięg ten jest wystarczający. Obecnie do dyspozycji jest kilka środowisk komputerowych wspomagających programowanie na Androida. Po ich analizie wybrano środowisko Basic4 Android zawierające edytor tekstowy i graficzny. Założono, że aplikacja sterująca quadrocopterem będzie zawierała osiem przycisków dla każdego rodzaju ruchu (góra, dół, lewo, prawo, przód, tył, obrót lewo, obrót prawo), ale okazało się, że w danej chwili obsługiwany może być tylko jeden klawisz. Właśnie dlatego sprzedawane są piloty z wieloma kanałami komunikacji (często 6 lub 8), dzięki czemu można wysyłać kilka rozkazów ruchu jednocześnie (np. ruch w górę i obrót w lewo). Zatem, aby spełnić założenia i efektywnie sterować quadrocopterem konieczne stało się utworzenie czterech kanałów: lewo-prawo (kanał nr 1), przód-tył (kanał nr 2), góra-dół (kanał nr 3), obrót lewo-obrót prawo (kanał nr4). Dodanie kolejnych kanałów uzyskano wykorzystując rozwiązania z gier zręcznościowych tworzonych na smartfony, w których sterowanie przebiega przy pomocy zmiany pozycji telefonu. Dzięki takiemu rozwiązaniu quadrocopter może „naśladować” ruch ręki operatora, tzn. gdy telefon zostanie przechylony do przodu quadrocopter powtórzy ten ruch poruszając się z prędkością proporcjonalną do kąta wychylenia nadajnika. Takie sterowanie wymaga oczywiście ostrożności od operatora, jednak sprawia, że sterowanie staje się jeszcze bardziej intuicyjne. W ten sposób uzyskano dwa dodatkowe kanały dla ruchu w poziomie. Niestety, nie udało się zrealizować ostatniego kanału służącego do
5.3. Modulacja szerokości impulsu
Do sterowania prędkością obrotową czterech silników wykorzystano mechanizm PWM (ang. Pulse Width Modulation), czyli modulację szerokości impulsu. Jest to metoda średniej regulacji napięcia za pomocą zmiany szerokości impulsów o pełnej amplitudzie [11]. Regułę tą można wytłumaczyć jako cykliczne, bardzo szybkie załączanie i wyłączanie zasilania (rys. 9). W zależności od stosunku czasu włączenia do czasu wyłączenia można uzyskać różne średnie wartości napięcia. Mając na uwadze przydatność modulacji PWM, producenci mikrokontrolerów wyposażyli je w specjalne moduły sprzętowe, które pomagają generować przebiegi w różnych konfiguracjach. Zwykle przygotowanie sprzętowego modułu PWM w mikrokontrolerach sprowadza się do ustawienia trybu pracy odpowiedniego licznika czasu. Podczas konfiguracji modułów ustawiono częstotliwość PWM zgodną z częstotliwością pracy kontrolerów silników (300 Hz).
5.4. Komunikacja szeregowa
Jednym z kluczowych założeń projektu było zapewnienie komunikacji między mikrokontrolerem i smartfonem z systemem operacyjnym Android. Przeważająca liczba mikrokontrolerów AVR posiada wbudowany interfejs pozwalający na przesyłanie informacji w postaci szeregowej za pomocą linii: RXD – wejście szeregowe i TXD – wyjście szeregowe. Komunikacja przez te linie odbywa się zgodnie ze standardem RS-232. W mikrokontrolerach transmisją szeregową zajmuje się uniwersalny port USART (ang. Universal Synchronous and Asynchronous Receiver and Transmitter) [7]. Jak wskazuje nazwa, możliwa jest praca synchroniczna (kolejne bity są przesyłane w takt zegara sterującego transmisją), lub praca asynchroniczna,
52
P
O
M
I
A
R
Y
•
A
U
T
O
M
Rys.10. Moduł Bluetooth ATB-BTM-222 Fig.10. Bluetooth module ATB-BTM-222
A
T
Y
K
A
•
R
O
B
O
T
Y
K
A
N R 1 / 20 1 5
Patryk Piotrowski, Tomasz Witkowski, Robert Piotrowski
6. Algorytmy filtracji i sterowania 6.1. Filtr alfa-beta
Rys.11. Interfejs użytkownika w systemie Android Fig.11. User interface on Android system
Dane pomiarowe z akcelerometru, oprócz dopasowania do interesujących poziomów wymagały odfiltrowania. Wykorzystując zaimplementowany w mikrokontrolerze algorytm filtru alfa-beta uzyskano dokładną informację na temat położenia quadrocoptera. Główną zaletą tego filtru jest brak konieczności stosowania modelu obiektu [14]. Filtr alfa-beta opiera się na założeniu, że ruch obiektu można wyrazić za pomocą dwóch składowych stanu, gdzie jedna z nich jest pochodną drugiej. Wektor stanu składający się z położenia oraz prędkości spełnia te założenia. W omawianym projekcie do algorytmu podawane są wielkości odczytane bezpośrednio z modułu. Oznacza to, że jeszcze na tym etapie nie są przeliczane na konkretne jednostki. Równania filtru mają postać:
(1)
(2)
(3)
Rys. 12. Interfejs użytkownika w systemie Android obsługujący wielodotykowość Fig. 12. User interface on Android system with multi-touch
obrotu maszyny wokół własnej osi. Dlatego w końcowym projekcie postanowiono, że na ekranie głównym quadrocoptera pozostaną jedynie cztery przyciski odpowiedzialne za ruch w górę, dół, obrót w lewo i obrót w prawo. Tym samym podczas sterowania można wykonać w jednej chwili, np. ruch w pionie (za pomocą przycisków) oraz w poziomie (za pomocą przechylenia telefonu). Widok ekranu pokazano na rys. 11. Podczas testowania aplikacji zaobserwowano, że sterowanie poprzez zmianę przechyłu telefonu może nie być wygodne dla każdego operatora. Przystąpiono zatem do implementacji funkcji z biblioteki służącej do obsługi wielodotykowości telefonu. Celem było stworzenie dwóch kontrolerów dotykowych w formie animacji pozwalających na sterowanie przypominające obsługę joysticków (rys. 12).
5.7. Przetwarzanie danych pomiarowych
Do rozpoczęcia lotów quadrocopter, a właściwie jego jednostka sterująca, musi znać położenie maszyny w przestrzeni. Niezbędnych informacji dostarczył moduł pomiarowy MPU 6050 (rys. 12) zawierający żyroskop i akcelerometr. Komunikuje się on z mikrokontrolerem za pomocą magistrali I2C. Dzięki żyroskopowi (Ż) można śledzić obroty obiektu, a akcelerometr (A) kompensuje dryft wcześniej wspomnianego modułu oraz wyznacza bezwzględny punkt odniesienia. Do budowy systemu, który wyznacza położenie quadrocoptera należało przekonwertować dane odczytane z urządzeń pomiarowych (16 bitów na każdą oś) na kąt i przyspieszenie. Ponieważ żyroskop mierzy przyspieszenie kątowe to do uzyskania kąta wychylenia urządzenia należało zaimplementować obliczanie całki w mikrokontrolerze. Natomiast zmierzona wartość z czujnika przyspieszenia wymagała jedynie podzielenia przez stałą podaną w nocie aplikacyjnej modułu. Brak magnetometru w module pomiarowym sprawia, że niemożliwe jest śledzenie obrotu quadrocoptera wokół własnej osi (oś Yaw), ale uzyskane pomiary uznano za satysfakcjonujące i wystarczające do lotu.
(4)
gdzie: – oszacowanie położenia [-], – oszacowanie prędkości [-], y – zmierzone położenie [-], ΔT – krok czasowy między kolejnymi pomiarami [s], a = 0,1, b = 0,01 – parametry filtru. Działanie filtru dzieli się na fazę predykcji kolejnego stanu (równania (1)–(2)) oraz korektę przewidywanej wartości w oparciu o pomiar (równania (3)–(4)). Parametry a i b służą do strojenia filtru. Ich wartości należy zmieniać w zakresie od 0 do 1. Parametr a poprawia odporność układu na zakłócenia, a b odpowiada za wielkość przeregulowania [14]. Podczas testów wykorzystano środowisko MATLAB (połączone z mikrokontrolerem za pomocą komunikacji RS-232). Na rys. 13 przedstawiono odczyt danych z akcelerometru i jego odfiltrowane wartości. Dobrane wartości parametrów filtru są niewielkie, dzięki czemu znacznie wygładza on silnie oscylujący pomiar z akcelerometru, gdy quadrocopter znajduje się w stanie równowagi lub bliskim równowagi.
6.2. Filtr komplementarny
Uzyskana wartość kąta wychylenia quadrocoptera otrzymana z żyroskopu nie zawsze odwzorowywała rzeczywiste wychylenie urządzenia. Dzieje się tak, ponieważ zaimplementowana całka nie jest wykonywana w mikrokontrolerze w sposób ciągły (100 Hz). Wobec tego widoczna jest czasem sytuacja, że wychylenie
Rys. 13. Moduł MPU 6050 Fig. 13. MPU 6050 module
53
Bezzałogowa zdalnie sterowana jednostka latająca
Rys. 15. Działanie filtru komplementarnego Fig. 15. Results of working the complementary filter
Rys. 14. Działanie filtru alfa-beta Fig. 14. Results of working alpha-beta filter
obarczony jest błędem (dryft). Gdy następuje wychylenie, filtr komplementarny wykorzystuje stabilniejszą wartość kąta pochodzącą z żyroskopu. W momencie, gdy quadrocopter wraca do pozycji wyjściowej algorytm filtru korzysta z odczytanego kąta z akcelerometru. W rezultacie można zauważyć, że oba urządzenia pomiarowe się dopełniają.
6.3. Układy sterowania
Sterowanie quadrocopterem odbywa się poprzez zmianę prędkości obrotowej odpowiednich silników. Jednak, aby maszyna pozwalała na wykonywanie ruchu potrzebny jest algorytm sterowania, który sprawi, że maszyna ustabilizuje się w powietrzu. Mając informacje o położeniu bazowym quadrocoptera można mierzyć uchyb od jego pozycji w dwóch osiach (Roll, Pitch) (rys. 15). Strukturę układu sterowania dla osi x pokazano na rysunku 16. Dla osi y układ sterowania różni się tylko wartościami nastaw regulatorów PID.
Rys. 16. Osie obrotu quadrocoptera [16] Fig. 16. Quadrocopter axis of rotation [16]
quadrocoptera i jego powrót do pozycji wyjściowej powoduje podanie przez żyroskop niezerowej wartości kąta (tzw. dryft żyroskopu). Aby przeciwdziałać temu zjawisku należało połączyć wskazania akcelerometru i żyroskopu. Ponieważ żyroskop dobrze radzi sobie z pomiarem wychylenia (>0), natomiast akcelerometr pomaga w wyznaczeniu punktu równowagi (~0) to postanowiono skorzystać z filtru komplementarnego. Stosuje się go do estymacji sygnałów z niezależnych urządzeń pomiarowych, charakteryzujących się wzajemnym dopełnianiem zakłóceń w dziedzinie częstotliwości [15]. Równania filtru mają postać:
(5)
(6)
Rys. 17. Struktura systemu sterowania – oś x Fig. 17. Structure of the control system – axis x
gdzie: xzad – zadane położenie [°], x – aktualne położenie [°], e – uchyb sterowania [°], w – prędkość obrotowa [%], d – zakłócenia, np. prędkość wiatru. Informacja o bieżącej pozycji quadrocoptera jest porównywana z pozycją zadaną i trafia na wejście regulatora PID jako uchyb. Dla każdej osi obrotu dokonano wstępnych kalibracji parametrów regulatora, które następnie mogą być korygowane z poziomu smartfona lub aplikacji emulującej terminal. Warto wspomnieć, że strojenie regulatora należy rozpocząć od ustawienia takiego parametru Kp (wzmocnienie proporcjonalne) regulatora, aby podwieszony model nie przechodził samoczynnie w oscylacje. Jednocześnie parametr ten powinien zapewnić odpowiednią szybkość reakcji maszyny. Następnie, w podobny sposób, należy dobrać wartość Kd (wzmocnienie różniczkujące) tak, aby osiągnąć krytyczną stabilność maszyny. Ostatnim krokiem jest dobór wartości Ki (wzmocnienie całkujące), która dopełnia działanie pozostałych członów. Aktualnie trwają prace nad ostatecznym doborem wartości nastaw regulatorów.
gdzie: acc – wartość kąta wychylenia obliczona na podstawie wskazań akcelerometru [°], accx – wartość przyspieszenia w osi pitch [m/s2], acz – wartość przyspieszenia w osi yaw [m/s2], pitch – kąt wychylenia quadrocoptera obliczony na podstawie wskazań żyroskopu i akcelerometru [°], dt – krok czasowy pomiędzy kolejnymi pomiarami [s], gyro – obliczona wartość kąta wychylenia obliczona na podstawie wskazań żyroskopu [°], a – parametr filtru [-]. W omawianym urządzeniu parametr a ustawiono na 0,97. Wyniki działania filtru pokazano na rys. 14. Jak widać, akcelerometr w początkowej fazie pokazuje pozycję quadrocoptera równą około 0°, natomiast pomiar z żyroskopu
54
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
N R 1 / 20 1 5
Patryk Piotrowski, Tomasz Witkowski, Robert Piotrowski
7. Podsumowanie W dzisiejszych czasach drony zyskują coraz większą popularność ze względu na ich bezproblemowe poruszanie w miejscach niedostępnych dla ludzi oraz coraz szerszym zastosowaniu ich przez amatorów. W artykule opisano projekt oraz kroki prowadzące do samodzielnego wykonania quadrocoptera, który doskonale nadaje się do zastosowań badawczych i przemysłowych. Wszystkie wymienione założenia projektowe zostały spełnione, lot quadrocoptera jest płynny oraz sam potrafi stabilizować swoją pozycję. Wykorzystane komponenty i algorytmy pozwalają na łatwe udoskonalenie całej konstrukcji, a także na obsługę quadrocoptera przez coraz większą liczbę osób posiadającą smartfony.
Bibliografia
1. Piątek B., Zarzycki B., Bezzałogowe środki lotnicze i ich zastosowanie. „Problemy Techniki Uzbrojenia”, R. 41, Z. 122, 2012, 57– 66. 2. [www.amazon.com/b?node=8037720011] – Amazon Prime Air, dostęp 10.11.2014. 3. Stasiak F., Zbiór ćwiczeń. Autodesk Inventor Tom 1. Kurs Podstawowy. Wydawnictwo Expert Books, Aleksandrów Łódzki 2014.
Unmanned Remote Controlled Flying Unit Abstract: Quadrocopter as an example
of a dron that is used both in a public and industrial sectors. First of all the authors designed and manufactured frame of the device. Then they chosen elements which allow the quadrocopter to flight. There is the central unit in the form of a microcontroller ATmega 644PA on board. In next part the authors explained the programming process of the elements of a quadrocopter control program. The control system for stabilization of the machine requires the information about the location of quadrocopter in space. This is done by motion processing unit which contains an accelerometer and gyroscope. The quadrocopter to fly needs commands from the operator. It has been decided to implement controlling via Bluetooth module and hand-written application on Android. Keywords: quadrocopter, flying unit, designing, automatics, mechatronics
4. 5. 6. 7. 8.
RCTimer BC2830/14datasheet. ABC-POWER 30A datasheet. ABC-POWER Li-Po 3S 11,1V 3300mAh datasheet. Atmega 644PA datasheet. Wieczorek H., Eagle, pierwsze kroki. Wydawnictwo BTC, Warszawa 2007. 9. Kardaś M., Mikrokontrolery AVR. Język C. Podstawy programowania. Wydawnictwo Atnel. Szczecin 2011. 10. Francuz T., Język C dla mikrokontrolerów AVR. Od podstaw do zaawansowanych aplikacji. Wydawnictwo Helion, Gliwice 2011. 11. Cook D., Intermediate Robot Building. Apress, New York 2010. 12. Hashimi S., Komatineni S., MacLean D., Pro Android 2, Apress, New York 2010. 13. MPU 6050datasheet. 14. http://forb ot.pl/blog/artykuly/programowanie/ filtr-alfa-beta-teorii-praktyki-1-id2234, dostęp:10.11.2014. 15. Grygiel R., Bieda R., Wojciechowski K., Metody wyznaczania kątów z żyroskopów dla filtru komplementarnego na potrzeby określenia orientacji IMU. „Przegląd Elektrotechniczny” 9/2014, 217– 224. 16. http://multicopter.forestblue.nl/images/quadcopter_x_ flight_dynamics_yaw_pitch_roll.jpg, dostęp:10.11.2014.
Patryk Piotrowski
patryk.piotrowski.91@gmail.com Student pierwszego stopnia studiów inżynierskich na Wydziale Elektrotechniki i Automatyki Politechniki Gdańskiej (kierunek Automatyka i Robotyka, specjalność Automatyka i Systemy Sterowania). Zainteresowania: elektronika, modelarstwo.
Tomasz Witkowski tmk.witkowski@gmail.com
Student pierwszego stopnia studiów inżynierskich na Wydziale Elektrotechniki i Automatyki Politechniki Gdańskiej (kierunek Automatyka i Robotyka, specjalność Robotyka i Systemy Mechatroniki). Zainteresowania: mechanika, modelarstwo.
dr inż. Robert Piotrowski robert.piotrowski@pg.gda.pl
Absolwent Wydziału Elektrotechnikii Automatyki Politechniki Gdańskiej (kierunek: Automatyka i Robotyka) (2001 r.). W 2005 r. uzyskał stopień doktora (Automatyka i Robotyka). Obecnie adiunkt w Katedrze Inżynierii Systemów Sterowania. Zainteresowania naukowe dotyczą modelowania i zaawansowanych metod sterowania procesami przemysłowymi.
55
56
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
N R 1 / 20 1 5
Pomiary Automatyka Robotyka, R. 19, Nr 1/2015, 57–64, DOI: 10.14313/PAR_215/57
Planowanie procesu produkcyjnego wyrobu innowacyjnego Izabela Kutschenreiter-Praszkiewicz
Akademia Techniczno-Humanistyczna w Bielsku-Białej, Katedra Inżynierii Produkcji, 43309 Bielsko+Biaa, ul. Willowa 2
Streszczenie: W artykule przedstawiono problematykę planowania procesu produkcyjnego wyrobu innowacyjnego a w szczególności została przeprowadzona analiza zadań technicznego przygotowania produkcji TPP ukierunkowanych na automatyzację wybranych zadań planowania wyrobu innowacyjnego. Zwrócono uwagę na modułowość wyrobu, jako sposób na spełnienie indywidualnych wymagań klienta przy ponoszeniu niewielkich kosztów. Istnieje wiele sposobów udoskonalania istniejących rozwiązań prowadzących do satysfakcji klienta – literatura podaje między innymi metodę TRIZ, QFD. W artykule poddano analizie problematykę identyfikacji potrzeb klienta. Przedstawiono zagadnienia dekompozycji wyrobu. Zastosowanie koncepcji wyrobów modułowych wymaga opracowania modeli, które w uniwersalny sposób przedstawią strukturę wyrobu wraz z możliwymi alternatywami. W artykule przedstawiono model atrybutowy wyrobu. Zaproponowano zastosowanie metody QFD do identyfikacji wymagań klienta oraz określenia korelacji między wymaganiami klienta a cechami technicznymi wyrobu oraz korelacji między kolejnymi atrybutami generowanymi w ramach etapów TPP. Przedstawiono możliwość zastosowania sztucznych sieci neuronowych, jako metody generowania danych niezbędnych dla potrzeb planowania TPP wyrobu innowacyjnego. Zaproponowano regułową metodę oceny podobieństwa wyrobów. Słowa kluczowe: techniczne przygotowanie produkcji, ocena wariantów, QFD
1. Wprowadzenie Spośród wielu rodzajów badań podejmowanych w celu rozwiązania określonych problemów decyzyjnych w przedsiębiorstwach, na szczególną uwagę zasługują te, które wpływają na kształtowanie oferowanego wyrobu pod kątem wymagań klienta. Modularyzacja w budowie maszyn jest jednym z rozwiązań, które przy niewielkich kosztach pozwala na dostosowanie wyrobów do indywidualnych wymagań klienta. Zróżnicowanie preferencji klientów wymusza wprowadzanie nowych konstrukcji mających na celu minimalizację kosztów przy jednoczesnym zachowaniu wysokiej jakości [5]. Zaspokojenie potrzeb klienta może się odbywać przez wprowadzanie nowych rozwiązań do procesu produkcyjnego, czyli innowacji. Jak wykazują badania Urbaniaka [15], do głównych Autor korespondujący: Izabela Kutschenreiter-Praszkiewicz, ipraszkiewicz@ath.bielsko.pl Artykuł recenzowany nadesłany 18.11.2014 r., przyjęty do druku 8.01.2015 r. Zezwala się na korzystanie z artykułu na warunkach licencji Creative Commons Uznanie autorstwa 3.0
celów wprowadzania innowacji produktowych na rynku polskim należą: −−zwiększenie sprzedaży, −−obniżenie kosztów wytwarzania, −−poszerzenie portfela produktowego, −−doskonalenie jakości wyrobów oraz technologii wytwarzania, −−poprawa bezpieczeństwa produktów dla użytkowników i środowiska. [13]. W celu zapewnienia niezawodności wprowadzanych rozwiązań najczęściej stosowane są zmiany w już istniejących produktach lub procesach. Przykładową ewolucję wyrobu przedstawiono w [4]. Rozwój wyrobu może być analizowany, jako sekwencja kolejnych etapów, w ramach, których są realizowane działania. Proponowane są m.in. takie metody jak TRIZ czy QFD, które umożliwiają opracowanie najlepszego produktu przy zachowaniu jak najmniejszych kosztów [1, 16, 12]. Quality Function Deployment (QFD) pozwala na uwzględnienie wymagań klienta we wdrażaniu innowacji produktowych. Ocena zasadności wprowadzania zmian w produktach wymaga m.in. oszacowania nakładu prac realizowanych w zakresie rozwoju konstrukcji wyrobu jak i procesu wytwarzania. Jedną z możliwości wdrożenia produktu innowacyjnego, dla którego ryzyko wystąpienia wad będzie ograniczone, jest wprowadzanie innowacji bazując na wyrobie, dla którego przedsiębiorstwo ma wystarczające doświadczenia produkcyjne. A zatem konieczne jest opracowanie metody identyfikacji rozwiązań
57
Planowanie procesu produkcyjnego wyrobu innowacyjnego wzorcowych oraz oceny podobieństwa między wyrobem wzorcowym a wyrobem oczekiwanym przez klienta.
III cechy techniczne (projektowe, technologiczne, towaroznawcze) wyrobu, IV relacje między potrzebami odbiorcy a cechami technicznymi, która jest zapisywana za pomocą ustalonej skali ocen, np. 1 – korelacja słaba, 3 – korelacja średnia, 9 – korelacja silna, V ocenę względną każdej z cech technicznych, VI stopień korelacji między cechami technicznymi – korelacja dodatnia może zostać oznaczona „+”, korelacja ujemna może zostać oznaczona „-”, VII wartości cech pożądane dla każdej cechy technicznej, VIII techniczną ocenę porównawczą, IX specjalne wymagania związane z bezpieczeństwem, regulacjami prawnymi i serwisem.
2. Metodyka planowania wyrobu innowacyjnego Proponowana metodyka planowania wyrobu innowacyjnego obejmuje następujące etapy: −−identyfikacja cech wyrobu innowacyjnego postrzeganych przez klienta, −−identyfikacja cech technicznych wyrobu, −−określenie wartości docelowych cech wyrobu innowacyjnego, −−wybór rozwiązania wzorcowego – wybór rozwiązania najbardziej zbliżonego do wyrobu charakteryzującego się wartościami docelowymi, −−ocena wariantów obiektów konfiguracji, −−oszacowanie danych dotyczących wyrobu innowacyjnego – określenie zasobów niezbędnych w celu wytworzenia wyrobu innowacyjnego, −−alokacja zasobów w czasie.
Opracowanie macierzy QFD obejmuje następujące fazy [8]: −−zdefiniowanie potrzeb klienta, −−identyfikacja cech charakterystycznych wyrobu, −−analiza relacji między potrzebami klienta a cechami wyrobu, relacje mogą być oceniane jako: słabe, silne, bardzo silne, −−uwzględnienie priorytetów klientów, −−włączenie oceny konkurencji, −−określenie determinantów sprzedaży nowego wyrobu, −−rozwijanie kluczowych wartości dla charakterystyki kontrolnej, −−wyselekcjonowanie charakterystyk kontrolnych, −−rozwinięcie procesu QFD na poziom zespołów/podzespołów/ elementów w zakresie oczekiwań jak i cech charakterystycznych, −−rozszerzenie rozwiniętego wykresu zespołów z uwzględnieniem kontroli krytycznych cech charakterystycznych podzespołów, −−rozwój relacji między krytycznymi cechami charakterystycznymi a procesami wykorzystywanymi do stworzenia tych cech, −−rozwój planu kontrolnego odnoszącego krytyczne kontrole do krytycznych procesów, −−przygotowanie instrukcji operacyjnych. Elementy macierzy QFD obejmują charakterystykę kluczowych wymagań klienta w powiązaniu z podstawowymi charakterystykami wyrobu. Określenie wymagań klienta dla wyrobu przemysłowego, będącego maszyną, urządzeniem lub jego elementem wymaga scharakteryzowania: −−wymagań funkcjonalnych, −−środowiska pracy urządzenia, −−danych handlowych dotyczących ceny i terminu realizacji, −−warunków gwarancji. Macierz planowania wyrobu jest szczególnie przydatna ze względu na możliwość odniesienia potrzeb klientów do cech wyrobu [8] i obejmuje informacje dotyczące: −−znaczenia określonej potrzeby dla klienta, −−określenia najbardziej zbliżonego do oczekiwań wyrobu znajdującego się na rynku, −−zakresu, w jakim najbardziej zbliżone do projektowanego wyrobu wyroby konkurencji zaspokoją potrzeby klienta, −−cech charakterystycznych wyrobu, które będą determinantami sprzedaży. Charakterystyka wymagań klienta dotycząca wyrobu będącego częścią maszyny może obejmować zarówno wymagania funkcjonalne wyrobu, charakterystykę środowiska pracy oraz wymagania handlowe. Istotne jest, aby dane były analizowane stosownie do typu klienta tak, aby w macierzy QFD wprowadzać tylko te dane, które są istotne dla klienta. Wprowadzenie zbyt dużej ilości danych spowoduje brak czytelności metody. QFD jest metodą modelowania wspomagającą opracowywanie projektów o wymaganej jakości w każdej fazie rozwoju wyrobu [2]. QFD rozpoczyna się od analizy wymagań klienta, która jest zamieniana na wewnętrzne wymagania przedsiębiorstwa.
Identyfikacja cech wyrobu innowacyjnego postrzeganych przez klienta może być realizowana z wykorzystaniem metody QFD.
Metoda ta została rozwinięta w Japonii w okresie intensywnego rozwoju przemysłu samochodowego i jest ciągle doskonalona. Badania nad rozwojem metody obejmują takie zagadnienia jak: metody identyfikacji wymagań jakościowych i analiza związku z narzędziami marketingu, rozwój technologii, niezawodności, oprogramowania itd. [1]. QFD jest stosowana najczęściej w przemyśle motoryzacyjnym, elektronicznym oraz lotnictwie. Przedsiębiorstwa wskazują wiele powodów, dla których stosują metodę QFD, najczęściej wymieniane to lepsze projekty i większe zadowolenie klientów. QFD jest również charakteryzowana, jako metoda poprawiająca komunikację, koordynację oraz skracająca cykl rozwoju wyrobu. Wg Wawaka [16] na macierz QFD składa się dziewięć elementów (rys. 1), które obejmują: I wymagania klienta, II stopień ważności każdego z wymagań wraz z oceną porównawczą firm konkurencyjnych,
VI III
I
IV
II
V VII VIII IX Rys. 1. Budowa macierzy QFD Fig. 1. QFD matrix structure
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
N R 1 / 20 1 5
Izabela Kutschenreiter-Praszkiewicz Każdy atrybut pmkz przyjmuje wartości ze zbioru Pmkzw. Pmkzw = {pmkz1w, pmkz2w, …, pmkztw} (5) Jak?
Charakterystyka (atrybuty)
Co?
wyrobu z punktu widzenia
Wymagania klienta
producenta Atrybuty wyrobu
Wartości
Znaczenie dla klienta
pmk1
pmk2
…
pmkz
Każdy obiekt konfiguracji mk jest opisany za pomocą atrybutów ze zbioru Mk. Mk= {mk1, mk2,…, mkv} (7)
f1
f11w
k1
c11
c12
c1k
f2
f2l
k2
c21
c22
c2k
fn
fnlw
kn
cn1
cn2
cnk
Mkvw = {mkv1w , mkv2w ,…, mkvgw} (8)
pmkztwoz
Wybrane obiekty konfiguracji mk mogą występować w wariantach, gdzie zbiór wariantów jest oznaczony Mk*.
w
Wartości docelowe atrybutów pmk1two1
pmk2two2
Rys. 2. Macierz QFD – model atrybutowy wyrobu Fig. 2. QFD matrix – attribute product model
F = {f1,f2,…,fn} (1)
Zbiór wartości przyjmowanych przez poszczególne atrybuty ze zbioru F został oznaczony Fnw. Fnw={fn1w, fn2w,…,fnlw}
(2)
Dany jest zbiór typów (typoszeregów) wyrobów Pt w bazie danych przedsiębiorstwa P t={p1, p2, …, pm}, gdzie każdy typoszereg pm składa się z wyrobów pm1, pm2,…, pmk, a zatem zbiór wyrobów o określonej strukturze z danego typoszeregu Pm ma postać: Pm={pm1,pm2,…,pmk}
Wartości atrybutów należą do zbioru Mkvw .
Mk* = {mk1*,mk2*,…,mkr*} (9)
Podstawowa koncepcja QFD to przełożenie wymagań klienta na wymagania projektowe, a następnie na charakterystykę części, charakterystykę procesu, charakterystykę operacji technologicznych. QFD jest również metodą analizy i poprawy systemu produkcyjnego [6]. QFD wymaga [14, 9] zastosowania ciągu macierzy, w którym każda z macierzy odpowiada etapowi rozwoju wyrobu tj. macierz planowania wyrobu, planowania części, planowania procesu, planowania operacji. Charakterystyka wyrobu na poszczególnych etapach rozwoju może być opisana z zastosowaniem modelu atrybutowego. Identyfikacja cech technicznych wyrobu może być prowadzona z wykorzystaniem modelu atrybutowego wyrobu. W opracowanym modelu atrybutowym wyrobu zastosowano pojęcie atrybutu rozumianego, jako cecha wyrobu, jego podzespołu, zespołu, elementu, procesu, operacji technologicznej, itd., która charakteryzuje wyrób pod względem wybranego kryterium np. kryterium funkcjonalnego. Elementy, zespoły lub podzespoły mogą być pogrupowane w obiekty konfiguracji nazywane również w literaturze modułami [7, 3], które mogą tworzyć wyrób wg indywidualnych potrzeb klienta. W modelu atrybutowym wyrobu [10] atrybuty wyrobu decydujące o atrakcyjności wyrobu dla klienta f1, f2, …, fn mogą być scharakteryzowane przez zbiór F.
Wyrób pmk składa się z obiektów konfiguracji (modułów) ze zbioru M. M = {m1,m2,…,mk} (6)
(3)
Powyższa notacja charakteryzująca atrybuty wyrobu umożliwia realizację zamówień wg koncepcji make to order (MTO). Określenie wartości docelowych cech wyrobu innowacyjnego.
Wartości docelowe charakterystyki technicznej wyrobu innowacyjnego mogą zostać określone zgodnie z warunkami doboru danego urządzenia. W macierzy QFD (rys. 2) wartości docelowe charakterystyk technicznych wyrobu zostały oznaczone jako zbiór Pmktwo , którego wartości podano w dolnym wierszu macierzy. Pmktwo = {pmk1two1,pmk2two2 ,…. ,pmkztwoz}
Wybór rozwiązania wzorcowego – wybór rozwiązania najbardziej zbliżonego do wyrobu charakteryzującego się wartościami docelowymi. Spośród zbioru możliwych rozwiązań będących dotychczasową ofertą przedsiębiorstwa wybierany jest podzbiór rozwiązań, które potencjalnie mogą się stać rozwiązaniem wzorcowym. Wybór rozwiązań może być prowadzony zgodnie z regułą (11). Jeżeli
pmk1two1 – x1 ≤ pmk1 ≤ pmk1two1 + x1 i pmk2two2 – x2 ≤ pmk2 ≤ pmk2two2 + x2 i … ..i pmkztwoz - xz ≤ pmkz ≤ pmkztwoz + xz to mk= mkr*
(11)
gdzie: xz – dopuszczalny zakres zmienności cechy z. Zastosowanie reguły (11) jest możliwe po uprzednim dokonaniu podziału wyrobu na obiekty konfiguracji – moduły, które tworzą wyrób oferowany klientowi (rys. 3). Charakterystykę obiektów konfiguracji przedstawiono w tab. 1 [10]. Ocena wariantów obiektów konfiguracji. Proponowana metoda bazuje na wyznaczeniu odchylenia od wartości idealnej dla każdej z analizowanych charakterystyk zgodnie ze wzorem (12).
Każdy wyrób pmk jest opisany przez zbiór atrybutów: pmk={pmk1, pmk2, …, pmkz} (4)
(10)
w kzt =
woz w − pmkzt pmkzt woz pmkzt
⋅ 100 (12)
59
Planowanie procesu produkcyjnego wyrobu innowacyjnego gdzie: wkzt – wskaźnik odchylenia od rozwiązania idealnego dla obiektu konfiguracji k, atrybutu z, wariantu t, pmkztwoz – wymagana wartość atrybutu wyrobu, pmkztw – oferowana wartość atrybutu wyrobu przez wariant t.
Tabela 2. Reguły przydziału ocen Table 2. Assessment rules
Tabela 1. Warianty obiektów konfiguracji Table 1. Configuration items variants
Obiekty konfiguracji
Alternatywy m11 * m12 * … m1l* m21 * m22 * … m2l* …. mk1 * mk2 * … mkl*
m1
m2 …. mk
p mk2 pm121 w pm122 w … pm12tw pm221 w pm222 w … pm22tw
w
w
pmk11 pmk12 w … pmk1tw
Jak?
Co? Wymagania klienta
Atrybuty p mk1 pm111 w pm112 w … pm11tw pm2121 w pm212 w … pm21tw
Wa Atrybuty rtowyrobu ści f1 f11 w
.
pmkz1 pmkz2 w … pmkzt w
Charakterystyka (atrybuty) wyrobu z punktu widzenia producenta
Znacz enie dla klienta k1
p mk1
p mk2
…
p mkz
c 11
c 12
c 1k
f2
f22 w
k2
c 21
c 22
c 2k
fn
fn2w
kn
c n1
c n2
c nk
Jak?
p mk1 p mk2 p mkz
m1
m2
w
k k1
c 11
c 12
c 1k
pmk2tw
k k2
c 21
c 22
c 2k
pmk1t
pmkzt
w
k kz
…
mk
c z1
c z2
c zk
m11 * m12 *
m21 * m22 *
mk1* mk2*
m1r*
m2r*
mkr*
…
…
P
O
M
I
A
R
Y
•
A
o4 z < wkzt
skzt=1
Jak? Atrybuty
Wartość
Znaczenie dla klienta
m1
m2
p mk1 p mk2
pmk1tw
k k1
c 11
c 12
c 1k
pmk2tw
k k2
c 21
c 22
c 2k
p mkz
pmkzt w
k kz
c z2
c zk
..
U
T
O
Obiekty konfiguracji
c z1 1
m11 *
2 3
m12 *
4
…
m1r*
5
Rys. 3. Powiązanie wymagań klienta ze strukturą wyrobu w macierzy QFD Fig. 3. Relation between customer requirements and product structure in QFD matrix
60
skzt=2
Co?
Obiekty konfiguracji
Znacz enie dla klienta
Wartość
o3 z < wkzt ≤ o4 z
Ocena
Atrybuty
skzt=3
to
p mkzt woz
Charakterystyka wyrobu z punktu widzenia producenta
Co? Charakterystyka wyrobu z punktu widzenia producenta
p mk2two2
skzt=4
(13)
Wartości docelowe atrybutów p mk1two1
o1z < wkzt ≤ o2 z
Ocena wariantów obiektów konfiguracji mk może być prowadzona przez wyznaczenie wskaźnika wkzt a następnie wyznaczenie oceny skt odpowiadającej przyjętej skali ocen w metodzie QFD odzwierciedlającej stopień spełnienia wymagań. Charakteryzując warianty obiektów konfiguracji, wartościami atrybutów konieczne jest przyjęcie reguł, wg których będą przydzielane oceny wariantów. Dla każdego ocenianego atrybutu skala ocen jest taka sama, dzięki czemu został zredukowany wpływ użytych jednostek oraz przyjętego zakresu ocenianych wartości. Ocena atrybutów może być przydzielana wg reguł przedstawionych w tab. 2, gdzie o1z, o2z, ... . oznaczają odpowiednio maksymalne dopuszczalne odchylenia od wartości idealnej określone przez eksperta dla skali ocen przyjętej w metodzie QFD. Maksymalne dopuszczalne odchylenia są ustalane przez ekspertów odrębnie dla każdej ocenianej cechy. Przedstawione reguły pozwalają na ocenę każdego z rozpatrywanych atrybutów odrębnie. Ocena łączna może być wyznaczona na podstawie zależności (13), jako średnia ważona ocen atrybutów.
w
pm221 pm222 w … pm22tw
skzt=5
o2 z < wkzt ≤ o3 z
Jeżeli
p mkz pmkz1 w pmkz2 w … pmkzt w pmkz1 w pmkz2 w … pmkzt w
wkzt ≤ o1z
m21 * m22 * …
m2r*
…
mk
mk1* mk2* ..
mkr*
Rys. 4. Wyniki oceny wariantów Fig. 4. Configuration items assessment
M
A
T
Y
K
A
•
R
O
B
O
T
Y
K
A
N R 1 / 20 1 5
Izabela Kutschenreiter-Praszkiewicz
gdzie: kz – waga oceny atrybutu z, kz ∈ N, skt – średnia ocena stopnia spełnienia wymagań dla wariantu t obiektu konfiguracji k, skt ∈ {1, 2, 3, 4, 5}, skzt – ocena stopnia spełnienia wymagań dla wariantu t obiektu konfiguracji k, atrybutu z. W wyniku zastosowania zaproponowanej regułowej oceny wariantów możliwe jest dobranie rozwiązania, które w największym stopniu odpowiada wymaganiom klienta oraz jest jak najbardziej zbliżone do aktualnie oferowanych rozwiązań. Podobieństwo może być oceniane zarówno pod względem parametrów technicznych jak i wymagań niezawodnościowych czy ponoszonych kosztów. Wyniki oceny przedstawiono na rys. 4. Oszacowanie danych dotyczących wyrobu innowacyjnego – określenie zasobów niezbędnych w celu wytworzenia wyrobu innowacyjnego. Po przeprowadzeniu oceny wariantów obiek-
tów konfiguracji kolejnym etapem jest oszacowanie danych np. dotyczących pracochłonności i/lub ponoszonych kosztów wynikających z dostosowania wyrobu do wymagań klientów. Spośród szeregu metod określania czasu pracy na szczególną uwagę zasługuje metoda szacunkowa. Szacowanie czasu wykonania wyrobu lub procesu może być realizowane na podstawie wzorca lub na podstawie wielu wzorców. Szacowanie czasów na podstawie wzorca wymaga znalezienia przebiegu pracy, który jest zbliżony do nowego zadania oraz skorygowanie danych dla znanego zadania, tak aby otrzymać dane dla zadania nowego. Szacowanie na podstawie wielu wzorców pozwala na zastosowanie reprezentatywnej grupy przypadków do określania czasu. Nie występuje konieczność wyszukiwania wyrobu lub procesu wzorcowego. Metodą stosowaną do analizy zgromadzonych danych mogą być sztuczne sieci neuronowe. Alokacja zasobów w czasie. Kolejnym etapem jest określenie możliwości realizacji planowanego wyrobu. Zastosowanie w tym celu harmonogramów Gantta lub sieciowych metod planowania opartych o teorię grafów pozwala na powiązanie planowanych zadań z dostępnością zasobów przedsiębiorstwa. Termin realizacji jest jednym z istotnych kryteriów decydujących o atrakcyjności oferty. Ustalenie terminu realizacji może zostać określone na podstawie pracochłonności opracowania
4 3 2 1 Jak? Co? Atrybut Szerokość bębna Prędkość przesuwu taśmy Moc maszyny roboczej
Wartość 1200 mm
+
+ +
1
3 m/s
30 kW
9
Termin 5 tyg. realizacji Wartości docelowe
30
2
3
9
9
108
14
Jak? Przekładnia Co? Zapewnia wymagany m o9 ment oraz obroty na wyjściu Umożliwia montaż 9 Warunki transakcji 9
Silnik 9 3 9
Rys. 6. Powiązanie struktury napędu podajnika taśmowego z jego funkcjami Fig. 6. Relations between feeder device structure and its functions
Tabela 3. Charakterystyka obiektów konfiguracji napędu przenośnika taśmowego Table 3. Feeder device configuration item characteristic
Atrybuty Obiekty konfiguracji
Przekładnia
Silnik
Alternatywy
Moc [kW]
Prędkość Przełoże[obr/ nie min]
t11
33
83
18
t12
49
83
18
t13
24,5
83
18
t21
30
1470
t22
35
1770
t23
30
1470
….
dokumentacji konstrukcyjno-technologicznej, pracochłonności operacji technologicznych wykonanych w procesie wytwarzania oraz terminu dostawy elementów handlowych.
3. Przykład zastosowania metodyki planowania wyrobu innowacyjnego
+
Prędkość Moc Przełożeobrotowa nominalna nie wyjściowa
Obiekty konfiguracji
…..
….
Rys. 5. Identyfikacja wartości docelowych atrybutów napędu przenośnika taśmowego Fig. 5. Attribute target value of feeder device
Przykładową macierz QFD sporządzoną dla potrzeb doboru motoreduktora jako jednostki napędowej przenośnika taśmowego zawierającą wybrane wymagania klienta powiązane z charakterystyką techniczną zamieszczaną w katalogu wyrobów przedsiębiorstwa wytwarzającego motoreduktory w warunkach produkcji jednostkowej oraz małoseryjnej zamieszczono na rys. 5. Przedstawione wartości docelowe atrybutów uwzględniają zarówno atrybuty techniczne, na podstawie których mogą zostać wyszukane wyroby podobne w katalogu przedsiębiorstwa, ale również uwzględniono atrybuty decydujące o atrakcyjności warunków transakcji takie jak termin realizacji. Ustalenie struktury wyrobu, określenie obiektów konfiguracji polegające na dekompozycji wyrobu jest kolejnym zadaniem niezbędnym do wykonania w analizowanym przykładzie. Wyodrębnienie obiektów konfiguracji pozwala na ustalenie charakterystyki zarówno dla elementów handlowych jak i wytwarzanych w przedsiębiorstwie oraz zlecanych do wykonania w kooperacji. Zazwyczaj przekładnia zębata jest niezależnym elementem połączonym z silnikiem i urządzeniem odbierającym za pomocą
61
Planowanie procesu produkcyjnego wyrobu innowacyjnego sprzęgła. Powiązanie funkcji urządzenia ze strukturą wyrobu zostało przedstawione na rys. 6. Przykładowe dane charakteryzujące alternatywne rozwiązania obiektów konfiguracji przedstawiono w tab. 3. Ocena wariantów obiektów konfiguracji mk może być prowadzona poprzez wyznaczenie wskaźnika oceny dla każdego analizowanego atrybutu wkzt a następnie wyznaczenie ocen skzt stopnia spełnienia wymagań dla wariantu z. W analizowanym przykładzie wagi wymagań klienta wynoszą 1, ponieważ przyjęto, iż wszystkie wymienione atrybuty są równie istotne dla klienta. Przeprowadzona ocena została oparta o reguły przedstawione w tab. 4. Kalkulacja wartości wskaźnika wkzt została przedstawiona w tab. 5, natomiast oceny wyznaczone dla każdego atrybutu skzt przedstawiono w tab. 6. Uszeregowanie wariantów przeprowadzone na podstawie oceny zagregowanej skt zamieszczono w dolnej części macierzy QFD (rys. 7). Obiekty konfiguracji, które uzyskały najwyższą ocenę mogą zostać zastosowane w wyrobie. W razie, gdy oceniany obiekt konfiguracji nie spełnia wymagań pojawia się konieczność określenia zakresu zmian, jaki powinien być wprowadzony w wyrobie. Oszacowanie danych dotyczących wyrobu innowacyjnego – określenie zasobów niezbędnych w celu wytworzenia wyrobu innowacyjnego może być realizowane metodą szacunkową wg wielu wzorców z zastosowaniem sieci neuronowych [7]. Ze względu na możliwość uwzględniania w procesie modelowania wielu czynników determinujących pracochłonność, sieci neuronowe dają optymistyczne przesłanki dotyczące możliwości zbudowania modelu odzwierciedlającego proces projektowania. Wymaga to jednak zgromadzenia danych o procesie projektowania i na ich podstawie, dobrania wektora cech wejściowych oraz skonfigurowania sieci neuronowej [11]. Przyjęto następujące dane wejściowe do analizy [11]: −−stopień automatyzacji prac – w warunkach produkcyjnych polskich przedsiębiorstw „warsztat pracy” nie zawsze jest wyposażony w najnowsze dostępne na rynku oprogramowanie wspomagające prace konstruktorów. Programy, jakimi dysponują przedsiębiorstwa mogą być opracowywane dla konkretnych, specyficznych uwarunkowań danego przedsiębiorstwa. Znajomość obsługi oprogramowania oraz jego dostępność dla różnych pracowników działu jest różna. Stąd założono, iż stopień automatyzacji prac obliczeniowych będzie istotną, zmienną wielkością wpływową,
Tabela 4. Przykładowe reguły przydziału ocen Table 4. An example of assessment rules
Jeżeli
wkzt £ 0,1
skzt= 5
0,1 <wkzt £ 0,65
skzt= 4 To
0,65 <wkzt £ 1
skzt= 3
1 <wkzt £ 2
skzt= 2
2 <wkzt
skzt= 1
Tabela 5. Warianty obiektów konfiguracji – kalkulacja wartości wskaźnika wkzt Table 5. Configuration items – indicator wkzt calculation
Moc [kW]
wk1
Prędkość obrotowa [obr/min]
wk2
Przełożenie
Silnik
Przekładnia
Alternatywy
Obiekty konfiguracji
Atrybuty
wk3
t11
33
0,1
83
7,3
18
0,3
t12
49
0,6
83
7,3
18
0,3
t13
24,5
0,2
83
7,3
18
0,3
t21
30
0,00
t22
35
16,67
t23
30
0,00
Tabela 6. Warianty obiektów konfiguracji ocena cząstkowa skzt Table 6. Configuration items variants partial assessment skzt
1
18
4
3
t12
49
4
83
1
18
4
3,6
…….
Ocena
Ocena średnia
83
Przełożenie
Ocena
5
Ocena
33
Moc [kW]
t11
Alternatywy
Obroty wyjścia [obr/min]
Przekładnia
Obiekty konfiguracji
Charakterystyka
Jak?
Przekładnia
Silnik
Wartość
1
2
30 [kW]
9
3
108
9
Co? Atrybut Moc Prędkość wyjściowa
[obr/min] Przełożenie
14
9
….
t13
24,5
4
t21
30
5
83
1
18
4
3,8
Termin realizacji
5 tyg.
Silnik
1
62
2,8
t22
35
1
3,5
t23
30
5
2
P
O
M
I
A
R
Y
•
A
U
T
O
Ocena
2
t23
3
t21
4
t11, t12, t13
t22
5 Rys. 7. Ocena wariantów obiektów konfiguracji w macierzy QFD Fig. 7. Configuration items assessment in QFD matrix
M
A
T
Y
K
A
•
R
O
B
O
T
Y
K
A
N R 1 / 20 1 5
Izabela Kutschenreiter-Praszkiewicz Tabela 7. Etapy procesu produkcyjnego wyrobu innowacyjnego Table 7. Production process stages of innovative products
Etap
Opis
Nakład czasu [h]
A
Założenia projektowe
12
B
Wykonanie dokumentacji konstrukcyjnej
20
C
Opracowanie dokumentacji technologicznej
10
D
Wytwarzanie
70
E
Testy
8
etap
A B C D E 10
czas [h]
Rys. 8. Harmonogram realizacji Fig. 8. Schedule
−−stopień nowości rozwiązywanego problemu – jest szczególnie ważnym czynnikiem decydującym o pracochłonności prac konstrukcyjnych, −−stopień złożoności rozwiązywanego problemu – jest związany z zakresem zmian wprowadzonych w konstrukcji wyrobu, Wyjściem sieci są czasy opracowania dokumentacji konstrukcyjnej wyrobu modernizowanego. Zbiór zgromadzonych danych obejmował 30 przypadków, które zostały podzielone w sposób losowy na trzy podzbiory [11]: −−zbiór uczący: 15 przypadków, −−zbiór walidacyjny: 7 przypadków, −−zbiór testujący: 8 przypadków. Analizie [11] poddano zlecenia, dla których pracochłonność realizacji nie przekraczała 500 godzin. Stopień automatyzacji prac został określony za pomocą trójstopniowej skali, gdzie 1 oznacza realizację zlecenia z wykorzystaniem CAD przy dobrej znajomości obsługi oprogramowania przez konstruktora, natomiast 3 oznacza opracowanie dokumentacji konstrukcyjnej przy ograniczonym wspomaganiu oprogramowaniem CAD, gdzie np. dokumentacja wyrobu podobnego jest w postaci „papierowej”. Badania obejmowały szereg eksperymentów numerycznych, które umożliwiły określenie cech, które mają decydujący wpływ na wynik uczenia sieci neuronowej oraz dobranie struktury sieci dającej zadawalające wyniki uczenia. Do prognozowania czasu opracowania dokumentacji konstrukcyjnej wyrobu innowacyjnego, zastosowano sieć MLP (Multi Layer Perception) uczoną metodą wstecznej propagacji błędu z logistyczną funkcją aktywacji. W trakcie eksperymentów numerycznych analizie poddano 30 różnych konfiguracji sieci. Najlepszą strukturą sieci poprawnie aproksymującą czas opracowania dokumentacji konstrukcyjnej była sieć z 9 neuronami w warstwie wejściowej, 5 neuronami w warstwie ukrytej oraz 1 neuronem wyjściowym (3:9-5-1:1).
Jako podstawowy wskaźnik oceny konfiguracji sieci przyjęto błąd RMS, którego podstawę obliczenia stanowi błąd średniokwadratowy. Dla wybranej sieci błąd RMS wynosił 11,86155. Alokacja zasobów w czasie była kolejnym etapem przeprowadzonej analizy. Etapy procesu produkcyjnego (tab. 7) zostały przedstawione w postaci harmonogramu Gantta (rys. 8).
4. Podsumowanie Analiza związków między potrzebami klienta, wymaganiami funkcjonalnymi, konstrukcją wyrobu oraz planowaniem procesu wytwarzania jest konieczna w celu opracowania wyrobu, który zapewni satysfakcję klienta. Zaproponowana metodyka pozwala na planowanie wyrobu w oparciu o wymagania klienta w powiązaniu z danymi wynikającymi z charakterystyki procesu produkcyjnego. Uwzględnienie w zaproponowanej metodyce planowania wyrobu innowacyjnego metody QFD oraz nowoczesnych metod analizy danych jakimi są sztuczne sieci neuronowe może wpłynąć na poprawę efektywności w zakresie planowania oraz realizacji przedsięwzięć nakierowanych na wdrażanie wyrobów innowacyjnych. Bazowanie na wcześniejszych doświadczeniach przedsiębiorstwa ogranicza ryzyko błędów w procesie produkcyjnym popełnianych zarówno w sferze projektowania wyrobu jak i procesu wytwarzania.
Bibliografia 1. Akao Y., QFD: Past, Present, and Future. International Symposium on QFD. Linköping 1997. 2. Bahrami A., Dagli C., Design science. Intelligent Systems in design and manufacturing. Edited by C. Dagli and Kusiak A. Asme Press. New York 1994. 3. Chieh-Yuan Tsai, Chih-Jung Chen, Yu-Ting Lo, A costbased module mining method for the assemble-to-order Strategy. Journal of Intelligent Manufacturing 25 (2014),1377–1392. 4. Chlebus T., Stefaniak P., Ewolucja produktu w odniesieniu do warunków użytkowania. Materiały z konferencji: Innowacje w Zarządzaniu i Inżynierii Produkcji, Zakopane 2014. 5. HARTING, Modularyzacja i specjalizacja w budowie maszyn. Pomiary Automatyka Robotyka. 3(2014), 58-59. 6. Hernandez-Matias J.C.,·Vizan A.,·Hidalgo A., Rios J.: Evaluation of techniques for manufacturing process analysis. Journal of Intelligent Manufacturing, 17(2006), 571-583. 7. Hong, G., Xue, D., & Tu, Y., Rapid identification of the optimal product configuration and its parameters based on customer-centric productmodeling for one-of-a-kind production. Computers in Industry, 61(2010)3, 270–279. 8. Karaszewski R., Nowoczesne koncepcje zarządzania jakością. TNOIK. Toruń 2006. 9. Karsak E.E., Sozer S., Alptekin S.E., Product planning in quality function deployment using a combined analytic network process and goal programming approach. Computers & Industrial Engineering, 44(2003), 171-190. 10. Kutschenreiter-Praszkiewicz I., Systemy bazujące na wiedzy w technicznym przygotowaniu części maszyn. Wydawnictwo ATH. Bielsko-Biała, 2012. 11. Kutschenreiter-Praszkiewicz I., Wykorzystanie sztucznych sieci neuronowych do prognozowania czasu projektowania przekładni zębatych w warunkach niepewności i ryzyka. Archiwum Technologii Maszyn i Automatyzacji, 27(2007)2, 113-120.
63
Planowanie procesu produkcyjnego wyrobu innowacyjnego 12. Lasota M., TRIZ – udoskonalanie istniejących rozwiązań. Pomiary Automatyka Robotyka 11(2013), 76-77. 13. Motyka S., Model kreowania system innowacji w przedsiębiorstwie. Materiały z konferencji: Innowacje w Zarządzaniu i Inżynierii Produkcji, Zakopane 2014. 14. Sener Z, Karsak E., A decision model for setting target levels in quality function deployment using nonlinear programming-based fuzzy regression and optimization.
International Journal of Advanced Manufacturing Technology, 2009. 15. Sosnowska A., Jak wdrażać innowacje technologiczne w przedsiębiorstwie. Poradnik dla przedsiębiorców. Warszawa 2005. 16. Wawak S., Zarządzanie jakością. Teoria i praktyka. Helion. Gliwice 2006.
Production process planning of innovative product Abstract: Paper presents innovative product production planning issues, especially technical product preparation tasks focused on chosen data assessment ware taken into consideration. Product modularity was taking into consideration as a cost reduced method for customer particular needs fulfilment. There are a lot of methods applicable for product development – according to literature review TRIZ and QFD are especially promising. In the paper the customer needs analysis was presented. The product modularity issue was presented. The idea of product modularity needs product models, which taking into consideration product structure and modules alternatives. The product attribute model was presented in the paper. The QFD method was apply for customer needs identification and correlation analysis for product structure and another data created during production process preparation. Artificial neural network was used for innovative product planning data prediction. Rule based method product similarity assessment was applied. Keywords: technical production preparation, variant assessment, QFD
dr hab. inż. Izabela Kutschenreiter-Praszkiewicz, prof. ATH ipraszkiewicz@ath.bielsko.pl
dr hab. inż. Izabela Kutschenreiter-Praszkiewicz, prof. ATH – absolwent Wydziału Organizacji i Zarządzania Filii Politechniki Łódzkiej w Bielsku-Białej. Obecnie profesor w Katedrze Inżynierii Produkcji na Wydziale Budowy Maszyn i Informatyki Akademii Techniczno-Humanistycznej w Bielsku-Białej.
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
N R 1 / 20 1 5
Pomiary Automatyka Robotyka, R. 19, Nr 1/2015, 65–70, DOI: 10.14313/PAR_215/65
Struktura niezawodnościowo-eksploatacyjna elektronicznego systemu bezpieczeństwa Waldemar Szulc
Wydział Menedżerski i Nauk Technicznych, Wyższa Szkoła Menedżerska, 03-772 Warszawa, ul. Kawęczyńska 36
Streszczenie: W artykule przedstawiono istotne problemy niezawodnościowo-eksploatacyjne doty-
czące układów elektronicznego systemu bezpieczeństwa (ESB). Zaprezentowano strukturę elektronicznego systemu bezpieczeństwa. Zawarto ogólne informacje dotyczące budowy i zasad działania ESB ze szczególnym uwzględnieniem potrzeb ochrony obiektów o szczególnym charakterze. Podano także przykładowe rozwiązanie ESB spotykane w praktycznych rozwiązaniach. Omówiono wyniki przeprowadzonych badań długofalowych, które umożliwiły określenie istotnych wskaźników eksploatacyjnych i niezawodnościowych, tak ważnych dla prawidłowego funkcjonowania ESB (systemu). Słowa kluczowe: Elektroniczny System Bezpieczeństwa, czujnik, niezawodność, sterowanie
1. Wprowadzenie Omawiany sposób budowania struktury niezawodnościowej oraz modelowania niezawodności elektronicznego systemu bezpieczeństwa ESB wymaga wprowadzenia założeń upraszczających (takie uproszczenia wykonano). Wychodząc z koncepcji systemu ESB oraz wykorzystując własne doświadczenia w konstruowaniu podobnych systemów, zostaną przedstawione sposoby tworzenia struktury niezawodnościowej oraz wybrane modele niezawodnościowe tego systemu [8, 10]. Przyjęcie konkretnego modelu niezawodnościowego powinno być zweryfikowane badaniami eksploatacyjnymi. Tego typu badania eksploatacyjne były przez autora zrealizowane przez ponad 1 rok. Wyniki tych badań powinny pozwolić na uaktualnienie proponowanej struktury niezawodnościowej (zwiększenie lub zmniejszenie stopnia agregacji układów systemu), jak też określenie zbioru stanów niezawodnościowych systemu oraz rozkładów przejść między tymi stanami.
Z9 Z10 Z11 Z12 Z13 Z14 Z15 Z16
Z1 Z2 Z3 Z4
Ekspander 8-wej Z5 Z6 Manipulator S 1
Jednostka centralna INTEGRA 24
Nadajnik radiowy
AKUMULATOR
SYGN . Wewn.
Pojemność akumulatora zgodna z wymaganiami GRADE III d.SA-3 230V/AC
2. Budowa ESB do ochrony małego lub średniego obiektu
Rys. 1. Uproszczony schemat rozproszonego elektronicznego systemu Fig. 1. Distributed electronic security system – simplified system
Elektroniczne systemy bezpieczeństwa [8, 4] do ochrony małych lub średnich obiektów mogą być budowane na bazie jednostki mikroprocesorowej typu INTEGRA 24 (rys. 1). Centrala ta ma
maksymalnie 24 wejścia (linie dozorowe wejściowe). Na płycie głównej usytuowano 4 linie wejściowe, do których dołączono 3 czujki (Z1–Z3). Linia dozorowa Z4 została przewidziana dla dołączenia radiowego systemu napadowego. Pozostałe linie wejściowe (dozorowe) dostępne są w ekspanderach lub w manipulatorach LCD (każdy manipulator rozszerza liczbę wejść o kolejne 2). Dla uproszczenia analizy rzeczywistego układu (ESB) pozostawiono tylko jeden manipulator (S1). Pozostałe manipulatory (S2 i S3) zostały usunięte, by nie utrudniały analizy eksploatacyjno-niezawodnościową. Linie wejściowe w manipulatorze (S1) to (Z5 i Z6). Taka konfiguracja ESB ułatwia prowadzenie okablowania, np. montując manipulator przy drzwiach wejściowych, można bezpośrednio do niego podłączyć 2 czujki (podobnie w innych
Autor korespondujący: Waldemar Szulc, waldemar.szulc@mac.edu.pl Artykuł recenzowany nadesłany 15.12.2014 r., przyjęty do druku 19.01.2015 r. Zezwala się na korzystanie z artykułu na warunkach licencji Creative Commons Uznanie autorstwa 3.0
65
Struktura niezawodnościowo-eksploatacyjna elektronicznego systemu bezpieczeństwa manipulatorach), które zabezpieczają wejście do obiektu. Jeśli wszystkie przewody od czujek biegną do centrali alarmowej, to wykorzystując 2 żyły można przedłużyć wejścia klawiaturowe w okolice centrali i tam podłączyć czujki. Do prawidłowej pracy ESB wymagany jest co najmniej jeden manipulator (S1 pozostawiony na rys. 1) z wyświetlaczem LCD. Maksymalna liczba manipulatorów LCD to 4 szt. Dla uproszczenia przedstawiony ESB zawiera jeden manipulator, co ułatwia zbudować model ESB do badań eksploatacyjno-niezawodnościowych. Jako dodatkowe sterowniki ESB można zastosować klawiatury strefowe (do sterowania tylko jedną strefą wskazaną na etapie programowania systemu). Omawiany system ESB może zostać podzielony na 4 strefy (wg potrzeb bezpieczeństwa obiektu). Jest to funkcja bardzo przydatna do realizowania czuwania częściowego (albo opuszczając obiekt, można włączyć czuwanie całości; w przypadku pozostawania na noc w chronionym obiekcie, uruchamia się czuwanie z pominięciem części obiektu). Dzięki konfiguracji 4 stref, można jedną centralą zabezpieczyć kilka sąsiadujących ze sobą obiektów. Przy dzieleniu systemu na strefy istnieje możliwość przydzielenia dla każdej strefy inne kody użytkowników i w ten sposób ograniczyć możliwość sterowania daną strefą przez osoby do tego niepowołane. Ze względu na konfigurację chronionego obiektu, przewidziano 1 ekspander o 8 wejściach dołączony do centrali magistralą transmisyjną (ESB może być w prosty sposób rozbudowany o dodatkowe ekspandery 8 wejściowe. Jest to 4-drutowa linia, która może zawierać: 2 druty do transmisji danych i 2 druty zasilające ekspander, do którego za pośrednictwem 8 linii dozorowych (wejściowych) dołączono 8 czujek (Z9–Z16). Komunikacja jest realizowana za pomocą zaawansowanego dialera telekomunikacyjnego przystosowanego do naziemnej analogowej linii telefonicznej. Może on wysyłać raporty do dwóch niezależnych stacji monitorowania. Jednocześnie możliwe jest również powiadamianie telefoniczne na maksymalnie zaprogramowane 4 numery telefoniczne. Do powiadamiania telefonicznego może zostać zainstalowany syntezer mowy. Może to być podstawowa wersja, tj. syntezer SM-2, który odtwarza jedną informację słowną (wcześniej nagraną) lub zalecany ekspander syntezerów mowy typu CA-64SM, który umożliwia zapis 16 komunikatów słownych i ich przydział do dowolnych zdarzeń w systemie. Dzięki modułowi CA-64SM można uzyskać precyzyjne informacje o alarmie (np. alarm włamaniowy w obiekcie, który jest chroniony elektronicznie). Możliwe jest wysyłanie informacji o dowolnych innych ważnych zdarzeniach w systemie, np. o awarii zasilania sieciowego 230 V lub awarii zasilania rezerwowego w postaci akumulatora. Jeśli w obiekcie nie ma naziemnej linii telefonicznej, to można zastosować moduł GSM (np. Satel GSM-LT1), dzięki któremu – oprócz wiadomości głosowych – można również odbierać wiadomości SMS. Istnieje możliwość instalacji nadajnika radiowego celem monitorowania chronionego obiektu. Do płyty głównej centrali ESB został dołączony sygnalizator akustyczny wewnętrzny. Przedstawiony system ESB (rys. 1) umożliwia budowę modelu szeregowej struktury niezawodnościowo-eksploatacyjnej i dokonanie analizy, która umożliwi określenie wskaźnika gotowości Kg. W podobny sposób dokonano analizy urządzeń zasilających ESB.
bezpieczeństwa), ale zbudowane w innych konfiguracjach. Jeżeli pewien zbiór urządzeń (obiektów) ma wykonać określone zadanie, a niezawodność można rozpatrywać dla całego zbioru lub, jeżeli w danym obiekcie można wyróżnić części, których niezawodność rozpatrywana oddzielnie ma wpływ na niezawodność obiektu, mówi się wówczas o systemie i jego elementach. W pierwszym przypadku system tworzy zbiór urządzeń (obiektów), a jego elementami są poszczególne urządzenia (obiekty); w drugim przypadku systemem jest sam obiekt (urządzenie), zaś elementami są wyróżnione części. Jeżeli niezawodność elementów wyznacza jednoznacznie niezawodność systemu mówi się, że określona jest struktura niezawodnościowa systemu. Strukturę niezawodnościową systemu ESB trzeba odróżnić od innych struktur tego systemu, np. od jego struktury funkcjonalnej, która określa sposób współdziałania elementów (układów) – na ogół są to inne elementy niż elementu systemu rozpatrywanego pod kątem niezawodności – przy wykonywaniu zadań nałożonych na system. Modelem matematycznym systemu jest para uporządkowana (N, j) nazwana krótko systemem, gdzie N – zbiór liczb naturalnych przyporządkowanych poszczególnym wyróżnionym elementom systemu, j – funkcja określającą stan systemu w zależności od stanu jego elementów, zwana strukturą systemu. Znajomość struktury niezawodnościowej systemu jest niezbędna, m.in. do wyznaczenia jego niezawodności. Strukturę niezawodnościową systemu można przedstawić w jednej z trzech postaci: −− tablicy, −− schematu blokowego (najczęściej stosowany), −− analitycznej. Uwzględniając schemat ESB zawierający wszystkie podstawowe bloki funkcjonalne i ich wzajemne powiązania, można przedstawić strukturę niezawodnościową systemu bezpieczeństwa. Dodając układy pomocnicze, otrzymuje się układ ESB złożony z 6 bloków (tak więc obliczenia należy wykonać dla N = 6): −−czujki (określone typy), −−linia dozorowa (przewodowa lub bezprzewodowa), −−moduł rozszerzający o 8 wejściach i 4 wyjściach, −−magistrala transmisyjna (RS-232 lub RS-485, −−centrala mikroprocesorowa (płyta główna), −−sygnalizatory akustyczne, optyczne, akustyczno-optyczne lub inne monitorujące urządzenie, Otrzymana struktura systemu ESB jest strukturą szeregową z punktu widzenia niezawodności (rys. 2).
1
O
M
I
A
R
Y
•
A
U
T
O
M
4
5 Centrala mikropr.
Magistrala transmisyjna
6
Sygnalizatory
4. Model niezawodnościowy systemu ESB Zmiany w czasie systemu nie zawsze mogą być opisane zmianami stanów jego elementów składowych. Prowadzi to do próby określenia stanu systemu w czasie za pomocą pewnego procesu wielowymiarowego. Ponieważ na system oddziałują zwykle czynniki losowe, więc proces ten będzie procesem stochastycznym [8–10]. Zakłada się, że proces opisujący zachowanie się systemu pozwala, aby w każdej chwili, znając stan procesu, można było jednocześnie powiedzieć czy system jest sprawny, czy też nie. Niech opisany proces będzie oznaczony przez e(t), a zbiór jego stanów symbolem E. Zbiór E rozkłada się na dwa rozłączne podzbiory:
Podczas oceny przydatności proponowanych modeli należy wziąć pod uwagę możliwość opisania funkcjonowania systemu za pomocą procesów losowych [1–3, 8]. Proponowane modele mogą być przydatne do oceny niezawodności nie tylko systemu ESB, ale również innych systemów realizujących funkcje podobne (jak inne elektroniczne systemy P
3
Moduł
rozszerzający
Rys. 2. Struktura niezawodnościowa – eksploatacyjna badanego ESB Fig. 2. Reliability structure – operating the test ESS (Electronic Security System)
3. Struktura niezawodnościowa –eksploatacyjna ESB na bazie procesów losowych
66
2
Linia dozorowa
Czujki
A
T
Y
K
A
•
R
O
B
O
T
Y
K
A
N R 1 / 20 1 5
Waldemar Szulc E = sE+ È E–
1
Jeżeli t Î E+, to system w chwili t jest sprawny, a jeżeli t Î E–, to jest on w chwili t niesprawny. Przejście procesu ze zbioru E+ do zbioru E– jest uszkodzeniem systemu, a odwrotne przejście z E– do E+ nazywa się odnową systemu. W artykule opracowano model niezawodnościowy systemu ESB z wykorzystaniem teorii procesów semi-markowskich. Podstawowe założenia przy konstrukcji tego modelu to: 1. System ESB jest systemem naprawialnym o szeregowej strukturze niezawodnościowej. 2. Uszkodzenie dowolnego elementu powoduje przejście systemu do stanu niezdatności, a uszkodzony element (blok funkcjonalny) poddawany jest naprawie lub wymianie. 3. Czas poprawnej pracy każdego z elementów tworzących strukturę systemu ESB jest nieujemną zmienną losową Tk opisaną rozkładem wykładniczym z parametrem
2
6
0 3
5
4
Rys. 3. Graf zmiany stanów niezawodnościowych systemu ESB Fig. 3. Graf changes of the ESS system reliability
Z tego wynika równość (4): (4)
. (1)
Przyjęcie tego założenia jest podyktowane faktem, że elementy i układy systemu ESB są urządzeniami elektronicznymi. 4. Czas naprawy lub wymiany uszkodzonego k-tego elementu (bloku) jest nieujemną zmienną losową qk o dystrybuancie wyrażonej zależnością (2):
Wykorzystując niezależność zmiennych losowych i po zmianie całki n-krotnej po obszarze D na całkę iterowaną, otrzymuje się równanie (5)
(2) oraz dodatniej wartości oczekiwanej, skończonej wariancji i dowolnym rozkładzie skoncentrowanym w nieujemnej przestrzeni liczb rzeczywistych. 5. Zmienne losowe T1, T2, ..., T6 oraz q1, q2, ..., q6 są wzajemnie niezależne. 6. Przyjmuje się następujące stany niezawodnościowe: 0 – stan zdatności systemu ESB, k – stan naprawy (wymiany) k-tego elementu k = 1, 2, …, 6 Możliwe zmiany stanów przedstawiono w postaci grafu (rys. 3). Niech 0 = t0 < t1< ...< tn ... oznaczają chwile, w których następuje zmiana stanów systemu. Chwile te są chwilami uszkodzeń systemu lub chwilami, w których rozpoczyna się użytkowanie zdatnego systemu. Ponieważ zmienne losowe Tk (k = 1, 2, ..., 6) mają rozkład wykładniczy, więc w związku z tzw. „brakiem pamięci” rozkładu wykładniczego chwila zakończenia wymiany lub naprawy jest jednocześnie chwilą odnowy systemu. Niech {X(t) : t ³ 0} będzie procesem stochastycznym o zbiorze stanów S = {0, 1, …, 6}. Stan systemu w chwili tn+1 oraz czasu trwania stanu osiągniętego w chwili tu nie zależy od stanów przyjętych w chwilach t0, t1, ..., tn-1 oraz czasów ich trwania. Zatem proces {x(t) : t ³ 0} jest procesem semi-Markowa. Jak wynika z grafu, zmiany stanów niezawodnościowych systemu ESB jądro ma postać opisaną zależnością (3):
(5)
przyjmując:
Należy określić elementy Q0k(t), k = 1– 6. Zmiana stanu z 0 na k w czasie mniejszym niż t następuje tylko wtedy, gdy zachodzi zdarzenie:
gdzie k = 1, 2, ....n
(6)
otrzymujemy ostateczną zależność: , (7) gdzie: k = 1, 2, …, n. Zmiana stanu z k na 0 w czasie mniejszym niż t ma miejsce wtedy i tylko wtedy, gdy zachodzi zdarzenie:
Zatem:
{ Qk < t } .
(8)
Jądro procesu SM, który stanowi model procesu zmian stanów niezawodnościowych systemu ESB, wyraża się macierzą (wzór 1.9):
(9)
(3)
Dodatkowo zakłada się, że stanem początkowym procesu jest stan zdatności, tj. stan 0:
P{X(0 ) = 0} = 1 . (10)
Tym sposobem skonstruowano model procesu zmian stanów niezawodnościowych. Model ten umożliwia wyznaczenie różnych (wybranych) charakterystyk niezawodnościowych systemu ESB.
67
Struktura niezawodnościowo-eksploatacyjna elektronicznego systemu bezpieczeństwa Ponieważ Λ =
a) prawdopodobieństwo poprawnej pracy systemu ESB
Prawdopodobieństwa zmian stanów określone są przez prawdopodobieństwa przejścia włożonego łańcucha Markowa w proces . Dokonując przekształceń, trzymuje się macierz prawdopodobieństw przejścia włożonego łańcucha Markowa (11):
n
∑ λ k , zatem uwzględniając założenie 3, czas
k =0
poprawnej pracy systemu ESB, przy tak przedstawionym modelu, ma również rozkład wykładniczy, a wartość oczekiwana zdatności wyraża się zależnością: oraz wykorzystując twierdzenie o rozkładzie granicznym można wyznaczyć stacjonarne prawdopodobieństwa Pj przebywania systemu ESB w wyróżnionych stanach niezawodnościowych:
(11)
(20)
Zmienna losowa T0 o rozkładzie:
(21)
Prawdopodobieństwo P0 wyrażone równaniem (20) oznacza współczynnik gotowości systemu ESB. Z kolei prawdopodobieństwo Pk dla ustalonego k oznacza graniczne prawdopodobieństwo naprawy k-tego elementu systemu. Przedstawiony model niezawodnościowy ocenianego systemu ESB pozwala na wyznaczenie podstawowych wskaźników niezawodnościowych ocenianego systemu ESB. W celu wyznaczenia ich wartości liczbowych należy posiadać informacje o zachowaniu się systemu oraz jego elementów w czasie rzeczywistej eksploatacji. Dotyczy to głównie rozkładów zmiennych losowych czasu zdatności, jak też czasu napraw. Założony w modelu wykładniczy rozkład czasu pracy poszczególnych elementów systemu ESB został potwierdzony w praktyce jako rozkład trwałości większości urządzeń elektronicznych. Gdyby to założenie się nie potwierdziło w badaniach praktycznych, model pozwala na obliczenie przedstawionych charakterystyk niezawodnościowych przy innym określeniu macierzy Q(t), będącej jądrem procesu semi-markowskiego. Zaproponowane wskaźniki pozwalają w dość łatwy sposób wyznaczać ich wartości liczbowe, a badania mające na celu uzyskanie wartości tych wskaźników, są jednymi z podstawowych badań niezawodnościowych (rejestracja czasów poprawnej pracy i czasów napraw).
(13)
Z tej zależności oraz wzoru (1.7) otrzymuje się:
(14)
Zatem prawdopodobieństwo poprawnej pracy systemu wynosi:
(15)
b) wartość oczekiwana czasu zdatności systemu ESB n
∑ λ k , zatem uwzględniając założenie 3, czas
k =0
poprawnej pracy systemu ESB, przy tak przedstawionym modelu, ma również rozkład wykładniczy. Wartość oczekiwana zdatności wyraża się zależnością:
5. Wybór miar oceny niezawodności systemu ESB
. (16)
Wskaźniki niezawodności obiektów odnawialnych mogą być podzielone na następujące klasy [7, 9, 10]: −−wskaźniki niezawodnościowe opisujące stan obiektu. W obiekcie rozróżnia się stan pracy i stan odnowy. Do wskaźników niezawodności związanych ze stanem pracy zaliczamy dystrybuantę czasu poprawnej pracy obiektu, funkcje gęstości prawdopodobieństwa rozkładu czasu poprawnej pracy. Do wskaźników niezawodnościowych związanych ze stanem odnowy można zaliczyć dystrybuantę czasu pracy obiektu do wystąpienia n-tej odnowy; −−wskaźniki czasowe, określane dla stanów pracy i stanów odnowy, dotyczące alternatywnego strumienia odnowy; −−wskaźniki wyznaczające prawdopodobieństwo przebywania obiektu w stanie gotowości lub niezdatności. Do tego typu wskaźników zaliczamy współczynnik gotowości i współczynnik gotowości operacyjnej; −−wskaźniki charakteryzujące liczbę przejść obiektu do poszczególnych stanów. Do tej klasy wskaźników zaliczamy funkcję odnowy i gęstość odnowy. Najczęściej stosowane wskaźniki niezawodności zostały zebrane w normach. Oprócz nich istnieją wskaźniki uwzględ-
c) stacjonarne prawdopodobieństwa przebywania systemu ESB w różnych stanach
Wykorzystując twierdzenie o rozkładzie granicznym można wyznaczyć stacjonarne prawdopodobieństwa Pj przebywania systemu ESB w wyróżnionych stanach niezawodnościowych: ,
(17)
Rozwiązując układ równań: , (18)
otrzymuje się rozkład graniczny włożonego łańcucha Markowa . (19)
68
P
O
M
I
A
R
Y
•
A
U
T
O
M
(12)
oznacza czas użytkowania zdatnego systemu ESB. Rozkład zmiennej losowej T0 jest związany z elementami macierzy Q(t) zależnością (13):
Ponieważ Λ =
A
T
Y
K
A
•
R
O
B
O
T
Y
K
A
N R 1 / 20 1 5
Waldemar Szulc niające specyfikę różnych dziedzin techniki, np. wskaźniki stosowane w elektronice, elektrotechnice czy w ESB (elektronicznych systemach bezpieczeństwa). Bardzo ważny jest trafny wybór odpowiedniego zbioru wskaźników dla oceny niezawodności danego obiektu. Wymagana jest szczegółowa znajomość zagadnień związanych z pracą obiektu. Każda dziedzina musi dobrać wskaźniki najlepiej uwzględniające jej specyfikę. Po przeprowadzeniu analizy wskaźników niezawodności wybrano te, które posłużą do oceny niezawodności opisywanego systemu ESB (elektroniczny system bezpieczeństwa). Dysponując wielką liczbą danych o uszkodzeniach wskaźnikami tymi będą: −−średni czas poprawnej pracy między uszkodzeniami Tm, −−średni czas naprawy Tn, −−współczynnik gotowości Kg.
c) współczynnik gotowości Kg systemu ESB
a) średni czas poprawnej pracy między uszkodzeniami Tm systemu ESB
Czas poprawnej pracy między dwoma kolejnymi uszkodzeniami obiektu, jakim jest system ESB, jest to okres pracy obiektu naprawialnego, upływający od końca naprawy do początku następnego uszkodzenia tego obiektu. Średni czas poprawnej pracy między uszkodzeniami jest wartością oczekiwaną czasu poprawnej pracy, a więc:
. (22) Można go również określić zależnością:
, (23)
gdzie: k – liczba uszkodzeń obiektu w rozpatrywanym okresie, ti’ – czas poprawnej pracy obiektu między i = 1, a i-tym uszkodzeniem. Posługiwanie się tą zależnością wymaga określenia chwil uszkodzeń wszystkich badanych obiektów. Jeśli badaniom poddaje się nie jeden, a n obiektów jednocześnie, wówczas:
,
gdzie:
,
(24) (25)
Dtij – czasu pracy j-tego obiektu między i = 1, a i-tym uszkodzeniem, kij – liczba uszkodzeń j-tego obiektu, i = 1, 2, ..., k, j = 1, 2, ..., n. b) średni czas naprawy Tn systemu ESB
Czas naprawy obiektu jest to okres, który upływa od początku uszkodzenia do chwili zakończenia naprawy i przywrócenia stanu zdatności. Średni czas naprawy, który jest wartością oczekiwaną czasu naprawy uszkodzonego obiektu wyraża się (26):
(26) Czas ten można również określić zależnością (1.27):
(27)
gdzie: k – liczba uszkodzeń obiektu w rozpatrywanym okresie, ti’’ – okres naprawy między i-1, a i-tym uszkodzeniem.
Współczynnik gotowości jest stosunkiem wartości oczekiwanej czasu pracy do sumy wartości oczekiwanej czasu poprawnej pracy i czasu naprawy. Wyraża się on następującą zależnością (28):
(28)
Współczynnik gotowości praktycznie rzecz biorąc jest to prawdopodobieństwo tego, że w określonej chwili t obiekt (system ESB) będzie się znajdował w stanie gotowości. Współczynnik gotowości jest więc stosunkiem całkowitego czasu poprawnej pracy i czasu naprawy, wziętych za jeden i ten sam czas okresu eksploatacji. Można go wyrazić następująca zależnością (29): ,
(29)
gdzie: Kg – to wskaźnik gotowości, który jest stosunkiem wartości oczekiwanej czasu pracy układu ESB Tm do sumy wartości oczekiwanej: czasu poprawnej pracy układu ESB Tm i czasu naprawy układu ESB Tn (także jego wymiany). Współczynnik gotowości Kg to prawdopodobieństwo tego, że w określonej chwili t obiekt będzie znajdował się w stanie gotowości. Wskaźnik gotowości Kg (wskaźnik jakości systemu ESB) opisany równaniem (29). Na podstawie uzyskanych liczbowych wartości wskaźników niezawodności, dla poszczególnych elementów (bloków), dokonana zostanie ocena niezawodności systemu ESB (elektroniczny system bezpieczeństwa) jako całego systemu oraz ocena prawidłowości jego funkcjonowania. Podczas badań niezawodnościowo-eksploatacyjnych trwających Tm = 12 miesięcy (8760 h), po ustaleniu czasu naprawy pojedynczego uszkodzenia Tn = 1 h, określono wskaźnik gotowości Kg = 0,9998859 (zgodnie z równaniem 29). Badania dotyczyły systemu typu INTEGRA 24. Należy wyraźnie podkreślić, że badane ESB były wykonane na systemie INTEGRA 24, który został bardzo starannie opracowany przez renomowaną polską firmę specjalizującą się w budowie tego typu urządzeń. Nie wygląda to tak optymistycznie z tanimi ESB importowanymi z dalekiego wschodu. Badania takich systemów ESB były przez autora także wykonane, a wskaźnik Kg wahał się w granicach: 0,44 ≤ Kg ≤ 0,7 (wykonano takie badania w warunkach rzeczywistych). Autor przeprowadził takie badania na zaprojektowanym i zrealizowanym obiekcie rzeczywistym, a wcześniej na stanowiskach laboratoryjnych. Wykonane badania dotyczyły systemu INTEGRA 24 (rys. 1). Wskaźnik Kg, którego wartość spada poniżej 0,9, stanowi bardzo poważne zagrożenie dla poprawnej pracy ESB, szczególnie tych chroniących obiekty o charakterze specjalnym. W badaniach nie uwzględniono układów zasilających, które stanowią zupełnie odrębny problem badawczy. Badania niezawodnościowo-eksploatacyjne dotyczące układów zasilających ESB były prowadzone przez autora [10]. Stanowią one kanwę niezawodnej pracy systemów alarmowych.
6. Podsumowanie Problematyka niezawodności eksploatacyjnej ESB to poważne wyzwanie, zważywszy na warunki pracy tych urządzeń – warunki klimatyczne, środowiskowe, zakłócenia elektromagnetyczne oraz wpływ tych zakłóceń na urządzenia nadzorujące bezpieczeństwo obiektów. Dla uproszczenia omawianych układów elektronicznych systemów bezpieczeństwa nie uwzględniono zintegrowanych systemów ESB. Realizacja systemów ESB wymaga sporej wiedzy z zakresu przepisów normatywnych i prawidłowego eksploatowania tych systemów, ze względu na ich różnorodność oraz ich zdatność lub niezdatność [5, 6, 8].
69
Struktura niezawodnościowo-eksploatacyjna elektronicznego systemu bezpieczeństwa
9. Tistarelli M., Li S.Z., Chellappa R., Handbook of Remote Biometrics for Surveillance and Security, Springer-Verlag 2009. 10. Szulc W., Problemy niezawodnościowo-eksploatacyjne układów zasilających elektroniczne systemy bezpieczeństwa, „Pomiary Automatyka Robotyka”, 1/2012, 54–63.
Rys. 4. Stanowisko do badań laboratoryjnych central INTEGRA (opracowanie własne) Fig. 4. The position of the laboratory of the INTEGRA
Reliability and Operation Aspects of Structure of Electronic Security System
Na rys. 4 przedstawiono stanowisko do badań laboratoryjnych central typu INTEGRA. Stanowiska typu INTEGRA umożliwiają programowanie różnych central typu INTEGRA pod kątem potrzeb chronionego obiektu. Wszystkie zdarzenia występujące w ESB są edytowane na ekranie monitora komputera i umożliwiają ich analizę poprawności pracy. Badania laboratoryjne systemu ESB (rys. 1) zostały wykonane na stanowiskach przedstawionych na rys. 4. Niezmiernie istotnym problemem jest ciągła kontrola systemów ESB szczególnie tych, które chronią obiekty specjalnego znaczenia, aby w wyniku wadliwej eksploatacji nie doszło do ich trwałego uszkodzenia. Elektroniczne systemy bezpieczeństwa przeznaczone dla potrzeb obiektów specjalnego przeznaczenia w tym np. transportowe, powinny charakteryzować się bezawaryjną pracą w procesach eksploatacyjnych. Nie powinny również stanowić zagrożenia dla innych układów elektronicznych zlokalizowanych w danym obiekcie. Warto również mieć wiedzę, jak powinny być dobrane systemy ESB zgodnie z obowiązującymi przepisami, aby spełnić wymagania normatywne w zależności od klasy zabezpieczenia Grade I do IV).
Abstract: The paper presents important
reliability and operation aspects of Electronic Security System units, as well as their structure. As the result of the extensive long-term research done by the author, the reliability and operation indicators important for the proper functioning of electronic safety systems have been identified. Particular attention was paid to the needs of the objects of special character. Keywords: reliability, operation aspects, electronic security system, indicator
Bibliografia 1. Dunstone T., Yager N., Biometric System and Data Analysis, Springer, 2009. DOI: 10.1007/978-0-387-77627-9. 2. Dąbrowski T., Będkowski L., Podstawy Eksploatacji, cz. II. Podstawy niezawodności eksploatacyjnej, WAT, Warszawa 2006. 3. Harwood E., DIGITAL CCTV. A Security Professional’s Guide, Butterworth Heinemann, 2007. 4. Hołyst B., Terroryzm, tom 1 i 2. Wydawnictwa Prawnicze LexisNexis, Warszawa 2009. 5. Szulc W., Rosiński A., Informatyczny sposób nadzoru i zarządzania zintegrowanym elektronicznym systemem bezpieczeństwa dla wybranego obiektu specjalnego znaczenia [w:] Hołyst B., Pomykała J., Patejko P. Nowe techniki badań kryminalistycznych a bezpieczeństwo informacji, PWN Warszawa 2014. 6. Norma PN-EN 50132-7:2003: Systemy alarmowe – Systemy dozorowe CCTV stosowane w zabezpieczeniach – Część 7: Wytyczne stosowania. 7. Norman T., Integrated security systems design, Butterworth Heinemann, 2007. 8. Szulc W., Rosiński A., Problemy eksploatacyjno-niezawodnościowe rozproszonego systemu bezpieczeństwa, „Zabezpieczenia”, Nr 1 (47)/2006, wyd. AAT, Warszawa 2006.
70
P
O
M
I
A
R
Y
•
A
U
T
O
M
doc. dr inż. Waldemar Szulc waldemar.szulc@mac.edu.pl
Od 1965 r. pracownik naukowy Politechniki Warszawskiej na Wydziałach: Komunikacji, Elektroniki, Instytutu Transportu oraz na Wydziale Transportu. Zajmował się problematyką: Telekomunikacji, Radiokomunikacji, Radiolokacji, Podstaw Elektroniki i Elektroniki ze szczególnym uwzględnieniem układów dla potrzeb transportu oraz elektronicznymi systemami bezpieczeństwa obiektów. Od 2011 r. jest kierownikiem Katedry Technik Bezpieczeństwa. Jest autorem lub współautorem ponad 10 patentów oraz autorem lub współautorem ponad 52 wdrożeń urządzeń elektronicznych dla potrzeb PKP. Jest autorem lub współautorem ponad 150 publikacji. Brał udział w ponad 35 pracach o charakterze naukowo-badawczym. Był dziekanem i prodziekanem Wydziału Informatyki Stosowanej i Technik Bezpieczeństwa w Wyższej Szkole Menedżerskiej w Warszawie. Jest autorem lub współautorem wielu unikalnych rozwiązań z dziedziny Bezpieczeństwa Obiektów o charakterze specjalnym. Współautor koncepcji projektu i wdrożenia Zespołu Laboratorium Systemów Bezpieczeństwa w Wyższej Szkole Menedżerskiej w Warszawie.
A
T
Y
K
A
•
R
O
B
O
T
Y
K
A
N R 1 / 20 1 5
Pomiary Automatyka Robotyka, R. 19, Nr 1/2015, 71–76, DOI: 10.14313/PAR_215/71
Algorytm redukcji szumów w nagraniach dźwiękowych z wykorzystaniem podziału sygnału na składowe harmoniczne i stochastyczne Piotr Kardasz
Wydział Elektryczny, Politechnika Białostocka, 15-351 Białystok ul. Wiejska 45A
Streszczenie: W artykule przedstawiono algorytm redukcji szumów w nagraniach dźwięku,
wykorzystujący podział sygnału dźwiękowego na składowe harmoniczne i stochastyczne. Tego rodzaju podział sygnału na składowe pozwala na obniżenie poziomu szumów w nagraniu przy ograniczeniu występowania zjawiska znanego jako musical noise. Proponowany algorytm został przetestowany przy użyciu kilku sygnałów, w tym fragmentu rzeczywistego nagrania zapisanego na nośniku magnetycznym. Przedstawione zostały wyniki testów oraz zarysowane zostały kierunki dalszych badań. Słowa kluczowe: algorytm, dźwięk, redukcja szumów, nagrania, składowe harmoniczne
1. Wprowadzenie Analogowe nagrania dźwięku charakteryzują się szumami, które powstają na różnych etapach procesu zapisu oraz odczytu takich nagrań. Źródłem szumów są niedoskonałości zarówno układów elektronicznych (wzmacniacze zapisu i odczytu) użytych w celu przetwarzania sygnałów dźwiękowych, jak również niedoskonałości nośnika [1], używanego w celu zapisu sygnału. O ile analogowe nagrania powstałe w latach 80. i 90. ubiegłego wieku charakteryzują się, dzięki wykorzystaniu zaawansowanych technologii, odstępem sygnału od szumu przekraczającym 60 dB [2], co jest wartością na ogół akceptowalną przez słuchacza [3], o tyle nagrania wcześniejsze, dokonywane sprzętem klasy amatorskiej, na nośnikach niskiej jakości, mają ten parametr znacznie mniejszy. W krańcowych przypadkach, jeśli nagranie było dokonywane w złych
Autor korespondujący: Piotr Kardasz, pik@we.pb.edu.pl Artykuł recenzowany nadesłany 18.11.2014 r., przyjęty do druku 26.01.2015 r. Zezwala się na korzystanie z artykułu na warunkach licencji Creative Commons Uznanie autorstwa 3.0
warunkach, za pomocą niskiej jakości mikrofonu wbudowanego w amatorski magnetofon kasetowy, lub było wielokrotnie kopiowane z kasety na kasetę, może on nie przekraczać nawet kilkunastu decybeli. Standardowe metody redukcji szumów w nagraniach dźwiękowych polegają na podziale pasma sygnału na wiele (do kilku tysięcy) podpasm. W następnej kolejności sprawdza się, czy poziom sygnału w danym podpaśmie jest wyższy, niż poziom szumów, a jeśli nie – podpasmo to jest tłumione. Metody te radzą sobie dobrze, jeśli odstęp sygnału od szumu wynosi kilkadziesiąt dB. W takich sytuacjach artefakty powstające podczas procesu są na ogół niezauważalne, zaś redukcja szumów daje słyszalną poprawę jakości sygnału. Metody tego rodzaju źle sobie radzą w przypadkach bardziej zaszumionych nagrań. Powstają wtedy charakterystyczne artefakty określane jako musical noise. Brzmią one jak dźwięk dzwoneczków o stale zmieniającej sie częstotliwości. Dźwięk ten jest obcy dla odszumianego nagrania i tego rodzaju zakłócenia, niemożliwe do późniejszego usunięcia, bywają bardziej irytujące niż pierwotny szum. Powstają one w ten sposób, że niektóre składowe szumu, pozostają nie stłumione, podczas gdy inne są tłumione o kilkadziesiąt dB. Zmienia to charakter sygnału ze stochastycznego na harmoniczny powodując powstanie charakterystycznych zakłóceń. Jeżeli, w celu uniknięcia wyżej opisanego zjawiska podniesiemy próg zadziałania takiego algorytmu, zacznie on tłumić również użyteczne składowe sygnału, co także nie jest pożądanym efektem. Tak przetworzony dźwięk brzmi głucho, brak mu na ogół składowych o wysokich częstotliwościach, dla których odstęp sygnału od szumu jest niewielki.
71
Algorytm redukcji szumów w nagraniach dźwiękowych z wykorzystaniem podziału sygnału na składowe harmoniczne ...
Pierwszym etapem pracy algorytmu jest określenie tła szumów. Docelowa wersja takiego algorytmu powinna być wyposażona w możliwość automatycznego określania tła szumów danego nagrania na podstawie analizy jego najcichszych partii. W celu opracowania wersji testowej przyjęte zostało założenie, że dysponujemy kilkusekundowym fragmentem nagrania zawierającym jedynie szum. Szum taki, podany na wejście algorytmu, poddawany jest następnie transformacie FFT. Na podstawie jej wyników zapisywane są dane o mocy tego szumu niesionej w poszczególnych pasmach częstotliwości. Algorytm określający tło szumów uruchamiany jest kilkadziesiąt razy dla różnych fragmentów szumu, a wyniki są uśredniane. Kolejnym etapem pracy proponowanego algorytmu jest identyfikacja składowych harmonicznych odszumianego sygnału. W tym celu pobierane są fragmenty sygnału o długości 2048 próbek. Pobrany ciąg próbek mnożony jest następnie przez funkcję okna typu sin2 o(n ) = sin 2 (p ⋅ n / 2048) (1)
Aby uniknąć obu wymienionych problemów, niezbędny jest bardzo staranny dobór parametrów tego rodzaju algorytmów. Dobre rezultaty można osiągnąć również przez zastosowanie ich zmodyfikowanych wersji, które zamiast zupełnego wyciszenia sygnału w danym podpaśmie tłumią go w niewielkim, wybranym przez użytkownika stopniu – na ogół od 2 dB do 6 dB. Procedura taka, powtórzona kilkakrotnie, pozwala uzyskać w miarę dobre rezultaty, jest jednak czasochłonna i wymaga doświadczenia posługującej się nią osoby. Ponieważ pojawiające się podczas redukcji szumów artefakty wynikają ze zmiany charakteru sygnału ze stochastycznego (szum) na harmoniczny (dźwięk), celowym wydaje się podejście polegające na rozdzieleniu obu tych części sygnału i traktowania ich niezależnie.
2. Składowe sygnału dźwiękowego Muzycy wyróżniają w sygnale dźwiękowym dźwięki i szmery [4]. Dźwięki są składowymi harmonicznymi sygnału. Można je rozłożyć na sinusoidalny sygnał o częstotliwości podstawowej oraz na szereg harmonicznych o częstotliwościach równych całkowitej wielokrotności tej częstotliwości [5]. Niektóre instrumenty muzyczne (takie jak dzwony czy bębny) generują dźwięki składające się ze składowych nie będących względem siebie w stosunku liczb całkowitych, można jednak w takich przypadkach każdą taką składowa wraz z jej harmonicznymi traktować niezależnie. Szmery są składowymi stochastycznymi sygnału. Ich widmo jest ciągłe i nie można wyróżnić w nim ani częstotliwości podstawowej, ani harmonicznych. Obwiednia widma szmerów jest na ogół łagodną krzywą, rozciągającą sie na całe pasmo akustyczne. Losowy charakter takiego sygnału powoduje, że moc, niesiona przez jego poszczególne składowe podlega fluktuacjom. Istnieją więc chwile, w których jest ona dużo większa, niż średnia, zmierzona przez algorytm oceniający tło szumów. Taka pojedyncza częstotliwość może zostać przez ułamek sekundy przepuszczona przez algorytm redukcji szumów. Jest ona wtedy słyszalna już nie jako szmer, a jako dźwięk o określonej częstotliwości. Efekt musical noise nie wystąpi, jeżeli podpasma, na jakie dzielony jest odszumiany sygnał, będą wystarczająco szerokie. W takim przypadku, jeśli algorytm redukcji szumów uzna sygnał za wystarczająco silny, pozostawi wystarczającą liczbę nie stłumionych składowych, aby zachować stochastyczny charakter sygnału. Niestety, wadą takiego rozwiązania jest fakt, że jeśli w zakresie danego podpasma wystąpi silna składowa harmoniczna, zostanie ono przepuszczone w całości, wraz z szumem, którego składowa ta nie jest w stanie zamaskować i algorytm nie spełni swego zadania – szum będzie nadal słyszalny. W tej sytuacji można dojść do wniosku, że algorytm redukcji szumów powinien pracować niezależnie dla składowych harmonicznych i stochastycznych odszumianego sygnału. Składowe harmoniczne z definicji nie zawierają szumu i po ich oddzieleniu powinny być pozostawione bez zmian. Pozostała część sygnału powinna zostać poddana algorytmowi redukcji szumów, w którym zastosowany zostanie podział na szerokie podpasma, tak, aby stłumienie któregoś z nich nie zaburzyło stochastycznego charakteru takiego sygnału.
Funkcja ta została wybrana jako najprostsza, pozwalająca osiągnąć oczekiwane rezultaty. Opisane dalej testy zaimplementowanego algorytmu wskazują na celowość rozważenia zastosowania w tym celu bardziej zaawansowanych funkcji [5]. Po wymnożeniu przez funkcję okna ciąg próbek uzupełniany jest zerami tak, aby uzyskać 218 próbek, a następnie poddawany szybkiej transformacie Fouriera. Rozdzielczość częstotliwościowa takiej transformaty przy częstotliwości próbkowania 44 100 Hz wynosi 0,168 Hz. Ciąg liczb zespolonych, będących wynikami transformaty Fouriera, przeliczany jest na amplitudy i fazy sygnału dla poszczególnych częstotliwości, po czym algorytm poszukuje maksimów amplitudy. Parametry tych maksimów (amplituda, faza i częstotliwość) są zapisywane w celu wykorzystania w kolejnym etapie. W etapie tym analizowana jest amplituda odnalezionych maksimów i jeśli jest wystarczająco duża (próg, w stosunku do mocy tła szumów w danym paśmie, może być zadawany przez użytkownika) są one pozostawiane do dalszego przetwarzania. Pozostałe są zerowane. Parametr, jakim jest próg zadziałania algorytmu podczas etapu identyfikacji składowych harmonicznych decyduje, które składowe zostaną pozostawione w części harmonicznej sygnału. W opracowanej, wstępnej wersji algorytmu, jest on ustawiany przez użytkownika. Docelowo powinien być on określany automatycznie, na podstawie analizy sygnału poddawanego redukcji szumów. W kolejnym etapie algorytm przeprowadza syntezę sygnału na podstawie zapisanych danych. W ten sposób zostają odtworzone wybrane składowe harmoniczne sygnału. Sygnał, będący wynikiem tej syntezy jest następnie odejmowany od sygnału wejściowego. W wyniku takiego postępowania otrzymujemy dwa sygnały: sygnał harmoniczny, złożony z na ogół kilkudziesięciu składowych sinusoidalnych, oraz pozostałość, zawierająca składowe stochastyczne oraz składowe harmoniczne o niewielkiej amplitudzie, które zostały odrzucone podczas pierwszego etapu działania algorytmu. Sygnał harmoniczny, jako nie zawierający szumów, nie podlega już dalszemu przetwarzaniu. Zostanie on później dodany do sygnału, będącego wynikiem działania kolejnych etapów algorytmu. Pozostała część sygnału, zawierająca składowe stochastyczne jest teraz przepuszczana przez bank dziewięciu filtrów. Są to proste filtry [5] drugiego rzędu o paśmie przepustowym obejmującym jedną oktawę. W rezultacie takiego postępowania otrzymujemy 9 sygnałów. Dla każdego z tych sygnałów pobierane są fragmenty o długości 1024 próbki. Obliczana jest moc niesiona przez dany fragment sygnału i porównywana z mocą tła szumów dla danego podpasma. Następnie fragment ten jest tłumiony ze współczynnikiem tłumienia
3. Proponowany algorytm Opisane spostrzeżenia były podstawą do skonstruowania algorytmu redukcji szumów opierającego się na podziale sygnału na składowe harmoniczne i stochastyczne.
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
N R 1 / 20 1 5
Piotr Kardasz
k =
Ps − Pn Ps
(2)
gdzie Ps jest mocą sygnału, a Pn mocą tła szumu. Takie postępowanie zapewnia, że tam, gdzie moc sygnału w danym podpaśmie nie przekracza mocy tła szumów, zostanie on stłumiony całkowicie, zaś te jego fragmenty, dla których moc sygnału przekracza moc tła szumów, a co za tym idzie, przenoszą sygnał użyteczny, zostaną stłumione tak, aby niesiona przez nie moc zmniejszyła się o wartość mocy tła szumu. Ostatnim etapem pracy algorytmu jest synteza sygnału z otrzymanych składowych. Dziewięć sygnałów otrzymanych na wyjściu poprzedniego etapu sumowanych jest z sobą oraz z sygnałem pochodzącym z syntezy składowych hamonicznych. Otrzymana suma jest zapisywana jako wynik pracy algorytmu.
Rys. 1. Widmo sygnału testowego 1 Fig. 1. A spectrum of the test signal 1
4. Przebieg i wyniki badań Proponowany algorytm został zaimplementowany w środowisku uruchomieniowym Lazarus. Pierwsza wersja tego algorytmu używała transformaty FFT o długości 220 próbek, co pozwalało na większa dokładność identyfikacji składowych harmonicznych. Tak duża liczba próbek powodowała jednak zbyt powolną pracę tej wersji algorytmu Liczba próbek została więc ograniczona do 218. Rozdzielczość analizy przy tej liczbie próbek, wynosząca 0,168 Hz okazała się wystarczająca do przeprowadzenia testów działania algorytmu. W celu umożliwienia badań i testów omawianego algorytmu, wszystkie sygnały, będące pośrednimi wynikami jego pracy zapisywane są na dysku twardym. Dzięki temu mogą one być później analizowane. Na podstawie tych analiz były odnajdywane i poprawiane błędy i niedostatki badanego algorytmu. Opracowany algorytm został przetestowany przy użyciu kilku sygnałów testowych. (tab. 1), zarówno przygotowanych sztucznie, jak i pochodzących z rzeczywistych, archiwalnych nagrań dźwięku. Najprostszym z użytych sygnałów testowych był sygnał 1. Był to sygnał sinusoidalny o częstotliwości 440 Hz. Sygnał ten został zaszumiony addytywnie szumem białym, tak, że stosunek mocy sygnału do mocy szumu wynosił w przybliżeniu 30 dB (zmierzony SNR dla tego sygnału to 30,4 dB). Wielkość ta odpowiada nagraniu na nośniku magnetycznym (kaseta magnetofonowa) niskiej jakości [1, 2]. Celem badań wykonanych przy zastosowaniu tego sygnału była ocena pracy algorytmu i usunięcie ewentualnych błędów. Sygnał 2 składał się z przebiegu prostokątnego o częstotliwości 440 Hz oraz szumu białego poddanego filtracji pasmowoprzepustowym filtrem Butterwortha [5] drugiego rzędu.
Rys. 2. Tło szumów sygnałów testowych 1 i 2 Fig. 2. A noise floor of the test signals 1 and 2
Rys. 3. Widmo sygnału testowego nr 1 po redukcji szumów Fig. 3. A spectrum of the test signal 1 after the noise reduction
Tabela 1 Sygnały zastosowane do testowania algorytmu Table 1. Signals used for testing
Lp.
Rodzaj sygnału
SNR [dB]
1
Sygnał sinusoidalny o częstotliwości 440 Hz zaszumiony addytywnie szumem białym
30,4
2
Sygnał prostokątny o częstotliwości 440 Hz, z dodatkiem szumu kolorowego, zaszumiony addytywnie szumem białym
33,4
3
Nagranie muzyki (niskiej jakości zapis na kasecie magnetofonowej)
poniżej 24
Rys. 4. Widmo sygnału testowego nr 2 Fig. 4. A spectrum of the test signal 2
73
Algorytm redukcji szumów w nagraniach dźwiękowych z wykorzystaniem podziału sygnału na składowe harmoniczne ... Częstotliwości graniczne tego filtra wynosiły 200 Hz (dolna) i 800 Hz (górna). Szum ten miał za zadanie symulować składowe stochastyczne w nagraniu dźwiękowym. Celem badań z użyciem tego sygnału było przetestowanie działania proponowanego algorytmu na sygnale składającym się zarówno z wielu składowych harmonicznych, jak i składowej stochastycznej. Został on zaszumiony tym samym szumem białym, co sygnał 1. Ze względu na większą moc sygnału 2 w porównaniu do sygnału 1, wzrósł w tym przypadku do 33,4 dB stosunek mocy sygnału do mocy szumu. Sygnał 3 został pobrany z kasety magnetofonowej nagranej za pomocą sprzętu o niskiej jakości. Stosunek mocy tego sygnału do mocy szumu nie przekracza 24 dB w najgłośniejszych jego partiach. Nagranie to zostało wybrane do testów ze względu na to, że typowe algorytmy nie radzą sobie z jego odszumieniem i albo pozostawiają słyszalne artefakty typu music noise, albo tłumią użyteczne składowe sygnału. Sygnał ten posłużył również do przeprowadzenia testów odsłuchowych mających za zadanie wstępną ocenę jakości algorytmu, jak również dobór progu zadziałania modułu analizy składowych harmonicznych. Sygnały testowe zostały poddane algorytmowi redukcji szumów, po czym zostały przeanalizowane zarówno pliki będące końcowym wynikiem działania algorytmu, jak też zawierające wyniki pośrednie. Na rysunkach 1–8 przedstawiono widma badanych sygnałów przed i po redukcji szumów, jak również widmo tła szumów dla poszczególnych sygnałów. Testy odsłuchowe pokazały że algorytm radzi sobie dobrze z redukcją szumów w rzeczywistym nagraniu. Algorytm, zastosowany dla sygnału 3, pozwolił na redukcję szumów o kilkadziesiąt dB (rys. 6, 7) nie wprowadzając przy tym zauważalnych podczas odsłuchu artefaktów. Można zauważyć, że badany algorytm usunął z sygnału 3 także zakłócającą go częstotliwość przydźwięku sieciowego 50 Hz. Tego rodzaju quasistacjonarne zakłócenia powinny być jednak redukowane innymi metodami [6], mogą one także być źródłem informacji cennych dla rekonstrukcji tego rodzaju nagrań, takich jak wahania prędkości przesuwu nośnika lub jej odchylenie od normy [7]. Badania proponowanego algorytmu wykonane przy użyciu prostych sygnałów testowych wykazały jednak istnienie problemów, których rozwiązanie będzie tematem dalszych badań. Najważniejsze spośród nich to tłumienie impulsów dźwięku o szybkim narastaniu, „fałszywe trafienia” podczas etapu wykrywania składowych harmonicznych oraz niska dokładność zastosowanego banku filtrów. Najprostszym do rozwiązania problemem będzie przeprojektowanie banku filtrów. Filtry te, użyte w celu podziału sygnału stochastycznego na podpasma, mają niewielkie nachylenie charakterystyki (12 dB/oktawę), co powoduje, że przepuszczają one znaczną część sygnału również poza podpasmem, dla którego zostały zaprojektowane. Powoduje to obniżenie efektywności redukcji szumu. Celowym wydaje się więc przeprowadzenie testów przy użyciu filtrów o większym nachyleniu charakterystyki, zaprojektowanych w ten sposób, aby suma wszystkich sygnałów na wyjściu banku filtrów była równa sygnałowi przed filtracją. Tłumienie impulsów dźwięku o szybkim narastaniu jest wynikiem pracy algorytmu na fragmentach sygnału o długości 2048 próbek, co daje ok. 46 milisekund przy częstotliwości próbkowania 44 100 Hz. Wszelkie zmiany amplitudy sygnału, które zachodzą szybciej, zostaną przez algorytm uśrednione. Ponieważ w kolejnym etapie wykonywane jest odejmowanie zsyntetyzowanego sygnału harmonicznego od sygnału oryginalnego, impulsy te zostaną pozostawione w części stochastycznej sygnału. Wprowadzają one w błąd algorytm odpowiedzialny za tłumienie sygnału stochastycznego powodując słyszalne efekty w postaci krótkotrwałych „wybuchów” szumu.
Rys. 5. Widmo sygnału testowego nr 2 po redukcji szumów Fig. 5. A spectrum of the test signal 2 after the noise reduction
Rys. 6. Widmo sygnału testowego nr 3 Fig. 6. A spectrum of the test signal 3
Rys. 7. Widmo sygnału testowego nr 3 po redukcji szumów Fig. 7. A spectrum of the test signal 3 after the noise reduction
Rys. 8. Tło szumów sygnału nr 3 Fig. 8. A noise floor of the test signal 1
74
P
O
M
I
A
R
Y
•
A
U
T
O
M
A
T
Y
K
A
•
R
O
B
O
T
Y
K
A
N R 1 / 20 1 5
Piotr Kardasz
Rys. 9. Błędy związane z przetwarzaniem fragmentów sygnału o długości 2048 próbek. Na górze oryginalny sygnał, poniżej wynik działania algorytmu wykrywania składowych harmonicznych Fig. 9. Errors caused by signal processing in 2048 samples chunks. Upper part – the original signal, lower part – the signal after processing by harmonic detection algorithm
„Fałszywe trafienia” dla prostych sygnałów testowych wynikają z wpływu częstotliwości funkcji okna na widmo badanego sygnału. Widmo takiego sygnału oprócz maksimum związanego z jego częstotliwością zawiera również maksima lokalne wynikające z modulacji sygnału przez funkcję okna [5]. W przypadku zapisu rzeczywistych sygnałów dźwiękowych o złożonym widmie zjawisko to jest na ogół maskowane, dla prostych sygnałów jednak powoduje powstawanie zniekształceń sygnału wyjściowego. W celu poprawy tej sytuacji można rozpatrzeć zastosowanie innej niż sin2 funkcji okna, docelowo algorytm redukcji szumów ma się jednak opierać o bardziej zaawansowane algorytmy identyfikacji składowych harmonicznych [8]. Pozwoli to również uniknąć podstawowej wady badanego algorytmu – jego powolnej pracy. Najbardziej czasochłonną częścią badanego algorytmu jest bowiem analiza używająca transformaty FFT o bardzo dużej liczbie próbek. Zastąpienie jej bardziej zaawansowanymi algorytmami może przyspieszyć pracę algorytmu. Oba wspomniane błędy uwidocznione zostały na rys. 9. Można na nim zauważyć zarówno „rozmycie” początku sygnału, jak też zmiany amplitudy, wynikające z dodania do niego „fałszywych” harmonicznych powstałych wskutek modulacji tego sygnału przez funkcję okna. Błędy te, jak już było wspomniane, uwidaczniają się jedynie w przypadku prostych sygnałów testowych. Ponieważ zmiany amplitudy nie są zauważalne w przypadku zaszumionego sygnału, w celu uwidocznienia tego zjawiska użyty został czysty sygnał sinusoidalny o częstotliwości 440 Hz.
5. Podsumowanie i wnioski końcowe Proponowany algorytm jest w stanie podwyższyć odstęp sygnału od szumu o kilkadziesiąt decybeli, ograniczając jednocześnie powstawanie artefaktów typu musical noise. Przedstawiona wersja algorytmu jest pierwszą wersją, w której udało
się uzyskać jego poprawne działanie. Podczas projektowania tej wersji zastosowano szereg uproszczeń, które w kolejnych wersjach będą zastępowane bardziej zaawansowanymi algorytmami. W miejsce transformaty FFT o bardzo dużej liczbie próbek można zastosować bardziej wyrafinowane algorytmy identyfikacji składowych sygnału [8]. Są one w stanie przeprowadzać identyfikację składowych harmonicznych sygnału także przy ograniczonej liczbie próbek. Algorytmy tego rodzaju mogą być także uruchamiane wielowątkowo, dzięki czemu ich praca jest znacznie szybsza. Problem modulacji sygnału wejściowego przez funkcję okna będzie występował niezależnie od zastosowanej metody identyfikacji składowych harmonicznych [5]. Dlatego też powinna ona zostać starannie dobrana jako kompromis między uzyskaną rozdzielczością a dynamiką. Proponowany algorytm powinien również zostać uzupełniony o metody wykrywania szybkich zmian poziomu poszczególnych składowych sygnału, dzięki czemu można będzie uniknąć rozmywania sygnałów o krótkim czasie narastania. W testowanym algorytmie użyto filtrów pasmowoprzepustowych o nachyleniu charakterystyki 12 dB na oktawę i paśmie przepustowym obejmującym w przybliżeniu jedną oktawę. Parametry te nie muszą być optymalne, a ich właściwy dobór wymaga przeprowadzenia testów odsłuchowych przy użyciu wielu różnych rodzajów nagrań dźwięku. Filtry te powinny być tak skonstruowane, aby suma przefiltrowanych sygnałów była dokładnie równa sygnałowi przed filtracją – zastosowany bank filtrów spełnia ten warunek jedynie w przybliżeniu. W celu przyspieszenia obliczeń tego rodzaju bank filtrów może również zostać zaimplementowany w postaci procedur współbieżnych, wykorzystując wielowątkową architekturę współczesnych komputerów bądź układów programowalnych FPGA. Oddzielenie składowych harmonicznych od składowych stochastycznych sygnału, prócz poprawy jakości procesu redukcji szumów, może również pozwolić na implementowanie innych algorytmów poprawy jakości dźwięku, na przykład syntezę brakujących harmonicznych, jak również algorytmy zmiany częstotliwości dźwięku niezależnie od zmiany jego tempa. Wydzielenie składowych harmonicznych zapisanego dźwięku daje również możliwość korekcji zakłóceń wynikającej z krótkotrwałych zaników (dropout) sygnału zapisanego na taśmie. Zaniki takie są znacznie bardziej zauważalne dla składowych harmonicznych, niż dla szumu [3] i powinny być korygowane przede wszystkim w tej dziedzinie.
Podziękowanie
Publikację sfinansowano w ramach pracy własnej W/WE/8/2013.
Bibliografia 1. Iwanicka B., Koprowski E., Kasety magnetofonowe i magnetowidowe, Wydawnictwa Komunikacji i Łączności, Warszawa 1988. 2. Vademecum techniki audio-video – zapisywanie i odtwarzanie dźwięku, praca zbiorowa pod red. Z. Dackiewicz, WNT, Warszawa 1991. 3. Lindsay P.H., Norman D.A., Procesy przetwarzania informacji u człowieka, PWN, Warszawa 1991. 4. Wesołowski F., Zasady muzyki, Polskie Wydawnictwo Muzyczne, Kraków 1998. 5. Zieliński T.P., Cyfrowe przetwarzanie sygnałów, Wydawnictwa Komunikacji i Łączności, Warszawa 2005. 6. Kardasz P., Algorytm redukcji zakłóceń quasistacjonarnych w zabytkowych nagraniach dźwięku., Poznan University of Technology Academic Journals. Electrical Engineering, Nr 80 (2014), 101–108.
75
Algorytm redukcji szumów w nagraniach dźwiękowych z wykorzystaniem podziału sygnału na składowe harmoniczne ... 8. Kardasz P., Algorytm identyfikacji składowych sinusoidalnych złożonego sygnału na podstawie jego losowo pobranych próbek. Poznan University of Technology Academic Journals. Electrical Engineering, nr 76 (2013), 197–203.
7. Kardasz P., Wykorzystanie zakłóceń quasistacjonarnych w celu redukcji nierównomierności przesuwu taśmy w nagraniach dźwięku na nośnikach magnetycznych. Poznan University of Technology Academic Journals. Electrical Engineering, Nr 80 (2014), 109–114.
A Noise Reduction Algorithm Using Division of the Signal Into Harmonic and Stochastic Components Abstract: This article presents the method of determining the relative slip of the pneumatic wheel
of car on a single-roller of chassis dynamometer. It was established that the relative slip can be treated as a systematic error, which substantially affects the measurement of power on a chassis dynamometer. Relative slip was determined by using specially developed measurement system which is based on microcontroller STM32. It presents problems associated with calibration of counting systems, where the objective is to obtain the smallest measurement uncertainty. Keywords: algorithm, sound, noise reduction, recording, harmonics
mgr inż. Piotr Kardasz pik@we.pb.edu.pl
Doktorant Wydziału Elektrycznego Politechniki Białostockiej. Zajmuje się badaniami związanymi z inteligentnymi algorytmami kompresji, rekonstrukcji i przetwarzania sygnałów.
76
P
O
M
I
A
R
Y
•
A
U
T
O
M
A
T
Y
K
A
•
R
O
B
O
T
Y
K
A
N R 1 / 20 1 5
Pomiary Automatyka Robotyka, R. 19, Nr 1/2015, 77–82, DOI: 10.14313/PAR_215/77
Wielotorowy system faksowania Marian Wrzesień, Piotr Ryszawa
Przemysłowy Instytut Automatyki i Pomiarów PIAP, 02-486 Warszawa, Al. Jerozolimskie 202
Streszczenie: W artykule zaprezentowano – wdrożony i udostępniony użytkownikom – system
faksowania bazujący na zminiaturyzowanych faks-modemach USB (modemy F-M). W przyjętym podejściu wektor modemów USB zastępuje rozwiązania tradycyjne, bazujące na rozproszonych, wielkogabarytowych, autonomicznych maszynach faksowych, których rozmiary istotnie utrudniają zbudowanie kilkudziesięcioliniowego systemu faksowego w środowisku PSTN (ang. Public Switched Telephone Network) – niezbędnego dla właściwego funkcjonowania dużej firmy biznesowej. Omówiono sposób reprezentowania klasy urządzeń komunikacyjnych CDC (ang. Communications Device Class) w hoście udostępniającym komunikację USB. Przeanalizowano przyjęty w hostach USB abstrakcyjny model sterowania ACM (ang. Abstract Control Model). Omówiono metodę jednoznacznego odwzorowania linii telefonicznych na – losowo aktywujące się w czasie startu serwera faksowego – modemy F-M oraz mechanizm przypisywania praw do określonych faks modemów. Przedstawiono sposób komunikowania się użytkownika z systemem faksowym za pomocą lokalnego PC z wykorzystaniem klienta Winprint HylaFAX Reloaded. Słowa kluczowe: faks-modem USB, klasa urządzeń komunikacyjnych CDC, serwer faksowy
1. Wstęp Celem prac badawczych opisanych w artykule było uzyskanie skalowalnego wielotorowego systemu faksowania. Podczas realizacji tego zadania należało rozwiązać dwa problemy utrudniające wdrożenie systemu w tej formie - niewystępujące w przypadku transmisji z wykorzystaniem pojedynczej linii telefonicznej, czyli jeden nadawca, jeden odbiorca. Pierwszym problemem jest losowy charakter rejestracji modemów w systemie komputerowym, po ich dołączeniu do portów USB. Drugim problemem jest brak mechanizmu przypisywania użytkownikom praw do korzystania z określonych, zdefiniowanych faksmodemów. Pierwszy problem został rozwiązany przez wprowadzenie programowego wymuszenia określonego porządku modemów – przez aliasowanie ich nazw. Drugi problem został rozwiązany przez zastosowanie mechanizmu zarządzania kolejką w serwerze faksów HylaFAX+, tj. JobControlCmd. W artykule omówiono przeprowadzone niezbędne badania oraz zastosowane metody
Autor korespondujący: Marian Wrzesień, mwrzesien@piap.pl Artykuł recenzowany nadesłany 10.09.2014 r., przyjęty do druku 8.12.2015 r. Zezwala się na korzystanie z artykułu na warunkach licencji Creative Commons Uznanie autorstwa 3.0
techniczne, prowadzące do osiągnięcia tego celu. Rozwiązywanie wymienionych problemów było poprzedzone opracowaniem serwera faksowego. Korzystanie z odpowiednio zautomatyzowanej komunikacji faksowej w dużych firmach, wyposażonych w lokalne sieci komputerowe i korzystających z dużej liczby linii telefonicznych zapewnia takie korzyści jak: duże oszczędności i ekologia, porządek w dokumentach, wygodna eksploatacja, niezawodność, redukcja okablowania. Niezbędnym warunkiem osiągnięcia satysfakcjonującej efektywności jest skomputeryzowanie procesu faksowania tak, aby oszczędzić pracownikom czas obsługi maszyny faksowej (telefaksu), wybieranie numeru, czekanie na połączenie, podawanie dokumentów itp., jak to ma miejsce w klasycznym systemie faksowania. Nowoczesne metody komunikacji wykorzystujące Internet okazują się bardzo podatne na zagrożenia, takie jak spam, ataki wirusów komputerowych, czy wyłudzanie informacji przez przekierowania do fałszywych witryn internetowych (ang. phishing). Dlatego komunikacja faksowa ciągle się rozwija oraz stawia coraz wyższe wymagania dostawcom tego typu rozwiązań.
2. Implementacja systemu faksowania Implementacja systemu objęła: −−zainstalowanie i skonfigurowanie oprogramowania serwera HylaFAX+ w serwerze sprzętowym, −−opracowanie i instalację skryptów sterujących dla potrzeb dostosowania oprogramowania do wymagań Przemysłowego Instytutu Automatyki i Pomiarów PIAP,
77
Wielotorowy system faksowania
Rys. 1. System faksowania z faks-modemami USB Fig. 1. Faxing system with USB fax-modems
−−FaxNotify, który określa adres administratora informowanego o zdarzeniach w systemie faksowania (aktywność poszczególnych użytkowników, stanu dostawy faksów itp), −−StartStopModem, który uruchamia modemy oraz demona programu Hylafaxd, −−makeFaxDirs, który tworzy katalogi dla każdego urządzenia ttyFaxn, −−JobControl, który zawiera mechanizm kontroli uprawnień użytkowników. −−
−−uruchomienie centralki standaryzującej sygnał faksowy, −−przypisanie łączy faksowych do konkretnych faks-modemów – utworzenie tablicy nazw aliasów modemów.
2.1. Architektura systemu
Architektura systemu jest pokazana na rys. 1. Przedstawione tutaj modemy USB zastępują tradycyjne maszyny faksowe o dużych gabarytach.
2.2. Instalacja oprogramowania serwera HylaFAX+
2.2.2. Demony systemu faksowania
2.2.2. Konfiguracja: faxsetup-serwer
Procesy systemowe HylaFAX+ są zarządzane przez demony: hfaxd, faxq, pagesend i oprogramowanie modemowe (faxgetty z parametrem ttyFaxn). Demon faxq obsługuje proces planowania systemu HylaFAX+; demon pagesend implementuje iXO PET/TAP (ang. Personal Entry Terminal/Telocator Alphanumeric Protocol) oraz protokół transmisji UCP (ang. Universal Computer Protocol) systemu HylaFAX+; demon hfaxd obsługuje proces Klient-Serwer. Program/usr/sbin/faxgetty obsługuje proces nadzorujący fax oraz przyjmujący wywołania faksowe (nasłuch). Korzysta z plików konfiguracyjnych /etc/init/ttyFaxn.conf, zapewniających ciągłość pracy modemu /dev/ttyFaxn. Status systemu faksowania można odczytać uruchamiając program narzędziowy faxstat -s. Podczas odbioru faksu serwer wywołuje skrypt faxcrvd.
Podczas implementacji systemu faksowania, w pierwszej kolejności zainstalowano program hylafax+ oraz hylafax+-client. Instalacja hylafax+ wymagała uruchomienia programu: faxsetup-server. W trakcie wykonywania programu faxsetup, uruchamiany był podprogram fax-modem, umożliwiający zdefiniowanie i skonfigurowanie faks-modemów F-M o określonych przez użytkownika nazwach; w PIAP są to: ttyFaxn, gdzie n Î N, N – zbiór liczb naturalnych. W ten sposób został utworzony zestaw modemów przewidywanych do stosowania w systemie. Liczba tak zdefiniowanych urządzeń wynika z potrzeb firmy i jest wprowadzana przez administratora systemu. W PIAP zastosowano 16 modemów F-M, z zachowaniem możliwości poszerzenia tej liczby do 24. W wyniku działania programu faxsetup-server zostały utworzone pliki konfiguracyjne w katalogu /etc/Hylafax/, pliki wykonywalne w katalogu /usr/sbin/ oraz pliki narzędziowe w katalogu /usr/bin/. Istotną część prezentowanej pracy stanowią opracowane przez autorów następujące skrypty: −−10-local.rules, który na niskim poziomie wiąże porty USB, z modemami przypisanymi dedykowanym liniom telefonicznym, −−ttyFaxn.conf, który inicjuje i utrzymuje w stanie gotowości urządzenia /dev/ttyFaxn, −−FaxDispatch, który określa adres docelowy i format faksów przychodzących oraz sposób organizacji procesu archiwizowania odbieranych faksów,
78
P
O
M
I
A
R
Y
•
A
U
T
O
M
2.3. Dostęp do sytemu HylaFAX
Użytkownicy systemu HylaFAX powinni być objęci procesem rejestracji, podczas którego nadawane są im loginy i hasła służące do autoryzacji. Narzędziem służącym do rejestracji użytkowników jest program faxadduser. Dane użytkownika są przechowywane w pliku Hylafax/etc/hosts.hfaxd. Dostęp do funkcjonalności faksu powinien być przydzielany na podstawie uprawnień użytkownika.
2.3.1. Przydzielanie praw dostępu do faksmodemów
Serwer HylaFAX+ nie przewiduje żadnej metody przydzielania uprawnień użytkownikom, którzy wysyłają faksy za pomocą poszczególnych faksmodemów. W celu rozwiązania tego problemu zaprojektowano mechanizm przypisywania uprawnień (rys. 2). A
T
Y
K
A
•
R
O
B
O
T
Y
K
A
N R 1 / 20 1 5
Marian Wrzesień, Piotr Ryszawa
Rys. 2. Projekt mechanizmu nadawania uprawnień Fig. 2. UML algorithm diagram for granting permissions
#!/bin/bash # . /var/spool/hylafax/etc/setup.cache . /var/spool/hylafax/bin/common-functions . /var/spool/hylafax/etc/OwnersFaxyKO QFILE=/var/spool/hylafax/sendq/q$1 parseQfile case "$modem" in ttyFax01) if [[ ! ${faxyFM[@]} =~ $owner ]]; then echo "RejectNotice: \"Brak praw do modemu $modem.\""; fi;; ttyFax02) if [[ ! ${faxyFG[@]} =~ $owner ]]; then echo "RejectNotice: \"Brak praw do modemu $modem.\""; fi;; ttyFax03) if [[ ! ${faxyMDS[@]} =~ $owner ]]; then echo "RejectNotice: \"Brak praw do modemu $modem.\""; fi;; *) echo "RejectNotice: "Nie wybrano modemu"";; esac exit 0
Rys. 3. Skrypt JobControlCmd Fig. 3. The JobControlCmd script
Na podstawie wykonanego projektu opracowano skrypt JobControlCMD (rys. 3). Do uruchamiania skryptu został wykorzystany jeden z parametrów pliku config z opcją JobControlCmd, który definiuje program do zarządzania kolejką. Definicja uprawnień do określonego modemu – w postaci tablic z użytkownikami – została zawarta w pliku OwnersFaxyKO. Działanie skryptu skutkuje tym, że próba wysłania faksu przez nieautoryzowanego użytkownika zostaje zablokowana, natomiast proces wysłania faksu przez użytkownika uprawomocnionego jest zaakceptowany.
2.3.2. Reprezentacja modemów w systemie Linux
Organizacja Forum Implementacji USB (ang. Universal Serial Bus) ustaliła sposób reprezentowania sprzętu zgodnego ze specyfikacją klasy urządzeń komunikacyjnych CDC (ang. Communications Device Class) po dołączeniu ich do hosta USB. Określiła również sposób interpretowania podklas CDC urządzeń, które mają komunikować się w publicznej sieci telekomunikacyjnej PSTN. Urządzenia te są znane pod nazwą modem
(od ang. MOdulator-DEModulator), ponieważ dane przechodzą operację modulacji po stronie nadawcy, która przekształca bity na sygnały analogowe, przesyłane następnie za pośrednictwem sieci telefonicznych, a po odbiorze podlegające operacji demodulacji do postaci oryginalnej. Przyjęty w hostach USB model sterowania dla urządzeń modemowych to abstrakcyjny model sterowania ACM (ang. Abstract Control Model), który stanowi subklasę CDC i wspiera analogowe modemy sprzętowe obsługujące standard ITU (ang. International Telecommunications Union) V.250 Automatyczne Wybieranie i Sterowanie Podczas Transmisji Asynchronicznej (ang. Serial Asynchronous Automatic Dialling and Control), pierwotnie zwany standardem Hayes’a. Obejmuje on zestaw poleceń, odniesiony bądź do strumienia danych, bądź do oddzielnego strumieniu sterowania za pośrednictwem interfejsu klasy CDC. Obecnie mikrokontrolery hostów są wyposażone w system wbudowany wspierający proces wymiany danych przez USB. Bazuje on na standardowym sposobie komunikacji – dobrze wspieranym przez każdy współczesny system operacyjny. Spełnia on warunki współpracy CDC/PSTN ACM i jest reprezentowany przez jądro systemu Linux w formie /dev/ttyACMn, gdzie n ∈ N, obsługiwany przez moduł jądra acm.o.
2.3.3. Inne reprezentacje urządzeń klasy CDC
W odróżnieniu od modemów USB, reprezentowanych przez urządzenia /dev/ttyACMn, modemy w standardzie RS-232 są reprezentowane w systemie przez urządzenia /dev/ttySn. Wreszcie, urządzenia udostępniające funkcjonalność UART-na-USB, są reprezentowane urządzeniami /dev/USBn. Dalej omawiane będą jedynie urządzenia /dev/ttyACMn, odpowiadające modemom F-M USB stosowanym w systemie faksowania.
2.3.4. Utworzenie nazw aliasów modemów
Dołączenie każdego kolejnego modemu USB do serwera powoduje utworzenie przez system Linux urządzenia dynamicznego /dev/ttyACMn (rys. 4). W skalowalnym systemie faks-modemowym liczba modemów jest praktycznie dowolna. W prezentowanym systemie faksowania modemy są dołączone do serwera za pomocą 28-portowego koncentratora USB tak, że modem ttyFaxn jest dołączony do
79
Wielotorowy system faksowania portu n koncentratora USB oraz jest dołączony do n-tej linii telefonicznej. Te połączenia są zgodne z zapisem w plikach konfiguracyjnych config.ttyFaxn. W serwerze HylaFAX+ zdefiniowano modemy, jako ttyFaxn. Modemy te są reprezentowane w hoście przez urządzenia: /dev/ttyACMn. Po dołączeniu modemów F-M do serwera, każdemu zdefiniowanemu wcześniej modemowi F-M ttyFaxn jest przypisane w systemie urządzenie /dev/ttyACMx, jednakże w przypadku ogólnym n ≠ x. To przypisanie jest niejednoznaczne, powodujące niespójność między urządzeniem ttyFaxn – zdefiniowanym w config.ttyFaxn, a linią telefoniczną przypisaną fizycznie przez urządzenie /dev/ ttyACMx – związane losowo z modemem.
crw-------. 1 uucp crw-------. 1 uucp crw-------. 1 uucp crw-------. 1 uucp crw-------. 1 uucp crw-rw----. 1 root crw-rw----. 1 root crw-rw----. 1 root crw-rw----. 1 root
crw-------. 1 uucp dialout 166, 0 01-29 07:45 ttyACM0 crw-------. 1 uucp dialout 166, 1 01-29 07:45 ttyACM1 crw-------. 1 uucp dialout 166, 2 01-29 07:44 ttyACM2 crw-------. 1 uucp dialout 166, 3 01-29 07:44 ttyACM3 crw-------. 1 uucp dialout 166, 4 01-29 07:45 ttyACM4 lrwxrwxrwx. 1 root root 8 01-29 07:44 ttyFax01 -> ttyACM12 lrwxrwxrwx. 1 root root 7 01-29 07:44 ttyFax02 -> ttyACM5 lrwxrwxrwx. 1 root root 7 01-29 07:44 ttyFax03 -> ttyACM4 lrwxrwxrwx. 1 root root 7 01-29 07:44 ttyFax04 -> ttyACM6 lrwxrwxrwx. 1 root root 7 01-29 07:44 ttyFax05 -> ttyACM3 crw-rw----. 1 root dialout 4, 64 01-29 07:44 ttyS0 crw-rw----. 1 root dialout 4, 65 01-29 07:44 ttyS1 crw-rw----. 1 root dialout 4, 66 01-29 07:44 ttyS2 crw-rw----. 1 root dialout 4, 67 01-29 07:44 ttyS3
Rys. 6. Wypis z katalogu /dev systemu Linux Fig. 6. Extract from the Linux OS folder /dev
dialout 166, 0 01-29 07:45 ttyACM0 dialout 166, 1 01-29 07:45 ttyACM1 dialout 166, 2 01-29 07:44 ttyACM2 dialout 166, 3 01-29 07:44 ttyACM3 dialout 166, 4 01-29 07:45 ttyACM4 dialout 4, 64 01-29 07:44 ttyS0 dialout 4, 65 01-29 07:44 ttyS1 dialout 4, 66 01-29 07:44 ttyS2 dialout 4, 67 01-29 07:44 ttyS3
W Przemysłowym Instytucie Automatyki i Pomiarów PIAP przyjęto zasadę, że każda dedykowana linia telefoniczna jest powiązana z określoną Komórką Organizacyjną, której pracownicy mają dostęp do systemu faksowania.
2.3.5. Uruchamianie systemu faksowania
Rys. 4. Wypis z katalogu /dev systemu Linux Fig. 4. Extract from the Linux OS folder /dev
Program systemu faksowania HylaFAX+ jest uwzględniony w konfiguracji startowej procesów (hylafaxd) tak, że po uruchomieniu serwera jest on uruchamiany samoczynnie, natomiast inicjowanie i utrzymywanie w gotowości modemów ttyFaxn zachodzi przez uruchamianie skryptów /etc/init/ttyFaxn.conf. Niezależnie od powyższego, dla potrzeb modyfikacji stanu pracy modemów i systemu faksowania stosuje się skrypt StartStopModems umożliwiający ręczne uruchamianie i zatrzymywanie poszczególnych modemów.
Trwałe i jednoznaczne dowiązanie nazw modemów F-M do określonych linii telefonicznych można osiągnąć poprzez przypisanie nazw modemów F-M USB do odpowiednich portów USB – definiowanych w pliku konfiguracyjnym parametrem KERNELS, jednoznacznie określającym lokalizację modemu w koncentratorze USB. Zrealizowano to korzystając z funkcjonalności udev rules systemu Linux. Uruchamiając program narzędziowy udevadm info -a -n/dev/ttyACM0 | grep KERNELS rejestrowano cechy urządzenia odpowiadające określonej lokalizacji modemu w koncentratorze USB, dołączanym kolejno do każdego z portów USB w serwerze. Dla każdego z poddanych obserwacji lokalizacji modemów USB odczytywano wartości parametru KERNELS. Następnie utworzono plik konfiguracyjny /etc/udev/ rules.d/10-local.rules zawierający zbiór relacji – uzyskanych podczas badań – między zdefiniowanymi wcześniej modemami ttyFaxn, a parametrami KERNELS. Poniżej (rys. 5.) przedstawiono wyciąg z pliku aliasów dla jednego modemu włączonego do portu Nr 1 w koncentratorze USB.
2.4. Uruchamianie i testowanie systemu 2.4.1. Testowanie faks-modemów
Potwierdzenie łączności z każdym z modemów ttyFaxn przeprowadzono za pomocą oprogramowania minicom. W pierwszej fazie testowania systemu stwierdzono brak łączności modemów F-M po stronie centrali abonenckiej PBX. Okazało się, że stosowana w PIAP centrala telefoniczna Alcatel 4400, do której dołączono modemy F-M, nie spełnia aktualnych wymogów homologacyjnych stosowanych w telefonicznych systemach łączności faksowej. Standard ten określa sygnał gotowości o napięciu 48 V DC = ±10 % oraz przemienny sygnał wywołania, o napięciu 60‒80 V AC. Tymczasem w centrali Alcatel do sygnału przemiennego jest dodana składowa stała powodu# ! /bin/bash jąca, że dla modemu F-M stosowanego w oma# wianym systemie sygnał ten jest niewykrywalny SUBSYSTEMS=="usb", ATTRS{serial}=="24680246", KERNELS=="1-1.2.6", SYMLINK+="ttyFax01" (wykracza poza zakres dopuszczalny do odbioru SUBSYSTEMS=="usb", ATTRS{serial}=="24680246", KERNELS=="1-2.2.6", SYMLINK+="ttyFax01" przez modem). W celu dopasowania sygnałów SUBSYSTEMS=="usb", ATTRS{serial}=="24680246", KERNELS=="1-3.2.6", SYMLINK+="ttyFax01" faksowych do wymogów standardu, zastosowano SUBSYSTEMS=="usb", ATTRS{serial}=="24680246", KERNELS=="1-4.2.6", SYMLINK+="ttyFax01" SUBSYSTEMS=="usb", ATTRS{serial}=="24680246", KERNELS=="1-5.2.6", SYMLINK+="ttyFax01" centralę pośredniczącą KX-TDA100D firmy PanaSUBSYSTEMS=="usb", ATTRS{serial}=="24680246", KERNELS=="1-6.2.6", SYMLINK+="ttyFax01" sonic, spełniającą aktualne wymagania homologacyjne. Po zastosowaniu centralki pośredniczącej, sterowanie i komunikacja modemowa zachodzą SUBSYSTEMS=="usb", ATTRS{serial}=="24680246", KERNELS=="1-1.1.6", SYMLINK+="ttyFax02" SUBSYSTEMS=="usb", ATTRS{serial}=="24680246", KERNELS=="1-2.1.6", SYMLINK+="ttyFax02" właściwie. Pozwoliło to na uruchomione modeSUBSYSTEMS=="usb", ATTRS{serial}=="24680246", KERNELS=="1-3.1.6", SYMLINK+="ttyFax02" mów USB F-M i przejście do uruchomienia oproSUBSYSTEMS=="usb", ATTRS{serial}=="24680246", KERNELS=="1-4.1.6", SYMLINK+="ttyFax02" SUBSYSTEMS=="usb", ATTRS{serial}=="24680246", KERNELS=="1-5.1.6", SYMLINK+="ttyFax02" gramowania systemu faksowania.
SUBSYSTEMS=="usb", ATTRS{serial}=="24680246", KERNELS=="1-6.1.6", SYMLINK+="ttyFax02"
2.4.2. Testowanie komunikacji PSTN między fax-modemami
Rys. 5. Wypis z pliku 10-local.rules Fig. 5. Extract from the 10-local.rules script
Łączność i komunikacja między modemami została przetestowana z wykorzystaniem programu sendfax, będącego składnikiem HylaFAX+. Przeprowadzono transmisję faksów w obrębie CT PIAP Alcatel CT PIAP Panasonic. Po podaniu polecenia wysyłania faksu: sendfax -n -d NrFaxu -h NazwaFaxu@127.0.0.1 WysyłanyPlik, obserwowano stan urządzeń faksowych poleceniem faxstat -s. Po zakończeniu transmisji zbadano realizację
Uwzględnienie relacji zawartych w ww. pliku powoduje, że każdy z modemów ttyFaxn jest teraz związany losowo z ustanowionym przez system urządzeniem /dev/ttyACMx, ale jednocześnie sztywno związany z określonym portem USB, a tym samym, z określonym numerem linii telefonicznej (rys. 6).
80
P
O
M
I
A
R
Y
•
A
U
T
O
M
A
T
Y
K
A
•
R
O
B
O
T
Y
K
A
N R 1 / 20 1 5
Marian Wrzesień, Piotr Ryszawa poleceń określonych w FaxDispatch. Na podstawie zapisów stwierdzono poprawność działania systemu.
2.4.3. Testowanie komunikacji między faksem PSTN a faks-modemami
Do tego badania wykorzystano urządzenie faksujące dołączone do zewnętrznej linii telefonicznej miejskiej. Wysłano faks poleceniem sendfax -n -d 95228637001 -h NazwaFaxu@127.0.0.1 WysyłanyPlik (przy nawiązywaniu połączenia cyfra 9 wskazuje na łączenie przez centralkę Panasonic, a cyfra 5 wskazuje na łączenie przez centralkę Alcatel). Następnie, z faksu zewnętrznego wysłano faks do odbiorcy wewnętrznego w PIAP. Podczas transmisji obserwowano stan urządzeń faksowych poleceniem faxstat -s. W obu przypadkach stwierdzono poprawność działania systemu. Po zakończeniu transmisji zbadano realizację poleceń określonych w FaxDispatch. Stwierdzono poprawność działania systemu.
2.5. Wysyłanie faksów; Implementacja Klienta HylaFAX dla Windows 7
nenckie: pierwszą centralę określa cyfra 9, drugą – cyfra 5). Adres e-mail, na który zostanie wysłane powiadomienie może być skonfigurowany: −− powiadomienie wysyłane bezzwłocznie, −− powiadomienie wysyłane zgodnie z ustalonym harmonogramem. b) Uruchomienie Winprint HylaFAX z wykorzystaniem interfejsu GUI (ang. Graphic User Interface), który uruchamia program „SendFax”, a następnie przez kliknięcie prawym przyciskiem pole „Documents to send” wybranie opcji „Add file”. Można dołączyć wiele plików oraz je posortować. Przy tym sposobie wysyłania faksów obsługiwane typy plików to *.ps, *.pdf, *.tif, *.tiff, *.pcl. W ten sposób można utworzyć jeden przekaz faksowy zawierający różnorodne dokumenty.
2.6. Odbiór faksów; organizacja dystrybucji i archiwizacji otrzymywanych faksów Odbierane faksy są rozsyłane drogą e-mailową do zainteresowanych oraz są zapisywane w katalogach związanych z każdym z modemów ttyFaxn. Lista adresatów jest zdefiniowana w skrypcie FaxDispatch (rys. 7).
W celu umożliwienia wysyłania faksów użytkownikom systemu Windows należało zaimplementować oprogramowanie klienta. Do tego celu spośród dostępnych programów wybrane zostało oprogramowanie typu Open Source Software # ! /bin/bash Winprint HylaFax Reloaded. Kryteriami, którymi # . /var/spool/hylafax/etc/OwnersFaxyKO kierowano się podczas wyboru oprogramowania były: FaxDirBase="/home/services/Faxy/" −−kompatybilność ze stosowanymi w PIAP systemami OdebraneFaksyPdf="$FaxDirBase$DEVICE/$(date '+%Y')/$(date '+%m')/$(date '+%d')/*.pdf" Numer=`echo $DEVICE | sed -e 's/ttyFax//;s/^0//'` OS Windows (wersje 32- i 64-bitowe Windows 7, LANG=pl_PL Windows 8), FILETYPE=pdf # −−intuicyjny interfejs użytkownika. /var/spool/hylafax/bin/makeFaxDirs Po zainstalowaniu w komputerze użytkownika, Win/usr/bin/tiff2pdf $FILE -j -o $FaxDirBase$DEVICE/$(date '+%Y')/$(date '+%m')/$(date '+%d')/${FaxyKO[$Numer]}$(date '+%Y%m%d%H%M').pdf print HylaFax Reloaded emuluje drukarkę Dell 3100cn chown uucp:${FaxyKO[$Numer]} $OdebraneFaksyPdf PS. W systemie Windows drukarka ta jest nazwana chmod 750 $OdebraneFaksyPdf HylaFAX. Z punktu widzenia użytkownika, wysłaSENDTO=${FaxyKO[$Numer]}@piap.pl NOTIFY_FAXMASTER=errors nie faksu jest równoznaczne z wydrukowaniem pliku przeznaczonego do transmisji za pomocą tej drukarki. Rys. 7. Skrypt FaxDispach z przykładowymi działami firmy Fig. FaxDispatch script, with examples of department Podczas konfiguracji oprogramowania klienta należało wprowadzić następujące parametry: −−adres IP serwera, na którym zaimplementowany jest system faksowania HylaFAX+, −−identyfikator użytkownika oraz jego hasło, Każdemu urządzeniu ttyFaxn przypisano adres e-mail grupy −−adres e-mail, na który będą wysyłane powiadomienia, użytkowników uprawnionych do otrzymywania faksów z okre−−typ powiadomień (Failure/Success – zakończone niepowodześlonego modemu F-M. Grupy te odpowiadają – uprawnionym niem/powodzeniem, Success Only – zakończone tylko powodo korzystania z systemu faksowania – pracownikom odpodzeniem, Failure Only – zakończone tylko niepowodzeniem, wiednich KO. Adresaci przypisani do tych grup są zdefiniowani Never – brak powiadomień), w pliku /etc/postfix/virtual systemu pocztowego. Przykładowo: −−stosowany modem systemu faksowania (np. ttyFax01), FaxyKO@piap.pl = adresat1,adresat2,...,. −−format przesyłanej strony (A4, US Letter), Po uruchomieniu skryptu FaxDispatch uruchamia się zawarty −−język interfejsu użytkownika (auto – angielski, en – angielski, w nim skrypt makeFaxDirs zarządzający tworzeniem katalogów de – niemiecki, es – hiszp.ański, fr – francuski, it – włoski, przechowujących faksy oraz nadzorujący dostęp do tych kataru – rosyjski). logów. Za pomocą skryptu makeFaxDirs nadawane są prawa Oprogramowanie Winprint HylaFax Reloaded umożliwia własności pracownikom należącym do grup FaxyKO. Zbiory korzystanie ze zintegrowanej książki adresowej. Domyślnie otrzymywanych faksów są objęte globalnym systemem archiwiksiążka ta jest przechowywana w formacie CSV w lokalizacji zacji PIAP. Sposób powiadamiania respondentów po stronie serwskazanej przez użytkownika. Istnieje także możliwość skorzywera HylaFAX+ jest zdefiniowana skryptem FaxNotify (rys. 8). stania z książki adresowej programu Outlook stosując MAPI (ang. Messaging Application Program Interface) oraz z bazy danych, z którą jest nawiązywane połączenie za pomocą mechanizmu ODBC (ang. Open Data Base Connectivity). # ! /bin/bash Za pomocą oprogramowania Winprint HylaFax Reloaded # użytkownik może wysyłać faks na dwa sposoby: LANG=pl_PL # a) Otworzenie dokumentu i „wydrukowanie” go na drukarce if [ "$WHY" != "done" ]; then HylaFAX. W trakcie tego procesu jest uruchomiany program RETURNFILETYPE=pdf; RETURNTECHINFO=yes; „SendFax”. Program ten wymaga wprowadzenia numeru teleRETURNTRANSCRIPT=yes; fonu adresata oraz adresu e-mail, na który zostanie wysłane NOTIFY_FAXMASTER=faxyNI@piap.pl fi; powiadomienie o stanie procesu wysyłania faksu. W PIAP numer adresata jest poprzedzony prefixem 95 (numer ten jest Rys. 8. Skrypt FaxNotify Fig. 8. FaxNotify script wymagany ze względu na przejście przez dwie centrale abo-
81
Wielotorowy system faksowania
3. Podsumowanie
Bibliografia
W wyniku przeprowadzonych badań i prac, wskazane we wstępie cele zostały osiągnięte. Problem losowej reprezentacji modemów systemu został rozwiązany za pomocą wymuszonego przypisywania modemów do fizycznych lokalizacji USB oraz mechanizmu aliasowania nazw modemów. Problem przyznawania praw użytkowników do wysyłania faksów za pośrednictwem poszczególnych faksmodemów został rozwiązany przez zastosowanie mechanizmu zarządzania kolejką JobControlCmd w serwerze faksu HylaFAX+. Możliwość wydzielenia kanału nadawanie/ odbieranie faksu dla pojedynczego użytkownika, z jasno określonym faks-modemem i odpowiadającą mu linią telefoniczną, został osiągnięty. Ponadto, jako cel wtórny, wyeliminowano nieporęczny wysoko gabarytowy faks dzięki zastosowaniu zminiaturyzowanych faksmodemów USB.
1. Amardeep Gupta, Communication Device Class (CDC) Host2009, Microchip Technology Inc., 2009, http://www. microchip.com. 2. Teamwork, Universal Serial Bus Class Definitions for Communication Devices, Version Atmel Corp., AT91 USB, January 19, 1999. 3. Teamwork, Serial Asynchronous Automatic Dialing and Control, ANSI/TIA-602, http://www.eia.org. 4. Teamwork, Universal Serial Bus Specification, version 1.0 and version 1., http://www.usb.org. 5. Teamwork, Universal Serial Bus Common Class Specification, version 1.0., http://www.usb.org. 6. Jajszczyk A., Wstęp do telekomutacji, WNT, Warszawa 2008. 7. Dziczkowska M., Dziczkowski L., Obsługa i budowa modemu, Helion, Warszawa 1997. 8. Kula S., Systemy teletransmisyjne, WKŁ, Warszawa 2006. 9. Praca zespołowa, Vademecum Teleinformatyka cz. I, IDG, Warszawa 1999.
Multiline Faxing System Abstract: Presented – implemented and made available to users – vector faxing system based
on USB modems (modems FM). In this approach, USB modems successfully replace solutions based on large-scale, stand-alone fax machines, the size of which significantly hamper the construction of tens-line fax system environment PSTN (Public Switched Telephone Network) – necessary for the proper functioning of a large company business. Discusses representing of the Communications Device Class CDC on the host that supports USB. Analyzed adopted – for the USB host – abstract control model ACM. Outlines a method for exact representation of telephone lines while random activation of the fax modems when the fax server starts, and the mechanism for assigning user access rights to designated fax modems. The user communicates with the fax system with use of client Winprint HylaFax Reloaded. Keywords: STM32, chassis dynamometer, relative slip, velocity
dr inż. Marian Wrzesień
mgr inż. Piotr Ryszawa
Główny Informatyk Instytutu, Administrator Sieci Informatycznej PIAP-LAN, adiunkt.
Programista Sieci Informatycznej PIAP-LAN.
pryszawa@piap.pl
mwrzesien@piap.pl
82
P
O
M
I
A
R
Y
•
A
U
T
O
M
A
T
Y
K
A
•
R
O
B
O
T
Y
K
A
N R 1 / 20 1 5
Pomiary Automatyka Robotyka, R. 19, Nr 1/2015
Informacje dla Autorów Za artykuł naukowy – zgodnie z Komunikatem Ministra Nauki i Szkolnictwa Wyższego z dnia 29 maja 2013 r. w sprawie kryteriów i trybu oceny czasopism naukowych – należy rozumieć artykuł prezentujący wyniki oryginalnych badań o charakterze empirycznym, teoretycznym, technicznym lub analitycznym zawierający tytuł publikacji, nazwiska i imiona autorów wraz z ich afiliacją i przedstawiający obecny stan wiedzy, metodykę badań, przebieg procesu badawczego, jego wyniki oraz wnioski, z przytoczeniem cytowanej literatury (bibliografię). Do artykułów naukowych zalicza się także opublikowane w czasopismach naukowych opracowania o charakterze monograficznym, polemicznym lub przeglądowym, jak również glosy lub komentarze prawnicze.
Wskazówki dla Autorów przygotowujących artykuły naukowe do publikacji Artykuły naukowe zgłoszone do publikacji w kwartalniku naukowotechnicznym Pomiary Automatyka Robotyka powinny spełniać następujące kryteria formalne: – tytuł artykułu (nieprzekraczający 80 znaków) w języku polskim oraz angielskim, – imię i nazwisko Autora/Autorów, adres e-mail, afiliacja (instytucja publiczna, uczelnia, zakład pracy, adres), – streszczenie artykułu (o objętości 150–200 słów) w języku polskim oraz angielskim, – słowa kluczowe (5–8 haseł) w języku polskim oraz w języku angielskim angielskim, – zasadnicza część artykułu – w języku polskim (lub w j. angielskim), – podpisy pod rysunkami w języku polskim oraz w języku angielskim, – tytuły tabel w języku polski oraz w języku angielskim, – ilustracje/grafika/zdjęcia jako osobne pliki w formacie .eps, .cdr, .jpg lub .tiff, w rozdzielczości min. 300 dpi, min. 1000 pikseli szerokości, opisane zgodnie z numeracją grafiki w tekście.
Artykuł powinien mieć objętość równą co najmniej 0,6 arkusza wydawniczego, nie powinien przekraczać objętości 1 arkusza wydawniczego (40 000 znaków ze spacjami lub 3000 cm2 ilustracji, wzorów), co daje ok. 8 stron złożonego tekstu. W przypadku artykułów przekraczających tę objętość sugerowany jest podział na części. Nie drukujemy komunikatów! Do artykułu muszą być dołączone notki biograficzne wszystkich Autorów (w języku artykułu) o objętości 500–750 znaków oraz ich aktualne fotografie. Redakcja zastrzega sobie prawo dokonywania skrótów, korekty językowej i stylistycznej oraz zmian terminologicznych. Przed publikacją autorzy akceptują końcową postać artykułu.
System recenzencki PAR Redakcja przyjmuje wyłącznie artykuły oryginalne, wcześniej niepublikowane w innych czasopismach, które przeszły etap weryfikacji redakcyjnej. Autorzy ponoszą całkowitą odpowiedzialność za treść artykułu. Autorzy materiałów nadesłanych do publikacji są odpowiedzialni za przestrzeganie prawa autorskiego. Zarówno treść pracy, jak i zawarte w niej ilustracje, zdjęcia i tabele muszą stanowić dorobek własny Autora, w przeciwnym razie muszą być opisane zgodnie z zasadami cytowania, z powołaniem się na źródło. Oddaliśmy do dyspozycji Autorów i Recenzentów System Recenzencki, który gwarantuje realizację tzw. podwójnie ślepej recenzji. Przesyłając artykuł do recenzji należy usunąć wszelkie elementy wskazujące na pochodzenie artykułu – dane Autorów, ich afiliację, notki biograficzne. Dopiero po recenzji i poprawkach sugerowanych przez Recenzentów artykuł jest formatowany zgodnie z przyjętymi zasadami. W przypadku zauważonych problemów, prosimy o kontakt z Redakcją.
Kwartalnik naukowotechniczny Pomiary Automatyka Robotyka jest indeksowany w bazach BAZTECH, Google Scholar oraz INDEX COPERNICUS (IC 3,22), a także w bazie naukowych i branżowych polskich czasopism elektronicznych ARIANTA. Punktacja MNiSW za publikacje naukowe wynosi 4 pkt (poz. 1618). Przyłączając się do realizacji idei Otwartej Nauki, udostępniamy bezpłatnie wszystkie artykuły naukowe publikowane w kwartalniku naukowotechnicznym Pomiary Automatyka Robotyka.
83
INFORMACJE DLA AUTORÓW
Oświadczenie dotyczące jawności informacji o podmiotach przyczyniających się do powstania publikacji Redakcja kwartalnika naukowotechnicznego Pomiary Automatyka Robotyka, wdrażając politykę Ministra Nauki i Szkolnictwa Wyższego odnoszącą się do dokumentowania etycznego działania Autorów, wymaga od Autora/Autorów artykułów podpisania przed przyjęciem artykułu do druku druku w kwartalniku oświadczenia zawierającego: 1. informację o udziale merytorycznym każdego wymieniowego Autora w przygotowaniu publikacji – celem jest wykluczenie przypadków tzw. „guest authorship”, tj. dopisywania do listy Autorów publikacji nazwisk osób, których udział w powstaniu publikacji był znikomy albo w ogóle nie miał miejsca. 2. informację o uwzględnieniu w publikacji wszystkich osób, które miały istotny wpływ na jej powstanie – celem jest: – potwierdzenie, że wszystkie osoby mające udział w powstaniu pracy zostały uwzględnione albo jako współautorzy albo jako osoby, którym autor/autorzy dziękują za pomoc przy opracowaniu publikacji, – potwierdzenie, że nie występuje przypadek „ghostwriting”, tzn. nie występuje sytuacja, w której osoba wnosząca znaczny wkład w powstanie artykułu nie została wymieniona jako współautor ani nie wymieniono jej roli w podziękowaniach, natomiast przypisano autorstwo osobie, która nie wniosła istotnego wkładu w opracowanie publikacji;
84
P
O
M
I
A
Redakcja na mocy udzielonej licencji ma prawo do korzystania z utworu, rozporządzania nim i udostępniania dowolną techniką, w tym też elektroniczną oraz ma prawo do rozpowszechniania go dowolnymi kanałami dystrybucyjnymi.
3. informację o źródłach finansowania badań, których wyniki są przedmiotem publikacji – w przypadku finansowania publikacji przez instytucje naukowo-badawcze, stowarzyszenia lub inne podmioty, wymagane jest podanie informacji o źródle środków pieniężnych, tzw. „financial disclosure” – jest to informacja obligatoryjna, nie koliduje ze zwyczajowym zamieszczaniem na końcu publikacji informacji lub podziękowania za finansowanie badań.
Zapraszamy do współpracy Poza artykułami naukowymi publikujemy również materiały informujące o aktualnych wydarzeniach, jak konferencje, obronione doktoraty, habilitacje, uzyskane profesury, a także o realizowanych projektach, konkursach – słowem, o wszystkim, co może interesować i integrować środowisko naukowe. Zapraszamy do recenzowania/ polecania ciekawych i wartościowych książek naukowych.
Umowa o nieodpłatne przeniesienie praw majątkowych do utworów z zobowiązaniem do udzielania licencji CC-BY Z chwilą przyjęcia artykułu do publikacji następuje przeniesienie majątkowych praw autorskich na wydawcę. Umowa jest podpisywana przed przekazaniem artykułu do recenzji. W przypadku negatywnych recenzji i odrzucenia artykułu umowa ulega rozwiązaniu.
Redakcja kwartalnika Pomiary Automatyka Robotyka nauka@par.pl
Zasady cytowania
Podczas cytowania artykułów publikowanych w kwartalniku naukowo-technicznym Pomiary Automatyka Robotyka prosimy o podawanie nazwisk wszystkich autorów, pełną nazwę czasopisma oraz numer DOI, np.:
Zieliński C., Kornuta T., Programowe struktury ramowe do tworzenia sterowników robotów, „Pomiary Automatyka Robotyka”, R. 19, Nr 1/2015, 5-14, DOI: 10.14313/PAR_215/5. R
Y
•
A
U
T
O
M
A
T
Y
K
A
•
R
O
B
O
T
Y
K
A
N R 1 / 20 1 5
kwartalnik
seminarium
czasopisma
pomiary
obliczanie miara rozmiar
nawigacja
bot
www sprawdzian
miara
POLSPAR
automatyka IFAC eksperyment
innowacyjność
kalendarium
artykuły
nauka
organizacja projekt
staż
konkurs
publikacje
książki
federacja
stowarzyszenie
automatyka
Pomiary Automatyka Robotyka, R. 19, Nr 1/2015
robotykatest seminarium
zapowiedź
konferencje
próba
relacja
awans test
kongres
publikacje
dr h.c.
profesura
recenzje
relacja
bot
szkolenie
doktorat
sterowanie
streszczenie
Top500 habilitacja
innowacje
IFAC
85
86
P
O
M
I
A
R
Y
•
A
U
T
O
M
A
T
Y
K
A
•
R
O
B
O
T
Y
K
A
N R 1 / 20 1 5
ORGANIZACJE I STOWARZYSZENIA
International Federation of Automatic Control IFAC jest międzynarodową organizacją naukowo-techniczną, której historia dobiega sześćdziesięciu lat. Działalność IFAC koncentruje się na rozwoju metod automatycznego sterowania, ich praktycznego zastosowania w obszarze inżynierii, rozwoju nauki oraz wpływie nowych technologii na społeczeństwo i jego rozwój.
Historia Pierwsza Międzynarodowa Konferencja Automatyki (International Conference on Automatic Control) odbyła się na Uniwersytecie w Heidelbergu, w dniach 25–29 września 1956 r. Hasło przewodnie konferencji brzmiało Regelungstechnik – Moderne Theorien und ihre Verwendbarkeit (Control Engineering – Współczesne teorie i ich zastosowania). Konferencja została zorganizowana przez założoną w 1938 r. niemiecką sekcję automatyki VDI/VDE-Fachgruppe Regelungstechnik. Podczas tej konferencji 30 uczestników podpisało deklarację, w której jasno określono potrzebę stworzenia międzynarodowej organizacji zajmującej się dziedziną automatycznego sterowania. Sygnatariusze zobowiązali się do promowania tej idei i tworzenia organizacji krajowych, jeśli takie jeszcze nie istniały. Pod koniec konferencji w Heidelbergu powołano tymczasowy komitet, któremu przewodniczył Victor Broida (Francja), który przystąpił do opracowania projektu konstytucji dla planowanej Międzynarodowej Federacji Automatyki. Wśród sześciu członków tymczasowego komitetu był profesor Paweł Jan Nowacki – jeden z najwybitniejszych i najbardziej wszechstronnych polskich elektryków i automatyków owych czasów. Po rocznych przygotowaniach organizacja International Federation of Automatic Control została powołana
12 września 1957 r., podczas pierwszego Walnego Zgromadzenia zwołanego na spotkaniu założycielskim w Paryżu. Delegaci z 18 krajów, reprezentujący swoje organizacje krajowe zgromadzili się w Conservatoire National des Arts et Métiers pod przewodnictwem Victora Broida. Tam też zatwierdzono konstytucję i regulamin IFAC; wybrano pierwszego prezydenta – został nim Harold Chestnut, a także członków Rady Wykonawczej i wyznaczono przewodniczących poszczególnych komisji. Kadencje kolejnych prezydentów IFAC: 1957–1958 Harold Chestnut (US) 1958–1960 Aleksander M. Letov (SU) 1960–1963 Eduard Gerecke (CH) 1963–1966 John F. Coales (UK) 1966–1969 Paweł J. Nowacki (PL) 1969–1972 Victor Broida (FR) 1972–1975 John C. Lozier (US) 1975–1978 Uolevi A. Luoto (FI) 1978–1981 Yoshikazu Sawaragi (JP) 1981–1984 Tibor Vamos (HU) 1984–1987 Manfred Thoma (DE) 1987–1990 Boris Tamm (SU) 1990–1993 Brian D.O. Anderson (AU) 1993–1996 Stephen J. Kahne (US) 1996–1999 Yong–Zai Lu (CN) 1999–2002 Pedro Albertos (ES) 2002–2005 Vladimir Kucera (CZ) 2005–2008 Wook Hyun Kwon (KR) 2008–2011 Alberto Isidori (IT) 2011–2014 Ian Craig (ZA) 2014–2017 Janan Zaytoon (FR)
„Wśród sześciu członków tymczasowego komitetu był profesor Paweł Jan Nowacki – jeden z najwybitniejszych i najbardziej wszechstronnych polskich elektryków i automatyków owych czasów” 87
ORGANIZACJE I STOWARZYSZENIA 21. prezydent, Janan Zaytoon (University of Reims Champagne-Ardenne) został powołany podczas 20. światowego kongresu IFAC w Cape Town (Południowa Afryka). Siedziba Federacji znajduje się w Zurichu (Szwajcaria), natomiast jej Sekretariat, na zaproszenie administracji rządowej Austrii, został przeniesiony w 1978 r. do położonej niedaleko Wiednia miejscowości Laxenburg. IFAC obchodził swoje 50-lecie w dniu 15 września 2006 r. w Heidelbergu, w Niemczech, w tym samym mieście, w którym podczas „Internationale Fachtagung Regelungstechnik” w 1956 r. rozpoczęto prace nad powołaniem federacji. Podczas tego prestiżowego wydarzenia zaprezentowano liczne materiały na temat historii IFAC,
ze szczególnym naciskiem na teraźniejszość i przyszłość automatycznego sterowania, zarówno od strony teoretycznej, jak i aplikacyjnej, a także skupienie się na nowych obszarach automatyki. Struktura IFAC IFAC jest międzynarodową federacją Narodowych Organizacji Członkowskich NMO (National Member Organization), z których każda reprezentuje stowarzyszenia naukowo-techniczne związane z automatyką w swoim kraju. W chwili powoływania IFAC, Polskę reprezentowała Naczelna Organizacja Techniczna NOT. Obecnie IFAC skupia 49 narodowych organizacji członkowskich.
General Assembly
NMOs
President
Council
„W chwili powoływania IFAC, Polskę reprezentowała Naczelna Organizacja Techniczna NOT”
Technical Board
Executive Board
Coordinating Committees
Executive Committees
Secretariat
Technical Committees
Według stanu z lutego 2015 r., w strukturze IFAC działają następujące Komitety Koordynacyjne CC i Komitety Techniczne TC:
CC 4 Mechatronics, Robotics and Components TC 4.1 Components and Technologies for Control TC 4.2 Mechatronics Systems TC 4.3 Robotics TC 4.5 Human-Machine Systems
CC 2 Design Methods TC 2.1 Control Design TC 2.2 Linear Control Systems TC 2.3 Non-linear Control Systems TC 2.4 Optimal Control TC 2.5 Robust Control TC 2.6 Distributed Parameter Systems
88
P
O
M
I
A
CC 5 Manufacturing Systems TC 5.1 Manufacturing Plant Control TC 5.2 Manufacturing Modelling for Management and Control TC 5.3 Enterprise Integration and Networking TC 5.4 Large Scale Complex Systems
CC 3 Computers, Cognition and Communication TC 3.1 Computers for Control TC 3.2 Computational Intelligence in Control TC 3.3 Telematics: Control via Communication Networks
CC 1 Systems and Signals TC 1.1 Modelling, Identification, and Signal Processing TC 1.2 Adaptative and Learning Systems TC 1.3 Discrete Event and Hybrid Systems TC 1.4 Stochastic Systems TC 1.5 Networked Systems
R
Y
•
A
U
T
O
M
A
T
Y
K
A
•
CC 6 Industrial Systems TC 6.1 Chemical Process Control TC 6.2 Mining, Mineral and Metal Processing TC 6.3 Power and Energy Systems TC 6.4 Fault Detection, Supervision & Safety of Technical Processes – SAFEPROCESS R
O
B
O
T
Y
K
A
N R 1 / 20 1 5
Pomiary Automatyka Robotyka, R. 19, Nr 1/2015 Najwyższym ciałem Federacji jest Zgromadzenie Ogólne, które obejmuje delegatów ze wszystkich organizacji członkowskich (NMO), z których każdy ma równe prawa i tę samą wagę głosu. Ramy prawne działania Federacji określa Konstytucja IFAC (IFAC Constitution and By-Laws). Zgodnie z Konstytucją (Art. 3, pkt (a)) celem Federacji jest promocja nauki i technologii w dziedzinie automatyki we współpracy z narodowymi i międzynarodowymi organizacjami przez: – Organizację i wspieranie spotkań technicznych, takich jak kongresy, konferencje, sympozja i warsztaty. – Publikacje. – Każdą inną działalność zgodną z Konstytucją. Działalność IFAC jest kierowana do wszystkich zainteresowanych badaniami, rozwojem i edukacją w zakresie automatyki. Merytoryczną pracę Federacji realizuje Rada Techniczna (Technical Board), która pełni jednocześnie funkcję koordynującą, Komitety Koordynacyjne (Coordinating Committees)
oraz Komitety Techniczne (Technical Committees), które są odpowiedzialne za planowanie imprez oraz promocję odpowiednich subdyscyplin automatyki. W chwili obecnej działa ponad 40 Komitetów Technicznych. IFAC organizuje około 40 imprez rocznie, w których udział bierze około 4000 uczestników, a obsługuje je około 2000 wolontariuszy.
CC 7 Transportation and Vehicles Systems TC 7. 1 Automotive Control TC 7.2 Marine Systems TC 7.3 Aerospace TC 7.4 Transportation Systems TC 7.5 Intelligent Autonomous Vehicles
CC 9 Social Systems TC 9.1 Economic, Business and Financial Systems TC 9.2 Social Impact of Automation TC 9.4 Control Education TC 9.5 Technology, Culture and International Stability (TECIS)
Działalność IFAC Główną imprezą IFAC jest Światowy Kongres organizowany co 3 lata i obejmujący swoją tematyką całokształt automatyki. Miejsca kolejnych Kongresów: Moskwa (1960), Bazylea (1963), Londyn (1966), Warszawa (1969), Paryż (1972), Boston (1975), Helsinki (1978), Kyoto (1978), Budapeszt (1984), Monachium (1987), Tallin (1990), Sydney (1993), San Francisco (1996), Pekin (1999), Barcelona (2002), Praga (2005), Seul (2008), Mediolan (2011), Cape Town (2014). Kolejny, 20. Kongres odbędzie się w dniach 9–14 lipca 2017 r. w Tuluzie. Będzie to okazja do uczczenia 60. rocznicy IFAC.
CC 8 Bio and Ecological Systems TC 8.1 Control in Agriculture TC 8.2 Biological and Medical Systems TC 8.3 Modelling and Control of Environmental Systems TC 8.4 Biosystems and Bioprocesses
89
ORGANIZACJE I STOWARZYSZENIA Warto zaznaczyć, że funkcję Prezydenta IFAC na piątą kadencję w latach 1966–1969 pełnił przedstawiciel Polski – profesor Paweł Jan Nowacki. Powierzenie Polsce organizacji Światowego Kongresu IFAC w Warszawie (12–16 czerwca 1969 r.) było wielkim wyróżnieniem dla polskiej automatyki. Oficjalnymi czasopismami IFAC są: Automatica, Control Engineering Practice, Annual Reviews in Control, Journal of Process Control, Engineering Applications of Artificial Intelligence oraz Journal of Mechatronics, których wydawcą jest Elsevier Science Ltd. Do niedawna publikacje IFAC miały postać tradycyjnych materiałów papierowych. Podczas Światowego Kongresu w Seulu, w lipcu 2008 r. został uruchomiony IFAC PapersOnLine strona internetowa, z której można pobrać artykuły IFAC, a także raporty techniczne komisji, wielojęzyczny słownik oraz broszury o szczególnym znaczeniu, jak wytyczne dla organizatorów warsztatów, sympozjów, konferencji i kongresów (Organizers’Guide). W sierpniu 2014 r. podczas kongresu w Cape Town, na posiedzeniu IFAC Council, została podjęta decyzja o opracowaniu nowego logotypu i nowym rebrandingu wszystkich materiałów, stron internetowych, czasopism, certyfikatów, nagród itp.
Obecnie w różnych strukturach IFAC aktywną działalność prowadzi 16 przedstawicieli Polski, członków Stowarzyszenia POLSPAR.
„Stowarzyszenie Pomiarów, Automatyki i Robotyki POLSPAR jako Narodowa Organizacja Członkowska (NMO) jest członkiem IFAC reprezentującym Polskę od 1992 r.”
Polska w IFAC Stowarzyszenie Pomiarów, Automatyki i Robotyki POLSPAR jako Narodowa Organizacja Członkowska (NMO) jest członkiem IFAC reprezentującym Polskę od 1992 r. i jako takie, jest odpowiedzialne za propagowanie zadań i celów Federacji na terenie Polski. POLSPAR jest od 1992 r. kontynuatorem wcześniej działających w ramach NOT: Polskiego Komitetu Pomiarów i Automatyki (PKP i A) oraz Polskiego Komitetu Pomiarów, Automatyki i Robotyki (PKPA i R), który przyjął tę nazwę po włączeniu robotyki w obszar zainteresowań PKP i A. Więcej wiadomości i aktualności znaleźć można na stronach POLSPAR www.konsulting.gda.pl/polspar.
prof. Zbigniew Banaszak – Politechnika Koszalińska
TC 5.1, TC 1.3
prof. Witold Byrski – AGH Akademia Górniczo-Hutnicza
TC 1.1, TC 4.4
prof. Stanisław Cierpisz – Instytut Technik Innowacyjnych EMAG
TC 6.2
prof. Stefan Domek – Zachodniopomorski Uniwersytet Technologiczny
TC 2.2, TC 2.1, TC 4.2
prof. Edward Hrynkiewicz – Politechnika Śląska
TC 4.1
prof. Ireneusz Jóźwiak – Politechnika Wrocławska
TC 5.3, TC 4.1
prof. Józef Korbicz – Uniwersytet Zielonogórski
TC 6.4
prof. Zdzisław Kowalczuk – Politechnika Gdańska
TC1.1,TC6.4,TC3.2,TC7.5
prof. Piotr Kulczycki – Instytut Badań Systemowych PAN
TC 2.6
prof. Andrzej Masłowski – Politechnika Warszawska
TC 4.3
prof. Marek Pawełczyk – Politechnika Śląska
TC 2.1, TC 4.2, TC 7.5
prof. Janusz Szpytko – AGH Akademia Górniczo-Hutnicza
TC 3.3, TC 5.3, TC 7.4
prof. Mirosław Świercz – Politechnika Białostocka
TC 8.4
prof. Andrzej Turnau – AGH Akademia Górniczo-Hutnicza
TC 2.4
dr Marek Węgrzyn – Uniwersytet Zielonogórski
TC 3.1, TC 3.3
prof. Marcin Witczak – Uniwersytet Zielonogórski
TC 6.4
Gratulujemy i życzymy sukcesów, nieśmiało marząc o kongresie IFAC w Polsce.
Redakcja kwartalnika Pomiary Automatyka Robotyka
90
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
N R 1 / 20 1 5
Pomiary Automatyka Robotyka, R. 19, Nr 1/2015
Profesor Janusz Kacprzyk doktorem honoris causa Széchenyi István University
W dniu 18 września 2014 r. na Széchenyi István University w Győr na Węgrzech odbyły się uroczystości zwane Dniem Akademickim. W obecności władz miasta, regionu i ministerstw JM Rektor, Prof. Dr Péter Földesi, wręczył dyplomy doktorskie, habilitacyjne i profesorskie. Głównym punktem uroczystości było wręczenie dyplomów doktora honoris causa Uniwersytetu w Győr. Pierwszym uhonorowanym, w uznaniu wybitnych osiągnięć i imponującego dorobku naukowego, a także wieloletniej współpracy naukowej z zespołami badawczymi Uniwersytetu, był prof. Janusz Kacprzyk, członek rzeczywisty Polskiej Akademii Nauk oraz członek zagraniczny Bułgarskiej Akademii
Nauk i Hiszpańskiej Królewskiej Akademii Nauk Ekonomicznych i Finansowych (RACEF). Drugi tytuł doktora honoris causa otrzymał Thomas Faustmann, prezes Audi Hungaria AG, za wieloletnie wspieraniu badań naukowych na Uniwersytecie w Győr i utworzenie innowacyjnych uniwersyteckich placówek badawczych. Serdecznie gratulujemy !
Redakcja kwartalnika Pomiary Automatyka Robotyka
Prof. dr hab. inż. Janusz Kacprzyk Członek rzeczywisty PAN, członek zagraniczny Hiszpańskiej Królewskiej Akademii Nauk Ekonomicznych i Finansowych, Fellow IEEE, laureat Nagrody Pionierów IEEE Computational Intelligence Society, Sekcji IEEE w Dolinie Krzemowej oraz Nagrody Pionierów i Medalu Kaufmanna. Były prezydent International Fuzzy Systems Association (IFSA) i Prezes Polskiego Towarzystwa Badań Operacyjnych i Systemowych. Jest absolwentem Wydziału Elektroniki Politechniki Warszawskiej (1970). Pracę doktorską obronił w 1977 r. w Instytucie Badań Systemowych PAN. Tamże habilitował się w 1990 r. Siedem lat później uzyskał tytuł profesora zwyczajnego. Był wielokrotnie profesorem wizytującym na wielu uniwersytetach w USA, we Włoszech, w Wielkiej Brytanii, Meksyku. Jest autorem ponad 400 publikacji, w tym prawie 80 w czasopismach z tzw. listy filadelfijskiej.
91
AWANS NAUKOWY | HABILITACJA
dr hab. inż. Rafał Stanisławski, prof. PO
Advances in modeling of fractional difference systems – new accuracy, stability and computational results Monografia Postępy w modelowaniu układów różnicowych niecałkowitego rzędu − nowe wyniki w obszarze dokładności, stabilności i złożoności obliczeniowej autorstwa Rafała Stanisławskiego została wydana w 2013 r. nakładem Oficyny Wydawniczej Politechniki Opolskiej. Recenzentami pracy byli profesorowie Andrzej Dzieliński, Jerzy Klamka, Adam W. Kowalewski i Jan A. Sadecki.
Jest absolwentem Wydziału Elektrotechniki i Automatyki Politechniki Opolskiej (2000 r.). Z wydziałem tym związał całą swoją karierę naukową. W 2005 r. obronił tu pracę doktorską Identyfikacja systemów dynamicznych o złożonej strukturze na przykładzie obiektu energetycznego, której promotorem był prof. Krzysztof Latawiec. 27 marca 2014 r. uzyskał stopień doktora habilitowanego nauk technicznych w zakresie automatyki i robotyki, specjalność: systemy sterowania, nadany przez Radę Wydziału Elektrotechniki, Automatyki i Informatyki Politechniki Opolskiej.
W monografii przedstawiono nowe rezultaty z zakresu modelowania i analizy dyskretnych liniowych układów różnicowych niecałkowitego rzędu (systemów frakcyjnych). Praca koncentruje się na trzech głównych obszarach badań obejmujących: 1) aproksymację dyskretnej różnicy frakcyjnej, 2) analizę dyskretnych układów niecałkowitego rzędu opisanych równaniami stanu, 3) modelowanie procesów z zastosowaniem dyskretnych modeli opartych na frakcyjnych funkcjach bazy ortonormalnej. W obszarze aproksyma-
92
P
O
M
I
A
R
Y
cji zaproponowano dwie odrębne koncepcje modelowania różnicy frakcyjnej. Pierwsza z nich oparta jest na skończonych implementacjach różnicy Grünwalda-Letnikova. Szczególnie interesujące w tym obszarze są modele w postaci AFFD (ang. Adaptive Finite Fractional Difference) i PFFD (ang. Perfect Finite Fractional Difference) implementujące zmienny w czasie element normalizujący, zapewniający dobrą dokładność w stanach przejściowych i jednocześnie gwarantujący zerowy błąd w stanie ustalonym. Druga koncepcja aproksymacji opiera się na zastosowaniu dyskretnych filtrów Laguerre’a. Zaproponowano w tym zadaniu dwa bardzo efektywne aproksymatory dyskretnej różnicy frakcyjnej w postaci FLD (ang. Finite Laguerre-based Difference) oraz FFLD (ang. Finite Fractional/Laguerre-based Difference). Interesującym produktem ubocznym aproksymacji opartych na filtrach Laguerre’a jest opracowanie dwóch alternatywnych, równoważnych metod przedstawiania dyskretnej różnicy frakcyjnej: LD (ang. Laguerre-based Difference) oraz CFLD (ang. Combined Fractional/Laguerre-based Difference). W obszarze analizy dyskretnych systemów niecałkowitego rzędu w przestrzeni stanu szczególną uwagę skupiono na analizie stabilności takich układów, implementujących samą różnicę frakcyjną, jak i jej różne aproksymacje. Do istotnych wyników można zaliczyć zbiór efektywnych obliczeniowo, wystarczających i koniecznych, graficznych kryteriów stabilności. Wyżej wymienione wyniki pozwoliły na zaproponowanie prostego, analitycznego kryterium stabilności asymptotycznej dla systemów opartych na różnicy frakcyjnej. Wspomniany, bardzo istotny rezultat został zaimplementowany do badania stabilności dyskretyzacji systemów ciągłych oraz analizy stabilności wybranych struktur sterowania. Ponadto posłużył do zaproponowania tzw. f-zer •
A
U
T
O
M
A
T
Y
K
A
•
R
Rafał Stanisławski, Advances in modeling of fractional difference systems – new accuracy, stability and computational results, OW Politechniki Opolskiej, Studia i Monografie SM343, 2013, ISBN 978-83-64056-08-6.
i f-biegunów systemów frakcyjnych, które pozwalają na analizę stabilności i minimalnofazowości. Ponadto prezentowane w pracy badania obejmowały analizę stanu ustalonego ww. systemów. Ostatni obszar opisany w monografii obejmuje modelowanie procesów z zastosowaniem dyskretnych modeli opartych na frakcyjnych filtrach Laguerre’a.
„Praca może zostać wykorzystana przy modelowaniu, analizie i sterowaniu systemami dyskretnymi niecałkowitego rzędu.”
Zaproponowano w tym miejscu frakcyjne wersje filtrów Laguerre’a oraz zaprezentowano wyniki dotyczące badania ich stabilności i ortonormalizacji. Badania symulacyjne pokazują, że modelowanie oparte na ww. filtrach może być bardzo efektywne w zadaniach dotyczących zarówno układów frakcyjnych, jak i klasycznych (całkowitego rzędu) oraz dla wybranych obiektów przemysłowych.
M. Kaliczyńska O
B
O
T
Y
K
A
N R 1 / 20 1 5
HABILITACJA | AWANS NAUKOWY
dr hab. inż. Maciej Trojnacki, prof. PIAP
Modelowanie dynamiki mobilnych robotów kołowych Monografia Modelowanie dynamiki mobilnych robotów kołowych autorstwa Macieja Trojnackiego została wydana w 2013 r. nakładem Oficyny Wydawniczej PIAP. Recenzentami monografii byli profesorowie Zdzisław Chłopek i Roman Szewczyk, recenzentami dysertacji habilitacyjnej i dorobku naukowego byli profesorowie Jan Awrejcewicz, Jacek Snamina, Eugeniusz Budny oraz Arkadiusz Mężyk.
W monografii zawarto informacje o stanie wiedzy dotyczącej metod modelowania – zagadnienia kinematyki i dynamiki, stosowane modele opon pojazdów kołowych oraz problematyka identyfikacji i analizy wrażliwości, a także alternatywne metody modelowania dynamiki robotów mobilnych oparte na technikach sztucznej inteligencji. Przedstawiono nową uniwersalną metodykę modelowania dynamiki, która może być użyta do modelowania mobilnych robotów lądowych. W modelach dynamiki opisanych w pracy korzysta się głównie z formalizmu Newtona-Eulera. Opracowana metodyka jest stosowana przede wszystkim do robotów kołowych. Omówione są także możliwości zastosowania tej metodyki do modelowania
„Opracowana metodyka badawcza może zostać wykorzystana w procesie projektowo-konstrukcyjnym nowych i modyfikowanych układów robotyki mobilnej.”
robotów kroczących i hybrydowych, tj. łączących cechy lokomocji ciągłej i dyskretnej. Nowa metodyka może być stosowana dla różnej liczby efektorów (np. kół, stóp) stykających się z podłożem. Pozwala na odwzorowanie warunków współpracy tych efektorów z podłożem o różnych właściwościach mechanicznych oraz uwzględnienie występowania poślizgów. W przypadku robotów kołowych uwzględniany jest model opon. Rozpatrzono dwie grupy robotów kołowych, dla których w typowych warunkach eksploatacji występują niewielkie poślizgi kół jezdnych lub pośli-
zgi kół jezdnych są nieodłączną cechą ich ruchu. Przedstawiono przykłady modeli dynamiki dla dwóch klas mobilnych robotów kołowych, które opracowano z użyciem zaproponowanej metodyki. Modele te zostały opracowane dla robota trzykołowego Pioneer 2DX z przednimi kołami jezdnymi napędzanymi i tylnym samonastawnym kołem podpierającym oraz dla robota czterokołowego SCOUT z niekierowanymi kołami jezdnymi. Omówiono zagadnienia kinematyki i dynamiki tych robotów. W ramach badań symulacyjnych związanych z modelami dynamiki mobilnych robotów kołowych analizowany jest m.in. rozkład sił reakcji działających na robota od podłoża. Rozwiązywane są zadania proste i odwrotne dynamiki dla wybranych robotów. Wyznaczane są więc zarówno parametry ruchu robota dla znanych momentów napędowych, jak i momenty napędowe niezbędne do realizacji założonego ruchu. Dodatkowo w badaniach uwzględniane są modele napędów oraz opory ruchu w parach kinematycznych. Omówiono także zagadnienia sterowania ruchem mobilnych robotów kołowych, w tym zadania globalnego i lokalnego planowania ścieżki oraz sterowania ruchem nadążnym. Zaproponowano hierarchiczny układ sterowania dla mobilnego robota czterokołowego SCOUT z niekierowanymi kołami jezdnymi, w którym wyróżniono regulator pozycji i kursu robota, regulator prędkości platformy mobilnej oraz regulator prędkości kół jezdnych. Przedstawiono przykładowe wyniki symulacji wybranych struktur układów sterowania ruchem nadążnym na przykładzie tego robota. W badaniach tych wykorzystano opracowane wcześniej modele dynamiki. Wartością dodaną monografii są liczne wyniki badań doświadczalnych zrealizowanych na robocie SCOUT, porównane z wynikami badań symulacyjnych, w których wykorzystano opracowane modele. W większości przypad-
Jest absolwentem Wydziału Budowy Maszyn i Lotnictwa Politechniki Rzeszowskiej (1999 r.), gdzie w 2004 r. obronił z wyróżnieniem pracę doktorską Sterowanie ruchem nadążnym mobilnego robota kołowego z zastosowaniem sieci neuronowych, której promotorem był prof. Zenon Hendzel. 17 września 2014 r. uzyskał stopień doktora habilitowanego nauk technicznych w zakresie mechaniki, specjalności: robotyka, dynamika pojazdów, komputerowe wspomaganie projektowania, nadany przez Radę Wydziału Mechanicznego Technologicznego Politechniki Śląskiej. Obecnie jest pracownikiem Przemysłowego Instytutu Automatyki i Pomiarów PIAP.
Maciej Trojnacki, Modelowanie dynamiki mobilnych robotów kołowych, OW PIAP, Monografie • Studia • Rozprawy, 2013, ISBN 978-83-61278-17-7, str. 260.
ków uzyskano dużą zgodność otrzymanych wyników. Opracowane modele robota mogą znaleźć zastosowania praktyczne w projektowaniu i optymalizacji tego typu konstrukcji robotów oraz w syntezie algorytmów sterowania ich ruchem. Przeprowadzone badania są podstawą do dalszych prac związanych z identyfikacją parametrów modeli dynamiki robota.
M. Kaliczyńska
93
1950 – 2014
Pomiary Automatyka Robotyka, R. 19, Nr 1/2015
Profesor Mikołaj Busłowicz Z wielkim smutkiem przyjęliśmy wiadomość, że 1 listopada 2014 r. w dniu Wszystkich Świętych, po długiej chorobie zmarł dobry Człowiek oraz nasz nieodżałowany Kolega.
Prof. dr hab. inż. Mikołaj Busłowicz urodził się w 1950 r. w okolicach Bielska Podlaskiego. Po ukończeniu studiów magisterskich na Wydziale Elektrycznym Politechniki Warszawskiej (1974), kontynuował kształcenie na studiach doktoranckich organizowanych na tej uczelni. W 1977 r. obronił przed Radą Naukową Wydziału Elektrycznego PW rozprawę doktorską Obserwowalność układów liniowych stacjonarnych z opóźnieniami i uzyskał stopień naukowy doktora nauk technicznych w dyscyplinie elektrotechnika. W 1978 r. rozpoczął pracę w Instytucie Elektrotechniki Politechniki Białostockiej (obecnie Wydział Elektryczny PB), gdzie przepracował 36 lat, zajmując kolejno stanowiska: • adiunkta (1978–1989), • docenta (1989–1990) – po uzyskaniu stopnia naukowego doktora habilitowanego, nadanego przez Radę Wydziału Elektrycznego Politechniki Warszawskiej na podstawie rozprawy habilitacyjnej Asymptotyczna stabilność dynamicznych układów liniowych stacjonarnych z opóźnieniem, • profesora nadzwyczajnego (1990–2005), • profesora zwyczajnego (od 1 lipca 2005 r.) – po uzyskaniu w 2002 r. tytułu naukowego profesora w dziedzinie nauk technicznych. Mikołaj Busłowicz prowadził intensywne badania naukowe, poświęcone głównie problemom analizy i syntezy liniowych układów dynamicznych z opóźnieniami czasowymi, układów niecałkowitych rzędów, układów hybrydowych ciągło-dyskretnych, układów dodatnich oraz układów o niepewnych parametrach, jak również komputerowym metodom analizy liniowych i nieliniowych obwodów elektrycznych o niepewnych parametrach. Najważniejsze wyniki tych badań zostały podsumowane w trzech monografiach: 1. Asymptotyczna stabilność dynamicznych układów liniowych stacjonarnych z opóźnieniem. Zeszyty Naukowe PB, Nauki Techniczne nr 84, Elektryka nr 7, Białystok 1987 (186 stron); 2. Stabilność układów liniowych stacjonarnych o niepewnych parametrach. Dział Wydawnictw i Poligrafii PB, Seria:
Rozprawy Naukowe, Nr 48, Białystok 1997 (221 stron); 3. Odporna stabilność układów dynamicznych liniowych stacjonarnych z opóźnieniami. Seria: Monografie Komitetu Automatyki i Robotyki PAN, Tom l, Dział Wydawnictw i Poligrafii PB, Warszawa-Białystok 2000 (322 strony). Monografia Odporna stabilność układów dynamicznych liniowych stacjonarnych z opóźnieniami została wyróżniona nagrodą indywidualną Ministra Edukacji Narodowej w 2001 r. i zapoczątkowała serię monografii Komitetu Automatyki i Robotyki PAN. Dorobek naukowy Profesora jest znany i ceniony w środowisku automatyków; Jego prace zawierają oryginalne koncepcje, rozwijane i pogłębiane przez licznych badaczy pracujących w różnych ośrodkach naukowych w Polsce i za granicą. Dorobek ten obejmuje, oprócz ww. monografii, około 200 publikacji naukowych (autorskich lub współautorskich), w tym: 15 rozdziałów w monografiach, 93 artykuły w czasopismach krajowych i zagranicznych oraz ok. 90 referatów opublikowanych w materiałach z konferencji z całego świata. Publikował w najbardziej cenionych tytułach: IEEE Transactions Automatic Control, International Journal of Control, International Journal of Systems Science, Computers and Electrical Engineering oraz w następujących czasopismach wydawanych w Polsce: Podstawy Sterowania, Control and Cybernetics, Archiwum Automatyki i Telemechaniki, Foundations of Control Engineering, Przegląd Elektrotechniczny, Bulletin of the Polish Academy of Sciences, Technical Sciences, Pomiary Automatyka Robotyka, Journal of Automation, Mobile Robotics and Intelligent Systems, Acta Mechanica et Automatica, Pomiary Automatyka Kontrola, International Journal of Applied Mathematics and Computer Science. Kierując Katedrą Automatyki i Elektroniki Politechniki Białostockiej, profesor Busłowicz stworzył zespół naukowo-badawczy, zajmujący się współczesnymi problemami teorii sterowania, który zrealizował liczne projekty badawcze, m.in. pięć projektów finansowanych przez KBN/MNiSW/NCN (w latach 1991–1993 oraz 2004–2014), pracę Analiza dynamicz-
nych układów liniowych stacjonarnych z niepewnościami finansowaną w ramach tzw. projektów podstawowych (1990 r.), a także pięć projektów tzw. badań własnych Politechniki Białostockiej (w tym dwa projekty zespołowe). Dorobek naukowy profesora Busłowicza obejmuje również liczne recenzje, w tym czterech monografii, jednej pozycji wydawniczej zawierającej rozszerzone rezultaty rozprawy doktorskiej oraz podręcznika akademickiego i skryptu. Mikołaj Busłowicz był pięciokrotnie recenzentem dorobku naukowego i dydaktyczno-organizacyjnego w postępowaniu o nadanie tytułu naukowego profesora, recenzował również pięć rozpraw habilitacyjnych oraz 11 doktorskich. Opracował cztery opinie o całokształcie dorobku naukowego, dydaktycznego i zawodowego, dwie opinie w związku z nagrodami Ministra Edukacji Narodowej i Ministra Nauki i Szkolnictwa Wyższego, a także pięć opinii w postępowaniach o nadanie tytułu doktora honoris causa przez krajowe uczelnie wyższe. Profesor był ponadto recenzentem około 120 artykułów zgłoszonych do czasopism krajowych i zagranicznych, blisko 100 projektów badawczych KBN/MNiSW/NCN oraz około 150 prac zgłoszonych na konferencje naukowe. Jego prace były blisko 100 razy cytowane w publikacjach innych autorów, a o Jego wysokiej pozycji naukowej świadczy także fakt zapraszania Go przez komitety programowe konferencji krajowych i międzynarodowych do wygłaszania referatów plenarnych i monograficznych. Mikołaj Busłowicz niezwykle aktywnie angażował się działalność organizacyjną na rzecz Politechniki Białostockiej, pełniąc najwyższe stanowiska w uczelni. W latach 1988– 1993 pełnił funkcję prodziekana Wydziału Elektrycznego PB (kolejno: ds. studenckich i dydaktyki oraz ds. nauki), a w latach 1993–1996 i 1996–1999 funkcję Dziekana Wydziału Elektrycznego PB. W dwóch kolejnych kadencjach: 1999–2002 i 2002–2005 był prorektorem PB ds. Nauki i pierwszym zastępcą Rektora Uczelni. Od chwili utworzenia na Wydziale Elektrycznym PB Katedry Automatyki i Elektroniki (w 1992 r.) był jej kierownikiem. W latach 1990–2012 zasiadał w Senacie PB, pełniąc funkcję przewodniczącego stałych komisji senackich: w kadencji 1993–1996
95
WSPOMNIENIA Komisji ds. Badań Naukowych i Rozwoju Kadr, a w kadencji 2008–2012 Komisji ds. Budżetu i Finansów. W kadencji 2008–2012 był ponadto członkiem Uczelnianej Odwoławczej Komisji ds. Oceny Nauczycieli Akademickich. W latach 1981–1984 oraz nieprzerwanie od 1988 r. zasiadał w Radzie Wydziału Elektrycznego PB. W latach 1990–1991 był członkiem Rady Naukowej Międzywydziałowego Studium Automatyki i Robotyki, które kształciło studentów wydziałów: Elektrycznego i Mechanicznego w Politechnice Białostockiej. Od 2009 r. Profesor był redaktorem wydawnictw (publikowanych przez Oficynę Wydawniczą Politechniki Białostockiej), których tematyka zawierała się w dyscyplinach: elektrotechnika, elektronika i telekomunikacja. W 2003 r. był głównym organizatorem i przewodniczącym Komitetu Organizacyjnego I Podlaskiego Festiwalu Nauki i Sztuki, prezentującego dorobek białostockiego środowiska akademickiego, zaś w latach 2004 i 2005 pełnił funkcję wiceprzewodniczącego komitetów organizacyjnych kolejnych Podlaskich Festiwali Nauki i Sztuki. W 2004 r. Profesor M. Busłowicz przewodniczył pracom Komitetu Organizacyjnego Obchodów 55-lecia Politechniki Białostockiej. W 1999 r. Profesor był organizatorem i przewodniczącym Komitetu Organizacyjnego IX Ogólnopolskiego Spotkania Dziekanów Wydziałów Elektrycznych i Wydziałów Elektroniki, które odbyło się w Białymstoku i Rajgrodzie. Mikołaj Busłowicz odgrywał znaczącą rolę w kształceniu studentów i młodej kadry naukowej Wydziału Elektrycznego PB. Podczas pełnienia przez Niego funkcji Dziekana Wydziału Elektrycznego PB (w styczniu 1995 r.), wydział otrzymał uprawnienia do nadawania stopnia naukowego doktora nauk technicznych w dyscyplinie naukowej elektrotechnika. Profesor był promotorem w czterech przewodach doktorskich, wszczętych przez Radę Wydziału Elektrycznego PB i zakończonych nadaniem stopnia naukowego doktora. Był również opiekunem naukowym i promotorem kilku uczestników studiów doktoranckich na Wydziale Elektrycznym PB. Niezwykle sumiennie traktował swe obowiązki dydaktyczne, prowadząc na Wydziale Elektrycznym wszystkie formy zajęć dydaktycznych na studiach stacjonarnych i niestacjonarnych: wykłady, ćwiczenia audytoryjne i laboratoryjne, pracownie specjalistyczne oraz seminaria – głównie z przedmiotów: Teoria sterowania, Podstawy automatyki, Modelowanie układów dynamicznych, Podstawy techniki sterowania cyfrowego, Wybrane zagadnienia automatyki, Dynamiczne układy liniowe z opóźnieniem, Technika regulacji, Systemy sterowania. Był nauczycielem akademickim niezwykle cenionym przez studentów i chętnie wybieranym przez nich jako opiekun prac dyplomowych magisterskich i inżynierskich. Prowadził także liczne zajęcia dydaktyczne na studiach doktoranckich w Politechnice Białostockiej.
96
P
O
M
I
A
R
ferencji), International Conference on Fundamentals of Electrotechnics and Circuit Theory (w latach 1999–2010), International Conference on Parallel Computing in Electrical Engineering (w 2004 r.), Zastosowania Komputerów w Elektrotechnice (w latach 1997–2010), Diagnostyka Procesów Przemysłowych (w 2003 i w 2005 r.), Modelowanie i Symulacja (w 2006 i w 2008 r.). Za swą działalność i wybitne osiągnięcia zawodowe prof. dr hab. inż. Mikołaj Busłowicz był wielokrotnie wyróżniany odznaczeniami państwowymi i resortowymi: Srebrną Odznaką Zasłużony Białostocczyźnie (w 1989 r.), Srebrnym i Złotym Krzyżem Zasługi (w 1997 r. i w 2002 r.), Medalem Komisji Edukacji Narodowej (w 1993 r.), Srebrną Odznaką Honorową Stowarzyszenia Elektryków Polskich (w 2006 r.), Złotym Medalem za Długoletnią Służbę (w 2012 r.) oraz Medalem 60-lecia Politechniki Białostockiej (w 2009 r.). Za wybitne osiągnięcia naukowe został trzykrotnie nagrodzony przez Ministra Nauki, Szkolnictwa Wyższego i Techniki (Ministra Edukacji Narodowej): w 1982 r., 1989 r. oraz w 2001 r. Był również wielokrotnie wyróżniany nagrodami JM Rektora Politechniki Białostockiej za wybitne osiągnięcia w działalności naukowej, dydaktycznej i organizacyjnej. W uznaniu dorobku naukowego, dydaktycznego i organizacyjnego Mikołaja Busłowicza, Senat Politechniki Białostockiej w uchwale nr 338XXIV/XIV/2014, podjętej dnia 2 października 2014 r., wyraził pozytywną opinię w sprawie przyznania Mu tytułu Honorowego Profesora Politechniki Białostockiej. W osobie prof. dr hab. inż. Mikołaja Busłowicza środowisko akademickie straciło cenionego i szanowanego naukowca, który wniósł znaczący wkład w rozwój współczesnej automatyki i teorii sterowania. Jego pracowitość, uczciwość, poczucie obowiązku i rzetelność naukowa sprawiały, że był powszechnie lubiany i ceniony, a środowisko naukowe powierzało Mu liczne funkcje i zaszczytne obowiązki. Jednocześnie Mikołaj Busłowicz był człowiekiem nadzwyczaj skromnym, serdecznym i życzliwym, który wzbudzał powszechną sympatię i szacunek wśród współpracowników, podwładnych i studentów. Swe zdolności i pracowitość całkowicie poświęcał działaniom dla dobra nauki, pracy na rzecz uczelni oraz wychowaniu studentów i młodych pracowników nauki. Posiadał ogromne doświadczenie i wiedzę, którą wykorzystywał w celu inspiracji współpracowników i studentów do twórczego działania. Śmierć Profesora Mikołaja Busłowicza, który odszedł w pełni sił twórczych, pozostawiła bolesną, trudną do wypełnienia pustkę. Jest ogromą stratą dla środowiska naukowego automatyków polskich. Pozostanie On w naszej pamięci jako skromny, szlachetny człowiek, którego życie zawodowe może stanowić wzór dla wszystkich nauczycieli akademickich.
Profesor Mikołaj Busłowicz kierował na Wydziale Elektrycznym kształceniem studentów specjalności Automatyka i Technika Mikroprocesorowa; był głównym autorem programu kształcenia na tej specjalności. Aktywnie uczestniczył w tworzeniu, modernizowaniu i aktualizowaniu programów kształcenia inżynierskiego, magisterskiego oraz doktorskiego na Wydziale Elektrycznym PB, opracowując liczne autorskie programy zajęć dydaktycznych. Wielokrotnie przewodniczył Komisjom Doktorskim Rady WE oraz komisjom egzaminacyjnym ds. przeprowadzenia egzaminów doktorskich; był również członkiem zespołów powoływanych przez Radę WE PB do przeprowadzania przewidzianych ustawowo czynności w postępowaniach o nadanie tytułu profesora i doktora habilitowanego. Profesor Busłowicz pełnił również dwukrotnie zaszczytną funkcję promotora w postępowaniach o nadanie tytułu doktora honoris causa Politechniki Białostockiej. Sprawował też liczne funkcje w organizacjach i stowarzyszeniach naukowych i zawodowych. W 2012 r. został członkiem zwyczajnym Akademii Inżynierskiej w Polsce, był także wielokrotnie wybierany na członka Komitetu Automatyki i Robotyki PAN (w kolejnych kadencjach: 2003–2006, 2007– 2010, 2011–2013, 2014–2016). Od 1997 r. był członkiem Zespołu Teorii Sterowania KAiR PAN, a w 2011 r. został członkiem Panelu Ekspertów Narodowego Centrum Nauki. W latach 1995–1997 był członkiem Sekcji T-11A Komitetu Badań Naukowych, a w latach 1998–2002 członkiem Centralnej Komisji Szkolnictwa Elektrycznego SEP. Profesor M. Busłowicz należał do Stowarzyszenia Elektryków Polskich (od 1972 r.), Polskiego Towarzystwa Elektrotechniki Teoretycznej i Stosowanej (od 1996 r., pełniąc w latach 2005–2013 funkcję wiceprzewodniczącego Białostockiego Oddziału PTETiS), Polskiego Stowarzyszenia Pomiarów Automatyki i Robotyki POLSPAR (od 2007 r.), Polskiego Towarzystwa Matematycznego oraz American Mathematical Society (w latach 1986–1990). W latach 2003– 2006 Mikołaj Busłowicz był członkiem Komitetu Redakcyjnego czasopisma International Journal of Applied Mathematics and Computer Science. Od 2003 r. był członkiem Rady Programowej czasopisma Pomiary Automatyka Kontrola, a od 2011 r. członkiem Komitetu Redakcyjnego serii wydawniczej Monografie Komitetu Automatyki i Robotyki PAN. Był również redaktorem naukowym wydawanego w Politechnice Białostockiej czasopisma Acta Mechanica et Automatica. Profesor Busłowicz był członkiem komitetów naukowych lub programowych wielu cyklicznych konferencji międzynarodowych i krajowych, m.in.: Konferencji Naukowo-Technicznej AUTOMATION (od 2006 r.), Krajowej Konferencji Automatyki (w latach: 2005, 2008, 2011, 2014), seminarium Rachunek Różniczkowy Niecałkowitego Rzędu i Jego Zastosowania (od 2009 r., w 2011 r. pełniąc funkcję przewodniczącego komitetu organizacyjnego tej konY
•
A
U
T
O
M
A
T
Y
K
A
•
R
prof. Mirosław Świercz prof. Tadeusz Kaczorek O
B
O
T
Y
K
A
N R 1 / 20 1 5
Pomiary Automatyka Robotyka, R. 19, Nr 1/2015
Kalendarium wybranych imprez Nazwa konferencji
Data
Miejsce
Informacje dodatkowe
Mechatronics: Ideas for Industrial Applications
11–13 / 05 2015
Gdańsk Polska
www: http://icm-iia.eu mail: conference@icm-iia.eu
13th IFAC/IEEE Conference on Programmable Devices and Embedded Systems PDES 2015
13–15 / 05 2015
Kraków Polska
www: http://pdes.polsl.pl/ mail: pdes@polsl.pl
8th IFAC Symposium on Robust Control Design ROCOND 2015
8–11 / 07 2015
Bratysława Słowacja
12th INSTICC Conference on Informatics in Control, Automation and Robotics ICINCO 2015
21–23 / 07 2015
Colmar Alzacja, Francja
20th International Conference on Methods and Models in Automation and Robotics MMAR 2015
24–27 / 08 2015
Międzyzdroje Polska
XXI IMEKO World Congress Metrology for Green Growth
30 / 08 – 4/ 09 2015
Praga Czechy
www: http://imeko2015.org/ mail: haasz@fel.cvut.cz
9th IFAC Symposium on Fault Detection, Supervision and Safety of Technical Processes SAFEPROCESS 2015
2–4 / 09 2015
Paryż Francja
www: http://safeprocess15.sciencesconf.org/ mail: contact@safeprocess2015.fr
12th International Conference on Diagnostics of Processes and Systems
6–9 / 09 2015
Ustka Polska
www: www.konsulting.gda.pl/dps2015/web/ mail: dps2015@konsulting.gda.pl
5th IFAC Conference on Nonlinear Model Predictive Control NMPC 2015
17–20 / 09 2015
Sewilla Hiszpania
www: http://disa.us.es/nmpc15/ mail: dlm@us.es
11th International Conference Mechatronics 2015
21–23 / 09 2015
Warszawa Polska
www: http://mechatronics2015.com/ mail: mech2015@mchtr.pw.edu.pl
XX Międzynarodowe Seminarium Metrologów MSM 2015
21–24 / 09 2015
Rzeszów, Iwonicz Zdrój Polska
IEEE/RSJ International Conference on Intelligent Robots and Systems
28 / 09 – 3 / 10 2015
Hamburg Niemcy
www: www.iros2015.org/ mail: info@iros2015.org
1st IFAC Workshop on Linear Parameter Varying systems LPVS 2015
7–9 / 10 2015
Grenoble Francja
www: www.gipsa-lab.fr/LPVS2015/ mail: sssc2013@gipsa-lab.grenoble-inp.fr
www: www.rocond15.sk mail: info@rocond15.sk
www: ww.icinco.org/ mail: icinco.secretariat@insticc.org
www: www.mmar.edu.pl/
www: http://msm15.prz.edu.pl/ mail: kmisd@prz.edu.pl
97
KONFERENCJE | RELACJA
Rachunek Różniczkowy Niecałkowitego Rzędu i Jego Zastosowania Konferencja Rachunek Różniczkowy Niecałkowitego Rzędu i Jego Zastosowania jest szóstą edycją konferencji organizowanej cyklicznie w różnych ośrodkach naukowych w kraju przez zespoły, W dniach 11–12 września 2014 r. które zajmują się zagadnieniami związanymi z rachunkiem różodbyła się międzynarodowa niczkowym i różnicowym niecałkonferencja Rachunek kowitego rzędu. Poprzednie Różniczkowy Niecałkowitego edycje konferencji organizowane były przez Politechnikę Łódzką Rzędu i Jego Zastosowania (2009 r.), Politechnikę Częstochowską (2010 r.), Politechnikę – RRNR 2014 (VI International Białostocką (2011 r.), Politechnikę Conference on Non-integer Warszawską (2012 r.) oraz AkaOrder. Calculus and Its demię Górniczo-Hutniczą w Krakowie (2013 r.). Zgodnie z tradycją Applications). Organizatorem patronat nad szóstą edycją konkonferencji był Wydział ferencji piastował Komitet AutoElektrotechniki, Automatyki matyki i Robotyki Polskiej Akademii Nauk oraz (ze względu i Informatyki Politechniki na miejsce organizacji konferenOpolskiej, a w szczególności cji) JM Rektor Politechniki OpolInstytut Automatyki skiej prof. dr hab. inż. Marek Tukiendorf. i Informatyki. Tematyka konferencji RRNR koncentruje się na analizie, syntezie i implementacji systemów dynamicznych opisanych równaniami różniczkowymi (lub różnicowymi) niecałkowitego rzędu. W szczególności zakres tematyczny obejmuje podstawy matematyczne układów niecałkowitego rzędu, zarówno układów ciągłych w czasie jak i dyskretnych, ich stabilność, sterowalność i obserwowalność, identyfikację, sterowanie układami niecałkowitego rzędu oraz zastosowania. Łącznie w konferencji wzięło udział ponad 50 specjalistów z obszarów nauk obejmujących automatykę i robotykę, elektrotechnikę, matematykę i fizykę. Wygłoszono łącznie 33 referaty. Przewodniczącym komitetu naukowego był prof. dr hab. inż. Tadeusz Kaczorek z Politechniki Białostockiej, natomiast przewodniczącym komitetu organizacyjnego prof. dr hab. inż. Krzysztof J. Latawiec z Politechniki Opolskiej. Sponsorem generalnym konferencji była Cementownia Odra SA. Materiały konferencyjne zostały wydrukowane nakładem wydawnictwa
98
P
O
M
I
A
R
Y
•
A
U
T
O
M
A
T
Y
Springer w ramach serii Lecture Notes in Electrical Engineering (Krzysztof Latawiec, Marian Łukaniszyn, Rafał Stanisławski, red.; Advances in Modeling and Control of Non-integer Order Systems, Lecture Notes in Electrical Engineering, vol. 320, 2015). Kolejna, siódma edycja konferencji zostanie zorganizowana w dniach 28–29 sierpnia 2015 r. przez Wydział Elektryczny Zachodniopomorskiego Uniwersytetu Technologicznego w Szczecinie. Oficjalna strona konferencji RRNR 2014: http://rrnr.po.opole.pl/index.php/pl/.
dr hab. inż. Rafał Stanisławski Politechnika Opolska K
A
•
R
O
B
O
T
Y
K
A
N R 1 / 20 1 5
KONFERENCJE | RELACJA
7th IEEE Intelligent Systems IS ’14 Po sukcesie poprzednich edycji konferencji IS ’02, IS ’04, IS ’08 (zorganizowanych w Warnie, Bułgaria), IS ’06 i IS ’10 (zorganizowanych w Londynie, Wielka Brytania) oraz IS ’12 (Sofia, Bułgaria), zaszczyt zorganizowania i utrzymania wysokiego poziomu przypadł ośrodkom naukowym z Polski. Tym razem konferencję IEEE Systems 2014 zorganizował Instytut Badań Systemowych PAN przy współpracy Wydziału IV Nauk Technicznych PAN, Polskiego Towarzystwa Badań OpeIS ’14 jest organizowaną racyjnych i Systemowych oraz co dwa lata międzynarodową Przemysłowego Instytutu Autokonferencją naukową, którą matyki i Pomiarów PIAP. Konferencja stanowi przede w 2014 r. technicznie wspierały: wszystkim forum dla prezentacji IEEE SMCS, IEEE CIS, Polish najnowszych wyników i nowych Chapter of IEEE, Polish Section idei w zakresie teorii, projektowania i zastosowania szeroko of CIS IEEE, Polish Operational rozumianych systemów inteliand Systems Research Society, gentnych. Szczególne zainterePolish Neural Network Society sowanie dotyczy nowoczesnych metod i narzędzi sztucznej intei Polish Association of Artificial ligencji, inteligencji obliczeniowej Intelligence. (logika rozmyte, zbiory przybliżone, obliczenia ewolucyjne, sztuczne sieci neuronowe, inteligencja rojowa itp.), modelowanie niepewności, niestandardowych logik, analizy danych, eksploracji danych i odkrywania wiedzy, uczenia maszynowego, agregacji i fuzji informacji, przetwarzania informacji multimedialnej, systemów wieloagentowych, ontologii dla systemów inteligentnych, „big data” itd. Główne obszary zastosowań bejmują między innymi: bioinformatykę, biznes i finanse, inteligentne systemy wspomagania decyzji, systemy zarządzania bazami danych, e-learning, e-administrację, inżynierię środowiska, ochronę zdrowia, bezpieczeństwo, urządzenia pomiarowe, automatykę, robotykę mobilną, systemy wytwarzania, logistykę, systemy energetyczne, telekomunikację, infrastrukturę, transport itd. Konferencja IS ’14 odbyła się w stołecznym hotelu Gromada Centrum w dniach 24–26 września 2014 r. Uświetnili ją swoją obecnością m.in. Prezes Polskiej Akademii Nauk Michał Kleiber, podsekretarz stanu w randze wiceministra Ministerstwa Nauki i Szkolnictwa Wyższego Włodzisław Duch, jak również inni badacze światowej sławy: Ronald Yager, Laszlo Koczy, Oscar Castillo oraz Plamen Angelov i in. W konferencji wzięło udział 150 naukowców z całego świata, w tym wielu wybitnych w swoich dziedzinach.
Wygłoszone referaty zostały zamieszczone w materiałach konferencyjnych opublikowanych przez wydawnictwo Springer w serii Advances in Intelligent Systems and Computing, które zostały zgłoszone do indeksowania przez Thomson Reuters Conference Proceedings Citation Index i Elsevier’s EI Compendex, i są dostępne w IEEE Explore. Ponadto, Autorzy wybranych referatów zostali zaproszeni do przygotowania rozszerzonych wersji, które zostaną opublikowane w znanych czasopismach, takich jak Control and Cybernetics, Journal of Automation, Mobile Robotics and Intelligent Systems, Intelligent and Complex Systems itp. Planowane jest również opublikowanie przez wydawnictwo Springer prac zbiorowych poświęconych wybranym nowym kierunkom i tematom badań, które spotkały się ze szczególnym zainteresowaniem w trakcie konferencji. Oficjalna strona konferencji IS ’14: http://ieee-is-2014.ibspan.waw.pl/.
Prof. Janusz Kacprzyk Członek rzeczywisty PAN, Fellow of IEEE, ECCAI
99
KONFERENCJE | ZAPOWIEDŹ
MECHATRONICS: Ideas for Industrial Applications
Pierwsza konferencja, zorganizowana przez Przemysłowy Instytut Automatyki i Pomiarów PIAP oraz Katedrę Automatyki, Biomechaniki i Mechatroniki Politechniki Łódzkiej, odbyła się w Warszawie w 2012 r. Dwa lata później (2014 r.) konferencję w Łodzi zorganizował ten sam tandem – Katedra Automatyki, Biomechaniki i Mechatroniki Politechniki Łódzkiej, kierowana przez prof. Jana Awrejcewicza oraz Przemysłowy Instytut Automatyki i Pomiarów PIAP. Podczas tych konferencji wygłoszono odpowiednio 45 i 49 W dniach 11–13 maja referatów. Trzecia konferencja jest organizowana przez Wydział 2015 r. odbędzie się Mechaniczny Politechniki Gdańw Gdańsku trzecia edycja skiej. Honorowym patronatem międzynarodowej konferencji objął konferencję JM Rektor Politechniki Gdańskiej – prof. dr hab. MECHATRONICS: Ideas inż. Henryk Krawczyk. Funkcję for Industrial Applications. przewodniczącego Komitetu Organizatorem konferencji Organizacyjnego pełni prof. Krzysztof J. Kaliński, natomiast jest Wydział Mechaniczny przewodniczącym Komitetu Politechniki Gdańskiej, rolę Naukowego jest prof. dr hab. inż. współorganizatora pełni Jan Awrejcewicz – wiceprezes Polskiego Towarzystwa BiomePrzemysłowy Instytut chanicznego. Automatyki i Pomiarów PIAP. Mechatronika jest jedną z najbardziej dynamicznie rozwijających się dziedzin nauki i techniki. Stanowi połączenie inżynierii mechanicznej, elektrycznej, komputerowej, automatyki i robotyki, służąc projektowaniu i wytwarzaniu nowoczesnych urządzeń. Mechatronika jest „synergiczną kombinacją mechaniki precyzyjnej, elektronicznego sterowania i systemowego myślenia przy projektowaniu produktów i procesów produkcyjnych”. Wśród tematów konferencji należy wymienić projektowanie i modelowanie, zaawansowane systemy produkcyjne (w tym zastosowania mechatroniki w przemyśle motoryzacyjnym i w energetyce), sterowanie inteligentne, integrację systemów, robotykę i platformy mobilne,
100
P
O
M
I
A
R
Y
•
A
U
T
O
M
A
T
Y
pojazdy bezzałogowe, mikromechatronikę, wibroakustykę oraz systemy kontroli hałasu, diagnostykę i wykrywanie usterek, systemy HMI oraz edukację w mechatronice. Konferencję uświetnią wykłady naukowców o znaczącym, światowym dorobku. Zapraszamy do prezentowania nowoczesnych konstrukcji, nowatorskich metod i algorytmów, a także wymiany doświadczeń i twórczej dyskusji. Językiem konferencji będzie język angielski. Zgłoszone artykuły po pozytywnej recenzji zostaną opublikowane w jednym z czasopism punktowanych, wskazanym przez Komitet Naukowy: – Acta Mechanica et Automatica, – Pomiary Automatyka Robotyka, – Journal of Automation Mobile Robotics and Intelligent Systems, – International Journal of Simulation and Process Modelling, – International Journal of Simulation Modelling, – Journal of Mechanical Engineering Science, – IFAC Mechatronics, Special Issue. Szczegółowe informacje, formularz rejestracyjny oraz platforma do przesyłania artykułów znajdują się na stronie internetowej konferencji http://icm-iia.eu. Na zgłoszenia czekamy do 15 marca 2015 r.
Sekretariat konferencji ICM-IIA tel. (+48) 58 347 29 29 e-mail: conference@icm-iia.eu www.icm-iia.eu
K
A
•
R
O
B
O
T
Y
K
A
N R 1 / 20 1 5
PROJEKTY | STAŻE
Wirus innowacji. Lider opinii i dobrych praktyk we współpracy nauki i biznesu, czyli o Stowarzyszeniu Top 500 Innovators Na przełomie lat 70. i 80. XX wieku, w samej tylko Polsce, na świat przyszło około 7 milionów dzieci. Oprócz tego, że była to kolejna fala powojennego „baby boom”, był to również przejaw znaczącego optymizmu, energii i radości, które towarzyszyły, a wręcz cechowały rodziców. Wychowanie i wartości, jakie większość z tych dzieci wyniosła z domu, pozwalały im na aktywny rozwój i pozytywny odbiór, przecież wcale nie takiej wesołej, ówczesnej rzeczywistości. To właśnie przedstawiciele tego pokolenia zaczęli uczyć się języka angielskiego, niemieckiego czy francuskiego, to właśnie dla nich otworzyły się granice, ich dotyczyły transformacje ustrojowe i ekonomiczne. Rodzice wozili ich starymi maluchami na dodatkowe zajęcia językowe, stawali na rzęsach by kupić antenę satelitarną, a już szczytem luksusu było używanie oddzwanianego połączenia modemowego. Mogli oglądać telewizję satelitarną, mieli dostęp do Internetu, mogli również wyjeżdżać i podglądać zachodnią cywilizację, świat, kulturę i ludzi. Korzystali z europejskich i amerykańskich doświadczeń, kształtowali swoją osobowość. Wyjazdy i oderwanie się od wszechobecnego szarego realizmu rozpoczęły proces ewolucji ich sposobu myślenia, wywarły na nich istotny wpływ. Dzięki ciągłym zmianom, wzniosłym chwilom i poczuciu wpływu na bieg wydarzeń, ale mimo wielu przeciwności i ogromu niebezpieczeństw, jakie czyhały, przeszli ten okres bardzo szczęśliwie. Tworzyły się bardzo ciekawe życiorysy, a Polska zmieniała się nie do poznania. Wpisując się w cykl trwających reform, w 2011 r. zorganizowano w Polsce – w średniej wielkości kraju europejskim – „niebagatelny” program stażowo-szkoleniowy – Top 500
Zobacz więcej Pobierz bezpłatną aplikację PAR+ App Store | Google Play
Top 500 Innovators to 9-tygodniowy program stażowo-szkoleniowy na najlepszych uczelniach świata z rankingu szanghajskiego, m.in. Stanford University, University of California w Berkeley i University of Cambridge. Poznajmy wrażenia uczestników tego projektu.
Innovators. Program bezpośrednio skierowany w dużej mierze właśnie do przedstawicieli wspomnianego „baby boom”. „Niebagatelny” Top 500 Innovators – bo jak do tej pory największy w historii Polski, a można się pokusić, że także największy tego typu w Europie. Program szkoleniowy – bo jednym z jego głównych celów jest ukończenie Programu Rozwoju Zawodowego Nauka, Zarządzanie i Komercjalizacja na jednej z najlepszych uczelni świata (m.in. Stanford University, University of California w Berkeley lub University of Cambridge). Ministerstwo Nauki i Szkolnictwa Wyższego jako organizator całego przedsięwzięcia postawiło sobie za cel podniesienie kwalifikacji polskich kadr sfery badawczo-rozwojowej, zwłaszcza w zakresie współpracy z gospodarką, zarządzania badaniami naukowymi oraz komercjalizacji wyników tych
badań. Istotna dla Ministerstwa jest zdecydowana poprawa transferu technologii i wyników prac badawczych bezpośrednio do gospodarki oraz lepsze, bardziej efektywne wykorzystanie środków przeznaczanych na badania naukowe. To świetny pomysł na szybkie i skuteczne podniesienie kwalifikacji przyszłych elit naukowych kraju. Bardzo cennym efektem programu jest promowanie wartości networkingu. Umożliwia to utworzenie sieci współpracy, na początek w obrębie kraju, a następnie wymianę również kontaktów międzynarodowych. Można zauważyć w ostatnim okresie, że rośnie świadomość kadr zarządzających polską nauką i wiedza o samym programie oraz o możliwościach, jakie niesie ze sobą potencjał wykorzystania doświadczeń i wiedzy jego absolwentów. Strategia rozwoju polskiej nauki w wyniku programu Top500 Innovators może przynieść zdecydowany, szybki i silny efekt pozytywny jedynie w przypadku identyfikowania się z tą strategią poszczególnych podmiotów. Celując w poprawę jakości i skuteczności polskiej nauki Ministerstwo określiło grupy docelowe mogące wziąć udział w programie Top 500 Innovators: — pracownicy naukowi lub badawczy polskich jednostek naukowych z tytułem zawodowym co najmniej magistra, którzy prowadzą badania w obszarze nauk ścisłych, przyrodniczych, technicznych, rolniczych, leśnych, weterynaryjnych, medycznych, nauk o zdrowiu lub nauk o kulturze fizycznej; — pracownicy centrów transferu technologii zajmujący się komercjalizacją wyników badań w ramach wymienionych dziedzin nauki. Do 2015 r. na szkolenia zagraniczne wyjedzie łącznie 500 osób, do końca 2014 r. wyjechało już 320 osób. W rekrutacji w 2015 r. zostanie wybranych pozostałych 180 uczestników projektu, którzy wyjadą w grupach do wybranych uczelni i firm. Szkolenia i staże trwają 9 tygodni, a ich tematyka jest zwią-
101
PROJEKTY | STAŻE powodowali o prowadzący, treści zajęć, a może sposób ich przekazywania, trudno stwierdzić. Dodatkowo jeden tydzień pobytu był przeznaczony na dowolne rozwijanie, nawiązywanie i podtrzymywanie kontaktów biznesowych i naukowych. Był wówczas czas na poznanie Stanów Zjednoczonych z mniej formalnej strony – zobaczenie Los Angeles, San Francisco czy Las Vegas, przepięknych parków krajobrazowych Yosemite, Sequoia National Park, Kings Canyon National Park, Wielkiego Kanionu, Doliny Śmierci, czy też słynnych amerykańskich opuszczonych miasteczek górniczych. Tak więc tydzień wolnego, tydzień razem w samochodzie, trudno o lepszy sposób na dokładne poznanie ludzi. Kalifornia, oprócz niewątpliwie urokliwych krajobrazów i znakomitego wina, ma również do zaoferowania atrakcje turystyczne o charakterze edukacyjnym. Świetnym tego przykładem jest założone w San Francisco już w 1969 r. przez Franka Oppenheimera Exploratorium (Manhattan Project). Exploratorium, czyli muzeum nauki i techniki, było pierwowzorem współczesnych dobrze znanych w Europie muzeów nauki. Miało na celu zmianę sposobu uczenia na świecie w stronę bardziej praktyczną i opartą na doświadczeniu i projekcie. Wśród wielu eksponatów, standów i instalacji, jako rdzennego mechanika zainteresowała mnie szczególnie „maszyna z betonem” (Machine with Concrete). Pomysłodawca – również artysta, Arthur Ganson wymyślił taki mechanizm przekładniowy, którego ostatnie koło zębate zrobi pierwszy pełny obrót za 2 biliony lat. Mechanizm porusza się nieprzerwanie, nawet mimo tego, że ostatnie koło jest zalane w betonie i nie może się obracać. Jak stwierdził Ganson: „Intensywne działanie z jednej strony, a całkowity bezruch z drugiej, to dualizm, który odczuwam w swoim istnieniu”. Ostatnią, ale bardzo ważną część programu stanowiły staże, podczas których uczestnicy programu mogli poznać metody zarządzania badaniami oraz pracą zespołów badawczych w poszczególnych firmach (np. NASA, VAIL, OTL itd.), zarządzaniem zespołem, współpracą między profesorem a doktorantami oraz procedurami, kulturą pracy, komercjalizacją wyników badań i ochroną własności intelektualnej. W moim przypadku staż realizowany był w Volkswagen Automotive Innovation Lab, gdzie znalazłem się w zespole prowadzącym badania mające na celu utworzenie autonomicznego samochodu sterowanego metodą steering by wire. Uczestniczyłem w próbach prędkości samochodu Audi TTS jeżdżącego bez kierowcy (autonomicznego – samojezdnego) na torze Thunderhill Raceway w Willows, spotkaniach zespołu badawczego, wykładach profesora Chrisa Gerdesa, seminarium doktoranckim itp. Całość przedsięwzięcia, jakim jest program Top 500 Innovators byłaby niezwykle trudna do realizacji, gdyby nie nieustanne
Calico Ghost Town - opuszczone przez mieszkańców miasto Calico
zana ze współpracą nauki z gospodarką, zarządzaniem oraz transferem technologii. Ministerstwo finansuje koszty szkoleń, przelotu, zakwaterowania, wyżywienia, podstawowego ubezpieczenia, a nawet koszt wizy. Uczestnicy otrzymują również zryczałtowane diety wyjazdowe na dodatkowe koszty utrzymania podczas wyjazdu. W trakcie trwania programu można przyjrzeć się działaniu zagranicznych firm, w których istotną rolę odgrywa komercjalizacja wyników badań, wziąć udział w spotkaniach z przedsiębiorcami i przedstawicielami Venture Capital, a także zweryfikować lub rozwinąć swoje pomysły na przedmiot i sposób prowadzenia badań naukowych. Trzecia edycja programu Top 500 Innovators, której byłem uczestnikiem była realizowana na Stanford University przez Stanford Center for Professional Development. Program podzielono na kilka podstawowych części, wśród których wyróżniono: Innovation – szkolenia dotyczące innowacji, przedstawienia metod wdrażania od pomysłu począwszy, a na firmie technologicznej skończywszy. Zajęcia obejmowały prototypowanie, testy, próby oraz modyfika-
cje strategii. W module tym szczególną uwagę zwracano na kreatywność oraz budowanie zespołów roboczych. Entrepreneurship – szkolenia dotyczące przedsiębiorczości, sposobu zakładania i prowadzenia startupów, budowania strategii biznesu oraz modeli biznesowych, oceny rynku i kanałów dystrybucji. Execution and Leadership – cykl szkoleń dotyczących wdrażania opracowanych strategii, szybkiej trasformacji biznesu, realizacji strategii oraz struktury organizacji. Intelectual Property – moduł zajęć dotyczących patentowania i licencjonowania, zarządzania własnością intelektualną oraz podnoszenia wartości i ochrony tej własności. Stanford Research and Management – cykl wykładów dotyczących struktury uniwersytetu w Stanach Zjednoczonych Ameryki, roli kierownika i dyrektora jednostki badawczej, budowania struktur absolwentów. Wizyty studyjne, m.in. w Exponent, NASA, Volkswagen Automotive Innovation Lab, Google, VSee, YouNoodle, IDEO, Institute for the Future, CARS, Plug and Play, Polycom, D.school. Podczas zajęć szkoleniowych uczestnicy mieli do wykonania projekty cząstkowe na zaliczenie poszczególnych zagadnień. Projekty były realizowane w grupach o różnym składzie i liczebności. Zajęcia zaczynały się wczesnym ranem, wyjazdem na kampus Uniwersytetu Stanforda, a kończyły wieczorem. Rzecz jasna powrót do miejsca zakwaterowania nie oznaczał bynajmniej końca pracy i studiowania. Wiele materiałów dydaktycznych przekazywano nam do samodzielnego zapoznania się w przerwach między kolejnymi dniami zajęć. Nawet ci, którzy ukończyli kursy szybkiego czytania, nie mogli z tego w pełni skorzystać. Rano większości wydawało się, że są zmęczeni i niewyspani, ale już na zajęciach zrywali się pełni energii i aktywności. Czy
Ekspozycja Exploratorium – słynny mechanizm Arthura Gansona
102
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
N R 1 / 20 1 5
PROJEKTY | STAŻE wsparcie współtwórcy programu prof. Piotra Moncarza, który koordynował całość prac po stronie Stanford, oraz pracowników Ministerstwa (dyrektora Andrzeja Kurkiewicza i Grzegorza Robaka z Departamentu Innowacji i Rozwoju) czuwających nad organizacją w kraju, Uli Furman i Carii Tomczykowskiej w Berkley, a także Zbigniewa Stańczyka. Wsparcie Ministerstwa nie kończy się oczywiście wraz z powrotem ze stażu, dodatkowo bowiem wspierane są różne inicjatywy i aktywności uczestników programu. Ostatnie dni w USA zdawały się zapowiadać nadchodzące zmiany. A po powrocie zmiany zaczęły się już na lotnisku, na jedną z uczestniczek czekał chłopak z ogromnym bukietem róż licząc, że zgodzi się zostać jego żoną (powiedziała TAAAK!), drugi uczestnik nie mógł z kolei poznać swojej już mocno zaokrąglonej, ciężarnej żony, a część po raz pierwszy doświadczała dokładnej kontroli bagażu.
warzyszenia dzielimy się naszymi doświadczeniami i wiedzą, kierujemy się wspólnymi wartościami i staramy się zarażać pasją innych. Więcej o wartościach, misji i wizji Stowarzyszenia Top 500 Innovators można odnaleźć na stronie: http://top500innovators.org/stowarzyszenie-top500/wizja-misja-wartości. W istniejącej strukturze lokalnej organizacji można odnaleźć koordynatorów regionalnych w tuzinie istotnych obszarów na naukowej mapie Polski (w kolejności alfabetycznej): Dolny i Górny Śląsk, Kujawy i Pomorze, Lubelskie, Łódzkie, Małopolska, Mazowsze, Podkarpackie, Podlaskie, Pomorze Zachodnie, Warmińsko-Mazurskie i Wielkopolska. Ten pierwszy łącznik regionalny ma pomóc w identyfikacji rozwiązywalnych problemów, rozwoju sieci kontaktów na styku biznesu i nauki oraz organizacji szkoleń i wydarzeń lokalnych z tej dziedziny. Wynikiem współpracy regionalnej jest zorganizowany (koordynowany przez Zarząd
Staż w VAIL i testy autonomicznego Audi TTS
Uczestnicy poszczególnych grup poznali się dość dobrze, nawiązały się liczne przyjaźnie, a zacieśnianie więzi i współpracy trwa nadal w powołanym Stowarzyszeniu Top 500 Innovators. To co najważniejsze jednak to uświadomiliśmy sobie, że Polacy potrafią współpracować, realizować projekty interdyscyplinarne i społeczne oraz być dla siebie wsparciem podtrzymując entuzjazm i nadzieję na lepsze jutro. Obecną Prezes Stowarzyszenia Top 500 Innovators jest prężnie działająca Katarzyna Walczyk-Matuszyk, która jest również Koordynatorem Innowacji w Krajowym Punkcie Kontaktowym Programów Badawczych Unii Europejskiej. Główne regiony działalności Stowarzyszenia są związane z interdyscyplinarną społecznością profesjonalistów, łączącą środowisko naukowe, akademickie i biznesowe. Wpływ na otaczającą rzeczywistość i wspólne zmienianie Polski, a także działania na rzecz ludzi i instytucji związanych z nauką oraz transferem technologii są realizowane w atmosferze wzajemnego szacunku i zaufania. Jako członkowie Sto-
Stowarzyszenia i Topowiczkę Joannę Pniewską) Design Thinking Week. Design Thinking, czyli myślenie projektowe, to metoda bardzo popularna w Stanach Zjednoczonych Ameryki (zwłaszcza w Dolinie Krzemowej), wykorzystywana do kreowania nowych produktów, tworzenia innowacyjnych rozwiązań, a także do rozwiązywania problemów technicznych i nie tylko. Stosują ją tacy giganci jak Google, Apple, czy jej współtwórcy z IDEO. Dzięki wspólnym wysiłkom członków Stowarzyszenia, sponsorów i instytucji wspierających w dniach 20–24 października 2014 r. zorganizowano cykl wykładów i warsztatów dotyczących myślenia projektowego. W sumie odbyło się 25 warsztatów, konferencje, wystawy i spotkania w 11 miastach Polski (Białystok, Bydgoszcz, Częstochowa, Gdańsk, Katowice, Kraków, Łódź, Poznań, Szczecin, Warszawa, Wrocław). O skali wydarzenia z pewnością świadczy liczba uczestników, która zdecydowanie przekroczyła 1000. O myśleniu projektowym powstało już całkiem sporo książek, instrukcji i opracowań, można z pewnością jeszcze wiele dodać, ale to już temat na zupełnie inne opracowanie.
Wydaje się, że dzisiaj społeczność naukowców ma już sporą wiedzę na temat samego programu. Stale rośnie wsparcie ze strony Ministerstwa, a atmosfera na każdej uczelni, związana z udziałem w programie, jest coraz lepsza. Bilans dwumiesięcznej nieobecności pracownika (w jednostce zatrudnienia) w porównaniu z doświadczeniem i wiedzą, jaką zdobywa w trakcie programu, jest zdecydowanie korzystny nie tylko dla samego pracownika, ale przede wszystkim dla uczelni, jej przyszłych i obecnych partnerów biznesowych. Dla uczestników programu to jednak coś więcej niż tylko wiedza i doświadczenie, to nawet więcej niż zasmakowanie przysłowiowego American Dream, to przede wszystkim zmiana paradygmatu, przyjaźń i nowe świeższe spojrzenie na potencjał Polski. Owszem, nie każdy może skorzystać z tego programu (niestety tylko pięciuset uczestników), ale za to każdy może skorzystać z wiedzy, doświadczenia i chęci pomocy tych, którzy z niego wrócili. Członkowie Stowarzyszenia Top 500 Innovators nauczyli się, że nie każda działalność od razu przynosi korzyści materialne oraz że praca, poświęcenie i zaangażowanie są kwestią kluczową w każdej dziedzinie życia. Pozyskawszy wiedzę od przedstawicieli światowej potęgi przemysłowej i naukowej, są naładowani pozytywną energią i gotowi pomagać w sprawach dotyczących szeroko rozumianych nauki i biznesu, a także usprawniać ich wzajemne relacje. Podejmują działania na własną rękę, są siłą opiniującą (m.in. konsultacje społeczne dla Prezydenta RP, wspólne projekty i konsultacje z MNiSW, NCBiR, NCN lub FNP), współpracują z partnerami biznesowymi i naukowymi, ale wciąż są otwarci na nowe wyzwania i propozycje współpracy. Jako Stowarzyszenie mamy nadzieję, że uda nam się dokonać pozytywnych zmian w polskiej nauce i biznesie, i że przysłowiowe rozkruszenie „betonu” (symbolicznie – przeszkód na drodze do sukcesu) nastąpi zdecydowanie szybciej niż obrót ostatniego koła w mechanizmie Gansona. Czytelników, chcących nawiązać współpracę ze Stowarzyszeniem Top 500 Innovators lub uzyskać więcej informacji na jego temat, zapraszam do kontaktu na adres kontakt@top500innovators.org bądź, jeśli taki sposób będzie wygodniejszy, bezpośrednio ze mną slawomir.zolkiewski@polsl.pl. Serdecznie zapraszam również do dzielenia się uwagami i komentarzami na temat tego artykułu. Oficjalna strona Stowarzyszenia: top500innovators.org.
dr inż. Sławomir Żółkiewski członek Rady Stowarzyszenia Top 500 Innovators Instytut Automatyzacji Procesów Technologicznych i Zintegrowanych Systemów Wytwarzania Politechnika Śląska
103
Pobierz bezpłatną aplikację PAR+ i odkryj trzeci wymiar papieru PAR+ to bezpłatna aplikacja mobilna na systemy iOS oraz Android, dzięki której Czytelnicy miesięcznika „Pomiary Automatyka Robotyka” uzyskują bezpośredni dostęp do dodatkowych treści powiązanych z wybranymi publikacjami. PAR jest pierwszym miesięcznikiem naukowo-technicznym w Polsce, który oferuje swoim odbiorcom to unikatowe rozwiązanie. Dzięki PAR+można jednym dotknięciem palca obejrzeć film lub animację powiązaną z artykułem, przejść na stronę internetową lub do galerii zdjęć z wydarzenia opisanego w relacji prasowej, przeczytać rozszerzoną wersję artykułu, przejrzeć i pobrać specyfikację produktu opisywanego w artykule, skomentować artykuł na Facebooku, i wiele, wiele więcej. Więcej informacji na par.pl/plus
Pobierz i uruchom bezpłatną aplikację PAR+
2
Skieruj kamerę telefonu lub tabletu na stronę artykułu oznaczonego ikoną PAR+
3
Na wyświetlaczu urządzenia pojawi się sześcian z logo PAR+ oraz przyciski prowadzące do dodatkowych treści
Zobacz więcej Pobierz bezpłatną aplikację PAR+ App Store | Google Play
VIDEO
1/2015
P O M I A RY • A U T O M AT Y K A • R O B O T Y K A
PAR kwartalnik naukowo-techniczny
ISSN 1427-9126 Indeks 339512
Cena 25,00 zł w tym 5% VAT
9 771427 91250 4
01
www.par.pl
W numerze:
43
Piotr Mróz, Sebastian Brol
49
Patryk Piotrowski. Tomasz Witkowski, Robert Piotrowski
57 65
System pomiarowy poślizgu względnego na hamowni podwoziowej
Bezzałogowa zdalnie sterowana jednostka latająca Izabela Kutschenreiter-Praszkiewicz
Planowanie procesu produkcyjnego wyrobu innowacyjnego
3 5
Od Redakcji Cezary Zieliński, Tomasz Kornuta
Programowe struktury ramowe do tworzenia sterowników robotów
15
Wojciech Kunikowski, Ernest Czerwiński, Paweł Olejnik, Jan Awrejcewicz
21
Piotr Tatjewski, Maciej Ławryńczuk, Piotr Marusak, Marian Rubin, Piotr Ziętek, Maciej Szumski, Michał Szumski
An Overview of ATmega AVR Microcontrollers Used in Scientific Research and Industrial Applications
Waldemar Szulc
Struktura niezawodnościowo-eksploatacyjna elektronicznego systemu bezpieczeństwa
71
Piotr Kardasz
77
Marian Wrzesień, Piotr Ryszawa
Algorytm redukcji szumów w nagraniach dźwiękowych wykorzystaniem podziału sygnału na składowe harmoniczne i stochastyczne
Wielotorowy system faksowania
29 37
Opracowanie i konstrukcja regulatora pompy ciepła typu powietrze-woda: modelowanie obiektu Marek Machaczek, Jan Sadecki
Analiza efektywności wybranych równoległych implementacji algorytmu Gaussa-Seidela Remigiusz Aksentowicz, Waldemar Uździcki
Pomiary parametrów pracy pneumatycznej instalacji odciągowej przy różnych wariantach sterowania
Ponadto: Od Redakcji – 3 | Informacje dla Autorów – 83 | International Federation of Automatic Control – struktura, misja i historia – 87 | Profesor Janusz Kacprzyk doktorem honoris causa – 91 | Awans naukowy – dr hab. inż. Rafał Stanisławski – 92 | Awans naukowy – dr hab. inż. Maciej Trojnacki – 94 | Kalendarium – 97 | Rachunek Różniczkowy Niecałkowitego Rzędu i Jego Zastosowania – 98 | 7th IEEE Intelligent Systems IS ’14 – 99 | MECHATRONICS: Ideas for Industrial Applications – 100 | Wirus innowacji. Lider opinii i dobrych praktyk w obszarze współpracy nauki i biznesu, czyli o Stowarzyszeniu Top 500 Innovators – 101