Praca dyplomowa inżynierska: Projekt systemu wizyjnego robota … · 2020-03-10 · może być...

53
Politechnika Poznańska Wydzial Informatyki i Zarządzania Katedra Inżynierii Komputerowej Praca dyplomowa inżynierska: Projekt systemu wizyjnego robota mobilnego Autorzy: Marcin Nowaczyk Jakub Psyk Grzegorz Pużyński Promotor: dr inż. Slawomir Stępień Poznań, 2007 r.

Transcript of Praca dyplomowa inżynierska: Projekt systemu wizyjnego robota … · 2020-03-10 · może być...

Page 1: Praca dyplomowa inżynierska: Projekt systemu wizyjnego robota … · 2020-03-10 · może być np.: sygnalizacja o położeniu elementów przedstawionych na obrazie, identyfikacja

Politechnika PoznańskaWydział Informatyki i ZarządzaniaKatedra Inżynierii Komputerowej

Praca dyplomowa inżynierska:Projekt systemu wizyjnego robota

mobilnego

Autorzy:

Marcin NowaczykJakub Psyk

Grzegorz Pużyński

Promotor:

dr inż. Sławomir Stępień

Poznań, 2007 r.

Page 2: Praca dyplomowa inżynierska: Projekt systemu wizyjnego robota … · 2020-03-10 · może być np.: sygnalizacja o położeniu elementów przedstawionych na obrazie, identyfikacja

Spis treści

1 Wstęp 2

2 Cel i zakres pracy 4

3 Przegląd aktualnych systemów wizyjnych oraz metod sterowaniarobotem mobilnym 63.1 Zastosowanie systemów wizyjnych . . . . . . . . . . . . . . . . . . 63.1.1 Zastosowanie w przemyśle produkcyjnym . . . . . . . . . . 63.1.2 Zastosowanie w siłach zbrojnych . . . . . . . . . . . . . . . 113.1.3 Zastosowanie z udziałem kognitywistyki . . . . . . . . . . . 11

3.2 Rozpoznawanie i akwizycja obrazów . . . . . . . . . . . . . . . . . 123.3 Aktualne konstrukcje robotów mobilnych . . . . . . . . . . . . . . 173.3.1 Miniaturowy Robot Inspekcyjny VIRTUS R2 . . . . . . . 173.3.2 Inne rozwiązania . . . . . . . . . . . . . . . . . . . . . . . 19

4 Budowa systemu wizyjnego 254.1 Modem radiowy firmy ARIES . . . . . . . . . . . . . . . . . . . . 274.2 Sterowanie Mobotem . . . . . . . . . . . . . . . . . . . . . . . . . 314.3 Kamera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334.4 Sterowanie kamerą . . . . . . . . . . . . . . . . . . . . . . . . . . 35

5 Oprogramowanie do sterowania Mobotem i akwizycji obrazu 405.1 Sterowanie robotem mobilnym przy użyciu modemu radiowego . . 415.2 Odczyt obrazu z kamery . . . . . . . . . . . . . . . . . . . . . . . 425.3 Zapis obrazu z kamery na dysku twardym . . . . . . . . . . . . . 44

6 Analiza systemu wizyjnego 466.1 Testy odległościowe . . . . . . . . . . . . . . . . . . . . . . . . . . 466.2 Częstotliwość generowanego sygnału zegarowego . . . . . . . . . . 48

7 Podsumowanie 49

Bibliografia 51

Page 3: Praca dyplomowa inżynierska: Projekt systemu wizyjnego robota … · 2020-03-10 · może być np.: sygnalizacja o położeniu elementów przedstawionych na obrazie, identyfikacja

Rozdział 1

Wstęp

Każdy właścicel fabryki, dyżurny zmiany, każdy kto jest odpowiedzialnyza nadzór nad pewnymi maszynami, ludźmi, bądź procesami produkcyjnymi,chciałby móc doglądać pracę kiedy tylko sobie zażyczy. Jednakże obserwacja do-wolnego obszaru w dowolnym momencie nie zawsze jest możliwa. Do niedawnanad wszystkim sprawował pieczę człowiek, a rejestracja poprawności działaniawszystkich stanowisk pracy wiązała się z dużymi kosztami w zatrudnieniu oso-bowym. Dodatkowo, w przypadku poważnej awarii, w grę wchodziło zagrożenieludzkiego zdrowia. Ponadto nikt nie jest nieomylny, a błędy człowieka czasamibywały katastrofalne w skutkach. Zastosowanie kamer do wizualizacji obszarówpracy pozwoliło rozwiązać większość powyższych problemów.Kiedy mówimy o systemie wizyjnym lub inteligentnym systemie wizyjnym, to

zazwyczaj mamy na myśli kamerę, zamontowaną na jakimś wysięgniku, ramieniulub platformie, która może obserwować procesy produkcyjne, kontrolować danyobszar, rejestrować pewne zjawiska. Ale jak jest zbudowany taki system i jakdziała?Inteligentny system wizyjny składa się przede wszystkim z czujnika wizyjnego

(kamery) oraz jednostki przetwarzającej i analizującej obraz (komputer, mikro-kontroler, specjalizowany układ). System ten obserwuje wybrany fragment oto-czenia i na podstawie zebranego obrazu generuje sygnał na wyjście. Sygnałem tymmoże być np.: sygnalizacja o położeniu elementów przedstawionych na obrazie,identyfikacja tych elementów oraz ich specyfikacja, odczyt informacji znajdującejsię w obrębie sceny wizyjnej. Odczytany sygnał (obraz) wyjściowy jest następniewykorzystywany do podejmowania decyzji przez system nadrzędny lub operatora[16, 17].Pozostaje do rozwiązania jeszcze jeden problem, a mianowicie jakim medium

przesyłać dane zebrane z kamery. Do niedawna uważano, że najrozsądniejszym,najbezpieczniejszym, zapewniającym najmniej błędów i stosunkowo najtańszymrozwiązaniem było zastosowanie połączenia przewodowego [10]. Jednakże roz-wiązanie to ma podstawową wadę – ograniczone możliwości mobilne. Gdy systemwizyjny jest montowany na elementach nieruchomych, to nie ma problemu, ale

Page 4: Praca dyplomowa inżynierska: Projekt systemu wizyjnego robota … · 2020-03-10 · może być np.: sygnalizacja o położeniu elementów przedstawionych na obrazie, identyfikacja

3

gdy chcemy obserwować przedmiot poruszający się, kabel jest nie lada kłopo-tem. Z pomocą przychodzą nam techniki komunikacji bezprzewodowej. Mimo,iż połączenie tego typu zwiększa ryzyko wystąpienia błędów w transmisji, toi tak możliwość dowolnego rozmieszczenia urządzeń obserwujących, brak zbędne-go okablowania oraz w wielu przypadkach niższy koszt instalacji, przemawia zakorzystaniem z tego typu rozwiązań. Najbardziej popularnymi obecnie metoda-mi komunikacji bezprzewodowej są: transmisja radiowa, bluetooth, podczerwień,wi-fi [10, 9]. Wśród nich najlepszym rozwiązaniem jest transmisja radiowa. Tylkood wi-fi ma ona trochę gorszy zasięg, ale poza tym jej zastosowanie jest dużołatwiejsze, bardziej rozpowszechnione, a koszt modernizacji i zakupu jest stosun-kowo niewielki. Dlatego też w niniejszej pracy wykorzystano tego typu mediumdo transmisji danych.

Page 5: Praca dyplomowa inżynierska: Projekt systemu wizyjnego robota … · 2020-03-10 · może być np.: sygnalizacja o położeniu elementów przedstawionych na obrazie, identyfikacja

Rozdział 2

Cel i zakres pracy

Podstawowym celem pracy była budowa systemu wizyjnego robota mobil-nego, czyli wyposażenie robota w kamerę umożliwiającą obserwację otoczenia,w jakim robot miałby się poruszać. Następnie należało zaprojektować systembezprzewodowego sterowania robotem oraz samą kamerą. Ostatnim krokiembyło napisanie aplikacji pozwalającej na wysyłanie odpowiednich komend dorobota i akwizycję obrazu z kamery do plików wideo oraz pojedynczych zrzutówekranowych.

Szczegółowy zakres pracy obejmował:

• wybór sposobu bezprzewodowego przesyłania instrukcji do robota

• wybór odpowiedniego modemu spośród urządzeń oferowanych na rynku

• dobór i zakup odpowiedniego silnika i sterownika do poruszania kamerą

• zaprojektowanie uniwersalnego generatora sygnału zegarowego potrzebnegodo sterowania silnikiem krokowym

• dobranie i zakup kamery o odpowiednich parametrach

• zaprogramowanie zakupionego modemu bezprzewodowego w celu dostoso-wania go do sterowania robotem mobilnym

• zaprogramowanie robota mobilnego do interpretacji rozkazów przysyłanychdo niego za pomocą modemu radiowego

• napisanie programu do mikrokontrolera AVR odpowiedzialnego za sterowa-nie kamerą umieszczoną na robocie

• stworzenie aplikacji do sterowania robotem i odbioru oraz akwizycji obrazuz kamery internetowej

Page 6: Praca dyplomowa inżynierska: Projekt systemu wizyjnego robota … · 2020-03-10 · może być np.: sygnalizacja o położeniu elementów przedstawionych na obrazie, identyfikacja

5

Podział pracy

Realizację pracy podzielono na siedem rozdziałów

Rozdział 3 zawiera przegląd aktualnych rozwiązań i zastosowań systemów wi-zyjnych. Zastosowań jest wiele, ale skupiono się na przykładach w przemyśleprodukcyjnym oraz siłach zbrojnych. Z rozdziału tego dowiedzieć się możnarównież o podstawowych operacjach na obrazach stosowanych podczas jegorozpoznawania i akwizycji. Na koniec przedstawiono przegląd aktualnympomysłów i rozwiązań budowy robotów mobilnych.

Rozdział 4 przedstawia informacje o wszystkich elementach wchodzącychw skład systemu wizyjnego. Zawarto w nim opis działania zarówno mo-demów radiowych jak i kamery oraz bezprzewodowe sterowanie Mobotemi obrotnicą kamery. Poza tym zostały opisane programy wgrane do mikro-kontrolerów AVR używane w opisywanym systemie.

Rozdział 5 opisuje sposób programowej realizacji przesyłania danych międzymodemem podłączonym do komputera, a modułem umieszczonym na robo-cie. Można w nim również znaleźć informacje na temat sposobu odbieraniai wyświetlania danych z odbiornika kamery bezprzewodowej. Wymienionesą w nim specjalne moduły oraz metody programistyczne wykorzystanew stworzonej aplikacji.

Rozdział 6 zawiera wyniki testów przeprowadzonych w laboratorium. Zostałopisany wpływ odległości na jakość obrazu z kamery oraz zasięg funkcjo-nowania bezprzewodowego modemu radiowego. Dodatkowo została podanafaktyczna, zmierzona częstotliwość generowanego sygnału zegarowego przezukład ATtiny2313.

W podsumowaniu można znaleźć krótki komenentarz na temat poprawnościzrealizowanych założeń projektowych a także końcowa ocena wykonanejpracy.

Page 7: Praca dyplomowa inżynierska: Projekt systemu wizyjnego robota … · 2020-03-10 · może być np.: sygnalizacja o położeniu elementów przedstawionych na obrazie, identyfikacja

Rozdział 3

Przegląd aktualnych systemówwizyjnych oraz metod sterowaniarobotem mobilnym

3.1 Zastosowanie systemów wizyjnych

Na rynku istnieje wiele zastosowań dla inteligentnych systemów wizyjnych,jednak najczęściej wykorzystywane są w przemyśle produkcyjnym oraz siłachzbrojnych.

3.1.1 Zastosowanie w przemyśle produkcyjnym

We współczesnych przedsiębiorstwach produkcyjnych bardzo duży nacisknakładany jest na jakość wytwarzanych produktów, przy jednoczesnym zwięk-szeniu ilości wytwarzanych dóbr. Zautomatyzowane systemy kontroli wizyjnejpozwalają na szybką i niezawodną inspekcję w procesach produkcyjnych.Cyfrowe przetwarzanie obrazów, stosowane jako zintegrowany element systemuobsługi produkcji przemysłowej, poprzez kontrolę każdego z elementów, pozwalana utrzymanie wysokiej jakości w całym procesie produkcji [16]. W procesachkontroli jakości arbitrem często jest człowiek. Jego doświadczenie i zdolnościpercepcyjne pozwalają na określenie poprawności sprawdzanych elementów.Jednak zdolności postrzegania człowieka są ograniczone i nie jest on w stanienadążyć z oceną szybko przemieszczających się elementów. Ręczny pomiarpoprawności ocenianych przedmiotów jest niedokładny, pobieżny i powolny,a zmęczenie i znużenie wykonywaniem powtarzalnych czynności mają wpływ nazawodność kontroli i obniżenie efektywności całego jej procesu.

Page 8: Praca dyplomowa inżynierska: Projekt systemu wizyjnego robota … · 2020-03-10 · może być np.: sygnalizacja o położeniu elementów przedstawionych na obrazie, identyfikacja

3.1 Zastosowanie systemów wizyjnych 7

Dlaczego warto stosować wizyjne systemy kontroli:

• umożliwiają pełną kontrolę procesu produkcji,

• pozwalają tworzyć dokumentację wyników kontroli,

• kontrolują obiekty w ruchu,

• są szybkie i bardziej niezawodne od człowieka.

Podstawą systemów wizyjnych są kamery cyfrowe CCD oraz oprogramowa-nie realizujące algorytmy przetwarzania obrazów. W procesach kontroli znajdujązastosowanie techniki porównywania obrazów, odczytywania kodów kreskowychczy automatycznego rozpoznawania kształtów i znaków alfanumerycznych (OCR)[11].

Rysunek 3.1: Przykładowe znaki/kody do rozpoznania. (Źródło: [7])

Po przeprowadzeniu analizy systemy podejmują decyzję o poprawności wy-konania badanego obiektu, przesyłając informację o tym do np.: wykonawczychsystemów automatyki, eliminujących braki. Kontrola może odbywać się z ogrom-ną prędkością, bez jakichkolwiek przerw. Stosując metody optycznej kontrolikażdego wytwarzanego elementu łatwiej utrzymać cały proces produkcyjnyw reżimie wysokich wymagań jakościowych.

Przykładowe dziedziny zastosowań

Kontrola jakości. Automatyczne systemy wizyjne są wykorzystywane w wie-lu dziedzinach przemysłu (motoryzacja, opakowania, farmacja, kosmetyki,elektronika, tworzywa sztuczne) do kontroli jakości produkowanych elemen-tów. Szczególnie przydatne są w produkcji wielkoseryjnej, taśmowej [16].Dzięki szybkości działania i niezawodności pozwalają na maksymalne wyko-rzystanie możliwości przerobowych nowoczesnych urządzeń produkcyjnych.

Page 9: Praca dyplomowa inżynierska: Projekt systemu wizyjnego robota … · 2020-03-10 · może być np.: sygnalizacja o położeniu elementów przedstawionych na obrazie, identyfikacja

3.1 Zastosowanie systemów wizyjnych 8

Rysunek 3.2: Przykładowe realizacje kontroli jakości (Źródło: [7])

Identyfikacja. Znakowanie, identyfikacja i śledzenie elementów na wszystkichetapach produkcji pozwala na monitorowanie i kontrolę całego procesu prze-mysłowego. Wydajny system śledzenia stwarza możliwości optymalizacjiprocesu wytwarzania. Inteligentne systemy wizyjne, dzięki możliwościomrozpoznawania kształtów, kodów jedno- i dwuwymiarowych oraz znakówalfanumerycznych, potrafią bezbłędnie identyfikować elementy w trudnychwarunkach przemysłowych i zbierać informacje o produkcji.

Procesy przemysłowe – sterowanie i wizualizacja. Analityczne systemywizyjne dają ogromne możliwości kontroli procesów przemysłowych.Przekazując krytyczne informacje o procesie produkcyjnym odpowiednimjednostkom automatyki – sterownikom i komputerom, kierują procesemprodukcji, eliminując na bieżąco błędy i wadliwe elementy. Informacje,rejestrowane przez systemy wizyjne, trafiają do systemów wizualizacji pro-cesów przemysłowych, które to systemy są ważnym elementem zarządzaniaprodukcją [15]. Rygorystyczne wymagania jakościowe wymuszają bezpo-średnią kontrolę wielu procesów. Bez zastosowania najnowocześniejszychrozwiązań i urządzeń pomiarowych oraz szybkiej akwizycji danych już naetapie produkcji skuteczny nadzór jest niemożliwy.

Systemy automatycznej kontroli wizyjnej w procesach produkcyjnych.Do systemów automatycznej kontroli wizyjnej w procesach produkcyjnychnależą:

• kontrola poprawności montażu,• wymiarowanie obiektów,• zliczanie, śledzenie i sortowanie,• ocena jakości powierzchni po obróbce,• ocena jakości materiałów transparentnych, np. szkła,• wykrywanie wad kształtu,• rozpoznawanie oznaczeń, np. OCR,• pozycjonowanie obiektów dla robotów przemysłowych,• pozyskiwanie danych ilościowych dla analiz.

Page 10: Praca dyplomowa inżynierska: Projekt systemu wizyjnego robota … · 2020-03-10 · może być np.: sygnalizacja o położeniu elementów przedstawionych na obrazie, identyfikacja

3.1 Zastosowanie systemów wizyjnych 9

Wybrane aplikacje

Kontrola produktów butelkowanych. Kontrola ma na celu wykrycie niepra-widłowego napełnienia i ocenę sposobu zamknięcia butelki kapslem. Zada-nie diagnostyczne wykonywane jest w trakcie produkcji o wydajności 600butelek na minutę i wymaga wydania werdyktu 10 razy w ciągu sekundy.Zatem czas niezbędny dla wykonania zadania wynosi 100 ms.

Kontrola poprawności pakowania. System kontroli weryfikuje sposób za-mknięcia opakowania - wszystkie klapy pudełka powinny być prawidłowodoklejone i zamknięte. Rozpoznanie niewłaściwego zamknięcia dokonywa-ne jest na podstawie badania jasności obrazu w zdefiniowanym obszarze.Narzędzia analizy są dobrane w taki sposób, aby, poza wykryciem błęduzamknięcia, można było zidentyfikować odchyloną klapę. Kamera przeka-zuje informacje, pozwalające na wprowadzenie poprawek w dalszej częściprocesu technologicznego.

Badanie powierzchni izolatorów. Na gwincie izolatorów mogą wystąpićubytki materiału lub zniekształcenia gwintu, eliminujące produkt. Jakośćgwintu oceniana jest przez narzędzia pomiarowe do pomiaru odległości po-między rowkami gwintu. Ubytki identyfikowane są przez narzędzia do bada-nia intensywności odbitego światła - powierzchnie z ubytkami rozpraszająświatło, co umożliwia określenie i eliminację wadliwego produktu.

Kontrola wykonania komputerowych płyt głównych

Sprawdzanie prawidłowego montażu komputerowych płyt głównych.Na płytach kontrolowane mogą być wszystkie elementy. Na podstawieinformacji o braku któregokolwiek elementu płyta kierowana jest do„poprawki”. Na tym samym obrazie dokonywane jest również sprawdzaniepoprawności oznaczeń naniesionych na elementy płyty.

Diagnostyka gwintów. Na obudowie skrzyni biegów kontrolowane są gwintyw otworach do mocowania. System ma za zadanie rozpoznać, czy w otwo-rach wykonane są gwinty, nie kontrolując ich stanu. Zadanie wykonuje jed-na kamera obserwując korpus skrzyni biegów oświetlony kilkoma źródła-mi światła. Oceniana jest intensywność światła w otworach. Powierzchniawewnętrzna otworu bez gwintu przy takim oświetleniu nie odbija światłai widoczna jest jako ciemny obszar. Ocena natężenia światła odbitego przezpowierzchnię gwintowaną jest podstawą do oceny prawidłowego wykonaniakorpusu.

Ocena jakości wykonania gwintów. W elemencie montowanym w systemachhamulcowych kontrolowana jest jakość gwintów. Warunkiem poprawnegowykonania gwintu jest wykonanie co najmniej czterech jego stopni. Element

Page 11: Praca dyplomowa inżynierska: Projekt systemu wizyjnego robota … · 2020-03-10 · może być np.: sygnalizacja o położeniu elementów przedstawionych na obrazie, identyfikacja

3.1 Zastosowanie systemów wizyjnych 10

jest obracany przed kamerą w taki sposób, aby możliwe było kontrolowaniekażdego z otworów. Stopnie gwintu zliczane są przez narzędzie pomiarowe,umożliwiające liczenie przejść pomiędzy jasnymi i ciemnymi elementamigwintu.

Kontrola dokładności wykonania elementów. Przy produkcji piast do kółsamochodów ciężarowych mogą występować błędy związane z wykonaniemnieprawidłowego odlewu oraz z błędnym wykonaniem otworów piasty. Dia-gnostyka prowadzona jest na linii produkcyjnej. Piasty oświetlane są w takisposób, aby otwory widoczne były w postaci ciemnych plam. Za pomocą od-powiednich narzędzi ciemne plamy są identyfikowane i odczytywane są ichpozycje, odpowiadające pozycjom otworów na kole piasty. Narzędzia pomia-rowe obliczają następnie odległości otworów względem osi piasty. Elementywykonane wadliwie usuwane są z linii produkcyjnej.

Robotyka

Współpraca systemu wizyjnego z robotem przemysłowym.Diagnostyka polega na zbadaniu kilkunastu parametrów silnika pro-dukowanego na tej linii. Robot ustawia kamerę nad kolejnymi elementamisilnika. Kamera na podstawie przygotowanego programu diagnostycznegoprzeprowadza inspekcję kolejnych elementów. Po wykonaniu zadaniaprzesyła ona informację do robota o gotowości do wykonania następnegozadania. Informacje i wyniki pomiarów oraz wyniki kontroli kolejnych ele-mentów przesyłane są do bazy danych w celu tworzenia historii produktu.Wykorzystując zaawansowane algorytmy, system przetwarzania obrazujest w stanie mierzyć wielkość i prędkość, zliczać oraz rozpoznawać obser-wowane obiekty szybciej, dokładniej i znacznie skuteczniej niż człowiek.Pozwala to na tworzenie aplikacji automatycznie kontrolujących procesybez konieczności ingerencji w obserwowane zjawiska [16].

Ograniczanie kosztów wytwarzania

Zastosowanie automatycznych systemów wizyjnych pozwala zwiększyć możli-wości produkcyjne nawet w najlepiej zorganizowanych przedsiębiorstwach. Roz-mieszczone na linii produkcyjnej punkty kontroli jakości umożliwiają eliminacjęwad w trakcie procesu produkcji, dając gwarancję wysokiej jakości produktówkońcowych. Dzięki temu można obniżyć jednostkowe koszty wytwarzania, zwięk-szając tym samym konkurencyjność firmy na rynku. Nakłady na systemy wizyjnena ogół zwracają się po niedługim czasie ich eksploatacji.

Page 12: Praca dyplomowa inżynierska: Projekt systemu wizyjnego robota … · 2020-03-10 · może być np.: sygnalizacja o położeniu elementów przedstawionych na obrazie, identyfikacja

3.1 Zastosowanie systemów wizyjnych 11

3.1.2 Zastosowanie w siłach zbrojnych

Amerykańska wykorzystuje różne roboty wojskowe m.in. w Iraku, Afganista-nie i Izraelu. Zadania jakie wykonują mają charakter defensywny. Przykładoworobot Talon firmy Foster-Miller i PackBot z konkurencyjnej firmy iRobot spe-cjalizują się w rozbrajaniu min. Te mobilne roboty kontrolowane przez operato-ra znajdującego się w opancerzonym pojeździe potrafią poruszać się z dużymiprędkościami i wykorzystywać manipulatory i chwytaki do umieszczania małychładunków wybuchowych w pobliżu min - ładunki te później są odpalane, przezco mina zostaje rozbrojona [1].Obecne wersje tych robotów są rozwijane tak, aby mogły wspierać żołnierzy

w przemieszczaniu się i ostrzeliwaniu wroga. iRobot zbudował prototyp wyposa-żony w broń palną.Robot Sword firmy Foster-Miller tym różni się od PackBota, że zamiast mani-

pulatora posiada urządzenie z zamocowanym karabinem maszynowym. Urządze-nie to jest przeznaczone do walk na obszarach miejskich i ochrony granic danegoterytorium i jest całkowicie kontrolowane przez żołnierza.Nie mniej jednak bardziej skomplikowane maszyny mogą wkrótce trafić na

deski kreślarskie inżynierów. Raport opublikowany przez przynależące do Penta-gonu biuro Office of Naval Research (ONR) mówi o tym, że w przyszłości będziezapotrzebowanie na roboty, które w pewnych sytuacjach będą samodzielnie po-dejmowały decyzje. Raport mówi o konstrukcjach robotów mobilnych, które sąw stanie odróżnić swoich żołnierzy od nieprzyjaciół i powiadomić swojego opera-tora w razie wykrycia zagrożenia. Urządzenia takie działałyby na bazie specjali-stycznego oprogramowania wykorzystującego system sztucznej inteligencji anali-zujący dane pobierane przez „system monitorowania ludzkiego stresu”, systemyrozpoznawania głosu i gestów człowieka. Na podstawie tych informacji oprogra-mowanie określiłoby stopień zagrożenia w odniesieniu do konkretnego człowieka.

3.1.3 Zastosowanie z udziałem kognitywistyki

Eksperymenty z udziałem prawdziwych i symulowanych robotów sugerują, żezwiązek pomiędzy ruchem fizycznym a sygnałami płynącymi do systemów senso-rycznych może okazać się bardzo istotny przy opracowywaniu bardziej inteligent-nych maszyn [1].Testy z udziałem dwóch prawdziwych i jednego zasymulowanego robota po-

kazują, że informacje zwrotne przekazywane pomiędzy systemem czujnikowyma ruchem robota decydują o jakości nawigacji maszyny w otoczeniu. Lepsze zrozu-mienie tego typu relacji może pomóc naukowcom zbudować sztuczne mechanizmyprzypominające żywe stworzenia.Typowym dla naukowców specjalizujących się w sztucznej inteligencji jest

rozdzielanie zachowania fizycznego od informacji płynących do systemu senso-rycznego.

Page 13: Praca dyplomowa inżynierska: Projekt systemu wizyjnego robota … · 2020-03-10 · może być np.: sygnalizacja o położeniu elementów przedstawionych na obrazie, identyfikacja

3.2 Rozpoznawanie i akwizycja obrazów 12

Do przeprowadzenia testów wykorzystano czteronożnego robota kroczącego,humanoidalny tułów i zasymulowany robot kołowy. Wszystkie trzy roboty zostaływyposażone w komputerowy system wizyjny zaprogramowany do „skupiania się”na obiektach o czerwonym kolorze, rozłożonych losowo wśród innych obiektów oinnych kolorach. Robot kroczący i kołowy automatycznie zmierzają do czerwo-nych bloków zatrzymując się w ich sąsiedztwie, podczas gdy humanoid chwyta tebloki, przybliżając je do swojego sztucznego „narządu wzroku” i przekrzywiającgłowę w celu lepszego widoku.Aby zmierzyć związek pomiędzy ruchem a wizją, badacze zarejestrowali infor-

macje ze przegubów i pola widzenia robotów. Zastosowali techniki matematyczne,aby zobaczyć jak wiele związków przyczynowych zawiązało się pomiędzy sygna-łami wejściowymi do systemu czujnikowego a aktywnością napędów [14].Potwierdziło to, że da się zaobserwować związki przyczynowe dwóch wspo-

mnianych rodzajów, tzn. informacja płynie od systemu czujnikowego do systemunapędowego, ale także z systemu napędowego do systemu czujnikowego. Jest toważna demonstracja eksperymentalna aspektu modelu wbudowanego poznawa-nia. Czyni to z niego zjawisko bardziej praktyczne, a mniej teoretyczne, tak jakto miało miejsce do tej.

3.2 Rozpoznawanie i akwizycja obrazów

Przetwarzanie obrazów i rozpoznawanie obrazów są względnie zamkniętymiobszarami zastosowania komputerów, które wspólnie definiują pole komputero-wej wizji. Jest pewna analogia pomiędzy systemem komputerowej wizji i syste-mem wzrokowym człowieka. Komputerowe przetwarzanie obrazu jest analogiemprocesu, który ma miejsce w ludzkim oku i nerwie optycznym. Rozpoznawanieobrazu reprezentuje w większym stopniu percepcję wizualną, która ma miejscew ludzkim mózgu.Zadania komputerowej wizji przekraczają zadania rozpoznawania obrazów.

Tylko niewielka ich część może być opisana przez klasyczny układ rozpoznawa-nia, kiedy zadany jest skończony alfabet klasyfikacji, wystarczająco prosty modelopisu klasyfikowanego obiektu (obrazu) i znaleziono regułę decyzyjną, odnoszącąobraz do jednej z wcześniej zadanych klas [12].Rozpoznawanie obrazu to przetwarzanie obrazu przez maszynę za pomocą

urządzeń zewnętrznych (np. skaner) w opis cyfrowy tegoż obrazu w celu dalszegoprzetwarzania. Przykładem takiego działania jest OCR czy też OMR [11]. W roz-poznawaniu obrazów możemy wyróżnić dwie podstawowe specyfikacje: kryteriaoceny efektywności metod i algorytmów oraz realizację tych algorytmów. Podsta-wowymi kryteriami oceny efektywności algorytmów rozpoznawania są szybkośćdziałania i dokładność rozpoznania. Jeżeli chodzi o realizację algorytmiczną tobierzemy pod uwagę głównie realizacje na programowe na komputerach klasy PC(np.: C/C++) oraz realizacje sprzętowe, czyli wykorzystanie wyspecjalizowanych

Page 14: Praca dyplomowa inżynierska: Projekt systemu wizyjnego robota … · 2020-03-10 · może być np.: sygnalizacja o położeniu elementów przedstawionych na obrazie, identyfikacja

3.2 Rozpoznawanie i akwizycja obrazów 13

układów takich jak procesory sygnałowe, matryce FPGA itp.

Rysunek 3.3: Etapy procesu obróbki obrazu

W procesie rozpoznania obrazu możemy wyróżnić następujące etapy:

• Scena wizyjna - obraz poddawany rozpoznaniu,

• Akwizycja - pobranie i wstępne przygotowanie obrazów do rozpoznania

• Filtracja - usuwanie z obrazu pewnych jego fragmentów (szumu, obiektów),

• Segmentacja - przekształcenie obrazu w inny zawierający wyraźnie wyod-rębnione obiekty znajdujące się na obrazie oryginalnym,

• Analiza - wyznaczenie pewnych cech obiektów (opis obiektów przy pomocyliczb), klasyfikacja,

• Dane wyjściowe - wynik; prawidłowy lub nieprawidłowy obiekt, klasa doktórej przynależy itd.

Podczas obróbki obrazu wykonujemy operacje dzięki którym obraz staje siębardziej czytelny. Mogą to być operacje punktowe na jednym obrazie z zasto-sowaniem tablicy korekcji oraz operacje punktowe na dwóch obrazach. Metodypunktowe to takie, w których wartość punktu obrazu wyjściowego zależy od war-tości punktu obrazu wejściowego o tych samych współrzędnych. W metodzie tejnie uwzględniamy sąsiedztwa (inaczej niż w filtrach splotowych i operacjach mor-fologicznych. Natomiast tablica korekcji (LUT, look-up-table), to tablica umożli-wiająca zmianę odcieni szarości obrazu wejściowego zgodnie z wartościami zapa-miętanymi w tej tablicy. Tablica ta jest indeksowana kolejnymi dopuszczalnymiodcieniami szarości, a wartość jej i-tego elementu określa jaką wartość przyjmąpunkty obrazu wyjściowego, których odcień szarości na obrazie wejściowym wyno-si i. tablica korekcji przechowuje zadaną krzywą tonalną, która jest jej praktycznąrealizacją i umożliwia modyfikację obrazu zgodnie z tą krzywą [11].Operacje wykorzystujące tablice korekcji LUT:

• Negacja - wyznaczany jest negatyw obrazu. Przykład został pokazany narysunku numer 3.4

• Operacje arytmetyczne:

dodawanie - rozjaśnienie obrazu, problem z przepełnieniem (obcięcie, mo-dulo). Przykład został pokazany na rysunku numer 3.5

Page 15: Praca dyplomowa inżynierska: Projekt systemu wizyjnego robota … · 2020-03-10 · może być np.: sygnalizacja o położeniu elementów przedstawionych na obrazie, identyfikacja

3.2 Rozpoznawanie i akwizycja obrazów 14

Rysunek 3.4: Efekt działania operacji negacji (Źródło: [7])

Rysunek 3.5: Efekt działania operacji dodawania (Źródło: [7])

Rysunek 3.6: Efekt działania operacji odejmowania (Źródło: [7])

odejmowanie - przyciemnienie obrazu, problem z przepełnieniem (obcię-cie, modulo).Przykład został pokazany na rysunku numer 3.6

mnożenie - rozjaśnienie obrazu, problem z przepełnieniem (obcięcie, mo-dulo).Przykład został pokazany na rysunku numer 3.7

dzielenie - przyciemnienie obrazu, brak efektu przepełnienia. Przykład zo-stał pokazany na rysunku numer 3.8

• Rozciąganie histogramu - ma na celu zagospodarowanie całego spektrumdostępnym odcieni szarości. Przykład został pokazany na rysunku numer3.9

• Wyrównywanie histogramu - ma na celu taką modyfikację obrazu, by roz-

Page 16: Praca dyplomowa inżynierska: Projekt systemu wizyjnego robota … · 2020-03-10 · może być np.: sygnalizacja o położeniu elementów przedstawionych na obrazie, identyfikacja

3.2 Rozpoznawanie i akwizycja obrazów 15

Rysunek 3.7: Efekt działania operacji mnożenia (Źródło: [7])

Rysunek 3.8: Efekt działania operacji dzielenia (Źródło: [7])

Rysunek 3.9: Efekt działania operacji rozciągania histogramu (Źródło: [7])

kład liczby punktów na piksel względem odcieni szarości był równomier-ny, tj. by na każdy odcień szarości przypadała możliwie taka sama liczbapunktów równa całkowitej liczbie punktów podzielonej przez liczbę odcieniszarości. Przykład został pokazany na rysunku numer 3.10

• Redukcja odcieni szarości - kwantyzacja, redukcja np. do 2 poziomów sza-rości. Przykład został pokazany na rysunku numer 3.11

Page 17: Praca dyplomowa inżynierska: Projekt systemu wizyjnego robota … · 2020-03-10 · może być np.: sygnalizacja o położeniu elementów przedstawionych na obrazie, identyfikacja

3.3 Aktualne konstrukcje robotów mobilnych 16

Rysunek 3.10: Efekt działania operacji wyrównania histogramu (Źródło: [7])

Rysunek 3.11: Efekt działania operacji redukcji odcieni szarości (Źródło: [7])

• Korekcja gamma - uwypuklenie jednych szarości kosztem innych, popra-wia kontrast ciemnych obszarów kosztem jasnych lub odwrotnie. Przykładzostał pokazany na rysunku numer 3.12

• Solaryzacja - częściowego lub całkowitego odwrócenia obrazu negatywowegona pozytywowy,

• Pseudokolorowanie - konwersja obrazu w skali odcieni szarości z jednowy-miarowej przestrzeni barw do przestrzeni barw, przypisanie określonym od-cieniom szarości odpowiednich kolorów, zgodnie z naturą obrazu [8].

Page 18: Praca dyplomowa inżynierska: Projekt systemu wizyjnego robota … · 2020-03-10 · może być np.: sygnalizacja o położeniu elementów przedstawionych na obrazie, identyfikacja

3.3 Aktualne konstrukcje robotów mobilnych 17

Rysunek 3.12: Efekt działania operacji korekcji gamma (Źródło: [7])

Rysunek 3.13: Robot Virtsus R2 (Źródło: [6])

3.3 Aktualne konstrukcje robotów mobilnych

3.3.1 Miniaturowy Robot Inspekcyjny VIRTUS R2

Robot (pokazany na rysunku 3.13) oparty jest na podwoziu gąsienicowym.Moduły napędowy i moduł sterujący zostały zintegrowane w jednym elemencie.Kadłub został wzmocniony i dodatkowo uszczelniony. Umożliwi to pokonywanieprzeszkód wodnych o głębokości 30-40 mm oraz pracę w środowisku zapylonym.W przedniej części kadłuba zainstalowano dwa refleksyjne czujniki optoelektro-niczne, dzięki którym możliwe jest wykrycie przeszkód znajdujących się 150 mm

Page 19: Praca dyplomowa inżynierska: Projekt systemu wizyjnego robota … · 2020-03-10 · może być np.: sygnalizacja o położeniu elementów przedstawionych na obrazie, identyfikacja

3.3 Aktualne konstrukcje robotów mobilnych 18

przed robotem. Zainstalowano dodatkowo z boku kadłuba między kołami za-czepy umożliwiające instalacje osłon kół lub innego wyposażenia. Do napęduużyto dwóch silników prądu stałego o napięciu 12 V. Przekładnie o przełożeniu200:1 pozwalają na osiągnięcie maksymalnego momentu obrotowego wynoszące-go 1 Nm. Dwukrotny wzrost momentu obrotowego odbył się kosztem prędkości.Doświadczenie pokazuje, że dla tego typu urządzeń prędkość nie jest bardzo waż-nym czynnikiem w przeciwieństwie do możliwości radzenia sobie z przeszkodamiterenowymi. Ważna jest również dopuszczalna masa dodatkowego wyposażeniajakie można zainstalować na robocie. Z silnikami zintegrowane są hallotronoweprzetworniki obrotowo impulsowe. Dają one trzy impulsy na obrót wałka silnikaco biorąc pod uwagę przełożenie daje 600 impulsów na obrót koła. Dla tego typurobotów jest zadowalająca dokładność pomiaru. Koła odznaczają się niewielkąmasą i są przystosowane do pracy w wodzie. Robot został wyposażony w mo-duł wykonawczy. Manipulator wykonany jest z profili aluminiowych. Składa sięz dwóch członów i mini-chwytaka. Do jego napędu zastosowano dwa modelarskieserwomechanizmy HS-300 i jeden HS-80. Zastosowane mechanizmy odznaczają sięzwartą budową, małymi wymiarami, niską masą i dużym momentem obrotowym.Na ramieniu manipulatora zainstalowano kamerę CCD. Umożliwia ona obserwa-cję podczas poruszania się robota jak i wykonywania czynności manipulacyjnych[13].

Układ sterowania

Głównym elementem układu sterowania jest jednostka centralna. Jednostkacentralna oraz pozostałe elementy układu sterowania zasilane są z układu zasila-nia. Układ ten pozwala na zasilanie sterownika w bardzo szerokim zakresie napięćzasilania (8..48VDC). Układy sterowania silników pozwalają na realizację pracynawrotnej. Układy te pracują w klasycznym układzie mostkowym i są sterowaneprzez jednostkę centralną metodą modulacji szerokości impulsu. Prędkość obro-tową silników mierzona jest przez zliczanie w jednostkowych odcinkach czasu im-pulsów z fotooptycznych przetworników obrotowo-impulsowych zainstalowanychna wałkach silników napędowych. Dzięki temu w układzie sterowania napędusilników możliwe jest zrealizowanie układów automatycznej regulacji prędkości,różnicy prędkości i przemieszczenia kątowego.Jednostkę centralną tworzy pojedynczy układ mikrokontrolera jednomoduło-

wego typu MSP430F149 firmy Texas Instruments. Jądrem mikrokontrolera jestszesnastobitowa jednostka arytmetyczno-logiczna o architekturze ortogonalnej zezredukowaną listą rozkazów (RISC). Mikrokontroler posiada wewnętrzną repro-gramowalną pamięć programu typu flash o pojemności 60 KB oraz 2KB pamięcio swobodnym dostępie typu RAM. Mikrokontroler zasilany jest ze źródła o napię-ciu 3,3V pobierając moc rzędu 5mW przy częstotliwości oscylatora kwarcowegorównej 4,9152MHz.Układ sterowania napędów zaopatrzono w trzy opcjonalne interfejsy trans-

Page 20: Praca dyplomowa inżynierska: Projekt systemu wizyjnego robota … · 2020-03-10 · może być np.: sygnalizacja o położeniu elementów przedstawionych na obrazie, identyfikacja

3.3 Aktualne konstrukcje robotów mobilnych 19

misji szeregowej: RS485, CAN 2.0B, RS232C. Dwa pierwsze przeznaczone są dozastosowań przemysłowych, ostatni do badań laboratoryjnych. Interfejs umożli-wia dwukierunkową naprzemienną transmisję szeregową danych z prędkościamitransmisji w zakresie 1 200..76 800Bd. Interfejs umożliwia sprzężenie jednostkisterowania napędami z zewnętrzną jednostką nadrzędną typu master drogą radio-wą (radiomodem) lub przez bezpośrednie połączenie kablowe. W warstwie aplika-cyjnej zaimplementowano ogólnie znany i zweryfikowany w warunkach przemysło-wych protokół komunikacyjny MODBUS-RTU zapewniający dostatecznie wysokipoziom bezpieczeństwa transmitowanych danych. Dla minimalizacji zużycia ener-gii w kanale RS232 zastosowano energooszczędny układ z funkcją auto-shutdown,zaś w kanale RS485 układ sterownika magistrali o poborze prądu wynoszącymzaledwie 0,3mA.

3.3.2 Inne rozwiązania

Istnieje wiele innych rozwiązań konstrukcyjnych mobilnych robotów kołowych,które znalazły zastosowanie w dziedzinie nauki i techniki [2]. Podstawowym kryte-rium klasyfikacji robotów kołowych jest ilość kół napędzanych i kierowanych. Takwięc 2-kołowy mobilny robot posiada dwa koła napędzane, pozostałe koła są tylkosamonastawne. Przykładami takich robotów są między innymi Pioneer 2DX,firmy Activemedia, przedstawiony na rysunku 3.14a oraz robot Powerbot zilu-strowany na rysunku 3.14b. wykonany w Katedrze Robotyki i Dynamiki MaszynAGH.

(a) Robot Pioneer 2DX (b) Robot Powerbot

Rysunek 3.14: Roboty firmy Activemedia (Źródło: [11])

Innym przykładem mobilnego robota kołowego może być 3-kołowy mobilnyrobot (dwa koła napędzane, trzecie koło kierowane) B-14r firmy Activemediazilustrowany na rysunku 3.15a. przeznaczony do pracy w halach produkcyjnychlub do tworzenia map.Przykładem mobilnego robota 4-kołowego jest Pioneer 2AT firmy Activeme-

dia (cztery koła napędzane) zilustrowany na rysunku 3.15b. Ze względu na swoją

Page 21: Praca dyplomowa inżynierska: Projekt systemu wizyjnego robota … · 2020-03-10 · może być np.: sygnalizacja o położeniu elementów przedstawionych na obrazie, identyfikacja

3.3 Aktualne konstrukcje robotów mobilnych 20

(a) Robot B-14r (b) Robot Pioneer 2AT

Rysunek 3.15: Roboty firmy Activemedia (Źródło: [11])

konstrukcję nadaje się do prac terenowych. Podstawowym przeznaczeniem tegomobilnego robota jest zastosowanie go jako sondy zbierającej różnorodne dane,takie jak np. dane pogodowe lub informacje o ukształtowaniu terenu itp. Innymprzykładem mobilnego robota 4-kołowego jest robotWIMIREK (rysunek 3.16a)skonstruowany w Katedrze Robotyki i Dynamiki Maszyn AGH, którego zadaniemjest walka Sumo z innymi robotami zgodnie z ustanowionymi zasadami zawodówdla tego typu urządzeń. Kolejnym przykładem mobilnego robota 6-kołowego jestrównież wykonany w Katedrze Robotyki i Dynamiki Maszyn AGH robot IMI-REK 3.16a przeznaczony do udziału w walkach Sumo robotów.

(a) Roboty: WIMIREK (z lewej)i IMIREK (z prawej)

(b) Robot gąsienicowy BROKKBM 110

Rysunek 3.16: Roboty Katedry Robotyki i Dynamiki Maszyn AGH (Źródło: [11])

Innym przykładem mobilnego robota jest BROKK BM 110 (Lulea Universityof Technology), zilustrowany na rysunku 3.16b, jest to robot wyposażonyw gąsienice, jego przeznaczeniem jest praca przy usuwaniu powierzchni drogo-wych. Robot ten jest w fazie projektów, jednak jest on bardzo interesującymrozwiązaniem.

Page 22: Praca dyplomowa inżynierska: Projekt systemu wizyjnego robota … · 2020-03-10 · może być np.: sygnalizacja o położeniu elementów przedstawionych na obrazie, identyfikacja

3.3 Aktualne konstrukcje robotów mobilnych 21

Antyterrorystyczny robot inspekcyjno-interwencyjny (EOD/IEDD) IN-SPECTOR w swojej klasie wyróżnia się dużą siłą udźwigu i uciągu oraz zdol-nością jazdy po trudnym terenie, a także pokonywania wysokich przeszkód [1].Przedstawiony on został na rysunku 3.17

Rysunek 3.17: Antyterrorystyczny robot INSPECTOR (Źródło: [12])

Typowe zastosowania:

• Inspekcja, przenoszenie i neutralizacja ładunków niebezpiecznych.

• Wspomaganie operacji antyterrorystycznych.

• Praca w warunkach szkodliwych lub niebezpiecznych dla człowieka.

• Ochrona i inspekcja obiektów.

• Współpraca z robotem EXPERT lub innym robotem.

Unikatowe cechy robota INSPECTOR:

• Robot może holować lub przepychać pojazdy samochodowe o masie do 1500kg pozostawione na dowolnym biegu.

• Gąsienica przednia (o zmiennym, zdalnie sterowanym nachyleniu) zwiększamożliwości trakcyjne, stabilizację wzdłużną oraz umożliwia płynne poru-szanie się po schodach i znacznych nierównościach terenu.

Page 23: Praca dyplomowa inżynierska: Projekt systemu wizyjnego robota … · 2020-03-10 · może być np.: sygnalizacja o położeniu elementów przedstawionych na obrazie, identyfikacja

3.3 Aktualne konstrukcje robotów mobilnych 22

• Manipulator robota posiada duży udźwig, który wynosi na wyciągniętychramionach 30 kg, a na złożonych 60 kg.

• Obrót podstawy manipulatora wynosi aż 400°.

• Zachowanie stałej orientacji w przestrzeni poszczególnych części manipu-latora podczas ruchu pozostałych ułatwia precyzyjne operowanie niebez-piecznymi ładunkami.

• System kontroli robota umożliwia jednoczesne sterowanie wszystkimi jegonapędami.

• Program automatycznego składania manipulatora do pozycji transportowejprzyspiesza i ułatwia przygotowanie robota do transportu.

Robot jest standardowo wyposażony w cztery kamery kolorowe, zintegrowanew obudowach z podwójnymi reflektorami halogenowymi umożliwiającymi pracęprzy niedostatecznym oświetleniu lub w całkowitej ciemności. Dwie kamery jezd-ne: jedna umieszczona jest z przodu platformy mobilnej na siłowniku nastawykąta ruchomej gąsienicy przedniej. Dzięki temu pole widzenia operatora zmieniasię wraz z podnoszeniem lub opuszczaniem gąsienicy przedniej. Druga skierowa-na do tyłu umieszczona jest na obrotowej podstawie manipulatora. Pole widzeniaoperatora zmienia się wraz z obrotem podstawy manipulatora. Kamera manipu-lacyjna umieszczona jest na chwytaku. Kąt widzenia kamer 90°. Kamera głównaumieszczona jest na górnym ramieniu manipulatora. Jest ona zainstalowana nagłowicy obrotowej, pozwalającej na obrót kamery w płaszczyźnie poziomej orazpionowej. Kamera jest wyposażona w obiektyw o zmiennej ogniskowej z możliwo-ścią automatycznej regulacji przesłony oraz manualnej, zdalnej regulacji ostrościoraz ogniskowej (zoom). W zależności od warunków oświetleniowych.Antyterrorystyczny robot neutralizująco-wspomagający (EOD/IEDD)

EXPERT jako pierwszy na świecie wykonuje wszystkie zadania w środkachtransportu: samolotach, autobusach, wagonach kolejowych, okrętach oraz małychi ciasnych pomieszczeniach [1].Może nie tylko do nich wjechać, lecz również wszędzie sięgnąć i podjąć

ładunek z położnych wysoko lub trudno dostępnych zakamarków.

Robot EXPERTUnikatowe cechy robota EXPERT:

• Konstrukcja przedstawiona na rysunku 3.18 godzi ze sobą dwa sprzecznewymogi: mała baza mobilna umożliwia manewrowanie w ciasnych pomiesz-czeniach, a jednocześnie manipulator ma duży zasięg i udźwig.

• Gąsienice przednie (o zmiennym, zdalnie sterowanym nachyleniu) zapew-niają stabilność konstrukcji przy pokonywaniu wysokich przeszkód orazschodów.

Page 24: Praca dyplomowa inżynierska: Projekt systemu wizyjnego robota … · 2020-03-10 · może być np.: sygnalizacja o położeniu elementów przedstawionych na obrazie, identyfikacja

3.3 Aktualne konstrukcje robotów mobilnych 23

Rysunek 3.18: Antyterrorystyczny robot EXPERT (Źródło: [11])

• Rozkładane stabilizatory boczne umożliwiają solidne zablokowanie położe-nia bazy mobilnej, co pozwala na bezpieczne podnoszenie dużych ciężaróworaz bardzo precyzyjne operowanie manipulatorem nawet przy jego pełnymbocznym wysięgu. Stabilizatory mogą zostać zdemontowane, co zmniejszao 8 cm szerokość bazy mobilnej.

• Zasięg manipulatora wraz z chwytakiem wynosi prawie 3 m. Dzięki wyjątko-wo długiemu wysuwowi górnego ramienia możliwa jest inspekcja przestrzenizarówno na wysokości półek na bagaże np. w samolocie jak i pod fotelamipasażerów.

• EXPERT jest wyposażony w 6 kamer. Cztery kolorowe kamery rozmiesz-czone są: na chwytaku, z tyłu i z przodu robota oraz na manipulatorze(kamera główna z możliwością obrotu o 360° i 90° góra-dół). Ponadto dwiekolorowe kamery boczne umieszczone są po bokach przednich gąsienic, copozwala na inspekcję np. przestrzeni pod fotelami.

• System kontroli robota umożliwia jednoczesne sterowanie wszystkimi jegonapędami.

• System autodiagnostyczny wykrywa na bieżąco wszelkie usterki i wyświetlakomunikaty tekstowe o nich na pomocniczym monitorze LCD.

• Większość kabli robota oraz manipulatora przebiega wewnątrz konstrukcji,co zmniejsza ryzyko ich uszkodzenia.

Robot posiada 6 kamer rejestrujących. Główna, kolorowa, na ruchomej zdalniesterowanej głowicy, zdalna regulacja powiększenia. Dwie boczne przednie, ko-lorowe, szerokokątne służące do inspekcji przestrzeni po bokach bazy mobilnej.

Page 25: Praca dyplomowa inżynierska: Projekt systemu wizyjnego robota … · 2020-03-10 · może być np.: sygnalizacja o położeniu elementów przedstawionych na obrazie, identyfikacja

3.3 Aktualne konstrukcje robotów mobilnych 24

Jezdna tylna, kolorowa, szerokokątna, jezdna przednia, kolorowa, szerokokątnaoraz kamera chwytaka, kolorowa, szerokokątna.Wszystkie kamery z własnymi oświetlaczami halogenowymi (2 x 20W) lub

z oświetlaczami diodowymi.

Page 26: Praca dyplomowa inżynierska: Projekt systemu wizyjnego robota … · 2020-03-10 · może być np.: sygnalizacja o położeniu elementów przedstawionych na obrazie, identyfikacja

Rozdział 4

Budowa systemu wizyjnego

Pierwszym krokiem ku realizacji projektu było wybranie odpowiedniej techno-logii komunikacji z Mobotem i pozostałymi elementami, które służą do sterowaniakamerą umieszczoną na robocie. Aby uzyskać jak największą swobodę poruszaniarobotem, oczywistym wyborem była łączność bezprzewodowa. Dostępnych sys-temów tego typu można znaleźć bardzo wiele na rynku, jednak aby koszty nieprzerosły budżetu, należało znaleźć optymalne rozwiązanie.Nowoczesne technologie typu Wi-Fi czy Bluetooth [10] nadawałyby się zde-

cydowanie najlepiej do tego celu, jednakże po zbadaniu rynku okazało się, żew chwili dokonywania wyboru nie było na rynku polskim dostępnych modułów,które można by wykorzystać w pracy. Sprowadzenie zza granicy byłoby nie dość,że ryzykowne, ze względu na możliwy długi czas realizacji zamówienia i ewentual-nych napraw, to koszt takich układów był znacznie wyższy od tych, wykorzystu-jących starsze technologie komunikacji radiowej. Z tych względów zdecydowanosię na zakup dwóch urządzeń komunikujących się w paśmie radiowym 433MHzw firmie ARIES, mającej swoją siedzibę w Warszawie.Modem radiowy w wersji mini, zasilany stałym napięciem 5V, został zamonto-

wany na płycie Mobota. Drugi modem, w wersji standard, zasilany napięciem sie-ciowym 230V, został podłączony do komputera, z którym komunikacja następujeza pośrednictwem interfejsu szeregowego RS-232. Na płytce modemu w wersjimini został zamontowany mikrokontroler ATmega8515, którego oprogramowaniemoożna rozbudować o dodatkowe funkcje, dzięki udostępnionym kodom źródło-wym programu, napisanego przez pana Ryszarda Szymaniaka z firmy ARIES.W ten sposób rozkazy wysyłane z komputera przez port COM trafiają do mi-krokontrolera, który to interpretuje je i wysyła odpowiednie sygnały sterujące doMobota i systemu sterowania kamerą. Szersze informacje na temat tych modemóworaz komunikacji między nimi znajdują się w rozdziale 4.1.Mając narzędzie do komunikacji bezprzewodowej, można było rozpocząć pracę

nad sterowaniem Mobotem z komputera. W tym celu zmodyfikowano oprogra-mowanie robota tak, aby w zależności od sygnałów podawanych na porty mikro-kontrolera sterującego silnikami Mobota, robot wykonywał określone czynności

Page 27: Praca dyplomowa inżynierska: Projekt systemu wizyjnego robota … · 2020-03-10 · może być np.: sygnalizacja o położeniu elementów przedstawionych na obrazie, identyfikacja

26

takie, jak:

• jazda w przód

• jazda w tył

• obrót w prawo

• zwiększenie prędkości

• zmniejszenie prędkości

• stop

Następnym krokiem było zaprojektowanie samego systemu wizyjnego - wybórodpowiedniej kamery, silnika obracającego nim oraz sterownika.Spośród wielu dostępnych kamer, należało poszukać takiego rozwiązania, którespełniałoby wyznaczone założenia, czyli:

• małe rozmiary

• zasilanie napięciem stałym maksymalnie wynoszącym 24V (co wynika z za-stosowanego akumulatora w Mobocie) oraz w miarę niski pobór prądu

• przesył obrazu w sposób bezprzewodowy

• jak najniższa cena

Po przejrzeniu dostępnych rozwiązań można powiedzieć, że rynek pod tymwzględem nie jest bogaty. Zdecydowanie łatwiej (ale i drożej) można kupić od-dzielnie kamerę, nadajnik oraz odbiornik w paśmie telewizyjnym, niż kamerę zezintegrowanym nadajnikiem. To rozwiązanie dodatkowo wymagałoby zastosowa-nia tunera telewizyjnego w komputerze do odbioru sygnału wizyjnego. Ostatecz-nie wybór padł na zestaw firmy GRANDTEC - Grand RF, zawierający kameręze zintegrowanym nadajnikiem oraz odbiornik podłączany do komputera przezport USB, co jest bardziej uniwersalnym rozwiązaniem. O kamerze i odbiornikumożna przeczytać szerzej w rozdziale 4.3Ostatni element konstrukcyjny systemu wizyjnego robota to obrotnica do ka-

mery. Zdecydowano się wykorzystać jeden z najprostszych silników krokowych,a mianowicie unipolarny silnik krokowy firmy WObit - 39BYG402U [3, 6] orazsterownik tejże firmy - SUC63BK [4, 7]. Bezpośrednio na osi silnika została za-montowana kamera. Użycie takiego zestawu umożliwia dokładne i bezproblemowesterowanie obrotu kamerą.Aby rozbudować funkcjonalność obrotnicy o zmienną szybkość obrotu, zbu-

dowano dodatkowy układ generujący sygnał zegarowy do sterownika. Z powo-du wykorzystania wszystkich timerów zarówno mikrokontrolera na Mobocie jaki w modemie bezprzewodowym, zdecydowano się użyć jednego z najprostszych

Page 28: Praca dyplomowa inżynierska: Projekt systemu wizyjnego robota … · 2020-03-10 · może być np.: sygnalizacja o położeniu elementów przedstawionych na obrazie, identyfikacja

4.1 Modem radiowy firmy ARIES 27

Rysunek 4.1: Ogólny schemat komunikacji między poszczególnymi częsciami sys-temu

mikrokontrolerów firmy Atmel, a mianowicie ATtiny2313. Napisany samodzielnieprogram umożliwia wybór kierunku obrotu silnika oraz jednej z siedmiu zaprogra-mowanych prędkości obrotu. Wybór poszczególnych funkcji odbywa się poprzezwysłanie rozkazu do modemu bezprzewodowego, który to przekazuje je dalej domikrokontrolera. Szerzej cały system obrotu kamerą został opisany w rozdziale4.4.

4.1 Modem radiowy firmy ARIES

Zamówione modemy przeznaczone są do dwustronnej transmisji danych cyfro-wych drogą radiową. Do modemów można dołączyć dowolny nadajnik/odbiornikdanych wyposażony w uproszczony interfejs RS232 (linie TXD oraz RXD). Ichpodstawowe parametry: /citepoz17

• transmisja radiowa half dupleks.

• szybkość transmisji radiowej 19,2 kBaud

• praca w paśmie 434,026MHz.

• interfejs typu RS232 z możliwością ustawienia jednej z 7 szybkości trans-misji: 4,8kB, 9,6kB, 14,4kB, 19,2kB, 38,4kB, 57,6kB i 115,2kB.

Page 29: Praca dyplomowa inżynierska: Projekt systemu wizyjnego robota … · 2020-03-10 · może być np.: sygnalizacja o położeniu elementów przedstawionych na obrazie, identyfikacja

4.1 Modem radiowy firmy ARIES 28

• dwa formaty transmisji danych: prosty (każda odebrana transmisja radiowajest wysyłana interfejsem RS232) i adresowany (odebrana transmisja jestidentyfikowana poprzez adres nadawcy, jeżeli nadawcą jest modem-partnero znanym adresie, transmisja zostanie wysyłana interfejsem RS232, w prze-ciwnym wypadku jest ignorowana)

• bufor transmisji do 255 bajtów.

• moc nadajnika 10dBm.

Rysunek 4.2: Modem radiowy w wer-sji mini

Rysunek 4.3: Modem radiowy w wer-sji standard

Dodatkowo na modemie został zamontowany przycisk (SW1) oraz dwie diodysygnalizacyjne LED - L1 oraz L2.Dioda L1 (czerwona) sygnalizuje, że modem wysyła dane, natomiast dioda L2(zielona) oznacza, że modem odbiera dane.Przycisk posiada dwa zastosowania:

1. Gdy jest wciśnięty w momencie włączenia zasilania, modem wchodzi w trybserwisowy. Możliwa jest wówczas współpraca z programem ARMSET i usta-wienie parametrów modemu:

• wybór szybkości interfejsu szeregowego RS232

• wybór formatu transmisji danych

• ustawienie adresu własnego modemu

• ustawienie adresu modemu-partnera, z którym będzie możliwa wymia-na danych w formacie adresowanym

Gdy modem znajduje się w tym trybie, obie diody sygnalizacyjne są zapalo-ne. Wyjście z trybu serwisowego następuje po wyłączeniu zasilania układu.

Page 30: Praca dyplomowa inżynierska: Projekt systemu wizyjnego robota … · 2020-03-10 · może być np.: sygnalizacja o położeniu elementów przedstawionych na obrazie, identyfikacja

4.1 Modem radiowy firmy ARIES 29

2. Poza trybem serwisowym przycisk realizuje transmisję testową, co sygna-lizowane jest zapaleniem się diod L1 i L2 lub migotaniem diody L1. Jeżeliw tym czasie w zasięgu odbioru znajduje się drugi modem, odpowiada onpodobną transmisją testową (L1 i L2 obydwu modemów świecą się), jeżelidrugi modem nie jest włączony lub odpowiedź jest błędna (na skutek np.zbyt dużej odległości pomiędzy modemami), migoce dioda L1.

Modemy przesyłają dane drogą radiową w ramkach o maksymalnej długoścido 255 bajtów. Kolejna transmisja z modemu nadawczego rozpoczyna się gdy:

• urządzenie zewnętrzne prześle do modemu za pośrednictwem interfejsuRS232 255 bajty danych

• przerwa po ostatnim przesłanym bajcie trwa dłużej niż czas potrzebny naprzesłanie 2 znaków (przy wybranej szybkości transmisji interfejsu RS232)Po rozpoczęciu przesyłania danych drogą radiową interfejs RS232 pozostajenieaktywny do czasu wysłania całej ramki.

Po rozpoczęciu przesyłania danych drogą radiową interfejs RS232 pozostaje nie-aktywny do czasu wysłania całej ramki.Moduł radiowy, przedstawiony na rysunku 4.4, (chip CC1000 firmy CHIP-

CON) połączono z mikrokontrolerem AVR ATmega8515, który jest odpowiedzial-ny za przygotowanie danych do transmisji, wysyłanie ich do modułu radiowego,odbiór danych i buforowanie.

Rysunek 4.4: Moduł CC1000PP

Page 31: Praca dyplomowa inżynierska: Projekt systemu wizyjnego robota … · 2020-03-10 · może być np.: sygnalizacja o położeniu elementów przedstawionych na obrazie, identyfikacja

4.1 Modem radiowy firmy ARIES 30

Rysunek 4.5: Połączenie pinów portów Mobota i modemu mini

Ponieważ mikrokontroler ten posiada wiele niewykorzystanych pinów portów,postanowiliśmy wykorzystać je do wysyłania rozkazów sterujących do Mobota.W tym celu połączone są piny PC0..4 mikrokontrolera modemu mini z pinamiPC3..7 mikrokontrolera Mobota, co przedstawia rysunek 4.5.Oryginalny program autorstwa Ryszarda Szymaniaka z firmy ARIES został

uzupełniony o funkcję, która na podstawie odebranych danych znajdujących sięw buforze, powoduje wyprowadzenie stanu logicznej jedynki bądź zera na wyj-ściach portów mikrokontrolera. Listę komend i reakcji mikrokontrolera ATme-ga8515 przedstawia tabela 4.1Program Mobota został tak napisany, że każda zmiana stanu logicznego na

pinie PC4 powoduje zwiększenie prędkości, a zmiana stanu na pinie PC3 powo-duje zmniejszenie prędkości. Powyższe funkcje zostały opisane szerzej w rozdziale4.2.Poza sterowaniem samym Mobotem, mikrokontroler ATmega8515 steruje tak-

że mikrokontrolerem ATtiny2313 odpowiedzialnym za podawanie sygnału zega-rowego do sterownika silnika krokowego. Tu zostały wykorzystane piny PB5..7mikrokontrolera ATmega8515 i PD0,1,4,6 mikrokontrolera ATtiny2313. Schematpołączeń przedstawia rysunek 4.6Wszystkie funkcje realizowane przez mikrokontroler ATtiny2313 zostały opi-

sane w rozdziale 4.4Modem bezprzewodowy w wersji standard jest używany tylko i wyłącznie

do wysyłania komend tekstowych (znaków) w niezmienionej postaci do modemuw wersji mini. Komunikacja z komputerem odbywa się z prędkością 9600bit/sa modemy komunikują się bez adresowania, tzn. nie jest sprawdzane, czy dane

Page 32: Praca dyplomowa inżynierska: Projekt systemu wizyjnego robota … · 2020-03-10 · może być np.: sygnalizacja o położeniu elementów przedstawionych na obrazie, identyfikacja

4.2 Sterowanie Mobotem 31

Komenda (znaki) PC0..3 PC3 PC4 Funkcja’S’ 000

X X

stop’A’ 001 w przód’B’ 010 w tył’C’ 011 obrót w lewo’D’ 100 obrót w prawo’E’

X

1X zwiększenie prędkości

’F’ 0’M’

X1

zmniejszenie prędkości’N’ 0

Tabela 4.1: Tabela stanów wyjść mikrokontrolera ATmega8515

Rysunek 4.6: Połączenie pinów portów Mobota i generatora

pochodzą z modemu-partnera. Jest to związane z błędem w programie konfigu-racyjnym ARMSET, dostarczonym przez firmę ARIES, uniemożliwiającym zapisadresu w pamięci modemu.

4.2 Sterowanie Mobotem

Jak wspomniano w rozdziale 4.1, sterowanie Mobotem polega na wysłaniuprzez port szeregowy odpowiednich komend sterujących do modemu radiowegow wersji standard, który to dalej przekazuje je modemowi na pokładzie mobotai do mikrokontrolera sterującego robotem. Dostarczony przez firmę WObit [4]kod programu mikrokontrolera w języku C umożliwił taką modyfikację, aby robotwykonywał odpowiednie czynności w zależności od sygnałów na portach PC3..7.

Page 33: Praca dyplomowa inżynierska: Projekt systemu wizyjnego robota … · 2020-03-10 · może być np.: sygnalizacja o położeniu elementów przedstawionych na obrazie, identyfikacja

4.2 Sterowanie Mobotem 32

Komenda (znak) PA0..2 PA3 Funkcja’x’ 000

X

stop’r’ 001 prędkość 1’t’ 010 prędkość 2’y’ 011 prędkość 3’u’ 100 prędkość 4’i’ 101 prędkość 5’o’ 110 prędkość 6’p’ 111 prędkość 7’j’

X1 kierunek w lewo

’k’ 0 kierunek w prawo

Tabela 4.2: Tabela stanów wyjść mikrokontrolera ATmega8515

Rysunek 4.7: Mobot z zamontowanymi wszystkimi modułami

Prędkość obrotu każdego z dwóch silników jest regulowana zmiennymi: glo-bal left speed oraz global right speed z ograniczeniem w postaci stałych GLO-BAL MAX SPEED=1023 i GLOBAL MIN SPEED=175. Po włączeniu Mobotasilniki są zatrzymane. Po wybraniu opcji jazdy robota w programie Mobot Rider,prędkość jest ustawiana na wartość 300. Każda zmiana stanu (0 → 1, 1 → 0) napinie PC4 mikrokontrolera ATmega8515 powoduje zwiększenie prędkości o war-tość 100. Każda zmiana stanu na pinie PC3 natomiast, powoduje zmniejszenieprędkości o wartość 100.

Page 34: Praca dyplomowa inżynierska: Projekt systemu wizyjnego robota … · 2020-03-10 · może być np.: sygnalizacja o położeniu elementów przedstawionych na obrazie, identyfikacja

4.3 Kamera 33

Kierunek obrotu silników jest zależny od tego, czy wartość prędkości jestdodatnia, czy też ujemna. I tak jazda w przód to ustawienie obu wartości nadodatnie, w tyłu obu na ujemne, z kolei obrót w lewo bądź w prawo wymagapodania jednej wartości dodatniej, a drugiej ujemnej.

4.3 Kamera

Do niniejszej pracy zdecydowano się wykorzystać kamerę Grand RF CMOSUSB firmy Grandtec. Kamery tego typu zużywają mniej prądu niż urządzeniaCCD, przez co lepiej nadają się do urządzeń przenośnych. Wybrany przez nasmodel oferuje bezprzewodową łączność na odległość do 100m, 4 kanały transmi-sji i odbioru sygnałów, które mogą być zastosowane w przyszłości w innych pro-jektach wykorzystujących systemy wizyjne, a także przesył obrazu o stosunkowowysokiej rozdzielczości 330 linii jak również dźwięku. Dobre parametry kamerypozwalają na rozbudowę systemu wizyjnego np. o wykrywanie ruchów na obrazielub reakcję na odpowiednie dźwięki. Dzięki interfejsowi USB moduł odbiorczymożna szybko podłączyć do każdego komputera, co niewątpliwie świadczy o jegowysokiej mobilności.

Rysunek 4.8: Zestaw Grand RF CMOS USB firmy Grandtec

Odbiornik posiada szereg wejść i wyjść audio/video umożliwiających podłą-czenie do niego takich urządzeń jak telewizor, kamera, głośniki lub odtwarzaczDVD. Dzięki temu, możliwe jest oglądanie oraz nagrywanie obrazu z kamery nakilku urządzeniach jednocześnie (rysunek 4.9)Standardowo w opakowaniu do zestawu (rysunek 4.8) dołączany jest uchwyt,

na którym mocowana jest kamera. Dzięki niemu możliwe jest swobodne skierowa-nie kamery na obserwację dowolnego obszaru i jednocześnie stabilne jej umocowa-nie uniemożliwiające niekontrolowane zmiany kątów położenia. Uchwyt ten jest

Page 35: Praca dyplomowa inżynierska: Projekt systemu wizyjnego robota … · 2020-03-10 · może być np.: sygnalizacja o położeniu elementów przedstawionych na obrazie, identyfikacja

4.3 Kamera 34

Rysunek 4.9: Schemat możliwych połączeń urządzeń peryferyjnych do odbiornika(Źródło: [5])

jednak przystosowany tylko do montowania kamery na gładkich płaszczyznach,poprzez nóżkę o podstawie koła, którą można przykręcić do podłoża za pomocątrzech śrub. Jednakże takie rozwiązanie uniemożliwa zamontowanie uchwytu naosi silnika. Dlatego też, w tym celu zaprojektowano od nowa i skonstruowanonowy uchwyt trzymający kamerę, którego schemat przedstawia rysunek 4.10.

Rysunek 4.10: Uchwyt do kamery

Podstawowym elementem, który umożliwia sztywne trzymanie na osi silnikajest twarda guma. Ciasno naciśnięty na wałek osi silnika uchwyt daje stabilnetrzymanie, a dodatkowym atutem tego rozwiązania jest to, że wszelkie nierówno-ści w pracy silnika krokowego (drgania, szarpnięcia) są absorbowane przez gumę.

Page 36: Praca dyplomowa inżynierska: Projekt systemu wizyjnego robota … · 2020-03-10 · może być np.: sygnalizacja o położeniu elementów przedstawionych na obrazie, identyfikacja

4.4 Sterowanie kamerą 35

Dzięki temu odbierany obraz podczas obracania kamery będzie bardziej płynny.Kamera z uchwytem została przedstawiona na rysunku 4.11.

Rysunek 4.11: Kamera z uchwytem mocującym

4.4 Sterowanie kamerą

Do sterowania kamerą wykorzystano hybrydowy silnik krokowy unipolarny39BYG402U firmy WObit [4, 3, 6], przedstawiony na rysunku 4.12. Jego podsta-wowe parametry pracy:

• obrót 1,8° na jeden krok

• napięcie 12V

• prąd 0,5A

• trzymający moment 0,29Nm

Silniki hybrydowe są najnowocześniejszym typem silników krokowych [3]. Sil-nik hybrydowy jest bardziej kosztownym niż silnik z magnesem trwałym cechujesię za to lepszymi parametrami, jeśli chodzi o rozdzielczość i szybkość. Zasada

Page 37: Praca dyplomowa inżynierska: Projekt systemu wizyjnego robota … · 2020-03-10 · może być np.: sygnalizacja o położeniu elementów przedstawionych na obrazie, identyfikacja

4.4 Sterowanie kamerą 36

Rysunek 4.12: Silnik 39BYG402U

działania silnika opiera się na tym, że magnes trwały umieszczony na wirniku lubna stojanie wytwarza jednako biegunowy strumień magnetyczny, który zamykasię w obwodzie magnetycznym: stojan -szczelina powietrzna - wirnik. Po zasile-niu uzwojenia stojana impulsem sterującym, wzbudzony strumień magnetycznypod jednym biegunem stojana dodaje się do strumienia magnesów trwałych, poddrugim zaś odejmuje się. Wirnik zostaje wprowadzony w ruch tak, by osie zę-bów stojana i wirnika bieguna o strumieniu wzmacniającym pole magnetycznepokryły się.Typowe kąty silnika hybrydowego mieszczą się w zakresie 3,6 - 0,9 tj. 100 -

400 kroków na obrót. Silnik hybrydowy łączy w sobie zalety silnika ze zmiennąreluktancją i silnika z magnesem stałym. Rotor silnika ma wiele zębów i posia-da osiowo namagnesowane magnesy umieszczone koncentrycznie wokół osi. Zębyrotora zapewniają lepszą drogę przepływowi magnetycznemu co polepsza cha-rakterystyki momentu spoczynkowego i dynamicznego w porównaniu z silnikamiz magnesem stałym i reluktancyjnym.Zdecydowano się na wybór silnika krokowego ze względu na jego zalety, takie

jak:

• proporcjonalność kąta obrotu silnika do ilości impulsów wejściowych

• precyzyjne pozycjonowanie i powtarzalność ruchu

• możliwość bardzo szybkiego rozbiegu, hamowania i zmiany kierunku

• możliwość osiągnięcia bardzo niskich prędkości z obciążeniem umocowanymbezpośrednio na osi

Page 38: Praca dyplomowa inżynierska: Projekt systemu wizyjnego robota … · 2020-03-10 · może być np.: sygnalizacja o położeniu elementów przedstawionych na obrazie, identyfikacja

4.4 Sterowanie kamerą 37

• szeroki zakres prędkości obrotowych

Do sterowania silnikiem wykorzystano sterownik SUC63BK firmyWObit [4, 7](rysunek 4.13). Podawanie sygnału zegarowego na wejście CLK powoduje obrótsilnika - jeden okres to jeden krok, czyli obrót o 1,8°. Natomiast w zależności odpodawanego na wejście sygnału DIR (’0’ lub ’1’ logiczne) - silnik obraca się w lewąbądź prawą stronę. Dodatkowo wyprowadzone ze sterownika wyjścia 5V dajemożliwość do zasilania modemu radiowego oraz generatora sygnału zegarowego.

Rysunek 4.13: Sterownik SUC63BK

Generator sygnału zegarowego (rysunek 4.14)został zbudowany na bazie ukła-du ATtiny2313, a program do niego napisany w Assemblerze. Jego zadaniem jestpodawanie na wejście sterownika silnika sygnału CLK z jedną z zaprogramowa-nych częstotliwości.

Rysunek 4.14: Generator sygnału zegarowego

Wybór częstotliwości odbywa się za pomocą pinów PD3,4,6, co przedstawiatabela 4.3

Page 39: Praca dyplomowa inżynierska: Projekt systemu wizyjnego robota … · 2020-03-10 · może być np.: sygnalizacja o położeniu elementów przedstawionych na obrazie, identyfikacja

4.4 Sterowanie kamerą 38

Stan pinów CzęstotliwośćFunkcja

PD3,4,6 [Hz]000 stałe 0 stop001 40 prędkość1010 50 prędkość2011 60 prędkość3100 70 prędkość4101 80 prędkość5110 90 prędkość6111 100 prędkość7

Tabela 4.3: Wartości częstotliwości na wyjściu w zależności od stanów logicznychwejść

Wyjście kierunku z mikrokontrolera ATtiny2313 znajduje się pod pinem PB3,a clocka pod pinem PB4. W celu uzyskania stałej częstotliwości wykorzystano 16-bitowy timer1, który generuje przerwanie za każdym razem, gdy się przepełni.Wpisując odpowiednią wartość do rejestru TCNT1 można zmieniać częstotli-wość generowanych przerwań. W momencie przerwania następuje zmiana stanuwyjściowego na przeciwny. W wyniku przeprowadzonych testów okazało się, żeobliczone wartości wpisywane do rejestru timera nie dają w wyniku dokładnietakich częstotliwości, jakie podaje tabela. Dokładniej uzyskiwane częstotliwościzostały opisane w rozdziale 6.2

Rysunek 4.15: Wyprowadzony interfejs ISP

Dodatkowo, z uwagi na dochodzący do kamery kabel zasilania, postanowio-no ograniczyć ruch kamery do zakresu 180° (po 90° w każdą stronę od pozycjizerowej). Zostało to osiągnięte przez podanie sygnału kierunku obrotu kame-ry najpierw do układu ATtiny2313 i później doprowadzenie go w niezmienionejpostaci do sterownika. Dzięki temu rozwiązaniu jesteśmy w stanie zliczać genero-wane impulsy i zapisywać je w oddzielnym rejestrze. Pozycja środkowa (kamerausytuowana na wprost kierunku jazdy) odpowiada wartości 100. Każdy impulszegarowy powoduje zwiększenie bądź zmniejszenie tej wartości o 1. Gdy war-

Page 40: Praca dyplomowa inżynierska: Projekt systemu wizyjnego robota … · 2020-03-10 · może być np.: sygnalizacja o położeniu elementów przedstawionych na obrazie, identyfikacja

4.4 Sterowanie kamerą 39

tość w rejestrze dojdzie do 0 bądź 200 - nie jest możliwy dalszy obrót kameryw stronę, w którą się obracała. Aby umożliwić ręczne ustawianie pozycji środko-wej zmontowany został dodatkowo przycisk (SW1) podłączony pod przerwaniemikrokontrolera. Jego naciśnięcie powoduje zapis w rejestrze wartości 100. Przy-cisk SW2 powoduje reset mikrokontrolera. Aby umożliwić łatwe programowanieukładu, zostało obok wyprowadzone złącze ISP opisane na rysunku 4.15.Na oddzielnej płytce (rysunek 4.16) zostały umieszczone elementy pomocne

przy podłączaniu silnika, sterownika, modemu i generatora. Poza tym, na płytceznajduje się jeszcze stabilizator napięcia 6V (7806), z którego jest dostarczanenapięcie do kamery (rysunek 4.17).

Rysunek 4.16: Płytka rozdzielająca napięcia i sygnały do silnika, sterownika, mo-demu i generatora

Rysunek 4.17: Stabilizator napięcia 6V

Page 41: Praca dyplomowa inżynierska: Projekt systemu wizyjnego robota … · 2020-03-10 · może być np.: sygnalizacja o położeniu elementów przedstawionych na obrazie, identyfikacja

Rozdział 5

Oprogramowanie do sterowaniaMobotem i akwizycji obrazu

Do sterowania robotem oraz odczytu i zapisu na dysku twardym obrazu z ka-mery stworzone zostało autorskie oprogramowanie, gdyż aplikacje dostarczonedo obsługi kamery oraz modemu firmy ARIES nie posiadały wymaganej funkcjo-nalności. Program „Motor Raider” został napisany w języku C# przy pomocyprogramu Visual Studio 2005. Wykorzystano w nim bibliotekę Direct Show .NET,która w znacznym stopniu ułatwia odczyt obrazu z kamery i jego archiwizacje.Poszczególne moduły programu zostały opisane w kolejnych podrozdziałach.

Rysunek 5.1: Główny panel programu

Page 42: Praca dyplomowa inżynierska: Projekt systemu wizyjnego robota … · 2020-03-10 · może być np.: sygnalizacja o położeniu elementów przedstawionych na obrazie, identyfikacja

5.1 Sterowanie robotem mobilnym przy użyciu modemu radiowego 41

5.1 Sterowanie robotem mobilnym przy użyciumodemu radiowego

W pierwszej kolejności należy wybrać port szeregowy w komputerze, do któ-rego podłączony jest moduł wysyłający, a następnie kliknąć przycisk „Połącz”.Jeżeli port ten będzie zajęty, tzn. inny program już z niego korzysta, na paskustanu pojawi się odpowiedni komunikat, przedstawiony na rysunku 5.2:

Rysunek 5.2: Błąd: brak dostępu

Program posiada również zabezpieczenie przed otwarciem portu używanegojuż przez „Robot Raider’a”, zobrazowane na rysunku 5.3:

Rysunek 5.3: Błąd: port otwarty

Pasek stanu informuje użytkownika także o poprawnym wykonaniu proceduryotwarcia oraz zamknięcia odpowiednich portów.Jeżeli połączenie z modułem wysyłającym zostało ustanowione, można zacząć

sterować robotem. W tym celu należy użyć przycisków „Do przodu”, „Do tyłu”,„Lewo”, „Prawo” oraz „Stop”. Po przyciśnięciu któregoś z tych przycisków robotwykonuje żądaną operację, aż do wysłania innej komendy. Ponieważ sam Mobotskonstruowany jest tak, że nagła zmiana kierunku jazdy na przeciwny częstokończy się nieprawidłową pracą silników, dlatego w programie zaimplementowa-no procedury mające na celu wyeliminowanie tego zjawiska. Przy komendachodpowiedzialnych za zmianę kierunku ruchu najpierw wysyłana jest komenda„Stop”, a następnie inicjowany jest ruch w wybranym kierunku. Przykładowykod programu odpowiedzialny za ruch do przodu został pokazany na rysunku5.4.

Rysunek 5.4: Funkcja odpowiedzialna za ruch Mobota do przodu

Powższa funkcja stosuje również opóźnienie wysłania komendy ruchu po ko-mendzie „Stop”. Zostało to zastosowane z uwagi na niedużą prędkość przesyłania

Page 43: Praca dyplomowa inżynierska: Projekt systemu wizyjnego robota … · 2020-03-10 · może być np.: sygnalizacja o położeniu elementów przedstawionych na obrazie, identyfikacja

5.2 Odczyt obrazu z kamery 42

danych przed modem oraz w celu zapewnienia Robotowi odpowiedniego czasu nazatrzymanie się. Zwiększanie i zmniejszanie prędkości ruchu realizowane jest zapomocą odpowiednio przycisków „Szybciej” i „Wolniej”, których realizacja pro-gramowa jest taka sama, jak funkcji ruchu.Sposób obracania kamerą jest podobny do sterowania robotem. W pierw-

szej kolejności należy ustawić prędkość obrotu używając suwaka. Po uruchomie-niu programu prędkość ustawiona jest na 0. Jeżeli chcemy ją zmienić, wystarczyprzeciągnąć myszką strzałkę ustawiając ją na odpowiednim poziomie. Jeżeli usta-wimy już odpowiednią prędkość, to możemy sterować obrotem kamery naciskająci przytrzymując przyciski „Lewo” lub „Prawo”. Kamera obraca się do momentuosiągnięcia maksymalnego kąta wychylenia.

5.2 Odczyt obrazu z kamery

W celu odczytu obrazu z odbiornika podłączonego do portu USB wykorzy-stano technologię DirectShow umożliwiającą obsługę strumieni wideo i audio naplatformach Microsoft Windows. Pozwala ona między innymi odtwarzanie pli-ków medialnych, pobieranie obrazu i dźwięku z urządzeń zewnętrznych takichjak kamery cyfrowe i karty telewizyjne, kodowanie/dekodowanie strumienia orazdostęp do poszczególnych klatek ideo i ich przetwarzanie. DirectShow obsługujewiększość popularnych plików medialnych (m.in. AVI, WAV, ASF, MIDI) orazformatów kompresji (MPEG-1, MPEG-4, MP3).W pierwszej kolejności należy wybrać urządzenie, z którego będziemy prze-

chwytywać sygnał wideo/audio spośród tych, które zainstalowane są na kompu-terze użytkownika komputerze. Dokonuje się tego z poziomu menu „Urządzenia”,co zostało zaprezentowane na rysunku 5.5:

Rysunek 5.5: Menu wyboru urządzenia wideo

Po wykonaniu tej operacji można uruchomić podgląd obrazu z kamery naci-skając przycisk „Podgląd”. Jeżeli urządzenie zostało poprawnie podłączone, naformatce powinno wyświetlić się okno umożliwiające podgląd strumienia wideo,widoczne na rysunku 5.6.Istnieje również możliwość wywołania okien pozwalających na zmianę para-

metrów obrazu otrzymywanego z wybranego urządzenia. Operacje te inicjujemyuruchamiając z menu „Ustawienia” odpowiednie okna dialogowe (rysunek 5.7).Dla przykładu okno Video Capture Device umożliwia zmianę formatu wy-

świetlanego obrazu na SECAM lub NTSC (rysunek 5.8).

Page 44: Praca dyplomowa inżynierska: Projekt systemu wizyjnego robota … · 2020-03-10 · może być np.: sygnalizacja o położeniu elementów przedstawionych na obrazie, identyfikacja

5.2 Odczyt obrazu z kamery 43

Rysunek 5.6: Podgląd obrazu z kamery

Rysunek 5.7: Opcje wideo

Rysunek 5.8: Dialog opcji wideo

Page 45: Praca dyplomowa inżynierska: Projekt systemu wizyjnego robota … · 2020-03-10 · może być np.: sygnalizacja o położeniu elementów przedstawionych na obrazie, identyfikacja

5.3 Zapis obrazu z kamery na dysku twardym 44

Przydatna jest również zakładka odpowiedzialna za parametry obrazu (ja-sność, kontrast, odcień i nasycenie), zaprezentowana na rysunku 5.9.

Rysunek 5.9: Dostosowanie opcji obrazu

Jest to bardzo wygodne narzędzie, z którego prosto i szybko można korzystaćw trakcie akwizycji obrazu. Jego główną zaletą jest to, że ustawienia zmieniane sąz poziomu sterownika urządzenia, dlatego ich rezultat jest momentalnie widocz-ny na obrazie z kamery. Wpływ poszczególnych parametrów na obraz ilustrujerysunek 5.10Dodatkowo ustawienia są na stałe zapisywane w plikach konfiguracyjnych,

więc nie ma potrzeby kalibracji obrazu przy każdym uruchomieniu kamery.

5.3 Zapis obrazu z kamery na dysku twardym

Strumień wideo odczytywany z kamery USB możemy zapisać w postaci po-jedynczych zdjęć lub pliku z filmem w formacie *.avi. W celu zachowania nadysku aktualnie wyświetlanej klatki obrazu naciskamy przycisk „Zrzuć”. Wyni-kiem tej operacji będzie zapisanie na dysku zdjęć w formacie *.jpg o takiej samejrozdzielczości , jak obraz otrzymywany z kamery. Aby łatwiej archiwizować zapi-sywane pliki, ich nazwa składa się z daty oraz godziny utworzenia danego zrzutuekranowego. Plik z filmem *.avi tworzymy z kolei naciskając przycisk „Nagry-waj”. Po tej operacji do pliku zostaną zapisywane kolejne klatki wideo. Należypamiętać, ze jest to plik nieskompresowany, dlatego nie należy stosować zbyt dłu-gich nagrań, gdyż może to wyczerpać dostępną wolną przestrzeń dyskową. Jeżelichcemy skończyć nagrywanie filmu naciskamy przycisk „Stop”. Zachowany plikmożemy wtedy odczytać np. przy użyciu odtwarzacza Windows Media Player.

Page 46: Praca dyplomowa inżynierska: Projekt systemu wizyjnego robota … · 2020-03-10 · może być np.: sygnalizacja o położeniu elementów przedstawionych na obrazie, identyfikacja

5.3 Zapis obrazu z kamery na dysku twardym 45

(a) Obraz oryginalny (b) Obraz czarno-biały

(c) Obraz ze zwiększoną jasnościąi kontrastem

(d) Obraz ze zwiększonym kontra-stem i nasyceniem

Rysunek 5.10: Wpływ parametrów obrazu

System nazewnictwa filmów jest taki sam, jak w przypadku zrzutów ekranowych.Użytkownik ma jednak możliwość wyboru, do którego katalogu program ma za-pisywać plik, wybierając odpowiednie ścieżki w opcjach „Ścieżka zapisu zdjęć”i „Ścieżka zapisu wideo” w menu „Ustawienia”.Program do sterowania robotem oraz akwizycji obrazu został napisany obiek-

towo. Umożliwia to wykorzystanie jego poszczególnych modułów w innych projek-tach, jak również ułatwia jego rozbudowę o dodatkowe komponenty, np. algoryt-my rozpoznawania kształtów. Warto również zauważyć, iż w stworzonej aplikacjizaimplementowano mechanizmy zabezpieczające przez błędami mogącymi poja-wić się w trakcie jego użytkowania, czego nie posiadały programy dostarczonezarówno Mobotem, jak i modemem ARIES.

Page 47: Praca dyplomowa inżynierska: Projekt systemu wizyjnego robota … · 2020-03-10 · może być np.: sygnalizacja o położeniu elementów przedstawionych na obrazie, identyfikacja

Rozdział 6

Analiza systemu wizyjnego

Testy przeprowadzono w pomieszczeniu zamkniętym. Ze względu na złe wa-runki pogodowe niemożliwe było przeprowadzenie testów w przestrzeni otwartej.Analiza obejmowała:

• Badanie zasięgu sygnału modemu radiowego

• Badanie zasięgu sygnału nadajnika kamery

• Sprawdzanie jakości obrazu kamery w zależności od odległości od nadajnika

6.1 Testy odległościowe

Analiza została przeprowadzona w Domu Studenckim Nr 1. Nadajnik modemuradiowego w wersji standard i odbiornik sygnału kamery znajdowały się w po-mieszczeniu laboratoryjnym nr 3 na parterze, natomiast Mobot został umiesz-czony kolejno na:

• parterze

• I piętrze

• II piętrze

Pomimo, iż oba urządzenia wykorzystują fale radiowe do transmisji danych,ich zasięg różni się. Testy wykazały, że kamera wysyła obraz na mniejszą odle-głość niż modem radiowy, co jest związane z pracą tych urządzeń na różnychczęstotliwościach - kamera działa w paśmie 2,4 GHz, natomiast modem 434,026Mhz.Na parterze modemy radiowe komunikowały się bez zakłóceń na całej po-

wierzchni badanego obszaru, natomiast sygnał z kamery tracił jakość w miarę

Page 48: Praca dyplomowa inżynierska: Projekt systemu wizyjnego robota … · 2020-03-10 · może być np.: sygnalizacja o położeniu elementów przedstawionych na obrazie, identyfikacja

6.1 Testy odległościowe 47

(a) Widok z kamery (b) Ten sam widok 0.5m dalej

Rysunek 6.1: Zakłócenia obrazu z kamery na parterze

oddalania się od źródła sygnału. Gdy między robotem a komputerem znajdo-wały się dwie ściany, obraz z kamery zanikał zupełnie. Przedstawia to rysunek6.1Na I piętrze nad laboratorium nr 3 obraz z kamery był dobrej jakości, na-

tomiast w miarę oddalania się od laboratorium zakłócenia zwiększały się 6.2a ażw odległości ok. 25m obraz zanikł zupełnie 6.2b. Modem radiowy natomiast nacałym I piętrze działał bez zarzutów.

(a) Widok z kamery (b) Ten sam widok 0.5m dalej

Rysunek 6.2: Zakłócenia obrazu z kamery na I piętrze

Na II piętrze nad laboratorium nr 3 modem radiowy odbierał poprawnierozkazy z komputera, natomiast po oddaleniu się o ok. 5m na korytarzu - sygnałzostał utracony i nie dało się już sterować robotem. Obrazu z kamery nie było nacałym II piętrze.

Page 49: Praca dyplomowa inżynierska: Projekt systemu wizyjnego robota … · 2020-03-10 · może być np.: sygnalizacja o położeniu elementów przedstawionych na obrazie, identyfikacja

6.2 Częstotliwość generowanego sygnału zegarowego 48

6.2 Częstotliwość generowanego sygnału zega-rowego

Zgodnie z opisem w rozdziale 4.4, z powodu użycia wewnętrznego oscylatoraw mikrokontrolerze ATtiny2313, obliczona częstotliwość nie odpowiada dokładnierzeczywistości. Jest to wynikiem użycia wewnętrznego oscylatora zintegrowanegoz układem, którego dokładność wg producenta wynosi ±10%. Prawdziwe, zmie-rzone wartości przedstawia tabela 6.1. Na jej podstawie można obliczyć, że czę-stotliwość taktowania mikrokontrolera nie wynosi dokładnie 1Mhz, a 1,015MHz.Błąd więc zawiera się w granicy deklarowanej przez producenta i wynosi w tymprzypadku 1,015%. Należy nadmienić, iż błąd ten nie ma żadnego wpływu na pra-cę układu sterowania kamerą.

Częstotliwość Częstotliwośćteoretyczna rzeczywista100 101.590 91.380 81.270 70.960 60.850 50.740 40.6

Tabela 6.1: Częstotliwość teoretyczna a rzeczywista

Page 50: Praca dyplomowa inżynierska: Projekt systemu wizyjnego robota … · 2020-03-10 · może być np.: sygnalizacja o położeniu elementów przedstawionych na obrazie, identyfikacja

Rozdział 7

Podsumowanie

Głównym założeniem w pracy była budowa systemu wizyjnego robotamobilnego. Cel ten został osiągnięty poprzez wyposażenie robota w kameręumożliwiającą obserwację otoczenia w jakim robot miałby się poruszać, przezzbudowanie systemu bezprzewodowej transmisji danych oraz przez realizacjeprogramową akwizycji obrazu zebranego przy pomocy kamery.

Szczegółowy zakres pracy obejmował:

• wybór sposobu bezprzewodowego przesyłania instrukcji do robota

• wybór odpowiedniego modemu spośród urządzeń oferowanych na rynku

• dobór i zakup odpowiedniego silnika i sterownika do poruszania kamerą

• zaprojektowanie uniwersalnego generatora sygnału zegarowego potrzebnegodo sterowania silnikiem krokowym

• dobranie i zakup kamery o odpowiednich parametrach

• zaprogramowanie zakupionego modemu bezprzewodowego w celu dostoso-wania go do sterowania robotem mobilnym

• zaprogramowanie robota mobilnego do interpretacji rozkazów przysyłanychdo niego za pomocą modemu radiowego

• napisanie programu do mikrokontrolera AVR odpowiedzialnego za sterowa-nie kamerą umieszczoną na robocie

• stworzenie aplikacji do sterowania robotem i odbioru oraz akwizycji obrazuz kamery internetowej

W celu weryfikacji poprawności wykonania projektu przeprowadzono kilkatestów. Analiza realizacji systemu wizyjnego opisanego w rozdziale szóstym, jest

Page 51: Praca dyplomowa inżynierska: Projekt systemu wizyjnego robota … · 2020-03-10 · może być np.: sygnalizacja o położeniu elementów przedstawionych na obrazie, identyfikacja

50

dowodem na to iż stanowisko zostało zbudowane poprawnie i spełnia wszystkiezałożenia projektowe.

W trakcie realizacji projektu napotkano na kilka różnych problemów:

1. Modemy zakupione w firmie Aries, początkowo były niedostosowane do na-szych potrzeb. W ostateczności po poprawieniu kodu programowego możnabyło w pełni wykorzystać ich możliwości.

2. Kolejnym problemem był sposób mocowania kamery do silnika. Po wielurozważaniach wywnioskowano, że najlepiej będzie umieścić kamerę bezpo-średnio na osi silnika. Wykonany samodzielnie uchwyt trzymający posiadagumę, która dodatkowo amortyzuje niedokładności pracy krokowej silnika.

3. Następną przeszkodą, którą dość szybko pokonano, było wysterowanie sil-nika tak, aby ograniczyć zakres obrotu i wyznaczyć pozycję „zerową”. Roz-wiązanie ograniczenia obrotu osi silnika rozwiązano przez wpisanie do mi-krokontrolera poleceń zliczających ilość impulsów podawanych na silnik iograniczenie ich wartości skrajnych. Pozycję zerowania położenia rozwiązu-je przycisk zamontowany na płytce, który zeruje liczbę zliczanych wcześniejimpulsów.

Po rozwiązaniu wszystkich problemów stwierdzono, że sprawnie działającyukład może pełnić rolę stanowiska laboratoryjnego. Dodatkowo zbudowany sys-tem daje możliwośći rozbudowy:

• Możliwe jest dodanie jednej płaszczyzny obrotu kamery.

• Można zamontować sensory odległości i położenia, aby robot jeździł powyznaczonym torze i nie zderzał się z przeszkodami.

• Dodatkową opcją jest podłączenie małych reflektorów do rozświetlania ob-szaru widzenia przy słabej widoczności.

Page 52: Praca dyplomowa inżynierska: Projekt systemu wizyjnego robota … · 2020-03-10 · może być np.: sygnalizacja o położeniu elementów przedstawionych na obrazie, identyfikacja

Bibliografia

[1] Strona internetowa http://www.asimo.pl.

[2] Strona internetowa http://www.robotyka.com.

[3] Strona internetowa http://www.silniki.pl.

[4] Strona internetowa http://www.wobit.com.pl.

[5] Dokumentacja modemu miface, 2006.

[6] Specyfikacja silnika 39BYG402U, 2006.

[7] Specyfikacja sterownika SUC63BK, 2006.

[8] M. Ciecholewski. Algorytm pseudokolorowania obrazów medycznych. Elek-trotechnika i Elektronika, 2005.

[9] P. Cieśla. Instalacja automatyki w polsce. Biuletyn automatyki nr 3/2002,2002.

[10] T. Kindberg G. Coulouris, J. Dollimore. Systemy rozproszone. Podstawy iprojektowanie. WNT, 1997.

[11] M. Iwanowski. Inteligentne maszyny i systemy. PhD thesis, PolitechnikaWarszawska, 2006.

[12] J. Szala L. Wojnar, K.J. Kurzydłowski. Praktyka analizy obrazu. PTS,Kraków, 2002.

[13] P. Podgórski M. Bartyś, R. Chojecki. Robotyka mobilna. PhD thesis, Poli-technika Warszawska, 2001.

[14] W. Żylski M. J. Giergiel, Z. Hendzel. Modelowanie i sterowanie mobilnychrobotów. Wydawnictwo Naukowe PWN, 2002.

[15] H. Tylick M. T. Hoske. Systemy wizyjne maszyn. Control EngineeringPolska, 2006.

Page 53: Praca dyplomowa inżynierska: Projekt systemu wizyjnego robota … · 2020-03-10 · może być np.: sygnalizacja o położeniu elementów przedstawionych na obrazie, identyfikacja

BIBLIOGRAFIA 52

[16] C. Pochrubniak. Automatyczne systemy wizyjne. Control Engineering Pol-ska, 2005.

[17] K. Wiatr. Akceleracja obliczeń w systemach wizyjnych. WNT, 2003.