ZASTOSOWANIE METOD PRZETWARZANIA I ANALIZY OBRAZU W PROCESIE KALIBRACJI OPROGRAMOWANIA STERUJĄCEGO PRZEGUBAMI ROBOTA KROCZĄCEGO

Podobne dokumenty
ZASTOSOWANIE METOD PRZETWARZANIA I ANALIZY OBRAZU W OPTYMALIZACJI RÓWNAŃ RUCHU CZTERONOŻNEGO ROBOTA KROCZĄCEGO

Roboty przemysłowe. Wprowadzenie

Politechnika Warszawska Wydział Samochodów i Maszyn Roboczych Instytut Podstaw Budowy Maszyn Zakład Mechaniki

Automatyczne tworzenie trójwymiarowego planu pomieszczenia z zastosowaniem metod stereowizyjnych

Rozszerzony konspekt przedmiotu Inteligentne maszyny i systemy

Rozpoznawanie obrazów na przykładzie rozpoznawania twarzy

Rozszerzony konspekt preskryptu do przedmiotu Podstawy Robotyki

Politechnika Warszawska Wydział Samochodów i Maszyn Roboczych Instytut Podstaw Budowy Maszyn Zakład Mechaniki

Podstawy robotyki - opis przedmiotu

ANALIZA KINEMATYCZNA PALCÓW RĘKI

Projekt rejestratora obiektów trójwymiarowych na bazie frezarki CNC. The project of the scanner for three-dimensional objects based on the CNC

Use of the ball-bar measuring system to investigate the properties of parallel kinematics mechanism

Dwufazowy system monitorowania obiektów. Karina Murawko, Michał Wiśniewski

Mechatronika i inteligentne systemy produkcyjne. Modelowanie systemów mechatronicznych Platformy przetwarzania danych

MODEL MANIPULATORA O STRUKTURZE SZEREGOWEJ W PROGRAMACH CATIA I MATLAB MODEL OF SERIAL MANIPULATOR IN CATIA AND MATLAB

Wizja maszynowa w robotyce i automatyzacji Kod przedmiotu

Serwomechanizm - zamknięty układ sterowania przemieszczeniem, o strukturze typowego układu regulacji. Wartość wzorcowa porównywana jest z

SYSTEM BIOMETRYCZNY IDENTYFIKUJĄCY OSOBY NA PODSTAWIE CECH OSOBNICZYCH TWARZY. Autorzy: M. Lewicka, K. Stańczyk

Wyznaczanie sił w przegubach maszyny o kinematyce równoległej w trakcie pracy, z wykorzystaniem metod numerycznych

ZASTOSOWANIE TECHNOLOGII WIRTUALNEJ RZECZYWISTOŚCI W PROJEKTOWANIU MASZYN

WYBÓR PUNKTÓW POMIAROWYCH

Ćw. 18: Pomiary wielkości nieelektrycznych II

Proces technologiczny. 1. Zastosowanie cech technologicznych w systemach CAPP

SPOSOBY POMIARU KĄTÓW W PROGRAMIE AutoCAD

2.2 Opis części programowej

Nowa metoda pomiarów parametrów konstrukcyjnych hełmów ochronnych z wykorzystaniem skanera 3D

System automatycznego odwzorowania kształtu obiektów przestrzennych 3DMADMAC

Szybkie prototypowanie w projektowaniu mechatronicznym

PRACA DYPLOMOWA MAGISTERSKA

WIZUALIZACJA I STEROWANIE ROBOTEM

Wykrywanie twarzy na zdjęciach przy pomocy kaskad

Samochodowy system detekcji i rozpoznawania znaków drogowych. Sensory w budowie maszyn i pojazdów Maciej Śmigielski

Automatyka i Robotyka II stopień ogólno akademicki

Efekty kształcenia na kierunku AiR drugiego stopnia - Wiedza Wydziału Elektrotechniki, Automatyki i Informatyki Politechniki Opolskiej

Diagnostyka procesów

WPŁYW METODY DOPASOWANIA NA WYNIKI POMIARÓW PIÓRA ŁOPATKI INFLUENCE OF BEST-FIT METHOD ON RESULTS OF COORDINATE MEASUREMENTS OF TURBINE BLADE

KATEDRA MECHANIKI I PODSTAW KONSTRUKCJI MASZYN. Instrukcja do ćwiczeń laboratoryjnych z elementów analizy obrazów

PRACA PRZEJŚCIOWA SYMULACYJNA. Zadania projektowe

Manipulator OOO z systemem wizyjnym

PRZEWODNIK PO PRZEDMIOCIE

ZESZYTY NAUKOWE POLITECHNIKI ŚLĄSKIEJ 2014 Seria: TRANSPORT z. 82 Nr kol. 1903

W poszukiwaniu sensu w świecie widzialnym

PRZEWODNIK PO PRZEDMIOCIE

Algorytmy decyzyjne będące alternatywą dla sieci neuronowych

Ćw. 18: Pomiary wielkości nieelektrycznych II

PRZEWODNIK PO PRZEDMIOCIE

Cel i zakres ćwiczenia

Aproksymacja funkcji a regresja symboliczna

MODEL STANOWISKA DO BADANIA OPTYCZNEJ GŁOWICY ŚLEDZĄCEJ

Metody kodowania wybranych cech biometrycznych na przykładzie wzoru naczyń krwionośnych dłoni i przedramienia. Mgr inż.

Zygmunt Wróbel i Robert Koprowski. Praktyka przetwarzania obrazów w programie Matlab

Projekt współfinansowany ze środków Europejskiego Funduszu Rozwoju Regionalnego w ramach Programu Operacyjnego Innowacyjna Gospodarka

Rok akademicki: 2012/2013 Kod: JFM s Punkty ECTS: 3. Poziom studiów: Studia I stopnia Forma i tryb studiów: Stacjonarne

OpenAI Gym. Adam Szczepaniak, Kamil Walkowiak

Wykaz tematów prac magisterskich w roku akademickim 2018/2019 kierunek: informatyka

Sztuczna Inteligencja Tematy projektów Sieci Neuronowe

MODELOWANIE POŁĄCZEŃ TYPU SWORZEŃ OTWÓR ZA POMOCĄ MES BEZ UŻYCIA ANALIZY KONTAKTOWEJ

Mechanika Robotów. Wojciech Lisowski. 5 Planowanie trajektorii ruchu efektora w przestrzeni roboczej

METODA TWORZENIA TYPOSZEREGÓW KONSTRUKCJI MASZYN Z ZASTOSOWANIEM TEORII PODOBIEŃSTWA KONSTRUKCYJNEGO

Teoria maszyn i mechanizmów Kod przedmiotu

MODEL MANIPULATORA O DWÓCH STOPNIACH SWOBODY

Anna Fabijańska. Algorytmy segmentacji w systemach analizy ilościowej obrazów

WYDZIAŁ ELEKTROTECHNIKI I AUTOMATYKI KATEDRA AUTOMATYKI. Robot do pokrycia powierzchni terenu

w analizie wyników badań eksperymentalnych, w problemach modelowania zjawisk fizycznych, w analizie obserwacji statystycznych.

Cyfrowe przetwarzanie obrazów i sygnałów Wykład 8 AiR III

PRZEWODNIK PO PRZEDMIOCIE

Dostawa oprogramowania. Nr sprawy: ZP /15

Geometryczne podstawy obróbki CNC. Układy współrzędnych, punkty zerowe i referencyjne. Korekcja narzędzi

IMPLEMENTATION OF THE SPECTRUM ANALYZER ON MICROCONTROLLER WITH ARM7 CORE IMPLEMENTACJA ANALIZATORA WIDMA NA MIKROKONTROLERZE Z RDZENIEM ARM7

Porównanie generatorów liczb losowych wykorzystywanych w arkuszach kalkulacyjnych

Biomechanika Inżynierska

OKREŚLANIE WSPÓŁRZĘDNYCH KĄTOWYCH CELU PRZY UŻYCIU GŁOWICY WIZYJNEJ RAKIETY

Planowanie trajektorii narzędzia skrawającego koparki hydraulicznej

2.9. Kinematyka typowych struktur manipulatorów

Podstawy Automatyki. Wykład 7 - obiekty regulacji. dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

10. Redukcja wymiaru - metoda PCA

Integracja systemu CAD/CAM Catia z bazą danych uchwytów obróbkowych MS Access za pomocą interfejsu API

OKREŚLENIE WPŁYWU WYŁĄCZANIA CYLINDRÓW SILNIKA ZI NA ZMIANY SYGNAŁU WIBROAKUSTYCZNEGO SILNIKA

ROZKŁAD MATERIAŁU NAUCZANIA KLASA 1, ZAKRES PODSTAWOWY

Technologie informacyjne - wykład 12 -

PR kwietnia 2012 Mechanika Strona 1 z 5. XTS (extended Transport System) Rozszerzony System Transportowy: nowatorska technologia napędów

ROZKŁAD MATERIAŁU DO II KLASY LICEUM (ZAKRES ROZSZERZONY) A WYMAGANIA PODSTAWY PROGRAMOWEJ.

2) R stosuje w obliczeniach wzór na logarytm potęgi oraz wzór na zamianę podstawy logarytmu.

Sieciowe Sterowanie Robotem Przemysłowym KUKA KR3 Sprzężonego z Systemem Wizyjnym oraz Systemem Rozpoznawania Mowy

Relacja: III Seminarium Naukowe "Inżynierskie zastosowania technologii informatycznych"

Modelowanie jako sposób opisu rzeczywistości. Katedra Mikroelektroniki i Technik Informatycznych Politechnika Łódzka

PL B1. Mechanizm pedipulatora do ustawiania pozycji modułu napędowego, zwłaszcza robota mobilnego

SYSTEMY UCZĄCE SIĘ WYKŁAD 10. PRZEKSZTAŁCANIE ATRYBUTÓW. Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska.

Problem testowania/wzorcowania instrumentów geodezyjnych

Metody eksploracji danych w odkrywaniu wiedzy (MED) projekt, dokumentacja końcowa

Ćwiczenie 6. Transformacje skali szarości obrazów

Modelowanie, sterowanie i symulacja manipulatora o odkształcalnych ramionach. Krzysztof Żurek Gdańsk,

Lista zagadnień kierunkowych pomocniczych w przygotowaniu do egzaminu dyplomowego magisterskiego Kierunek: Mechatronika

REPREZENTACJA LICZBY, BŁĘDY, ALGORYTMY W OBLICZENIACH

Instrukcja do ćwiczenia jednopłaszczyznowe wyważanie wirników

Problem eliminacji nieprzystających elementów w zadaniu rozpoznania wzorca Marcin Luckner

TEORIA MECHANIZMÓW I MANIPULATORÓW

WYKORZYSTANIE MES DO WYZNACZANIA WPŁYWU PĘKNIĘCIA W STOPIE ZĘBA KOŁA NA ZMIANĘ SZTYWNOŚCI ZAZĘBIENIA

P R Z E T W A R Z A N I E S Y G N A Ł Ó W B I O M E T R Y C Z N Y C H

KAMERA AKUSTYCZNA NOISE INSPECTOR DLA SZYBKIEJ LOKALIZACJI ŹRÓDEŁ HAŁASU

Transkrypt:

MODELOWANIE INŻYNIERSKIE 2017 nr 65 ISSN 1896-771X ZASTOSOWANIE METOD PRZETWARZANIA I ANALIZY OBRAZU W PROCESIE KALIBRACJI OPROGRAMOWANIA STERUJĄCEGO PRZEGUBAMI ROBOTA KROCZĄCEGO Instytut Informatyki Teoretycznej i Stosowanej, Politechnika Częstochowska katarzyna.gospodarek@icis.pcz.pl Streszczenie W artykule przybliżono przebieg procesu implementacji systemu sterującego dla prostej, dwunożnej konstrukcji kroczącej. Szczególny nacisk położono na problemy pojawiające się podczas integracji oprogramowania odpowiadającego za proces generowania chodu z rzeczywistym modelem robota. Zaproponowano wykorzystanie dodatkowych, kalibracyjnych elementów programowych, pozwalających m.in. na śledzenie położenia kluczowych punktów konstrukcji podczas ruchu. Zostały one wykorzystane do korekcji wpływu niekorzystnych czynników takich jak niedokładność wykonania konstrukcji czy też skomplikowana geometria kończyn. Główna funkcjonalność dodatkowego oprogramowania kalibracyjnego została oparta na metodach i algorytmach związanych z zagadnieniami z dziedziny analizy i przetwarzania obrazów. Słowa kluczowe: przetwarzanie i analiza obrazu, śledzenie obiektów, analiza ruchu członów, robot kroczący THE USE OF THE IMAGE PROCESSING AND ANALYSIS METHODS FOR CALIBRATION PROCESS OF SOFTWARE WHICH CONTROL THE JOINTS OF WALKING ROBOT Summary This paper discusses the process of the implementation of the control system for simple, bipedal moving. Particular attention has been placed on the issues that arise during the integration of software responsible for gait generation process with the real model of the robot. It has been suggested to use additional, calibration software elements, include elements allowing to track the position of the key points of the structure during its movement. These have been used to correct the impact of adverse factors such as uncertainty in robot construction or the complicated geometry of the limbs. The main functionality of the additional, calibration software was based on methods and algorithms related to image processing and analysis. Keywords: image processing and analysis, object tracking, motion analysis for robot links, walking robot 1. WSTĘP W artykule przybliżono proces implementacji systemu sterującego ruchem maszyny kroczącej i zastosowaniu, w celu usprawnienia jego działania, metod związanych z przetwarzaniem i analizą obrazu. Przede wszystkim skupiono się na problemach pojawiających się podczas integracji oprogramowania odpowiadającego za proces realizacji chodu z rzeczywistym modelem robota. Na przykładzie prostej dwunożnej maszyny przedstawiono, jaki wpływ na ten proces mogą mieć rozwiązania konstrukcyjne zastosowane podczas jej budowy. Zwrócono 29

ZASTOSOWANIE METOD PRZETWARZANIA I ANALIZY OBRAZU W PROCESIE ( ) także uwagę na fakt, że wybrana konstrukcja, z różnych względów, nie zawsze może być wykonana na poziomie, który pozwoliłby zapewnić odpowiednie charakterystyki układu. W takim wypadku zapewnienie poprawnego przeniesienia ruchu przez układ kinematyczny, zgodnego z zakładanym równaniem ruchu można osiągnąć, wprowadzając odpowiednie elementy programowe, kalibrujące dany układ. W celu eliminacji wpływu niedoskonałości układu mechanicznego, do których należą m.in.: niewystarczająca dokładność wykonania poszczególnych elementów, zaburzona symetria pedipulatorów, czy też sposób powiązania układów napędowych ze stopniami swobody mogący wpływać na niedokładność współpracy powiązanych członów, zaproponowano metodę kalibracji współpracującej z programem odpowiadającym za sterowanie ruchem robota. Oprogramowanie odpowiadające za realizację procesu kalibracyjnego zostało zaimplementowane przy użyciu biblioteki wizyjnej OpenCV. Jego głównym celem jest wykorzystanie szeregu metod z dziedziny przetwarzania i analizy obrazu do identyfikacji położenia analizowanych członów robota oraz przekazaniu danych informacji do systemu sterującego (rys.8). Poruszaną w niniejszym opracowaniu tematykę cechuje interdyscyplinarny charakter, ponieważ łączy ono wiedzę z wielu zakresów, m.in. mechaniki, automatyki i informatyki. 2. PODSTAWY PROCESU GENEROWANIA WZORCA CHODU Na proces generowania wzorca chodu maszyny kroczącej wpływa znaczna ilość czynników, m.in.: cel działania maszyny, typ ze względu na rodzaj stabilności jej ruchów, liczba zastosowanych pedipulatorów, wybrany rodzaj chodu, czy też dokładność wykonania poszczególnych elementów. Głównym zadaniem oprogramowania sterującego jest umożliwienie odpowiedniego przemieszczania się danej maszyny z uwzględnieniem określonej konfiguracji tych czynników. Algorytmy odpowiedzialne za wyznaczanie wartości zmiennych przegubowych robota podczas ruchu opierają się przede wszystkim na analizie kinematyki danego układu oraz wyznaczaniu odpowiedniej konfiguracji poszczególnych członów w jej łańcuchach kinematycznych. Rys. 1. Schemat dwuczłonowego manipulatora typu podwójne wahadło Do podstawowych elementów w procesie generowania trajektorii ruchu każdej maszyny kroczącej należą operacje związane z implementacją wyznaczania odwrotnego zadania kinematyki. W większości przypadków rozwiązanie tego zagadnienia nie jest skomplikowane, szczególnie gdy związane jest z generowaniem trajektorii końcówki pedipulatora w przestrzeni dwuwymiarowej. Na tego rodzaju uproszczenie pozwala zastosowanie w obliczeniach podejścia geometrycznego, które umożliwia dekompozycję geometrii przestrzennej analizowanego układu [11]. Rys. 1 obrazuje istotę podejścia geometrycznego w odniesieniu do zagadnienia odwrotnego zadania kinematyki. Schemat opisujący geometrię prostego układu (pedipulatora zbudowanego z dwóch członów i dwóch przegubów obrotowych) umożliwia wyznaczenie zmiennych przegubowych na podstawie zależności trygonometrycznych: =+ (1) = +arcsin!" (2) # = $%! & ' & # ' (3) Powyższe wzory powstały na podstawie twierdzenia cosinusów, które pozwala na określenie związku pomiędzy wybranym kątem rozpatrywanego trójkąta i długościami wszystkich jego boków oraz dwuargumentowej funkcji arcus tangens. Zastosowane zależności pozwalają na uzyskanie pełnego zbioru rozwiązań odwrotnego zadania kinematycznego dla analizowanego przypadku. Trudności pojawiające się podczas implementacji systemu sterującego ruchem robotów kroczących rzadko są związane z obliczeniami odwrotnego zadania kinematyki. W wielu przypadkach natomiast wynikają z samej budowy maszyny. W szczególności dotyczy to rozbieżności pomiędzy wartościami wyznaczanymi dla zmiennych przegubowych i wartościami uzyskiwanymi przez sterowane obiekty w rzeczywistości. 3. WPŁYW KINEMATYCZNEJ STRUKTURY PEDIPULATORA Podczas integracji oprogramowania odpowiadającego za realizację chodu z rzeczywistym modelem robota często ujawnia się, jak duży wpływ na ten proces mają zastosowane w nim rozwiązania konstrukcyjne. Jednym z kluczowych elementów mogących wpływać na proces generowania chodu robota jest zastosowana struktura kinematyczna pedipulatorów. Bardzo istotny jest tu sposób powiązania silników sterujących ze stopniami swobody, który może wpływać na niedokładność współpracy elementów połączonych w parze kinematycznej [12]. 30

Z punktu widzenia implementacji oprogramowania sterującego skomplikowane połączenia napędów ze stopniami swobody, np. zastosowanie dużej liczby czło- W takich nów pośredniczących, są bardzo niekorzystne. przypadkach pojawiają się rozbieżności pomiędzy rze- układ czywistymi kątami osiąganymi przez analizowany podczas ruchu a wartościami sterującymi zmiennymi przegubowymi generowanymi przez oprogramowanie. Analizowany układ został przedstawiony na rys. 3. Jest to prosty, dwunożny robot kroczący zbudowany z pro- kończyn, z stokątnego korpusu i dwóch identycznych których każda posiada dwa stopnie swobody. Za realiza- odpowiadają cję ruchów obrotowych w przegubach serwomechanizmy. Struktura kinematyczna zastosowanych pedipulatorów przedstawiona na rys. 2. odpowiada geometrii charakterystycznej dla prostego układu typu podwójne wahadło. Rys. 2. Struktura kinematyczna pedipulatora dwa przeguby obrotowe Na rys. 2 przedstawiona została struktura kinematyczna pedipulatora prostego dwunożnego robota kroczącego. W analizowanym przypadku tylko jeden z napędów (s1) urządzenia jest bezpośrednio połączony ze przegubem. Ruch obrotowy w drugim z analizowanych przegubów jest realizowany przez napęd (s2) umiejscowiony wzglę- sterowania dem niego w znacznej odległości. Podczas kątem dla danej pary kinematycznej pedipulatora biorą udział dodatkowe człony pośredniczące. W konstrukcjach mechanicznych rozbieżności lub nieli- analiz,, niowe charakterystyki, uzyskiwane podczas mogą wynikać nie tylko z zastosowanych rozwiązań konstrukcyjnych. Bardzo ważnym aspektem jest m.in. zachowanie symetrii pedipulatorów, czy też dokładność wykonania poszczególnych elementów. Tab. 1 przedsta- obydwu wia kluczowe wymiary geometryczne dotyczące pedipulatorów analizowanej maszyny. Na jej podstawie można stwierdzić, że testowany układ charakteryzują pewne niedoskonałości, wynikające m.in. z niewystarcza- jącej dokładności wykonania. Tab. 1. Wymiary geometryczne podstawowych elementów pedipulatorów Człon/Pedipulator Lewy [mm] L1 124,2 L2 105,7 L3 156,8 zawierającego Prawy [mm] 125,6 107,1 156,1 4. KONSTRUKCJA I SYSTEM STERUJĄCY Rys. 3. Analizowana maszyna krocząca Każdy z wykorzystywanych napędów ma możliwość osiągania kątów z zakresu <0 rad; π rad>. Jednak ze względu na ograniczenia konstrukcyjne późniejszej analizie zostały poddane zawężone zakresy zmiennych przegubowych przedstawione na rys. 4. Rys. 4. Zastosowane zakresy kątowe dla wykorzystywanych przegubów System odpowiedzialny za sterowanie pracą elementów wykonawczych został oparty na module Arduino Mega 2560. Podstawową funkcjonalnością zaimplementowane- związane z generowa- go oprogramowania były operacje niem odpowiednich sygnałów PWM sterujących serwomechanizmami podczas testów. Do jego głównych zadań należały również operacje związane z zarządzaniem przebiegiem całego procesu kalibracyjnego. Zarządzanie to było ściśle powiązane z odpowiednią komunikacją z oprogramowaniem zewnętrznym odpowiedzialnym za analizę obrazu wideo zawierającego bieżące pozycje testowanych członów robota. 5. OPROGRAMOWANIE ANALIZUJĄCE RUCH CZŁONÓW Oprogramowanie odpowiadające za analizę nagrania ruchu robota, wykorzystywane zarówno podczas testów jak i procesu kalibracyjnego opisywanej konstrukcji, zostało oparte na funkcjach udostępnianych przez biblio- zastosowanie w tekę OpenCV. Biblioteka ta znajduje coraz większej ilości obszarów wykorzystujących prze- twarzanie i analizę obrazu. Jest to wynikiem ciągłego udoskonalania tej biblioteki wizyjnej, co w szczególności 31

ZASTOSOWANIE METOD PRZETWARZANIA I ANALIZY OBRAZU W PROCESIE ( ) jest widoczne w zakresie jej rozwoju jako narzędzia umożliwiającego tworzenie efektywnych aplikacji wizyj- nych pracujących w czasie rzeczywistym[2]. Podstawową bazą dla zbudowanego były metody i algorytmy związane z oprogramowania zagadnieniami z dziedziny przetwarzania obrazów. Programy stworzone na potrzeby przeprowadzenia procesu kalibracyjnego oraz analizy jego wyników odpowiadają przede wszyst- przez stawy kim za pomiar wartości kątów osiąganych kończyny robota na podstawie obrazu wideo. Schemapomiar opiera się tycznie proces ten ilustruje rys. 5. Sam na wykorzystaniu szeregu różnych metod związanych z analizą przechwytywanego obrazu, które umożliwiają wyznaczenie aktualnych pozycji dla kluczowych punk- zbioru został tów konstrukcji. Każdy z punktów danego wyróżniony za pomocą znacznika o unikalnym kolorze. Zabieg ten znacząco upraszcza ich późniejszą identyfi- na podstawie kację oraz śledzenie ich przemieszczeń zarejestrowanego obrazu wideo. Dzięki temu, że każdy z danych punktów został opatrzony kolorowym znaczni- można było kiem, proces analizy ich przemieszczeń powiązać z zagadnieniem detekcji obiektów na podstawie ich koloru. Rys. 5. Schemat reprezentujący proces detekcji wartości zmiennych przegubowych robota na podstawie zarejestrowanego obrazu wideo 6. SEGMENTACJA OBIEKTÓW NA PODSTAWIE KOLORU W celu wyodrębnienia obiektów z obrazów cyfrowych oraz ich późniejszej reprezentacji można wykorzystać bardzo wiele zróżnicowanych cech, m.in. wybrane punkdopasowanie do ty, kształt, kolor, kontury, czy np. szablonu. Zawsze jednak należy zwracać uwagę na istnienie bardzo silnego związku między sposobem reprezentacji obiektów i wykorzystywanymi w kolejnych etapach algorytmami śledzącymi [8]. Podczas pracy nad oprogramowaniem zdecydowano się na wykorzystanie algorytmu CamShift jako metody odpowiedzialnej za śledzenie przemieszczeń obiektów, co po części wstępnie zdeterminowało sposób ich detekcji. Algorytm CamShift bazuje na odszukiwaniu lokalnego ekstremum w rozkła- względu jako dzie gęstości zbioru danych [2, 7], z tego cechę umożliwiającą detekcję zastosowano kolor obiektu, a dokładnie jego histogram. W operacjach odpowiadających za detekcję obiektów, opierających się na ich kolorystyce, bardzo duże znacze- barw. Jej rodzaj nie ma wybór konkretnej przestrzeni warunkuje zestaw parametrów, który opisuje barwę, a co za tym idzie, wpływa na dokładność przeprowadzanych modyfikacji i analiz obrazu. Z tego względu zbudowane w ramach pracy oprogramowanie współpracuje z obra- HSV, która po- zami przekształconymi do przestrzeni zwala na ograniczenie wpływu elementów, zaburzających proces analizy obrazów oparty na jego kolorystyce, m.in. zmiennego oświetlenia [6, 9]. Rys. 6. Złożony proces segmentacji zastosowany w budowanym oprogramowaniu Sam proces segmentacji polega na podziale przetwarzaobszary odpowiadające nego obrazu na jednorodne widocznym na nim obiektom. Przy wyborze segmentacji obiektów na podstawie ich koloru, to właśnie w jego wyizolowaniu i wyeksponowaniu bierze udział większość wykonywanych operacji. Wykorzystane w zbudowanym oprogramowaniu rozwiązanie, przedstawione na rys. 6., opiera się na połączeniu dwóch metod segmentacji związanych z kolorystyką obiektu. Pierwsza z nich jest klasyczną postacią segmentacji na podstawie koloru, w której wykorzystano binaryzację z podwójnym progiem. Druga z metod odpowiadających za segmentację jest oparta na operacji wstecznej projek- histogramu wybrane- cji, przeprowadzanej na podstawie go obrazu źródłowego. Obrazem tym może być klatka aktualnie przetwarzanej sekwencji wideo lub specjalnie przygotowane zdjęcie. Warunkiem uzyskania poprawnych wyników, a co za tym idzie, prawidłowego przebie- zawarcia w gu procesu segmentacji, jest konieczność danym obrazie źródłowym całego wyszukiwanego obieki wyeksponowanie, na tu. Umożliwia to odszukanie innych obrazach przy pomocy wstecznej projekcji, całego zakresu składowej poddawanej analizie [1]. Każda z opisywanych wyżej met łości, które wpływają na jakość w wyniku ich działania. Z tego tod posiada niedoskonaobrazów powstających względu obraz będący bazą działania algorytmu śledzącego powstaje na pod- powyższych metod stawie złożenia wyników dwóch segmentacji. Zastosowane połączenie pozwala na wyeli- danych metod oraz minowanie części niedoskonałości znaczną poprawę jakości uzyskiwanego obrazu wyniko- 32

wego. Na tym etapie na obrazie mogą jeszcze znaleźć się drobne przypadkowe elementy bądź luki. W celu ich eliminacji wykorzystano przekształcenia morfologiczne dylatację i erozję, których połączenia idealnie nadają się do poprawy jakości i uzupełnienia drobnych otworów wykrywanego obiektu. Dzięki tym operacjom, późniejsze śledzenie obiektu jest znacznie bardziej efektywne, ponieważ obraz go odwzorowujący zostaje w dużej mierze pozbawiony przypadkowych artefaktów. 7. ŚLEDZENIE OBIEKTÓW Podstawą do działania metod realizujących proces śledzenia obiektów, wykorzystujących techniki wizyjne, jest generowanie trajektorii określonego obiektu. Dana trajektoria powstaje w wyniku wyznaczenia pozycji obiektu dla każdej klatki sekwencji wideo [8]. Za śledzenie obiektów w zbudowanym oprogramowaniu odpowiada algorytm CamShift, któremu wcześniej przygotowany obraz zostaje przekazany jako jeden z parametrów wejściowych. Omawiany algorytm można w zależności od przyjętej systematyki zaliczyć do metod śledzenia jądra lub do metod śledzenia obiektu na podstawie modelu. Podstawą jego działania jest odszukiwanie lokalnego ekstremum w rozkładzie gęstości określonego zbioru danych [2, 7]. Nazwę zastosowanego algorytmu można dokładnie przedstawić jako ciągle adaptowany MeanShift (ang. continuously adaptive MeanShift). Jak sama nazwa wskazuje, jego podstawowa funkcjonalność opiera się na poprzedniku, czyli algorytmie MeanShift. Obydwa algorytmy znalazły zastosowanie w śledzeniu obiektów dla sekwencji wideo dopiero w wyniku rozwoju dziedzin takich jak przetwarzanie obrazu. Uproszczone działanie algorytmu MeanShift można opisać jako proces odnajdywania tzw. jądra (ang. kernel), tzn. obszaru obrazu cechującego się najgęstszym rozkładem danej cechy, co jest uzyskiwane przez coraz bliższe dopasowywanie opisywanej funkcji rozkładu do wyszukiwanego elementu [6]. Jest to proces iteracyjny, coraz bliższe dopasowanie uzyskuje się najczęściej w wyniku z góry określonej ilości iteracji głównego algorytmu [10]. Przybliżona zasada działania głównego algorytmu składa się z następujących kroków [10]: wyznaczanie położenia centroidu w oknie początkowym, wyznaczenie wektora przesunięcia, wyznaczenie nowego położenia środka okna przeszukującego, porównanie wartości danego wektora z określonym progiem dokładności (jeśli wektor jest większy od zadanego progu, powrót do kroku drugiego, jeżeli nie, następuje przerwanie działania algorytmu). Algorytm przerywany jest po uzyskaniu przez wektor wartości poniżej wyznaczonego progu (najczęściej gdy jest on zbliżony do 0) lub gdy osiągnięty został próg dla liczby przeprowadzonych iteracji procesu. Jako parametr wejściowy algorytm MeanShift wykorzystuje specjalnie przekształcony obraz zbudowany w wyniku przeprowadzenia operacji wstecznej projekcji na podstawie histogramu [1, 5]. Wstępny etap działania algorytmu opiera się przede wszystkim na wyznaczeniu współrzędnych centroidu funkcji rozkładu (dla początkowego okna) za pomocą jądrowego estymatora gęstości (ang. Kernel Density Estimation) [4]. Powszechne wykorzystywanie histogramu w tego rodzaju metodach wynika z faktu, że jest to najprostszy nieparametryczny estymator gęstości. W analizie obrazu umożliwia on wyznaczenie prawdopodobieństwa wystąpienia poszczególnych wartości pikseli, a więc idealnie nadaje się do przybliżenia gęstości ich rozkładu [7]. W tworzonym oprogramowaniu, na potrzeby śledzenia znaczników umieszczonych na robocie, wykorzystano algorytm CamShift. Podstawową różnicą jego działania w stosunku do poprzednika jest możliwość automatycznego dopasowania wielkości okna przeszukiwań do śledzonego obiektu [5, 10]. Możliwość zmiany wymiarów okna przeszukiwań podczas pracy algorytmu stanowi bardzo ważny element w przypadku śledzenia elementów znajdujących się w ciągłym ruchu oraz tych, których kształt zmienia się dynamicznie. 8. PROCES KALIBRACYJNY Proces kalibracyjny został podzielony na kilka etapów. Każdy z nich opierał się na wykorzystaniu opisywanych powyżej metod analizy obrazu w celu identyfikacji rzeczywistych wartości określonych zmiennych przegubowych robota podczas zadawanego ruchu. Efektem pierwszego etapu omawianego procesu jest uzyskanie danych pozwalających na weryfikację poprawności kątów uzyskiwanych pomiędzy określonymi członami konstrukcji podczas ruchu. Przeprowadzona analiza pozwoliła na porównanie wartości kątów zadawanych przez oprogramowanie sterujące ruchem pedipulatora, z wartościami osiąganymi przez dany układ w rzeczywistości. Dane rzeczywiste zostały pozyskane za pomocą dodatkowego oprogramowania analizującego. W celu uzyskania wiarygodnych wyników, niezależnych od czasu trwania obróbki i analizy przechwyconego obrazu wideo, dany etap został przeprowadzony przy wykorzystaniu materiału zapisanego z określoną prędkością. Dana prędkość uwarunkowana jest krokiem sterowania zastosowanym w programie sterującym badanej konstrukcji. Podczas analizy zastosowano prędkość 25kl./s., co spowodowało, że odstęp pomiędzy zapisem pojedynczych ramek obrazu wyniósł 40ms. Krok stero- 33

ZASTOSOWANIE METOD PRZETWARZANIA I ANALIZY OBRAZU W PROCESIE ( ) wania dla robota dobierano z zakresu od 40 do 160ms., pozwoliło to na synchronizację obliczeń z wartością prędkości, z jaką został zarejestrowany materiał video. Rys. 7. Interfejs oprogramowania analizującego przechwyconą sekwencje wideo wartości osiąganych kątów, przedstawione na wykresach, stanowią wartości uśrednione. Dla każdego z przegubów przeanalizowano zbiór 10 nagrań testowych. Rozbieżno- ści pomiędzy kątami zadawanymi i odczytanymi pojawi- przegubowej θ2 i w ły się w przypadku analizy zmiennej dużym stopniu w wynikały z zastosowanej geometrii kończyny przedstawionej na rys. 2. Dla każdego z przeprowadzonych testów została wyznana podstawie pomiarów czona wartość błędu uzyskanego wartości zmiennych przegubowych θ1 i θ2 oraz ich różnic w stosunku do wygenerowanych dla nich przebie- zostały obliczone gów idealnych (tab.2). Dane wartości na podstawie wzoru: Wykresy przedstawione poniżej powstały na podstawie danych uzyskanych podczas analizy specjalnie przygo- towanych nagrań. Rys. 8. Zależność między wartością zadaną a wartością odczy- taną dla zmiennej przegubowej θ1 (staw biodrowy konstrukcji) gdzie: (=) '! & σ - średni błąd kwadratowy, n wyznaczony błąd bezwzględny.!!, (4) - liczność próby, x - Tab. 2. Wartości błędów, wzór (4), uzyskanych podczas pomia- kinematycznych przed rów kątów w analizowanych parach procesem kalibracji Testowany przegub θ1 θ2 σ 0,011 rad 0,124 rad Rys. 9. Zależność między wartością zadaną a wartością odczy- konstrukcji) taną dla zmiennej przegubowej θ2 (staw kolanowy Na każdym z nich zarejestrowano określony ruch testo- wanego przegubu kończyny. Dane ilustrujące rzeczywiste Kolejnym etapem procesu kalibracyjnego było wykorzy- korektę zaist- stanie oprogramowania umożliwiającego niałych rozbieżności. Cały proces kalibracji był nadzo- oprogramowania, rowany przez dwa niezależne moduły komunikujące się między sobą w czasie rzeczywistym. Pierwszy z modułów jest oprogramowaniem sterującym ruchem robota i jest odpowiedzialny przede wszystkim za sterowanie serwomechanizmami. Natomiast drugi jest oprogramowaniem zewnętrznym, odpowiadającym za 34

bieżącą analizę przechwytywanego obrazu wideo. Schemat funkcjonowania zastosowanych modułów oraz ich wzajemnej komunikacji został przedstawiony na rys. 10. W wyniku przeprowadzenia wyżej opisanych operacji dla wszystkich wartości z zakresu sterowania, zbudowana została tablica korekcyjna, umożliwiająca prawidłowe sterowanie testowanymi układami w warunkach rzeczywistych. Istotnym aspektem zaproponowanego rozwiązania jest znaczące przyspieszenie przebiegu procesu kalibracyjnego. Tablica dla zmiennej przegubowej θ2, reprezentująca korekty dla całego jej zakresu sterowania (od 40 do 130 ), została zbudowana automatycznie w czasie ok. 40 minut. Dla jednej zapisywanej przez oprogramowanie wartości przeprowadzone zostało 30 pomiarów kąta uzyskiwanego przez analizowany przegub rzeczywistej konstrukcji. Dla porównania, testowa próba czasowa ustalenia danej wartości dla jednego kąta zadanego, przy użyciu standardowych przyrządów pomiarowych, została przeprowadzona w czasie ok. 5 min.. Końcowym etapem procesu kalibracyjnego była weryfikacja poprawności zastosowanego rozwiązania. Po raz kolejny przeprowadzono analizę porównującą wartości kątów zadawanych przez oprogramowanie sterujące ruchem pedipulatorów z wartościami osiąganymi w rzeczywistości. W tym wypadku działanie oprogramowania sterującego zostało jednak rozszerzone o możliwość wykorzystania tablicy, zbudowanej we wcześniejszym etapie. Rys. 10. Schemat oprogramowania odpowiedzialnego za proces kalibracji Współdziałanie głównych modułów zaimplementowanego oprogramowania kalibracyjnego opiera się na porównaniu wartości zadawanych dla zmiennych przegubowych z wartościami osiąganymi przez dane przeguby w rzeczywistości. Wynik pomiaru jest porównywany z określonym progiem dokładności. Jeżeli różnica pomiędzy wartościami jest większa od zadanego progu, program sterujący modyfikuje wartość zadaną w sposób umożliwiający zbliżenie się do wymaganej dokładności. W momencie, gdy dana dokładność zostaje osiągnięta, nowa wartość zadana, pozwalająca na uzyskanie przez analizowany przegub określonej wartości rzeczywistej, zostaje zapisana. Rys. 11. Wyniki testu nr 1 - Zależność między wartością zadaną a wartością odczytaną dla zmiennej przegubowej θ2, podczas liniowego przyrostu wartości zadanej Rys. 12. Wyniki testu nr 2 - Zależność między wartością zadaną a wartością odczytaną dla zmiennej przegubowej θ2, podczas zmiany wartości zadanej na podstawie rozwiązania odwrotnego zadania kinematyki 35

ZASTOSOWANIE METOD PRZETWARZANIA I ANALIZY OBRAZU W PROCESIE ( ) Przeprowadzono dwa rodzaje testów, analizujących wyniki dla zmiennej przegubowej θ2. Przytoczone analizy także zostały przeprowadzone na grupie specjalnie przygotowanych nagrań. Każda z nich składała się z 10 sekwencji wideo, a wyniki, przedstawione na wykresach (rys. 11, rys. 12) zostały dla nich uśrednione. Pierwszy z testów porównuje wartości kątów zadanych z wartościami rzeczywistymi uzyskanymi przez analizowany układ podczas liniowego przyrostu zadawanych wartości. Natomiast drugi poddaje analizie przypadek bardziej zbliżony praktycznemu zastosowaniu układu. Wartości zadane uzyskano tu na podstawie zastosowania rozwiązania zagadnienia kinematyki odwrotnej. W ramach obliczeń wykorzystano wzory (2) i (3) do wyznaczenia odpowiednich konfiguracji przegubów maszyny. Tab. 3. Wartości błędów, wzór (4), uzyskanych podczas pomiarów wartości zmiennej przegubowej θ2 w czasie testów przeprowadzonych po procesie kalibracji Nr testu 1 0,012 rad 2 0,011 rad 9. PODSUMOWANIE Uzyskane wyniki pozwalają na stwierdzenie, że zaproponowany proces kalibracyjny umożliwia znaczące ograniczenie wpływu błędów pojawiających się w procesie σ integracji oprogramowania sterującego z rzeczywistymi układami mechanicznymi. Dane błędy często bywają związane z niedokładnością wykonania elementów maszyny, ich podatnością, czy też niedokładnością współpracy łączonych elementów układu. Problemy te uwidocznił testowany w ramach pracy prosty robot kroczący. Wykorzystanie dodatkowego oprogramowania, opierającego się na metodach przetwarzania obrazu, w dużym stopniu wpłynęło na redukcję rozbieżności między wzorcowymi wartościami zmiennych przegubowych, zadawanymi poprzez oprogramowanie sterujące a wartościami uzyskiwanymi przez rzeczywisty układ mechaniczny. Jego istotną zaletą jest także zdecydowane przyspieszenie przebiegu procesu kalibracyjnego oraz jego pełna automatyzacja. Należy zauważyć, że zaproponowane w niniejszym opracowaniu rozwiązanie nie opiera się na zastosowaniu wyspecjalizowanego sprzętu i oprogramowania. Do akwizycji obrazu wykorzystano ogólnie dostępną kamerę internetową, natomiast oprogramowanie kalibracyjne powstało na podstawie operacji udostępnionych przez bibliotekę wizyjną, na licencji BSD. Zastosowanie ogólnie dostępnego urządzenia rejestrującego wiąże się zawsze z pewnymi ograniczeniami związanymi z jakością analizowanego obrazu, m.in. wpływem zmiennego oświetlenia, czy mniejszą prędkością przechwytywania. Pomimo tego rodzaju ograniczeń wyniki przeprowadzonych testów ukazują duży potencjał zaproponowanego rozwiązania wizyjnego. Literatura 1. Allen J. G., Xu R. Y. D., Jesse S. J.: Object tracking using CAMShift algorithm and multiple quantized feature spaces. In: Proceedings of the Pan-Sydney Area Workshop on Visual Information Processing, Sydney, 2004, p. 3-7. 2. Bradski G., Kaehler A.: Learning OpenCV: computer vision with the OpenCV Library. Sebastopol, CA: O'Reilly Media, 2008. 3. Buczyński P.: Optymalna reprezentacja kolorów w analizie i przetwarzaniu obrazów komputerowych. Praca doktorska. Warszawa: Politechnika Warszawska, 2005. 4. Comaniciu D., Ramesh V., Meer P.: Kernel-based object tracking. IEEE Transactions on Pattern Analysis and Machine Intelligence, IEEE Transactions 2003, p. 564-577. 5. Dahad S. O., Sonawane R. R.: Surveillance using CAMshift Tracking. International Journal of Advanced Research in Computer and Communication Engineering, 2016, Vol. 5, Iss. 5, p. 926-928. 6. Jog S., Halbe S.: Multiple objects tracking using CAMShift algorithm and implementation of trip wire. International Journal of Image, Graphics and Signal Processing, 2013, Vol. 5, Iss.6, p. 43-48. 7. Joshi S., Gujarathi S., Mirgemoving A.: Moving object tracking method using improved Camshift with surf algorithm. International Journal of Advances in Science Engineering and Technology, 2014, Vol. 2, Iss. 2, p. 14-19. 8. Lakshmeeswari G., Karthik K.: Survey on algorithms for object tracking in video. International Journal of Computer Applications, 2016, No. 13, Vol. 141, p. 17-22. 9. Rafajłowicz E., Rafajłowicz W.: Wstęp do przetwarzania obrazów przemysłowych. Wrocław: Oficyna Wydawnicza Politechniki Wrocławskiej, 2010. 36

10. Rayavel P., Appasami G., Nakeeran R.: Noise removal for object tracking based on HSV color space parameter using CAMSHIFT. International Journal of Computational Intelligence & Telecommunication Systems, 2011, Vol. 2, No. 1, p. 39 45. 11. Tchoń K., Mazur A., Dulęba I.: Manipulatory i roboty mobilne: modele, planowanie ruchu, sterowanie. Warszawa: Akademicka Oficyna Wydawnicza PLJ, 2000. 12. Zielińska T.: Maszyny kroczące. Warszawa: WKŁ, 2005. Artykuł dostępny na podstawie licencji Creative Commons Uznanie autorstwa 3.0 Polska. http://creativecommons.org/licenses/by/3.0/pl 37