Analiza strategii robotów mini-sumo na podstawie obserwacji ich ruchu



Podobne dokumenty
ANALIZA I INDEKSOWANIE MULTIMEDIÓW (AIM)

Międzyszkolny turniej robotów. DZIEŃ OTWARTY WSTI r. REGULAMIN

REGULAMIN KONKURSU WIEDZY TECHNICZNEJ W ZAKRESIE PROJEKTOWANIA I KONSTRUOWANIA ROBOTA W KATEGORII SUMO, MINISUMO, LEGOSUMO ORAZ NANOSUMO

Regulamin konkurencji Sumo (NanoSumo, MicroSumo, MiniSumo, Sumo, LegoSumo)

REGULAMIN KONKURSU WIEDZY TECHNICZNEJ W ZAKRESIE EPROJEKTOWANIA I KONSTRUOWANIA ROBOTA W KATEGORII LEGO SUMO

i ruchów użytkownika komputera za i pozycjonujący oczy cyberagenta internetowego na oczach i akcjach użytkownika Promotor: dr Adrian Horzyk

Detekcja twarzy w obrazie

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

REGULAMIN KKONKURENCJI minisumo

AUTOMATYCZNE ROZPOZNAWANIE PUNKTÓW KONTROLNYCH GŁOWY SŁUŻĄCYCH DO 3D MODELOWANIA JEJ ANATOMII I DYNAMIKI

Automatyka i Robotyka II stopień ogólno akademicki

SUMO CHALLENGE: REGULAMIN SUMO

Instrukcja obsługi. Karta video USB + program DVR-USB/8F. Dane techniczne oraz treść poniższej instrukcji mogą ulec zmianie bez uprzedzenia.

1 Temat: Wprowadzenie do biblioteki OpenCV

Analiza i przetwarzanie obrazo w

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

zna wybrane modele kolorów i metody transformacji między nimi zna podstawowe techniki filtracji liniowej, nieliniowej dla obrazów cyfrowych

Regulamin konkursu robotyki edukacyjnej. MielecBot 2019

Implementacja filtru Canny ego

REGULAMIN ZAWODÓW ROBOTÓW RCRE LEGO CHALLENGE 2014

Cyfrowe Przetwarzanie Obrazów i Sygnałów

Rysunek 1: Okno timeline wykorzystywane do tworzenia animacji.

Automatyczne tworzenie trójwymiarowego planu pomieszczenia z zastosowaniem metod stereowizyjnych

dr inż. Tomasz Krzeszowski

Parametryzacja obrazu na potrzeby algorytmów decyzyjnych

Pong to dwuwymiarowy symulator tenisa sportowego. Gracz, poruszając prostokątem symulującym paletkę, stara się zdobyć punkt poprzez posłanie piłki

Oprogramowanie. DMS Lite. Podstawowa instrukcja obsługi

Badanie ruchu złożenia

Analiza obrazów. Segmentacja i indeksacja obiektów

REGULAMIN KONKURSU WIEDZY TECHNICZNEJ W ZAKRESIE PROJEKTOWANIA I KONSTRUOWANIA ROBOTA W KATEGORII MICROMOUSE

Manipulator OOO z systemem wizyjnym

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

Arkadiusz Kalicki, Lech Mankiewicz Plugin Webcam dla SalsaJ Podręcznik użytkownika

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

Spotkanie fanów robotyki 2015

Grafika Komputerowa Wykład 2. Przetwarzanie obrazów. mgr inż. Michał Chwesiuk 1/38

Akademia Górniczo - Hutnicza im. Stanisława Staszica w Krakowie. Projekt. z przedmiotu Analiza i Przetwarzanie Obrazów

Wahadło. Celem ćwiczenia jest zapoznanie się z zasadą dokonywania wideopomiarów w systemie Coach 6 oraz obserwacja modelu wahadła matematycznego.

ZASADY ZAWODÓW MINISUMO

Akademia Górniczo-Hutnicza

REGULAMIN ZAWODÓW COPERNICUS ROBOTS TOURNAMENT

Oprogramowanie IPCCTV. ipims. Podstawowa instrukcja obsługi

Instrukcja obsługi programu Do-Exp

WYKŁAD 3. Przykłady zmian w obrazie po zastosowaniu Uniwersalnego Operatora Punktowego

Advance CAD 2016 SP2. W tym dokumencie opisano ulepszenia w Advance CAD Service Pack 2. Co nowego w Advance CAD 2016 SP2

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

Diagnostyka obrazowa

UKS LECHIA DZIERŻONIÓW. oraz ZAPRASZA. 28 lutego na turniej piłki nożnej dziewcząt z rocznika 2004 i młodszych

REGULAMIN ZAWODÓW ROBOTÓW Robotic Arena 2015

SUMO CHALLENGE: REGULAMIN SUMO

SLT-A33/SLT-A55/SLT-A55V

Zastosowanie stereowizji do śledzenia trajektorii obiektów w przestrzeni 3D

1. Wstęp Pierwsze uruchomienie Przygotowanie kompozycji Wybór kompozycji Edycja kompozycji...

REGULAMIN ZAWODÓW ROBOTÓW Robotic Arena 2016

Zagadnienia egzaminacyjne AUTOMATYKA I ROBOTYKA. Stacjonarne I-go stopnia TYP STUDIÓW STOPIEŃ STUDIÓW SPECJALNOŚĆ

Zastosowania Robotów Mobilnych

Viszio. SZARP v3.1. Adam Smyk. 1. Uruchamianie programu. SZARP

Operacje morfologiczne

Podstawy Technik Wytwarzania. projektowanie. Projekt procesu na wycinarko-grawerkę laserową

Ćwiczenie 12 Różdżka, szybkie zaznaczanie i zakres koloru

WIZUALIZACJA I STEROWANIE ROBOTEM

Divar - Archive Player. Instrukcja obsługi

STEROWNIK TUBY LED STM-64

ELEKTRONICZNY UKŁAD STEROWANIA DO SYGNALIZATORÓW WSP W WERSJI 2

Expo Composer Garncarska Szczecin tel.: info@doittechnology.pl. Dokumentacja użytkownika

Oprócz funkcjonalności wymaganych przez zamawiających, urządzenia Hikvision oferują dodatkowo następujące funkcjonalności:

Archive Player Divar Series. Instrukcja obsługi

Cyfrowe przetwarzanie obrazów. Dr inż. Michał Kruk

Analiza i przetwarzanie obrazów

Grenlandia się topi badanie rozkładu kątów pomiędzy strumykami na lądolodzie na podstawie analizy obrazu

REGULAMIN ZAWODÓW ROBOTÓW Robotic Arena 2016

Konsorcjum FEN Sp. z o.o. ul. Dąbrowskiego 273A, Poznań Mateusz Zapotoczny support [at] fen.pl

Instrukcja obsługi aplikacji PQ-CONTROL

Podstawy grafiki komputerowej

Menu Narzędzia w Edytorze symboli i Edytorze Widoku aparatów

etrader Pekao Podręcznik użytkownika Strumieniowanie Excel

5.4. Tworzymy formularze

Diagnostyka obrazowa

Akwizycja obrazów HDR

SYLABUS/KARTA PRZEDMIOTU

Program V-SIM tworzenie plików video z przebiegu symulacji

WYKŁAD 12. Analiza obrazu Wyznaczanie parametrów ruchu obiektów

DesignCAD 3D Max 24.0 PL

Tworzenie prezentacji w MS PowerPoint

GRAFIKA RASTROWA. WYKŁAD 1 Wprowadzenie do grafiki rastrowej. Jacek Wiślicki Katedra Informatyki Stosowanej

SKRó CONA INSTRUKCJA OBSŁUGI

Zastosowanie techniki Motion Capture

Układy VLSI Bramki 1.0

Ćwiczenie 4 - Podstawy materiałów i tekstur. Renderowanie obrazu i animacji

Sterowanie, uczenie i symulacja robotów przemysłowych Kawasaki

Opis funkcji modułu Konwerter 3D

Zastosowanie Informatyki w Medycynie

Instrukcja obsługi rejestratorów XVR. wersja

1.3. Tworzenie obiektów 3D. Rysunek 1.2. Dostępne opcje podręcznego menu dla zaznaczonego obiektu

Regulamin Sztafeta. Wydanie: Z tłumaczenia angielskiego 2009 Stali Sponsorzy IALC:

Rozproszony System Monitoringu IXM5 Instrukcja obsługi

Rozpoznawanie obrazów na przykładzie rozpoznawania twarzy

Transkrypt:

Analiza strategii robotów mini-sumo na podstawie obserwacji ich ruchu Jan Kędzierski Edgar Ostrowski Wrocław 2008 Dokument powstał w ramach zajęć projektowych z przedmiotu Komputerowe przetwarzanie wiedzy, prowadzonych przez dra inż. Tomasza Kubika na Wydziale Elektroniki, Politechniki Wrocławskiej w semestrze letnim roku akademickiego 2007/2008.

Spis treści 1 Wprowadzenie 2 1.1 Cel projektu....................................... 2 1.2 Walki robotów mini-sumo............................... 2 2 Przetwarzanie obrazów 3 2.1 Przechwytywanie pojedynczej klatki......................... 3 2.2 Odszumianie obrazu wejściowego........................... 3 2.3 Detekcja kolorów.................................... 3 2.4 Konwersja z RBG na skalę szrości.......................... 4 2.5 Progowanie binarne................................... 4 5 2.7 Wyliczanie momentów centralnych.......................... 5 3 Analiza ruchu 6 3.1 Skalowanie wielkości fizycznych............................ 6 3.2 Wyznaczanie zwrotności robota............................ 7 3.3 Wykrywanie ataków.................................. 7 3.4 Wykrywanie falstartów................................. 7 3.5 Ocena walki....................................... 8 4 Obsługa programu 9 5 Wnioski 11 1

1 Wprowadzenie Koło Naukowe Robotyków KoNaR działające przy Wydziale Elektroniki, Politechniki Wrocławskiej od początku swoje działalności prowadzi szerokie badania między innymi w zakresie budowy robotów mini-sumo. Często spotykanym problemem przy obserwacji walk jest brak jednoznacznego rozstrzygnięcia pojedynków. Konfliktowe sytuacje wymagają ingerencji arbitra lub powtórek. Rysunek 1: Walczące roboty podczas V Otwartych Zawodów Robotów Mini-sumo 1.1 Cel projektu W niniejszym dokumencie przedstawiono komputerowy system wizyjny do analizy walk robortów minisumo, który na podstwie obserwacji ruchu robotów potrafi w krytyczny sposób ocenić przebieg walki oraz wskazać zwycięzce. Do realizacji projektu wykorzystano język C++ w środowsku Microsoft Visual Studio 2006 oraz bibliotkę do przetwarzania obrazów OpenCV [2]. Jako układ optyczny do akwizycji danych zastosowano komputerową kamerką internetową oraz cyfrowy aparat fotograficzny. 1.2 Walki robotów mini-sumo Roboty klasy mini-sumo, aby brać udział w rozgrywkach powinny spełniać następujące podstawowe kryteria: całkowita waga robota nie może przekraczać 500g, wymiary robota są ograniczone do 10cm x 10cm (brak ograniczeń co do wysokości), roboty muszą myć całkowicie autonomiczne, komunikacja bezprzewodowa jest niedozwolona, Walki dwóch drużyn odbywają się okrągłym ringu zwanym Dohyo o 77cm średnicy oraz o czarnym kolorze nawierzchni. Na krawędzi ringu znajduje się 2.5cm biała linia, która umożliwia wykrycie krawędzi przez roboty. Uczestnicy umieszczają roboty na przeciwległych połówkach ringu. Po ogłoszeniu startu przez sędziego roboty muszą pozostać nieruchome przez 5 sekund. Po upływie tego czasu rozpoczyna się walka. Roboty mają za zadanie zlokalizować przeciwnika oraz wypchać go za ring. Każdy mecz składa się z 3 pojedynków. Wygrane pojedynki nagradzane są punktami Yuko. Mecz wygrywa drużyna z przewagą punktową. Szczegółowy opis zasad walk zawiera Regulamin walk robotów minisumo[1]. www.konar.pwr.wroc.pl 2

2 Przetwarzanie obrazów W przedstawionej aplikacji przewidziano możliwość przetwarzania obrazu na żywo z kamery lub z pliku video. Do prawidłowej analizy walki konieczne było przeprowadzenie następujących operacji na pojedynczej klatce. 2.1 Przechwytywanie pojedynczej klatki Pierwszym krokiem analizy jest przechwycenie pojedynczej klatki. Dokonuje się to następującym poleceniem: IplImage* frame1 = cvqueryframe(m_capture); Gdzie m capture to wskaźnik na strumień video. 2.2 Odszumianie obrazu wejściowego Operacja ta ma a celu usuwanie punktów izolowanych. Dzięki temu obraz staje się jednolity co ułatwia dalszą analizę. cvsmooth(frame1, frame1, CV_GAUSSIAN, 7, 7, 1., 1.); Rysunek 2: Obraz przed odszumieniem i po odszumieniu 2.3 Detekcja kolorów Algorytm detekcji kolorów analizuje każdy piksel w klatce. Wyliczane są stosunki kolorów pojedynczego piksela do kolorów RBG. Np. dla koloru czerwonego wyznacza się stosunek ilości czerwieni do ilości koloru zielonego oraz ilości czerwieni do koloru niebieskiego. Następnie porównywane są z parametrami zadanymi przez użytkownika w programie. Jeżeli zostanie wykryty żądany kolor pozostaje wcześniejsza wartość piksela jeżeli nie to przypisuje się wartość 0 (kolor czarny). double tmp1=red_point / (green_point+0.001); double tmp2=red_point / (blue_point+0.001); if ((tmp1>parm_red1) && (tmp2>parm_red2) && (red_point>parm_red3)) { ptr_dest[0]=ptr_src[0]; ptr_dest[1]=ptr_src[1]; ptr_dest[2]=ptr_src[2]; } else 3

{ } ptr_dest[0]=0; ptr_dest[1]=0; ptr_dest[2]=0; Rysunek 3: Przykład wykrycia kolorów 2.4 Konwersja z RBG na skalę szrości Dalsze operacje są przeprowadzane 8 bitowej skali szarości. Poniższy listing przedstawia konwersje pojedynczej klatki z RGB na GRAYSCALE. cvcvtcolor(frame_red,frame3,cv_rgb2gray); Rysunek 4: Pojedyncza klatka w odcieniach szarości 2.5 Progowanie binarne W kolejnym kroku obraz jest zamieniany na dwuwartościowy. 1 - kolor biały, obecność obiektu, 0 - kolor czarny, brak obiektu. cvthreshold( frame3, frame3, 1, 255, CV_THRESH_BINARY); 4

Rysunek 5: Obraz po sprogowaniu binarnym 2.6 Operacje morfologiczne Operacje te mają na celu wypełnienie pikseli, które nie zostały zakwalifikowane jako obiekt na scenie. Dzięki temu uzyskujemy wypełnione sylwetki obiektów. Zwężanie (erosion) sylwetki U B = {u Ω Bu U} (1) B - symetryczny obraz B względem punktu środkowego Rozszerzanie (dilation) sylwetki: Dualność erozji i dylatacji: U B = {u Ω B U } (2) (U B) C = {u Ω B U = } = {u Ω Bu U C } = U C B (3) Otwieranie (opening) sylwetek: U B = (U B) B (4) Domykanie (closing) sylwetek: U B = (U B) B (5) // otwarcie cvdilate(frame3, frame3, 0, 3); cverode(frame3, frame3, 0, 3); //zamkniecie cverode(frame3, frame3, 0, 3); cvdilate(frame3, frame3, 0, 3); 2.7 Wyliczanie momentów centralnych Operacje te umożliwiają określenie środka ciężkości wykrytych obiektów. Otrzymane współrzędne służą w dalszej części do analizy ruchliwości robotów. Zaczerpnięto z materiałów do wykładu Cyfrowe przetwarzanie obrazów i sygnałów, aut. dr Marek Wnuk 5

Rysunek 6: Obraz po operacjach morfologicznych Moment rzędu p + q Znormalizowane momenty rzędu 1: m p,q = M 1 x=0 N 1 cvmoments(frame3, &moments, 0); // wyliczenie srodka center_red.x =(int)(moments.m10 / moments.m00); center_red.y =height-(int)(moments.m01 / moments.m00); y=0 χu(x, y)x p y q (6) x s = m 1,0 m 0,0 (7) y s = m 0,1 m 0,0 (8) 3 Analiza ruchu Mając informacje o zmianie położenia środku ciężkości wykrytych obiektów możliwe jest wyznaczenie następujących parametrów ruchu robotów: średnia prędkość [cm/s], maksymalna prędkość [cm/s], dystans [cm], zwrotność, ataki, ataki celne. W dalszej części przedstawiono wyznaczanie bardziej skomplikowanych parametrów. 3.1 Skalowanie wielkości fizycznych Do oszacowania prędkości oraz przebytego dystansu poruszających się robotów znana średnicę (φ 77cm) ringu. W programie istnieje możliwość wyświetlenie ringu za pomocą, które można prawidłowo ustawić kamerę do przechwytywania obrazów. 6

Rysunek 7: Przykład niedokładnego ustawienia kamery 3.2 Wyznaczanie zwrotności robota Aby prawidłowo wyznaczyć zwrotność robota konieczna jest znajomość aktualnej pozycji oraz 2 wcześniejszych. Dzięki temu możliwe jest wyznaczenia zmiany kierunku poruszania się obiektu. Rysunek 8: Wyznaczanie zwrotności 3.3 Wykrywanie ataków Wykrycie ataku polega na badaniu prędkości i kierunku poruszających się robotów względem siebie. Zakwalifikowanie ruchu jako atak następuje wtedy gdy jeden robot gwałtownie przemieści się w kierunku przeciwnika. Atak celny następuje wtedy gdy w opisanej sytuacji roboty się zderzą. 3.4 Wykrywanie falstartów Zgodnie z regulaminem walk robotów mini-sumo [1] po ogłoszeniu startu przez sędziego roboty muszą odczekać 5 sekund nieruchomo. Jeżeli któryś z zawodników się poruszy następuje dyskwalifikacji. 7

Rysunek 9: Wykrywanie ataków Rysunek 10: Wykrywanie falstartów 3.5 Ocena walki Program automatycznie punktu przebieg walki w czasie rzeczywistym poprzez nadawanie odpowiednich wag wcześniej wyznaczonym parametrom. P kt = V mean a 1 + V max a 2 + Dist a 3 + Agility a 4 + Atack a 5 + AccurateAtack a 6 gdzie: a 1 = 1 a 2 = 1 a 3 = 1 a 4 = 0, 1 a 5 = 100 a 6 = 1000 8

4 Obsługa programu Po uruchomieniu aplikacji pojawia się główne okno, z tego poziomu jest dostęp do wszystkich ustawień programu. Zgodnie z powyższym rysunkiem: Rysunek 11: Widok okna głównego 1 - Widok sceny W oknie tym istnieje możliwość wyświetlania ścieżek robotów, punktacji, ringu oraz markerów. Rysunek 12: Wyświetlanie dodatkowych informacji 2 - Wybór źródła Rysunek 13: Wybór źródła 9

3 - Panel sterowania Uruchamianie oraz zatrzymywanie systemu sędziującego. 4, 5 - Wyświetlanie pozycji czerwonego i niebieskiego zawodnika Wyświetlanie wykrytych obiektów danego koloru. 6 - Otwieranie okna z ustawieniami parametrów Okno faktor służy do ustawianie parametrów przy analizie punktacji walki. Rysunek 14: Okna Factor i Movement agility, speed - minimalna prędkość przy wykrywaniu zwrotności agility, angle - minimalny kąt przy wykrywaniu zwrotności atack, speed - minimalna prędkość przy wykrywaniu ataków atack, angle - minimalny kąt przy wykrywaniu ataków faul start - prędkość progowa 7 - Otwieranie okna z ustawieniami detekcji kolorów Ustawianie parametrów detekcji kolorów. Dla czerwonego: Rysunek 15: Okno Parameters 10

r/b parameter - próg stosunku kolorów czerwonego do niebieskiego r/g parameter - próg stosunku kolorów czerwonego do zielonego thershold parameter - progowanie 8 - Ustawienia widoku sceny show dohyo - wyświetlaj ring show paths - wyświetlaj ścieżki show markers - wyświetlanie markerów show info - wyświetlanie informacji dodatkowych 9 - Wyświetlanie parametrów analizy walki dla obu zawodników 5 Wnioski Stworzona aplikacja pozwala na wspomaganie sędziego przy ocenianiu walk. Często dochodzi do sytuacji kiedy to sędzia nie może w sposób jednoznaczny rozstrzygnąć walki. Dzieje się tak w wtedy kiedy dochodzi do zderzenia robotów, które wykazują podobną przyczepność. Po czasie 3 minut walka jest przerywana bez przyznania punktów. Program ten z pewnością pozwoliłby na krytyczna ocenę przebiegu walki. Niestety w trakcie realizacji projektu napotkano na wiele problemów związanych głównie z słabą jakością posiadanego sprzętu rejestrującego. Internetowe kamery w zasadzie nie nadają się do tego typu zastosowań. Nie przewidziano w nich możliwości wyłączenia automatyki. Powodowało to, że kamery nie zawsze poprawnie rozpoznawały kolor związany z danym zawodnikiem. Wskazane jest używanie kamer o lepszych parametrach. W programie przewidziano zmianę wszystkich istotnych nastaw parametrów związanych z rozpoznawaniem, detekcją i punktacją. Literatura [1] Regulamin zawodów robotów minisum, Wrocław 2004 [2] Intel Open Sourse Computer Vision Library, Reference Manual, Intel Corporation, 2001 [3] Z aczerpnięto z materiałów do wykładu Cyfrowe przetwarzanie obrazów i sygnałów, aut. dr Marek Wnuk [4] T adeusiewicz R., Korohada P., Komputerowa analiza i przetwarzanie obrazów, FPT, Kraków 1997 11