Skocz do zawartości

Chechli

Users
  • Zawartość

    140
  • Rejestracja

  • Ostatnio

  • Wygrane dni

    2

Chechli zajął 1. miejsce w rankingu.
Data osiągnięcia: 25 sierpnia 2010.

Treści użytkownika Chechli zdobyły tego dnia najwięcej polubień!

Informacje

  • Płeć
    Mężczyzna
  • Lokalizacja
    lubelskie
  • Zawód
    student
  • Moje zainteresowania:
    matematyka, fizyka

Ostatnio na profilu byli

Blok z ostatnio odwiedzającymi jest wyłączony i nie jest wyświetlany innym użytkownikom.

Osiągnięcia użytkownika Chechli

Eksplorator

Eksplorator (8/19)

  • Za 25 postów
  • Za 5 postów
  • Za 100 postów
  • Młodszy konstruktor
  • Młodszy Juror

Odznaki

13

Reputacja

  1. Wrzucam zmiany - info o braku kamerki+tworzenie katalogu Nagrania (sam kod na razie w załaczniku, zeby serwera nie zasmiecać). Załącznik na początku tematu.
  2. Pod Windowsem nie musisz uzywać Phonona, wystarczy QSound, oparty na PlaySound z windows.h - jak sie nie mylę to jest tak zrobione u mnie w wersji na windę. Jedynym dźwiekiem jest gong, można dla potrzeb widzów dodać dźwiek końca odliczania 5 sekund, dodawać wiecej nie ma sensu - przy regularnej sekwencji piknięć zawodnicy z wyczuciem rytmu będą mieli przewagę. W wolnym czasie zajme sie tym folderem i info o braku kamery.
  3. Spróbujcie w folderze z plikiem *.exe dodac folder Nagrania - tak jak w folderze release w wersjach w temacie - folder musi istnieć. A co do zerowego tempa, to nie weim czemu, ale może coś z tym statycznym OpenCV - program działał na wszytskich kompach z dllkami gdzie byl odpalany. A może by sprobować tak: zainstalować sobie Qtcreatora (powinien mieć wszelkie dllki, więc jak komus brakuje to sobie skopiuje do folderu progrmu) a te 4 od opencv (cv, cvaux, cxcore, highgui) skopiować z załącznika? Btw, zawsze jak piszecie że nie działa, to piszcie jak to sie objawia. ^ tak, bez kamery po prostu sie nie uruchamia, i tak nie da sie wtedy korzystać, wiec nie widziałem sensu żeby sie przed tym specjalnie zabezpieczać 😋
  4. Dajcie znać, jak komuś zadziała - jak to będzie ostateczna wersja to wrzucę do tematu, żeby nie trzeba było szukać. Dzieki kling za pomoc 😉
  5. 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 🙂
  6. 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?
  7. 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ę.
  8. 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.
  9. 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.
  10. 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
  11. Dawno się tutaj nie udzielałem 😉 Najpierw wyjaśnię tę rozdzielczość 0,01s, bo chociaż na zawodach całkiem sporo byłem koło sumo, to z uczestnikami pogadać czasu nie miałem. Oczywiście jest to rozdzielczość pozorna, kolejne klatki mają czasy różne o 0,03-0,04s (bo 30 fps daje 0,0(3)s). To był pierwszy test tego systemu i rzeczywiście trochę można w nim poprawić - już w trakcie zawodół pomyslałem o sygnale startowym, oprócz tego do poprawy będzie jeszcze kilka szczegółów widocznych z punktu widzenia sędziego. Dzięki za uwagi, postaramy się je wykorzystać jeszcze lepiej od zeszłorocznych 😉
  12. Ponieważ na maila konkursowego, którym się obecnie zajmuję, wpłynęło kilka pytań o kierunek przejazdu FTL to odpowiadam również tutaj (chociaż kwestia ta była już chyba poruszana). Organizatorzy nie określają kierunku przejazdu, najprawdopodobniej będzie sie liczyć suma/średnia przejazdu CW i CCW.
  13. Ja bym na twoim miejscu zrealizował radę mactra, na uC wszystko działa tak jak wcześniej, tyle, że sygnał stopu jest wysyłany po puszczeniu klawisza, wszystko powino działać i nie wysyłasz niepotrzebnie nadmiaru danych.
  14. Przyznam się, że nie przeczytałem całego tego kodu, bo nie czuję ku temu wewnętrznej potrzeby 🙂 Poza tym jak się pisze własne programy, to nie trzeba się domyślać, co artysta miał na myśli. W tym wypadku sądzę jednak, że jest to zwykła funkcja skalująca wartość zmiennej wyrażoną w procentach, czyli intuicyjną, na wartość potrzebną procesorowi, z zabezpieczeniem przed przekroczeniem wartości maksymalnej. Pewnym drobnym utrudnieniem jest to, że Luko właśnie pije herbatę, ale nie jest na diodzie, i jak ją wypije to bezmyślnie wyrzuci fusy, i w żaden sposób nie dowiemy się, co wyraża MOTOR1_MAX_POWER, jakie przyjmuje wartości, i jak to się ma do procntów w komentarzu przed funkcją. Można mieć tylko nadzieję, ze ta funkcja /** * Ustawia moc silnika 1 wyrażoną w % */ Więc moc silnika jest ustawiona na wartość zadaną parametrem funkcji, a nie 10%.
  15. Liczę, że was zaskoczę, ale to czy zadziała, to mój problem 🙂 Chcę mieć tylko pewność, że jeżeli zadziała, to nie będę miał problemów z regulaminem, gdyż jak pisałem, nie widziałem takich konstrukcji na YT a na zawodach jeszcze nie byłem.
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.