[MOC] Shooterbot i Cavator sterowane poprzez MS Kinect

Mindstorms, WeDo, Lego Digital Desinger, Stud.io

Moderatorzy: Mod Team, Mod Team

Autor
Wiadomość
SkyKnight

[MOC] Shooterbot i Cavator sterowane poprzez MS Kinect

#1 Post autor: SkyKnight »

Witam wszystkich,

od czasu do czasu przeglądam to forum i jestem naprawdę pod wrażeniem wielu konstrukcji, stąd też trochę stresuję się publikując tutaj swój wątek ;) Jestem początkującym adeptem Mindstormsów i wiem, że moje modele doskonałe nie są, z drugiej strony od kogo mam się uczyć jak nie od Was? :)

Ale do rzeczy: mój projekt powiązany jest z tematem pracy magisterskiej i ma odpowiedzieć na pytanie na ile sensowne jest wykorzystywanie 'cudów' takich jak sensor Microsoft Kinect w sterowaniu urządzeniami. Dla tych, którzy nie wiedzą czym to urządzenie jest to krótkie wyjaśnienie: posiada ono standardową kamerę RGB która stanowi źródło wyszukiwania i śledzenia człowieka oraz kamerę podczerwieni zwracającą informację o odległości punktów od czujnika. W ten sposób na wyjściu otrzymuje pozycje w przestrzeni 3D poszczególnych 'punktów' ludzkiego ciała (głowa, ramiona, dłonie itp.).

Poniższy schemat ilustruje elementy projektu i sposób ich komunikacji

Obrazek

Jak widać centralnym punktem jest tutaj komputer, który analizuje dane dostarczone z sensora Kinect i wysyła odpowiednie komendy do kostki NXT. Software, który tym zarządza napisany jest w C# w ramach platformy Microsoft Robotics Developer Studio 4 (MRDS).

Jako efekt pierwszego spotkania z Lego Mindstorms, Kinectem i MRDS powstał lekko zmodyfikowany Shooterbot. Obsługiwał proste gesty jazdy w przód, tył, lewo, prawo oraz oddanie strzału. Dodatkowo zamontowałem smartfona z Androidem i programem IP WebCam, który przesyłał obraz do komputera.

Obrazek Obrazek Obrazek

[youtube]http://www.youtube.com/watch?v=UekDfhyWWcI[/youtube]

Jak widać na filmie popełniłem parę błędów w programie, przez co wycelowanie i oddanie strzału było trochę kłopotliwe... ;)

Stwierdziłem jednak, że to za mało i fajnie by było pójść za ciosem i wykonać coś bardziej skomplikowanego. Nie mam pojęcia dlaczego akurat wybrałem koparkę, ale wydaje mi się, że jest to dobra konstrukcja do porównania 'klasycznego' sposobu kontrolowania (w tym konkretnym przykładzie za pomocą pada od Xbxoa) i tzw. NUI (czyli Kinectem). Tak więc po podłączeniu dwóch NXT, 6 serwomotorów (w tym jeden z PowerFunctions) i 4 czujników dotyku i zużyciu niemalże wszystkich klocków z obu zestawów powstało to dziwne monstrum :)

Obrazek Obrazek Obrazek


pełna galeria


Dopiero po zbudowaniu zdałem sobie sprawę ile rzeczy źle zrobiłem i w sumie należałoby to zacząć od nowa - niestety miałem nieprzekraczalny deadline na oddanie pożyczonego zestawu stąd też koparka musiała zostać w takim stanie.

Możliwości koparki były większe niż Shooterbota stąd też i gestów jest więcej. Jedno z założeń przy ich projektowaniu to wykonanie jednej operacji na raz - odbyłem kilka prób pomijając je i przyznam, że słabo mi wychodziło wykonywanie możliwych czynności :) Gestem z którego jestem najbardziej zadowolony to otwieranie i zamykanie chwytaka poprzez wykrywanie czy dłoń jest otwarta czy zamknięta - zajęło mi to cały jeden dzień :D

Poniżej film przedstawiający koparkę (i mnie ;) ) w akcji:

[youtube]http://www.youtube.com/watch?v=FTBBlt9uk1A[/youtube]

przy liczbie 3 prób średni czas przeniesienia kół oscylował wokół 7 min i 30 sek. Wykonanie tego samego zadania z pomocą pada ok. 5 min. Sam byłem tymi czasami zdziwiony, ale w międzyczasie czy to gubiłem koło czy przesunąłem resztę i pospadały... :)


Nie wiem co jeszcze istotnego powinienem o projektach napisać. Będę wdzięczny za każdą uwagę, już poza pracą dyplomową chciałbym zbudować nową wersję 'inteligentnej koparki' tj. wykrywanie obiektu do przeniesienia przed nią i wspomaganie podjechania do niego oraz jego chwycenia - być może moc EV3 pozwoli na podpięcie kamerki i analizowanie obrazu np. przez OpenCV :)

Kod źródłowy projektu hostuję na BitBucket:

https://bitbucket.org/skyknight/kinectrobot

Mimo, że na co dzień używam platformy .Net i języka C#, to chwilę mi zajęło zrozumienie platformy MSRDS, niemniej teraz naprawdę dostrzegam jej potencjał :) Gdyby ktoś potrzebował pomocy to w ramach swojej (jeszcze) skromnej wiedzy na jej temat z przyjemnością się nią podzielę :)

pozdrawiam

Awatar użytkownika
Szerszen
VIP
Posty: 1785
Rejestracja: 2012-03-30, 17:08
Lokalizacja: Warszawa
brickshelf: Szerszen
Kontakt:

 

#2 Post autor: Szerszen »

Niezłe... oba.

Koparkę zdecydowanie wystawiaj na moc misiąca.
Jeden klocek zgubię a drugi zepsuję. ;)

Awatar użytkownika
Sariel
VIP
Posty: 5418
Rejestracja: 2007-03-28, 08:16
Lokalizacja: Warszawa
brickshelf: Sariel
Kontakt:

 

#3 Post autor: Sariel »

Bardzo profesjonalnie zrobione filmy. Kolega zawodowiec? :)

Awatar użytkownika
m4rc1n
Posty: 369
Rejestracja: 2009-09-17, 15:28
Lokalizacja: Królewskie Miasto Kraków
brickshelf: m4rc1n

 

#4 Post autor: m4rc1n »

Filmy naprawdę fajnie zmontowane, nie podoba mi się jednak kolor albo umieszczenie napisów na zdjęciach, czasem są nieczytelne, zlewają się ze zdjęciem/ujęciem.

Nie da się ukryć, że konstrukcje bardzo zaawansowane, zwłaszcza pod względem oprogramowania. Myślę, że wiele konstrukcji w tym dziale na tle twojej wygląda dość prosto :)

Kandyduj do MOCa miesiąca, masz mój głos :)
MOCs: 4
WIP: who cares?

SkyKnight

#5 Post autor: SkyKnight »

Sariel pisze:Bardzo profesjonalnie zrobione filmy. Kolega zawodowiec? :)
filmy zostały nakręcone i zmontowane przez znajomego zawodowca :)
m4rc1n pisze:Nie da się ukryć, że konstrukcje bardzo zaawansowane, zwłaszcza pod względem oprogramowania. Myślę, że wiele konstrukcji w tym dziale na tle twojej wygląda dość prosto :)
dzięki :) mimo, że prace nad tymi projektami rozciągnęły mi się w czasie (praca i inne projekty na zaliczenia) to jednak bardzo fajnie mi się spędzało nad nimi czas i na pewno to nie są ostatnie moje konstrukcje. Niemniej lektura forum pokazuje mi, że jest jeszcze wiele aspektów na które przy budowie i tworzeniu oprogramowania muszę zwracać baczniejszą uwagę (np. wyhamowywanie serwo, płynniejsze ruchy).

Awatar użytkownika
legosamigos
VIP
Posty: 3942
Rejestracja: 2012-04-11, 07:01
Lokalizacja: Gdańsk
brickshelf: legosamigos
Kontakt:

 

#6 Post autor: legosamigos »

Witam!

Szkoda, że Mindstorms jest mi zupełnie obcy. Naprawdę daje dużo frajdy i mozliwości. Najpierw TT zrobił maszynę tkacką, a teraz Ty wirtualną koparkę. Twoja praca mogłaby być symulatorem dla przyszłych operatorów obsługujących koparki. Przynajmniej tak nie trzęsie jak w prawdziwej koparce, tylko wygodnie sobie siedzisz i sterujesz nią wirtualnie :) Wydaje mi się tylko, że tło jest za ciemne
Moje życie jest jak klocki Lego, nigdy nie wiem, co zbuduję

Awatar użytkownika
Methos
Posty: 227
Rejestracja: 2011-07-23, 01:19
Lokalizacja: Polska - Gniezno
brickshelf: Methos6

 

#7 Post autor: Methos »

Sądzę, że w tym temacie nie powinniśmy oceniać "wyglądu" ale pomysł! A pomysł - z tego co kojarzę - jest świeży przynajmniej na tym forum. Duży ukłon za trud i pracę włożone w zmontowanie tego wszystkiego razem (NXT, Kinect, klocki i soft).

Awatar użytkownika
krowkens
Posty: 218
Rejestracja: 2013-01-18, 14:07
Lokalizacja: Tychy
brickshelf: krowkens

 

#8 Post autor: krowkens »

Rozumiem że wygląd koparki był ostatnią rzeczą która tu ma znaczenie, jednakże gdyby w tej koparce było więcej koparki to efekt byłby jeszcze lepszy.
Szacun za dużą wiedzę

Awatar użytkownika
Sariel
VIP
Posty: 5418
Rejestracja: 2007-03-28, 08:16
Lokalizacja: Warszawa
brickshelf: Sariel
Kontakt:

 

#9 Post autor: Sariel »

Możesz zdradzić czym były robione zdjęcia? Zresztą zdaje się, że do filmów posłużył ten sam sprzęt.

Awatar użytkownika
makorol
Posty: 666
Rejestracja: 2004-11-20, 09:55
Lokalizacja: Bystrzyca / Wrocław
brickshelf: makorol

 

#10 Post autor: makorol »

Sariel pisze:Możesz zdradzić czym były robione zdjęcia?
Model urządzenia: Canon EOS 600D
Czas ekspozycji: 0,0166667
Wartość przysłony: 2,8
Czułość ISO: 200
Czas otwarcia migawki: 6
Przysłona: 3
Korekta ekspozycji: 0
Lampa błyskowa: 16
Ogniskowa: 50
Pozdrawiam, Makorol.

Awatar użytkownika
Sariel
VIP
Posty: 5418
Rejestracja: 2007-03-28, 08:16
Lokalizacja: Warszawa
brickshelf: Sariel
Kontakt:

 

#11 Post autor: Sariel »

Ach, dziękować. Kurczę, a może jednak nawrócić się na Canony?

Awatar użytkownika
makorol
Posty: 666
Rejestracja: 2004-11-20, 09:55
Lokalizacja: Bystrzyca / Wrocław
brickshelf: makorol

 

#12 Post autor: makorol »

Najpierw chyba lepiej kupić (albo chociaż pożyczyć i wypróbować) jakieś fajne, jasne szkło (niekoniecznie drogie, automatyczne; stare, manualne obiektywy mogą dawać świetne efekty za niską cenę). Bo jak dla mnie tutaj to bardziej kwestia obiektywu i dobrego oświetlenia.

Zaletą nowych Canonów jest niewątpliwie świetny tryb filmowy, chyba najbardziej rozbudowany ze wszystkich lustrzanek.
Pozdrawiam, Makorol.

Awatar użytkownika
aditoma
Posty: 155
Rejestracja: 2011-12-14, 18:54
Lokalizacja: Lublin

#13 Post autor: aditoma »

Wchodzimy na grząski teren;)
Argumenty za Canonem to świetna plastyka obrazu i duży wybór szkieł.
Tryb video..cóż..Panasonic i Sony stawiają Canona daaleko w tyle.
Manualne stare szkła (z mocowaniem FD) mają gigantyczna wadę: mega kłopoty z ostrzeniem (nie mam na myśli tego że trzeba recznie, tylko to że podziałka jest nic nie warta i nie ma ostrzenia na nieskonczonosc). Brak stabilizacji też potrafi dać się we znaki.
dobra rzecz jest taka że Tamrona 17-50 2.8 VC można miec już za 1000zł. Canon 50 1.4 - 1500zł itd
Trzeba pamiętać że to matryca CMOS więc odpada narywanie przy jarzeniówkach, czy szybkie panoramowania.
No i że AF w trybie video nie istnieje (nie ważne że piszą że jest..nie działa)

Co do profesjonalności filmów to składa się na nie fakt nagrywania w studiu z kotarami (albo na scenie w jakimś teatrze/świetlicy) z oświetleniem halogenowym itp. Wiec do uzyskania nawet nieduzym kosztem we własnym zaciszu;).
Wykorzystano też Slider, koszt zakupu ok 1000zł, zbudowany samodzielnie dużo taniej;)

a projekt świetny. Pełen szacunek za pomysł.
Ostatnio zmieniony 2013-04-03, 23:28 przez aditoma, łącznie zmieniany 1 raz.
Za każdym razem gdy [CENZURA] kotek.

Awatar użytkownika
Sariel
VIP
Posty: 5418
Rejestracja: 2007-03-28, 08:16
Lokalizacja: Warszawa
brickshelf: Sariel
Kontakt:

 

#14 Post autor: Sariel »

Slider i światło mnie nie martwią, to bardziej kwestia dobrego szkła, tak jak pisze Makorol. Zdjęcia które pokazał kolega są tak fantastycznie ostre w dość słabym świetle, ze podejrzewam raczej stałkę 50 mm niż zooma. Stałka ma sporo zalet, tyle że zmuszałaby mnie do trzaskania fotek z drugiego końca pokoju.

Awatar użytkownika
aditoma
Posty: 155
Rejestracja: 2011-12-14, 18:54
Lokalizacja: Lublin

#15 Post autor: aditoma »

te fotki nie sa ostre, jest mydlo co sugeruje ze uzyto szkła 50mm 1.8 II.
Zaklad o piwo;)

Co ma stałka do słabego oswietlenia??

troche teorii:
Kazde szkło ma określoną ostrość która zależy w duzej mierze od wykorzystanych materialów (np szkło o niskiej dyspersji) ale również od użytej przysłony. Wiekszośc szkieł maksymalna ostrość uzyskuje po przymknięciu do ok 4,5-5,6 (nie mowię tu o tzw "kitach" ktróe mają tak przy przysłonie 8.0-11.0). Gdy przymkniemy bardziej to wprawdzie zwiększy nam się pole głębi ostrości ale przekroczymy tzw. Limit dyfrakcyjny gdy domykanie przysłony sprawi że zacznie maleć ilośc linii na mm rysowanych przez szkło. Fakt że stałki są lepsze, bona ogół troche ostrzejsze. Ale to nie jest zasada, co mogę udowodnić bardzo szybko;)

Tamron 17-50 2.8 jest duuuużo ostrzejszy od Canona 50 1.8 i na podobnym poziomie co 50 1.4 (mówimy o przysłonie 4.0) ale jest duzo słabszy od np. Canona 100 mm Macro 2.8 L IS USM
Ostatnio zmieniony 2013-04-04, 20:56 przez aditoma, łącznie zmieniany 2 razy.
Za każdym razem gdy [CENZURA] kotek.

ODPOWIEDZ