Chechli Napisano Sierpień 14, 2012 Udostępnij Napisano Sierpień 14, 2012 Projekt jest jedną z prób rozwiązania problemu falstartów w zawodach robotów, z dedykacją dla sumo wszelkiej kategorii wagowej. Jego pierwsza wersja została wykorzystana na Robomaticonie 2012 i działała bez zarzutu, jednak obsługa z punktu widzenia sędziego nie była zbyt dopracowana, co w wolnym wakacyjnym czasie udało mi się naprawić. Jeżeli stwierdzicie, że jeszcze jakaś funkcja byłaby bardzo przydatna, to piszcie, jak sie uda to zaimplementuję - sam zresztą mam jeszcze kilka pomysłów, kilka podsunął kolega ze studiów, ale to wszystko poczeka pewnie na kilka kolejnych deszczowych dni 🙂 No ale do rzeczy, co ten program potrafi. W załącznikach jest już skompilowana wersja pod Windowsa Sędziowanie oparte jest na widzeniu maszynowym (wystarczy podpiąć dowolną kamerkę pod usb) i OpenCV (wersja 2.3.1), interfejs Qt, dzwięk phonon (nie wiem jak z wieloplatrofmowościa tej ostatniej biblioteki, reszta na pewno niezależna od systemu), kompilowane pod ubuntu 10.04. Program wspomaga pracę sędziego poprzez oznaczanie obszarów ruchu, nie zajmuje sie oceną ktory z robotów dokonał falstartu. Obsługa jest następująca: - sędzia klika przycisk Start,- rozlega sie pojedyńczy dźwięk gongu i wraz z jego początkiem zaczyna sie odliczanie 5 sekund do rozpoczęcia walki (nagranie walki zapisywane jest w odpowiednim folderze, pod nazwą wpisaną w widocznym na screenie polu tekstowym),- w połowie czasu odliczania rozpoczyna sie analiza obrazu - wcześniej zawodnicy wciskają przyciski startowe i zabieraja ręce, co niepotrzebnie zamazywało by wyniki, a ewentualne grube falstary i tak widac na nagraniu (gołym okiem zreszta też 🙂),- podczas analizy obrazu podświetlane na czerwono są obszary ruchu, a ponieważ nic nie powinno sie ruszać to podświetlane są falstarty,- po upływie 5 sekund odliczania sędziemu wyswietla sie obraz podsumowujący wykryte potencjalne falstarty (potencjalne, bo ruch publiczności w tle też zostanie podświetlony), może on od razu kliknąć przycisk Ok (walka jest kontynuowana) lub Sprawdź (w przypadku podejrzenia falstartu),- Sprawdź otwiera nagranie odliczania, uaktywniają sie przyciski play/pause i suwak przewijania, na nagraniu wyswietla sie czas, wszystko to umożliwia sprawdzenie wszelkich interesujących szczegółów, np. który z robotów pierwszy popełnił falstart),- sędzia kończy walke klikając Falstart lub nie stwierdza go i klika Ok (walka jest kontynuowana),- sędzia moze zakończyc walkę, klikając Stop (jeżeli którys z robotów wygra przed czasem), lub odczekać do końca rundy (do wyboru rundy 2 i 3 minutowe, radiobox widoczny na screenie),- i lecimy od nowa 🙂 Jakby ktoś pytał to przycisk kamera służy do wyboru kamery, indeksowane sa one w OpenCv od 0, żeby nie komplikować to w programie klikajac przeskakujemy na kolejne od 0 do 3, potem znów na 0 - brzmi zawile, ale ważne jest to, że jeżeli masz więcej niż jedna kamerę i chcesz zmienić źródło obrazu, to klikaj w ten przycisk, jak po 4 razach się nie uda to coś nie działa. Cóz, to chyba by było na tyle, czekam na pytania i sugestie. Jakby komuś udało/nie udało się uruchomić programu pod Windowsem to niech da znać (uruhcamiamy /release/Sumo.exe). Jeżeli wyskoczy błąd braku dllek, to wszystkie potrzebne powinny być w folderze bin załacznika dla Windowsa. Aby z nich skorzystać można: a) po prostu skopiować je do folderu pliku wykonywalnego, czyli release. Poprawiłem strukturę załącznika, więc nic nie trzeba robić, kto sciagnął może sam sobie przenieść z bin do release. Pozostałe sposoby zostawię w temacie, bo działają 🙂 b) skopiować je do folderu systemowego, np. u mnie C:\Windows\System32, potem można uruchomić ponownie komputer. c) dodać folder do zmiennej systemowej Path: dla Windowsa 7 i chyba wszystkich nowszych Mój komputer -(prawym)->Właściwości->Zaawansowane ustawienia systemu (są po lewej)->Zmienne srodowiskowe (przycisk na dole). Potem wśród zmiennych systemowych szukamy Path i klikamy edytuj. Na końcu dopisujemy adres naszego folederu bin, oddzielony średnikiem od poprzednich, a wiec dopisujemy na końcu: ;C:\Sumo-build-desktop\bin Oczywiście jeżeli to w tym miejscu rozpakowaliśmy program. Jeżeli bedzie brakowało jeszcze jakichs dllek, to dajcie znać - u mnie musza byc, a dllek lepeij nie ściagać z neta. Do skompilowania (jeżeli ktoś chce sam skompilować z kodu, a nie uruchomić) potrzebny jest QtCreator (instalacja prosta, aby otworzyc projekt otwieramy plik *.pro), OpenCV (trudniejsza ale dobrze opisana na stronie tej biblioteki) oraz phonon. Sumo.zip Sumo-build-desktop.zip Sumo_zmiany.zip Link do komentarza Share on other sites More sharing options...
ProeXtreme Sierpień 15, 2012 Udostępnij Sierpień 15, 2012 Z tego co słyszałem to ten system antyfalstartowy świetnie spełnił swoje zadanie. Super, że został dopracowany. Będziecie pracowali nad zdalnym startem robotów? Opis tego systemu jest tragicznie napisany - ani ładnie, ani składnie. W wielu miejscach trzeba czytać po kilka razy aby się domyślić co autor miał na myśli. Link do komentarza Share on other sites More sharing options...
sobal44 Sierpień 15, 2012 Udostępnij Sierpień 15, 2012 Nie znam się na programach komputerowych a bardzo bym chciał przetestować tą aplikację. mógł by mi ktoś wytłumaczyć krok po kroku jak to coś włączyć ? Link do komentarza Share on other sites More sharing options...
Chechli Sierpień 15, 2012 Autor tematu Udostępnij Sierpień 15, 2012 Rzeczywiście, miejscami się zamotałem w opisie, ale robiłem to po powrocie z roboty i dzisiaj na spokojnie trochę poprwiłem. Co do odpalania programu to na linuxie powinno po prostu działać po rozpakowaniu, na windowsie trzeba skompilować, ale w najbliższym czasie postaram sie i tu dorobić. ProeXtreme, jeśli asz na myśli zdalny start jako dostraczany przez organizatorów moduł liczący te 5 sekund to nie zamierzamy - program powinien całkowicie wykrywać falstarty, jak będzie trzeba dokładności większej niż 50ms to wystarczy podłączyc szybszą kamerę 🙂 Poza tym takie moduły by kosztowały, albo każde zawody musiały by mieć swoje albo trzeba by je sobie pożyczać, a program każdy chętny może odpalić, kamer teraz dostatek. Link do komentarza Share on other sites More sharing options...
Polecacz 101 Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Produkcja i montaż PCB - wybierz sprawdzone PCBWay! • Darmowe płytki dla studentów i projektów non-profit • Tylko 5$ za 10 prototypów PCB w 24 godziny • Usługa projektowania PCB na zlecenie • Montaż PCB od 30$ + bezpłatna dostawa i szablony • Darmowe narzędzie do podglądu plików Gerber Zobacz również » Film z fabryki PCBWay
sobal44 Sierpień 18, 2012 Udostępnij Sierpień 18, 2012 Bardzo bym chciał przetestować ten program, nie znam się w ogóle na linuxie, mógł by ktoś ten program skompilować by działał pod windowsem ? Link do komentarza Share on other sites More sharing options...
kling Sierpień 18, 2012 Udostępnij Sierpień 18, 2012 Żeby można było odpalić ten program pod Windowsem nie posiadając wszystkich wymaganych bibliotek trzeba skompilować go statycznie. Szukanie niezbędnych *.dll jest trochę upierdliwe;d Link do komentarza Share on other sites More sharing options...
Chechli Sierpień 20, 2012 Autor tematu Udostępnij Sierpień 20, 2012 Dodałem wszystkie niezbędne dllki, opis w temacie, powinno już działać, jak jeszcze jakiejś dllki by brakowało to piszcie, wrzucę tutaj od siebie bo z neta lepiej nie ściągać podobno. Nie wiem jak będzie sie miała sprawa z systemamami 64-bitowymi, nie znam sie szczególnie na in formatyce, ale jak macie błędy to je opisujcie, bo na podstawie "nie działa" ciężko pomóc. Link do komentarza Share on other sites More sharing options...
kling Sierpień 20, 2012 Udostępnij Sierpień 20, 2012 Jeżeli wyskoczy błąd braku dllek, to wszystkie potrzebne powinny być w folderze bin załacznika dla Windowsa. Aby z nich skorzystać można: a) skopiować je do folderu systemowego, np. u mnie C:\Windows\System32, potem można uruchomić ponownie komputer b) dodać folder do zmiennej systemowej Path: dla Windowsa 7 i chyba wszystkich nowszych Mój komputer -(prawym)->Właściwości->Zaawansowane ustawienia systemu (są po lewej)->Zmienne srodowiskowe (przycisk na dole). Potem wśród zmiennych systemowych szukamy Path i klikamy edytuj. Na końcu dopisujemy adres naszego folederu bin, oddzielony średnikiem od poprzednich, a wiec dopisujemy na końcu: Wystarczy, ze dll'ki beda w tym samym folderze co plik wykonywalny;) Link do komentarza Share on other sites More sharing options...
Chechli Sierpień 20, 2012 Autor tematu Udostępnij Sierpień 20, 2012 Też tak myślałem, ale coś mi nie działało 😉 Pewnie zapomniałem, że wykonywalny jest w podfolderze release. Juz uzupełniam o najprostszą metodę. Link do komentarza Share on other sites More sharing options...
sobal44 Sierpień 20, 2012 Udostępnij Sierpień 20, 2012 mi to jakoś nie działa, gdzie jest ten folder "bin" ? Link do komentarza Share on other sites More sharing options...
Chechli Sierpień 20, 2012 Autor tematu Udostępnij Sierpień 20, 2012 Już nie ma bin, cała jego zawartość jest w release (jak koniecznie chcesz możesz skopiować pliki *.dll do utorzonego przez Ciebie katalogu bin w folderze głównym i realizować warianty b lub c). Jak dokładniej Ci nie działa, coś wyskakuje, jaki masz system, ilu bitowy? Link do komentarza Share on other sites More sharing options...
sobal44 Sierpień 21, 2012 Udostępnij Sierpień 21, 2012 system 64 bitowy brak msvcp100d.dll Link do komentarza Share on other sites More sharing options...
sobal44 Sierpień 22, 2012 Udostępnij Sierpień 22, 2012 Niestety nadal nie działa Link do komentarza Share on other sites More sharing options...
kling Sierpień 22, 2012 Udostępnij Sierpień 22, 2012 Spojrzalem na kod zrodlowy i kompilacja pod windowsem Twojego projektu nie zadziala. Plik *.pro jest napisany typowo pod Linuksa. Jezeli nie masz nic przeciwko to w wolnej chwili moge sprobowac wprowadzic zmiany umozliwiajace kompilacje pod windowsem oraz skompilowac program statycznie - wykluczy to koniecznosc rozpowszechniania aplikacji z dll'kami. Tylko trzeba sie wczytac w licencje Qt, bo wiem ze sa jakies obostrzenia dla aplikacji kompilowanych statycznie. Link do komentarza Share on other sites More sharing options...
Chechli Sierpień 22, 2012 Autor tematu Udostępnij Sierpień 22, 2012 Mi sie skompilował pod windowsem i działał 😋 Ale jakbys mógl go skompilowac statycznie, to będę wdzięczny, jak i pewnie kilku innych forumowiczów. Licencja dla programów kompilowanych statycznie w QtCreatorze to GPL, na szczegółach licencji sie nie znam ale jak widać ten program też jest generalnie publiczny 🙂 Link do komentarza Share on other sites More sharing options...
Pomocna odpowiedź
Bądź aktywny - zaloguj się lub utwórz konto!
Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony
Utwórz konto w ~20 sekund!
Zarejestruj nowe konto, to proste!
Zarejestruj się »Zaloguj się
Posiadasz własne konto? Użyj go!
Zaloguj się »