Микроконтролери и електроника
http://mcu-bg.com/mcu_site/

Подравняване на акселерометър?
http://mcu-bg.com/mcu_site/viewtopic.php?f=3&t=13175
Страница 1 от 1

Автор:  t_i_t_o [ Пет Авг 29, 2014 9:04 pm ]
Заглавие:  Подравняване на акселерометър?

Здравейте,
Значи постановката е следната - имаме един акселерометър ориентиран така, че G в по Z координатата му, т.е. X и Y са нули, т.е. земноот притегляне съвпада и се проектира само и единствено върху Z оста. Да речем че X е по посока на движението на превозното средство във което е монтиран, така че ще показва с какво ускорение то спира и тръгва, докато Y ще показвацентробежната сила в завой. До тук всичко е добре ако акелерометъра се монтира в тази идеална позиция, но напрактика той може да бъде монтиран произволно завъртян. Тогава, в покой, G ще е завъртян спрямо идеалната си позиция точно толкова колкото напрактика е завъртян акселерометъра от идеалната си позиция и вече X, Y, Z ще му оказват позицията, т.е. че показват трите му съответни проекции които еднозначно го дефинират.
Та въпроса е - как имайки координатите на новия изместен G вектор, който ми дава информация за изместването на аклелерометъра, от тук нататък реалните данни които чета от него да ги преработя така, че получените ми данни XYZ да са все едно акслерометъра е монтиран в идеална позиция, т.е. математически да компенсирам завъртането му?

П.С. Според мен задачката като трудност е "Математика I (ЛААГ)" ТУ-София и не би трябвало да е много тудна, обаче тия сметки съм ги правил преди 15 години и се чувствам ужасно затъпял по темата, няколко дни рових в нета и пак нищо, та ако може някой да помогне с размисли и страсти е добре дошъл.

Автор:  xyz [ Пет Авг 29, 2014 9:18 pm ]
Заглавие:  Re: Подравняване на акселерометър?

Ами корекцията става чрез линейно преобразование. Т. е. умножаваш с подходяща 3x3 матрица. А как да подбереш коефициентите? Трудно ми е да съобразя така набързо.

Автор:  t_i_t_o [ Пет Авг 29, 2014 9:24 pm ]
Заглавие:  Re: Подравняване на акселерометър?

Точно в получаването на 9-те коефициента от трите координати е ключът от палатката :) Ама как?

Автор:  dumfree [ Пет Авг 29, 2014 10:29 pm ]
Заглавие:  Re: Подравняване на акселерометър?

Ако сензорът е завъртян около Z, няма как да го хванеш и да изчислиш коефициентите за X и Y.
Затова при устройствата, които следят въпросните ускорения си има указания как трябва да се монтират.

Автор:  t_i_t_o [ Пет Авг 29, 2014 10:43 pm ]
Заглавие:  Re: Подравняване на акселерометър?

Значи корекцията за намиране на посоката се прави с втора калибровка, но тя е по лесна, на първо време ми трябва да хоризонтирам XY равнината. А кое е напред не е толкова важно в момента, т.е. да приемем че акслерометъра няма да се движи за по лесно.

Автор:  palavrov [ Съб Авг 30, 2014 1:46 am ]
Заглавие:  Re: Подравняване на акселерометър?

Ако знаеш къде е G математиките са сравнително прости. По интересния проблем е как да разбереш къде е G :)
Това което съм правил и работи (т.е. може да има и по тарикатски начин) е данните от акселерометъра да минават през 2 low pass filters - единият е сравнително слабичък и маха само шумове от вибрации и т.н. а другият е много по сериозен и изглажда здраво - те той е сравнително близо до G. При мен проблема беше да детектна дали има движение или не - затова сравнявах резултата след двата филтъра и ако за някалко засичания разликата с G е по голяма от някакъв трешолд приемам, че има движение. Алгоритъма работи доста добре за коли, камиони,ремъркета, локомотиво - но виж за вагони не вършеше работа.

Автор:  miro_atc [ Съб Авг 30, 2014 9:28 am ]
Заглавие:  Re: Подравняване на акселерометър?

Аз не съм правил акселерометри, обаче не виждам къде е проблема...

Мериш в покой, ако не ти е нивелиран ще получиш вектор който не е вертикален. Имаш някакъв ъгъл статична грешка, който трябва да вадиш от следващите измервания. Пространственият ъгъл винаги може да го разделиш на два нормални ъгъла в перпендикулярни равнини.
А ъгли в ранината се учеха май 5-ти - 6-ти клас ;-)

Автор:  palavrov [ Съб Авг 30, 2014 10:34 am ]
Заглавие:  Re: Подравняване на акселерометър?

Миро, проблема е, че при движение ориентацията на акселерометъра в пространството се променя - примерно при движение по нанагорнище и нанадолнище може да има 10-20-30 градуса изместване на G в някаква друга посока. Т.е. никой не ти гарантира, че има покой за да вземеш нивелиран вектор. Пък като добавиш и че ускорението при движение или спиране също оказва влияние задачата става още интересна - за щастие в повечето случаи G е с порядъци по голям спрямо вибрации и ускорените така, че може да с филтриране да се получи някакъв сравнително близък вектор. Разбира се много зависи какъв е проблема който трябва да се реши - има огромна разлика между ускорение на превозно средство спрямо примерно рамо на робот или джойстик за nintendo wii/oculus rift/air mouse - при тях освен акселерометър си трябва и жироскоп, и то не по един ами поне по два монтирани в двата края на устройството което трябва да се следи ако трябва да е наистина прецизно.

Автор:  DanielDimov [ Съб Авг 30, 2014 1:57 pm ]
Заглавие:  Re: Подравняване на акселерометър?

Ще трябва да имаш процес на калибрация след монтажа... калибрацията ще трябва да е от поне две стъпки:

1. превозното средство е в покой върху абсолютно хоризонтален терен

2. превозното средство прави едно тръгване и спиране върху хоризонтален терен и се движи по права линия

В резултат на калибрацията ще изчислиш нови 3 вектора (X', Y' и Z'), които ти предефинират координатната система на ускоренията получавани от датчика. От първата стъпка ще хванеш в каква посока е земното ускорение и новия ти вектор Z' ще е равен на -Vstep1 * g (Z' трябва да е единичен вектор). От втората стъпка ще хванеш равнината XZ на превозното средство (векторa X'). Това можеш да го направиш с двумерна линейна регресия на множеството измерени вектори по време на втората стъпка. Като резултат ще получиш една права която лежи в равнината X'Z' - тази права ще ти дефинира вектора X'. Y' ще го сметнеш след като имаш другите два - Y' = X' x Z'.

След това превръщането на ускоренията които датчика дава в новата координатна система е лесно:
съставяш вектор с 4 елемента като първите три са трите измерени компоненти, а четвъртия е единица;
съставяш преобразуващата матрица, която е 4 по 4 елемента - първия ред са трите компоненти на вектора X' и една нула, втория ред са трите компоненти на вектора Y' и една нула, третия ред са трите компоненти на вектора Z' и една нула и четвъртия ред е с три нули и една единица;
умножаваш двете матрици;
резултата е пак вектор с четири елемента от които първите три са ти ускорението в новата координатна система.

Автор:  DanielDimov [ Съб Авг 30, 2014 2:17 pm ]
Заглавие:  Re: Подравняване на акселерометър?

сега се сетих за по-добър начин за калибрацията:

1. превозното средство е в покой върху абсолютно хоризонтален терен

2. первозното средство се спира на наклонената част на рампа така че или да е наклонено напред или назад, но не и настрани

Автор:  gicho [ Пон Сеп 01, 2014 1:05 pm ]
Заглавие:  Re: Подравняване на акселерометър?

И аз не съм много силен в математиката, но това което ти трябва се ползва в "tilt compensated e-compass" приложенията за обединяване на данните от магнетометър и акселерометър, както и за компенсиране на ориентацията на сензорите.

http://en.wikipedia.org/wiki/Cross_product
http://en.wikipedia.org/wiki/Dot_product

Виж какво пишат за arduino tilt compensated compass примерно.

Автор:  MYXATA [ Пон Сеп 01, 2014 5:24 pm ]
Заглавие:  Re: Подравняване на акселерометър?

t_i_t_o написа:
Здравейте,
Значи постановката е следната - имаме един акселерометър ориентиран така, че G в по Z координатата му, т.е. X и Y са нули, т.е. земноот притегляне съвпада и се проектира само и единствено върху Z оста. Да речем че X е по посока на движението на превозното средство във което е монтиран, така че ще показва с какво ускорение то спира и тръгва, докато Y ще показвацентробежната сила в завой. .

Zdrawei,
Малко е общо да се каже, че Х ще е посоката на движение, а У центробежната сила, пък G = Z земното притегляне.
Бих казал, че и движението и центробежните сили са фунция и от трите показателя(трите оси). G ще влияе, но понеже е константно , може да го пренебрегнеш - демек да имаш коригиращ коефициент.

Автор:  MYXATA [ Пон Сеп 01, 2014 5:30 pm ]
Заглавие:  Re: Подравняване на акселерометър?

ето един аппнот от конкуренцията, дано ти свърши работа
http://cache.freescale.com/files/sensor ... AN3461.pdf

Страница 1 от 1 Часовете са според зоната UTC + 2 часа [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/