• Nie Znaleziono Wyników

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

N/A
N/A
Protected

Academic year: 2021

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

Copied!
9
0
0

Pełen tekst

(1)

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

Katarzyna Gospodarek

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 odpowiada- jącego za proces generowania chodu z rzeczywistym modelem robota. Zaproponowano wykorzystanie dodatko- wych, 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ść dodat- kowego 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. Particu- lar attention has been placed on the issues that arise during the integration of software responsible for gait gener- ation process with the real model of the robot. It has been suggested to use additional, calibration software ele- ments, 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 kon- strukcyjne zastosowane podczas jej budowy. Zwrócono

(2)

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ąć, wpro- wadzają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.: niewy- starczają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 odpowiada- jące za realizację procesu kalibracyjnego zostało zaim- plementowane 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 przekaza- niu 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 infor- matyki.

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 ru- chów, liczba zastosowanych pedipulatorów, wybrany rodzaj chodu, czy też dokładność wykonania poszczegól- nych elementów. Głównym zadaniem oprogramowania sterującego jest umożliwienie odpowiedniego przemiesz- czania 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żą opera- cje związane z implementacją wyznaczania odwrotnego zadania kinematyki. W większości przypadków rozwią- zanie tego zagadnienia nie jest skomplikowane, szczegól- nie 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 kinema- tyki. Schemat opisujący geometrię prostego układu (pedipulatora zbudowanego z dwóch członów i dwóch przegubów obrotowych) umożliwia wyznaczenie zmien- nych przegubowych na podstawie zależności trygonome- trycznych:

= + (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 sys- temu 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 stero- wane 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ą zasto- sowane 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].

(3)

Z punktu widzenia implementacji oprogramowania sterującego skomplikowane połączenia

stopniami swobody, np. zastosowanie dużej liczby czł nów pośredniczących, są bardzo niekorzystne.

przypadkach pojawiają się rozbieżności pomiędzy rz czywistymi kątami osiąganymi przez analizowany układ podczas ruchu a wartościami sterującymi zmiennymi przegubowymi generowanymi przez oprogramowanie.

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

urządzenia jest bezpośrednio połączony ze

Ruch obrotowy w drugim z analizowanych przegubów jest realizowany przez napęd (s2) umiejscowiony wzgl dem niego w znacznej odległości. Podczas sterowania kątem dla danej pary kinematycznej pedipulatora udział dodatkowe człony pośredniczące.

W konstrukcjach mechanicznych rozbieżności lub niel niowe charakterystyki, uzyskiwane podczas analiz 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 przedst wia kluczowe wymiary geometryczne dotyczące

pedipulatorów analizowanej maszyny. Na jej podstawie można stwierdzić, że testowany układ

pewne niedoskonałości, wynikające m.in. z niewystarcz 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

4. KONSTRUKCJA I SYSTEM STERUJĄCY

Analizowany układ został przedstawion

to prosty, dwunożny robot kroczący zbudowany z pr stokątnego korpusu i dwóch identycznych kończyn, z których każda posiada dwa stopnie swobody. Za

cję ruchów obrotowych w przegubach odpowiadają serwomechanizmy. Struktura kinematyczna

Katarzyna Gospodarek

acji oprogramowania skomplikowane połączenia napędów ze zastosowanie dużej liczby czło- są bardzo niekorzystne. W takich przypadkach pojawiają się rozbieżności pomiędzy rze-

analizowany układ a wartościami sterującymi zmiennymi przegubowymi generowanymi przez oprogramowanie.

zawierającego

struktura kinematyczna prostego dwunożnego robota kroczącego. W z napędów (s1) urządzenia jest bezpośrednio połączony ze przegubem.

drugim z analizowanych przegubów umiejscowiony wzglę-

odczas sterowania pedipulatora biorą

rozbieżności lub nieli- , uzyskiwane podczas analiz, , mogą wynikać nie tylko z zastosowanych rozwiązań Bardzo ważnym aspektem jest m.in.

czy też dokładność wykonania poszczególnych elementów. Tab. 1 przedsta-

dotyczące obydwu . Na jej podstawie d charakteryzują m.in. z niewystarcza-

1. Wymiary geometryczne podstawowych elementów

Prawy [mm]

125,6 107,1 156,1

KONSTRUKCJA I SYSTEM

przedstawiony na rys. 3. Jest zbudowany z pro- stokątnego korpusu i dwóch identycznych kończyn, z których każda posiada dwa stopnie swobody. Za realiza- cję ruchów obrotowych w przegubach odpowiadają

Struktura kinematyczna zastosowa-

nych pedipulatorów przedstawiona na rys. 2

geometrii charakterystycznej dla prostego układu typu

„podwójne wahadło”.

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

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ą

wykonawczych został oparty na module Arduino Mega 2560. Podstawową funkcjonalnością zaimplementowan go oprogramowania były operacje związane z generow niem odpowiednich sygnałów PWM sterujących serw mechanizmami podczas testów. Do jego głównych 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ępnian

tekę OpenCV. Biblioteka ta znajduje zastosowanie w coraz większej ilości obszarów wykorzystujących prz twarzanie i analizę obrazu. Jest to wynikiem ciągłego udoskonalania tej biblioteki wizyjnej

przedstawiona na rys. 2. odpowiada charakterystycznej dla prostego układu typu

maszyna krocząca

Każdy z wykorzystywanych napędów ma możliwość rad; π rad>. Jednak ze względu na ograniczenia konstrukcyjne późniejszej analizie zostały poddane zawężone zakresy zmiennych przegubowych przedstawione na rys. 4.

Zastosowane zakresy kątowe dla wykorzystywanych

dpowiedzialny za sterowanie pracą elementów został oparty na module Arduino Mega 2560. Podstawową funkcjonalnością zaimplementowane- go oprogramowania były operacje związane z generowa- niem odpowiednich sygnałów PWM sterujących serwo- podczas testów. Do jego głównych zadań

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

GRAMOWANIE ANALIZUJĄCE RUCH

Oprogramowanie odpowiadające za analizę nagrania ruchu robota, wykorzystywane zarówno podczas testów jak i procesu kalibracyjnego opisywanej konstrukcji, udostępnianych przez biblio- tekę OpenCV. Biblioteka ta znajduje zastosowanie w coraz większej ilości obszarów wykorzystujących prze- twarzanie i analizę obrazu. Jest to wynikiem ciągłego

ej biblioteki wizyjnej, co w szczególności

(4)

jest widoczne w zakresie jej rozwoju jako

umożliwiającego tworzenie efektywnych aplikacji wizy nych pracujących w czasie rzeczywistym

Podstawową bazą dla zbudowanego oprogramowania były metody i algorytmy związane z zagadnieniami z dziedziny przetwarzania obrazów. Programy stworzo na potrzeby przeprowadzenia procesu kalibracy oraz analizy jego wyników odpowiadają przede wszys kim za pomiar wartości kątów osiąganych przez stawy kończyny robota na podstawie obrazu wideo. Schem tycznie proces ten ilustruje rys. 5. Sam pomiar

na wykorzystaniu szeregu różnych metod związanych z analizą przechwytywanego obrazu, które umożliwiają wyznaczenie aktualnych pozycji dla kluczowych pun tów konstrukcji. Każdy z punktów danego zbioru został wyróżniony za pomocą znacznika o unikal

Zabieg ten znacząco upraszcza ich późniejszą identyf kację oraz śledzenie ich przemieszczeń na podstawie zarejestrowanego obrazu wideo. Dzięki temu

danych punktów został opatrzony kolorowym znaczn kiem, proces analizy ich przemieszczeń można było powiązać z zagadnieniem detekcji obiektów na podstawie ich koloru.

Rys. 5. Schemat reprezentujący proces detekcji

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 pun ty, kształt, kolor, kontury, czy np. dopasowanie do 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ł dzie gęstości zbioru danych [2, 7], z tego względu jako cechę umożliwiającą detekcję zastosowano kolor obiektu, a dokładnie jego histogram.

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 oprogramowania były metody i algorytmy związane z zagadnieniami z dziedziny przetwarzania obrazów. Programy stworzone na potrzeby przeprowadzenia procesu kalibracyjnego odpowiadają przede wszyst- wartości kątów osiąganych przez stawy kończyny robota na podstawie obrazu wideo. Schema-

pomiar opiera się na wykorzystaniu szeregu różnych metod związanych z analizą przechwytywanego obrazu, które umożliwiają wyznaczenie aktualnych pozycji dla kluczowych punk- tów konstrukcji. Każdy z punktów danego zbioru został

znacznika o unikalnym kolorze.

Zabieg ten znacząco upraszcza ich późniejszą identyfi- kację oraz śledzenie ich przemieszczeń na podstawie zarejestrowanego obrazu wideo. Dzięki temu, że każdy z danych punktów został opatrzony kolorowym znaczni-

zczeń można było powiązać z zagadnieniem detekcji obiektów na podstawie

Schemat reprezentujący proces detekcji wartości robota na podstawie zarejestrowanego

OBIEKTÓW NA PODSTAWIE KOLORU

W celu wyodrębnienia obiektów z obrazów cyfrowych oraz ich późniejszej reprezentacji można wykorzystać m.in. wybrane punk- czy np. dopasowanie do nak 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 ko 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- dzie gęstości zbioru danych [2, 7], z tego względu jako

liwiającą detekcję zastosowano kolor obiektu,

W operacjach odpowiadających za detekcję obiektów, opierających się na ich kolorystyce, bardzo duże znacz nie ma wybór konkretnej przestrzeni barw. Jej rodzaj 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 obr zami przekształconymi do przestrzeni HSV, która p 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 przetwarz nego obrazu na jednorodne obszary odpowiadające widocznym na nim obiektom. Przy

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 b

podwójnym progiem. Druga z metod odpowiadających za segmentację jest oparta na operacji wstecznej proje cji, przeprowadzanej na podstawie histogramu wybran go obrazu źródłowego. Obrazem tym może być klatka aktualnie przetwarzanej sekwencji wi

przygotowane zdjęcie. Warunkiem uzyskania popra nych wyników, a co za tym idzie, prawidłowego przebi gu procesu segmentacji, jest konieczność zawarcia w danym obrazie źródłowym całego wyszukiwanego obie tu. Umożliwia to odszukanie i wye

innych obrazach przy pomocy wstecznej projekcji, całego zakresu składowej poddawanej analizie [1].

Każda z opisywanych wyżej metod posiada niedoskon łości, które wpływają na jakość obrazów powstających w wyniku ich działania. Z tego względu

bazą działania algorytmu śledzącego powstaje na po stawie złożenia wyników dwóch powyższych metod segmentacji. Zastosowane połączenie pozwala na wyel minowanie części niedoskonałości danych metod oraz znaczną poprawę jakości uzyskiwanego obr

odpowiadających za detekcję obiektów, opierających się na ich kolorystyce, bardzo duże znacze- nie ma wybór konkretnej przestrzeni barw. Jej rodzaj

etró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- zami przekształconymi do przestrzeni HSV, która po- nie wpływu elementów, zaburzających proces analizy obrazów oparty na jego kolorystyce, m.in.

. Złożony proces segmentacji zastosowany w budowanym

na podziale przetwarza- nego obrazu na jednorodne obszary odpowiadające

Przy wyborze segmentacji obiektów na podstawie ich koloru, to właśnie w jego wyizolowaniu i wyeksponowaniu bierze udział większość rzystane w zbudowanym 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- cji, przeprowadzanej na podstawie histogramu wybrane- go obrazu źródłowego. Obrazem tym może być klatka aktualnie przetwarzanej sekwencji wideo lub specjalnie przygotowane zdjęcie. Warunkiem uzyskania popraw- nych wyników, a co za tym idzie, prawidłowego przebie- gu procesu segmentacji, jest konieczność zawarcia w danym obrazie źródłowym całego wyszukiwanego obiek- tu. Umożliwia to odszukanie i wyeksponowanie, na

przy pomocy wstecznej projekcji, całego zakresu składowej poddawanej analizie [1].

Każda z opisywanych wyżej metod posiada niedoskona- łości, które wpływają na jakość obrazów powstających w wyniku ich działania. Z tego względu obraz będący działania algorytmu śledzącego powstaje na pod- stawie złożenia wyników dwóch powyższych metod segmentacji. Zastosowane połączenie pozwala na wyeli- minowanie części niedoskonałości danych metod oraz znaczną poprawę jakości uzyskiwanego obrazu wyniko-

(5)

Katarzyna Gospodarek

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 śledze- nie obiektów w zbudowanym oprogramowaniu odpowia- da 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 odnaj- dywania 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 po- czątkowym,

• wyznaczenie wektora przesunięcia,

• wyznaczenie nowego położenia środka okna przeszukującego,

• porównanie wartości danego wektora z określo- nym 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 wykorzy- stuje 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ąt- kowego okna) za pomocą jądrowego estymatora gęstości (ang. Kernel Density Estimation) [4]. Powszechne wyko- rzystywanie histogramu w tego rodzaju metodach wyni- ka z faktu, że jest to najprostszy nieparametryczny estymator gęstości. W analizie obrazu umożliwia on wyznaczenie prawdopodobieństwa wystąpienia poszcze- gó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ść automatycz- nego 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 przegu- bowych robota podczas zadawanego ruchu.

Efektem pierwszego etapu omawianego procesu jest uzyskanie danych pozwalających na weryfikację po- prawnoś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 zada- wanych przez oprogramowanie sterujące ruchem pedipu- latora, 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 stero- wania 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-

(6)

wania dlarobota dobierano z zakresu od 40 do 160ms., pozwoliło to na synchronizację obliczeń z wartością

Rys. 7. Interfejs oprogramowania analizującego przechwyconą sekwencje wideo Wykresy przedstawione poniżej powstały na podstawie

danych uzyskanych podczas analizy specjalnie przyg towanych nagrań.

Rys. 8. Zależność między wartością zadaną a wartością odcz taną dla zmiennej przegubowej θ1 (staw biodrowy konstrukcji)

Rys. 9. Zależność między wartością zadaną a wartością odcz taną dla zmiennej przegubowej θ2 (staw kolanowy konstrukcji) Na każdym z nich zarejestrowano określony ruch test wanego przegubu kończyny. Dane ilustrujące rzeczywiste

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.

Interfejs oprogramowania analizującego przechwyconą sekwencje wideo Wykresy przedstawione poniżej powstały na podstawie

danych uzyskanych podczas analizy specjalnie przygo-

Zależność między wartością zadaną a wartością odczy- 1 (staw biodrowy konstrukcji)

Zależność między wartością zadaną a wartością odczy- 2 (staw kolanowy konstrukcji) Na każdym z nich zarejestrowano określony ruch testo- wanego przegubu kończyny. Dane ilustrujące rzeczywiste

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żn ści pomiędzy kątami zadawanymi i odczyt

ły się w przypadku analizy zmiennej przegubowej dużym stopniu w wynikały z zastosowanej geometrii kończyny przedstawionej na rys. 2.

Dla każdego z przeprowadzonych testów została wyzn czona wartość błędu uzyskanego na podstawie wartości zmiennych przegubowych

różnic w stosunku do wygenerowanych dla nich przebi gów idealnych (tab.2). Dane wartości zostały obliczone na podstawie wzoru:

( = )' ! ∆ &

gdzie:

σ - średni błąd kwadratowy, n wyznaczony błąd bezwzględny.

Tab. 2. Wartości błędów, wzór (4), uzyskanych podczas pomi rów kątów w analizowanych parach kinematycznych procesem kalibracji

Testowany przegub θ1 θ2

Kolejnym etapem procesu kalibracyjnego było wykorz stanie oprogramowania umożliwiającego korektę zais niałych rozbieżności. Cały proces kalibracji był

rowany przez dwa niezależne moduły oprogramowania, 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 z jaką został zarejestrowany materiał video.

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- ły się w przypadku analizy zmiennej przegubowej θ2 i w dużym stopniu w wynikały z zastosowanej geometrii kończyny przedstawionej na rys. 2.

Dla każdego z przeprowadzonych testów została wyzna- uzyskanego na podstawie pomiarów wartości zmiennych przegubowych θ1 i θ2 oraz ich w stosunku do wygenerowanych dla nich przebie-

Dane wartości zostały obliczone

!⋯! ∆ , (4)

n - liczność próby, ∆x -

uzyskanych podczas pomia- parach kinematycznych przed

σ 0,011 rad 0,124 rad

kalibracyjnego było wykorzy- stanie oprogramowania umożliwiającego korektę zaist- niałych rozbieżności. Cały proces kalibracji był nadzo- rowany przez dwa niezależne moduły oprogramowania, komunikujące się między sobą w czasie rzeczywistym.

est oprogramowaniem sterującym ruchem robota i jest odpowiedzialny przede wszystkim za sterowanie serwomechanizmami. Natomiast drugi jest oprogramowaniem zewnętrznym, odpowiadającym za

(7)

Katarzyna Gospodarek

bieżącą analizę przechwytywanego obrazu wideo. Sche- mat funkcjonowania zastosowanych modułów oraz ich wzajemnej komunikacji został przedstawiony na rys. 10.

Rys. 10. Schemat oprogramowania odpowiedzialnego za proces kalibracji

Współdziałanie głównych modułów zaimplementowane- go oprogramowania kalibracyjnego opiera się na porów- naniu wartości zadawanych dla zmiennych przegubo- wych 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, pro- gram 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.

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 rzeczy- wistych. Istotnym aspektem zaproponowanego rozwiąza-

nia 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 weryfi- kacja 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 oprogramo- wania sterującego zostało jednak rozszerzone o możli- wość wykorzystania tablicy, zbudowanej we wcześniej- szym etapie.

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

(8)

Przeprowadzono dwa rodzaje testów, analizujących wyniki dla zmiennej przegubowej θ2. Przytoczone anali- zy 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 zapropo- nowany proces kalibracyjny umożliwia znaczące ograni- czenie 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 ma- szyny, ich podatnością, czy też niedokładnością współ- pracy łączonych elementów układu. Problemy te uwi- docznił 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 mecha- niczny. Jego istotną zaletą jest także zdecydowane przyspieszenie przebiegu procesu kalibracyjnego oraz jego pełna automatyzacja. Należy zauważyć, że zapro- ponowane 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 opro- gramowanie 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 ogranicze- niami 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. „Interna- tional 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 Wydawni- cza Politechniki Wrocławskiej, 2010.

(9)

10. Rayavel P., Appasami G., Nakeeran R.: Noise using CAMSHIFT. „ International Jour Vol. 2, No. 1, p. 39–45.

11. Tchoń K., Mazur A., Dulęba I.: Manipulatory i roboty wa: Akademicka Oficyna Wydawnicza PLJ, 2000.

12. Zielińska T.: Maszyny kroczące. Warszawa:

Artykuł dostępny na podstawie licencji Creative Commons Uznanie autorstwa 3.0 Polska.

http://creativecommons.org/licenses/by/3.0/pl

Katarzyna Gospodarek

Rayavel P., Appasami G., Nakeeran R.: Noise removal for object tracking based on HSV

using CAMSHIFT. „ International Journal of Computational Intelligence & Telecommunication Systems”, 2011,

Tchoń K., Mazur A., Dulęba I.: Manipulatory i roboty mobilne: modele, planowanie ruchu, sterowanie. Warsz wa: Akademicka Oficyna Wydawnicza PLJ, 2000.

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

HSV color space parameter nal of Computational Intelligence & Telecommunication Systems”, 2011,

odele, planowanie ruchu, sterowanie. Warsza-

Artykuł dostępny na podstawie licencji Creative Commons Uznanie autorstwa 3.0 Polska.

Cytaty

Powiązane dokumenty

Czy kobiety jednak wyzwoli­ ły się z pozornie obiektywnego dyskursu patriarchalnego i zaczęły mówić/pisać na nowo już nie jako „inna męskiego podmiotu”, ale z

— Inne kraje. Prężnie rozwija się instytut wydawniczy D on Bosco Verlag w Monachium, publikując dzieła pedagogiczne i teologiczne. Niedawno zawią­ zało się wydawnictwo

W skałach towarzyszących węglom kamiennym z KWK Pniówek badanie to pozwoliło oszacować proporcję zawartości spękań w części próbki zbudowanej z substancji mineralnej,

Są nimi (Brown, 1981 za: Feng, 2001): orientacja spękań, odstępy pomiędzy spękaniami, długość śladu spękań, chropowatość, wielkość rozwarcia (szczeliny) pęknięcia,

1967.. D otyczy ono sam ego dzieła li­ terackiego.. zd ania um ieszczone w cudzysło­ wie, tj.. Zdania podrzędnie złożone stanow ią tu ty lko techn iczn e spoiwo,..

W depeszy tej donoszono również, że cały garnizon Piotrogrodu znajduje się już pod władzą Dumy Państwowej, że schodzą się przed nią i ze wszech... stron wojska i

The measurements described here show that the dynamic fracture energy for crack propagation in 4340 steel experiences a 4-fold increase with crack speed in. the velocity range O to

The studies in this area, present in Łódź for almost 70 years, may be considered a representative model of the formation of concepts and research programmes in Poland,