logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Interaktywna kostka 3D +IMU

Szteker 30 Sie 2014 08:19 9732 8
REKLAMA
  • Urządzonko zrobione for-fun. Sprawdzenie swoich możliwości. W przyszłości na tej podstawie chciałbym zbudować interaktywny miecz.

    Interaktywna kostka 3D +IMU

    Estymaty ruchu płytki są przesyłane do PC i tam odtwarzane w postaci ruchu kostki na ekranie. To w skrócie.
    Do odtworzenia obrotu kostki na PC używam Quaternionów. Wyliczane są na podstawie informacji z akcelerometru oraz żyroskopu. Obliczenia na pokładzie mikrokontrolera. W wolnej chwili postaram się dorzucić dane z magnetometru do wyliczania obrotu, wtedy nie będzie problemu z początkową orientacją. Oprogramowanie na PC zostało wykonane przy użyciu frameworka Qt. Przerobiony delikatnie przykład.
    Koszt: około 150zł.
    Problemem było zrozumienie o co chodzi w quaternionach.

    Interaktywna kostka 3D +IMU Interaktywna kostka 3D +IMU
    Akcelerometr, żyroskop oraz magnetometr to jeden IC MPU9150. Mikrokontroler LPC z rdzeniem cortex m0. Komunikacja to typowy BTM112.




    Fajne? Ranking DIY
    O autorze
    Szteker
    Poziom 11  
    Offline 
    Szteker napisał 30 postów o ocenie 25. Jest z nami od 2004 roku.
  • REKLAMA
  • #2 13919705
    sanwa
    Poziom 14  
    Posty: 170
    Pomógł: 7
    Ocena: 10
    Witam

    Projekt ciekawy (wizualizacja na PC bardzo ładna, chociaż PCB raczej prototypowe :D ). Od pewnego czasu zastanawiam się nad czymś podobnym, ale w obudowie w kształcie sześcianu z LED-ami na każdej ścianie wyświetlającymi wartości w formie "piktogramów ze zwykłej kostki do gier" na podstawie akcelerometrów/żyroskopów (zgodnie z tym jak "obudowa się toczy w rzeczywistości").

    Edycja (nie przeczytałem dokładnie :D )

    Pozdrawiam
  • REKLAMA
  • #3 13919710
    markopololop
    Poziom 19  
    Posty: 382
    Pomógł: 33
    Ocena: 33
    Witam.
    Jaki wykorzystujesz algorytm fuzji sensorów?
  • REKLAMA
  • REKLAMA
  • #5 13920013
    leonow32
    Poziom 30  
    Posty: 2027
    Pomógł: 37
    Ocena: 1232
    Bardzo fajna zabawka :) kiedyś też chciałem coś takiego zrobić, ale zawsze trafiały się poważniejsze projekty (czyt. nudniejsze) ;)

    Fajnie by było gdyby kostka na ekranie obracała się dokładnie tak samo jak płytka, bo obecnie jest jakoś inaczej. Widać, że obracasz płytkę prawo-lewo, a kostka obraca się góra-dół. Tak czy inaczej takie projekty najbardziej mi się podobają :)
  • #6 13920214
    Tomkiewicz
    Poziom 13  
    Posty: 110
    Ocena: 59
    leonow32 napisał:
    Widać, że obracasz płytkę prawo-lewo, a kostka obraca się góra-dół.


    A to nie jest kwestia wspomnianej orientacji początkowej? Inna sprawa, że autor mógłby na potrzeby filmiku zorientować płytkę w pozycji zero, fajniej by to wyglądało.

    Jeżeli ktoś ma ochotę pobawić się takim czymś nie wydając ani grosza, to można wykorzystać dowolny telefon z androidem. Sam kiedyś na studia robiłem projekcik składający się z serwera z kartą CUDA do renderowania sceny 3D i telefonu ruszającego kamerą oraz robiącego za ekran.

    Niestety zamiast użyć kwaternionów robiłem obroty "na chłopski rozum" i nie były idealne. A to wcale nie jest jakiś rocket science, więc lepiej doczytać i zrobić implementację jak należy :).
  • #7 13922140
    zbyszek19940
    Poziom 10  
    Posty: 10
    Móglybys to wykorzystac do budowy wlasnego oculus rifta
  • #8 13924919
    Szteker
    Poziom 11  
    Posty: 30
    Ocena: 25
    1.
    Sensor fusion poczatkowo był Madgwick sensor fusion, ale później użyłem sensor fusion od InvenseSense. Dokumentacja motion driver od InvenseSense jest wg mnie nędzna.
    2.
    Tak, to kwestia orientacji poczatkowej. Algorytm liczy nowe polożenie częściowo na podstawie poprzedniego położenia.
  • #9 13957094
    radex324
    Poziom 24  
    Posty: 1248
    Pomógł: 50
    Ocena: 206
    Ja bym proponował dać układ do takiej kostki jak na ekranie będzie to fajnie się prezentowało.

Podsumowanie tematu

✨ Użytkownik stworzył interaktywną kostkę 3D z wykorzystaniem akcelerometru, żyroskopu i magnetometru (MPU9150), której ruchy są przesyłane do PC i wizualizowane na ekranie. Do obliczeń używa kwaternionów, a oprogramowanie na PC zostało stworzone w frameworku Qt. W dyskusji poruszono kwestie algorytmu fuzji sensorów, z początkowym zastosowaniem Madgwick sensor fusion, a później fuzji od InvenSense. Użytkownicy sugerują poprawę orientacji początkowej oraz możliwość wykorzystania podobnych technologii w innych projektach, takich jak Oculus Rift.
Wygenerowane przez model językowy.
REKLAMA