Po burzliwych konsultacjach z Grześkiem zrozumiałem, że układ współrzędnych jest już dawno zdefiniowany i nie ma co wyważać otwartych drzwi. Nie mam się więc upierać, bo wszyscy robotycy się już dogadali gdzie jest X, Y i Z. Przemówiła do mnie ostateczna argumentacja, że w robotyce są takie zasady, że X to do przodu, Z w górę, a Y w bok, znaczy w lewo. Tworzymy maszynę do biegania, dlatego będzie zgodnie ze sztuką. Czyli tak jak tu:
To co widać powyżej wymaga wprowadzenia, ale najpierw kilka słów o układzie współrzędnych. Nie ma go. To znaczy jest, ale tylko na tej wizualizacji. Tak jak napisałem wcześniej, moje czujniki wymagają kalibracji. To się fachowo nazywa
sensor fusion i pisałem o tym już wcześniej. Jak to będzie, czyli odszumione dane plus globalny układ współrzędnych, to wtedy ruszę z całkowaniem surowych danych do prędkości i drogi. Na razie jednak będę definiować poszczególne osie i nadawać im umowne kolory, bo moją mocną stroną jest paint i ew. power point, a nie jakiś wydumany C++, czy inny. Czasem w Wordzie też coś napiszę i zmienię czcionkę, bo to też jest ważne.
No to jedźmy:
Kierunek biegu, a właściwie zwrot będzie od tej pory pokazywać oś X (
strzałka czerwona). Oś Z to góra-dół (
strzałka niebieska) , oś Y to lewo-prawo (
strzałka zielona). Wzdłuż tych osi będą działać nasze akcelerometry. To znaczy, one sobie działają w jakimś swoim własnym, lokalnym układzie współrzędnych, bo czujnik podczas pracy przechyla się w różne strony, ale od tego jest właśnie kalibracja, żeby zawsze, bez względu na położenie czujnika, IMU dawał odczyt XYZ wg globalnego układu współrzędnych.
Tam na środku, lub też w punkcie krzyżowania się osi, jest taka szara kostka. Ta kostka może symbolizować miednicę, albo nomen omen kość krzyżową, ale może też symbolizować sam czujnik. No i tutaj trzeba być ostrożnym, co mamy na myśli mówiąc o tej małej, szarej kostce. Najlepiej byłoby to pokazać na przykładzie działania czujnika w praktyce lecz nie mam jeszcze skończonej animacji, dlatego posłużę się innym przykładem. W nazwie IMU (Inertial measurement unit) kryje się pewien problem interpretacyjny, polegający na naturze rzeczy, które podlegają bezwładności. Jadąc samochodem ze stałą prędkością nie ma problemu z wyznaczeniem mi prędkości i drogi, ale jak tylko przyspieszę lub jeszcze wyraźniej - gdy zahamuję, to jakby przestaję poruszać się razem z samochodem, bo pojawia się właśnie ta bezwładność. Czujnik wykorzystuje ten efekt do pomiarów, ale łatwo jest wówczas pomylić ruch mierzonego obiektu z reakcją czujnika na ten ruch. Bieganie jest ciągle zmieniającym się ruchem, dlatego czytania wykresów z akcelerometrów trzeba się nauczyć.
Na układzie współrzędnych widać też zaznaczone kierunki obrotów wokół osi. Na razie żyroskopów nie ruszam, ale tylko informacyjnie: przodo-tyłopochylenie miednicy będzie wokół osi Y, hipdrop wokół osi X. Skręty miednicy wokół osi Z, czyli w płaszczyźnie poprzecznej (płaszczyzna na planie XY).