MATLAB. het samenvoegen van een accelerometer en gyroscoop

Pagina: 1
Acties:

Onderwerpen

Vraag


Acties:
  • 0 Henk 'm!

  • Dwayne Dillen
  • Registratie: Juni 2020
  • Laatst online: 29-06-2020
Mijn vraag
Hallo allemaal, ik ben momenteel bezig met een project voor school. het project gaat over motiontracking van het gangpatroon van een mens. Nu weet ik dat ik een orientatie moet maken aan de hand van een assenstelsel op matlab. Deze orientatie moet gemaakt worden uit de gyroscoopdata en de accelerometerdata van de sensor die ik gebruik.

Dat is alles wat ik weet. Nu is mijn vraag; hoe moet ik deze samenvoegen om deze orientatie te creeeren?
het programma dat ik gebruik is MATLAB

Relevante software en hardware die ik gebruik
MATLAB

Wat ik al gevonden of geprobeerd heb
...

Alle reacties


Acties:
  • +1 Henk 'm!

  • DataGhost
  • Registratie: Augustus 2003
  • Laatst online: 04-07 12:45

DataGhost

iPL dev

Aangezien het een leeropdracht lijkt, lijkt het me handig om er iets van te leren. Heb je al eens geprobeerd te bedenken wat de data die je uit de sensor krijgt precies betekent, hoe die verandert bij bepaalde bewegingen en naar aanleiding daarvan een model te maken, wat hopelijk behoorlijk correspondeert met de bekende natuurkunde? Als je die dingen doorhebt zou het niet al te lastig moeten zijn om daar wat nuttige berekeningen bij te bedenken.

Dus: wat betekent accelerometerdata? Wat betekent gyroscoopdata? Welke beweging verandert wat? Welke orientatie verandert wat? Waarom gebeurt er wat er gebeurt? Waarom zegt mijn accelerometer dat de Z-as op -1G zit terwijl de sensor stil ligt? etc.

Je kan wat bij elkaar copy-pasten maar dan heb je nog geen idee hoe het werkt, en ga je vanzelf nat bij het verslag, de eindpresentatie of misschien zelfs pas bij de vragenronde. Probeer de "..." van de laatste regel van je topicstart eerst eens in te vullen.

[ Voor 15% gewijzigd door DataGhost op 29-06-2020 14:54 ]


Acties:
  • 0 Henk 'm!

  • Dwayne Dillen
  • Registratie: Juni 2020
  • Laatst online: 29-06-2020
Wat er precies gebeurt bij de accelerometer en de gyroscoop snap ik. Het probleem is alleen dat ik deze moet samenvoegen in matlab waaruit een orientatie moet ontstaan zodat je een vlinder-achtig looppatroon kan ontwerpen. Ik begrijp wat er met een gyroscoop en accelerometer gebeurt. Ik snap alleen niet hoe ik deze moet samenvoegen tot een orientatieveld

Acties:
  • 0 Henk 'm!

  • Dwayne Dillen
  • Registratie: Juni 2020
  • Laatst online: 29-06-2020
Afbeeldingslocatie: https://tweakers.net/i/aXYdjyxtcOT7vkpocGfNOaCsvac=/full-fit-in/4920x3264/filters:max_bytes(3145728):no_upscale():strip_icc():fill(white):strip_exif()/f/image/tzPWMPg4KnbwTtkWdNvL1S9d.jpg?f=user_large

Acties:
  • 0 Henk 'm!

  • DataGhost
  • Registratie: Augustus 2003
  • Laatst online: 04-07 12:45

DataGhost

iPL dev

Mja hoe je software uiteindelijk precies werkt weet ik niet, en of het groter maken van je screenshot gaat helpen ook niet aangezien het groot genoeg is om te zien dat het chinees is en dat kan ik niet lezen. Ik zie wel verschillende orientiatie-assen. Terugkomend op de drie puntjes uit de laatste regel van je topicstart, heb je al iets geprobeerd en gekeken wat eruit komt? En hoe zich dat verhoudt tot de dingen die je al weet dus? Heb je al geprobeerd om de patronen uit je screenshot te begrijpen en te bedenken welke bewegingen daar precies bij horen voor elke as? Dan zou je daarmee toch moeten kunnen bedenken welke input daar voor kan zorgen. Leg dat eens naast wat je uit je sensor krijgt.
Dwayne Dillen schreef op maandag 29 juni 2020 @ 14:57:
Ik begrijp wat er met een gyroscoop en accelerometer gebeurt. Ik snap alleen niet hoe ik deze moet samenvoegen tot een orientatieveld
En leg dit eens uit dan? Want volgens mij zit het antwoord min of meer in de vraag.

Wat is een orientatieveld (volgens jou of je opdracht) precies? En hoe zouden de 6 outputs van je sensor daarin passen?

[ Voor 24% gewijzigd door DataGhost op 29-06-2020 15:04 ]


Acties:
  • 0 Henk 'm!

  • Knutselsmurf
  • Registratie: December 2000
  • Laatst online: 22:30

Knutselsmurf

LED's make things better

Het gaat hier om de referentiekaders, en daarbij lokale en/of globale coördinatenstelsels.

Normaal gesproken heeft de gyroscoop weet van de oriëntatie van de sensor in een globaal assenstelsel, terwijl de accelerometer in een lokaal coördinatenstelsel wordt vastgelegd. Om de data van je accelerometer in een globaal coördinatenstelsel te krijgen, zul je een coördinatentransformatie toe moeten passen.

Probeer in een 2D-situatie maar eens voor te stellen hoe de X- en Y-as van je sensor afhankelijk is van de oriëntatie van je sensor.

Je zult dus op de data uit je accelerometer een transformatie toe moeten passen op basis van de data van je gyroscoop om deze om te zetten naar het juiste coördinatenstelsel.

De zoektermen voor verdere informatie zijn 'coördinatentransformatie' en 'lokale/globale coördinatenstelsels'

- This line is intentionally left blank -


Acties:
  • 0 Henk 'm!

  • Immutable
  • Registratie: April 2019
  • Laatst online: 04-07 22:50
Knutselsmurf schreef op maandag 29 juni 2020 @ 17:00:
Het gaat hier om de referentiekaders, en daarbij lokale en/of globale coördinatenstelsels.

Normaal gesproken heeft de gyroscoop weet van de oriëntatie van de sensor in een globaal assenstelsel, terwijl de accelerometer in een lokaal coördinatenstelsel wordt vastgelegd. Om de data van je accelerometer in een globaal coördinatenstelsel te krijgen, zul je een coördinatentransformatie toe moeten passen.

Probeer in een 2D-situatie maar eens voor te stellen hoe de X- en Y-as van je sensor afhankelijk is van de oriëntatie van je sensor.

Je zult dus op de data uit je accelerometer een transformatie toe moeten passen op basis van de data van je gyroscoop om deze om te zetten naar het juiste coördinatenstelsel.

De zoektermen voor verdere informatie zijn 'coördinatentransformatie' en 'lokale/globale coördinatenstelsels'
Krijg je hier niet een grote fout opbouw door te tijd gezien door de integratie van de accelerometer die je doet?

Heb ook ooit zoiets gedaan tussen een gyroscoop en accelerometerdata. Je moet hierbij denken aan sensorfusie en snappen wat de voor en nadelen zijn van elke sensor en dan de voordelen combineren.
Een accelerometer heeft als voordeel snelheid(G krachten integratie hiervan), en een gyro precisie(Hoek).

Je moet inderdaad de sensor data eerst op hetzelfde domein krijgen, en daarna ga je verder met sensor fusie algorithmes zoals een kalmann filter o.i.d.
Ik was destijds lui, en heb toen gewoon een High pass filter gebruikt voor de integratie van de accelerometer data, en de gyroscoop door een low pass filter gehaald. Was voor die toepassing voldoende betreft een quadrocopter. (Maar hier is dat niet voldoende)

Maar wil TS een exacte coordinaat berekenen als locatie in een 3Dimensionale ruimte?
Je hebt hier kant en klare oplossingen voor die beter werken dan deze 2 sensors. Want de lokatie gaat door de tijd gezien behoorlijk snel afwijken.

Goede oplossingen gebruiken hier nog extra camera's voor zoals deze sensor van intel:
https://www.intelrealsens...nt=T265_learn-more_button

Met alleen een gyro en accelero ga je het niet redden in een 3D ruimte om je locatie te bepalen zonder snel een afwijking te krijgen door de tijd. Het probleem is namelijk dat zowel de Gyro en Accelero hier geen betrouwbare referentie data kunnen aanleveren. Hiervoor heb je een Camera nodig.

Trouwens, gaat de persoon op een loopband lopen? Op een fixed locatie? Of juist lopen in een park o.i.d.
Hoe je alles doet is heel afhankelijk van de applicatie, en je referentie waar je uit opereert.

[ Voor 10% gewijzigd door Immutable op 04-07-2020 10:24 ]


Acties:
  • +1 Henk 'm!

  • Knutselsmurf
  • Registratie: December 2000
  • Laatst online: 22:30

Knutselsmurf

LED's make things better

Immutable schreef op zaterdag 4 juli 2020 @ 10:05:
[...]


Krijg je hier niet een grote fout opbouw door te tijd gezien door de integratie van de accelerometer die je doet?

Heb ook ooit zoiets gedaan tussen een gyroscoop en accelerometerdata. Je moet hierbij denken aan sensorfusie en snappen wat de voor en nadelen zijn van elke sensor en dan de voordelen combineren.
Een accelerometer heeft als voordeel snelheid(G krachten integratie hiervan), en een gyro precisie(Hoek).

Je moet inderdaad de sensor data eerst op hetzelfde domein krijgen, en daarna ga je verder met sensor fusie algorithmes zoals een kalmann filter o.i.d.
Ik was destijds lui, en heb toen gewoon een High pass filter gebruikt voor de integratie van de accelerometer data, en de gyroscoop door een low pass filter gehaald. Was voor die toepassing voldoende.

Maar wil TS een exacte coordinaat berekenen als locatie in een 3Dimensionale ruimte?
Je hebt hier kant en klare oplossingen voor die beter werken dan deze 2 sensors. Want de lokatie gaat door de tijd gezien behoorlijk snel afwijken.

Goede oplossingen gebruiken hier nog extra camera's voor zoals deze sensor van intel:
https://www.intelrealsens...nt=T265_learn-more_button

Met alleen een gyro en accelero ga je het niet redden in een 3D ruimte om je locatie te bepalen zonder snel een afwijking te krijgen door de tijd. Het probleem is namelijk dat zowel de Gyro en Accelero hier geen betrouwbare referentie data kunnen aanleveren. Hiervoor heb je een Camera nodig.
Als je de versnelling gaat gebruiken om je positie te bepalen zul je absoluut fouten introduceren in de loop van de tijd als gevolg van de integratie.

Dat hele aspect had ik in mijn post nog volledig buiten beschouwing gehouden. Mijn tips gingen alleen nog over het omzetten van de versnellingsdata van de lokale coordinaten naar wereld-coordinaten, om zo de versnellingen in een vast, extern referentiekader te krijgen.

Om vanuit die versnellingen vervolgens snelheden en positie te verkrijgen is een volgende stap, met accumulatie van fouten door de (dubbele) integratie al grote uitdaging.

TS geeft echter aan dat dit om een schoolopdracht gaat, en binnen dat kader kan het geen kwaad om de gekozen route te blijven volgen. Uiteindelijk is dit een variant van traagheidsnavigatie, met alle bijbehorende uitdagingen. En dat onderzoeken is een uitstekende schoolopdracht.

Als het doel is om te onderzoeken hoe een dergelijk systeem werkt, zit TS op de juiste koers. Als het doel is om een systeem op te leveren met een vooraf vastgelegde precisie, dan is het waarschijnlijk beter om niet opnieuw het wiel uit te vinden en gewoon je portemonnee te trekken :)

- This line is intentionally left blank -

Pagina: 1