А давайте обсудим Arducopter - APM
Гир показывает скорость поворота и ВСЁ. Взяв производную по времени получите угол. В покое гир ничего вам не даст. Только при изменении положения даст скорость с которой оно поменялось. Так что угол в любом случае вычисляется.
Еще в раз. Гироскоп увы определяет не абсолютные отклонения, а угловую скорость. Зная время измерения мы можем определить угол относительно горизонта. Единственная проблема - конечная точность расчетов, в расчетах всегда присутствует небольшая ошибка. Так как система относительная, то у нас постоянно будет накапливаться ошибка. Для компенсации этой ошибки и используется акселереометр (и жпс)
Акселерометр может достаточно точно определить угол относительно горизонта только если система в покое, в движении тоже есть погрешность, а в свободном падении акселерометр в плане определения угла вообще бесполезен
Единственный датчик, который будет помнить где у коптера горизонт - это Аксель. И хоть убейся, гироскоп тут совершенно не причем.
Влезу:
нужен - да при интегрировании показаний возникает ошибка, но в краткосрочной перспективе показания очень точны, акселерометр же наоборот шумный и медленный и не справился бы с этой задачей, и может дать правильные показания только в долгосрочной перспективе (задушеный фильтром)
расчёт угла ведётся и по ДУС-ам и по акселю потом “смешиваются” в нужных пропорциях:
например: 0.9 - расчёт угла из показаний ДУС и 0.1 - расчёт угла из показаний акселя (можете назвать это корректировкой)…
и на последок вспомните прибор такой - Флайментор (в принципе и сейчас продаётся) - ставится на модель верталёта для новичков. Так вот у него всего лишь 3 ДУС enc03 те же что и в КУКе, но горизонт он держит намного дольше чем КУК (напомню в КУКе нет вообще расчёта углов там просто пропорция составлена от показаний датчиков), а тут он рассчитывает “горизонт”…
так что ни без одного ни без другого горизонта у вас не получится…
это надо в вопросы новичка перенести…
Спасибо Сергей, спасибо, что наконец подробно объяснили.
Только мне кажется, флайментор не горизонт удерживал, а текущее положение. Но и кук может очень долго его сохранять, при хорошей настройке.
Видимо софтом еще многого можно добиться. Но по прежнему, без акселя - горизонт невозможен. И если он плывет, то это в первую очередь проблема акселя, а не гир. Я так думаю 😃
Гироскоп увы определяет не абсолютные отклонения, а угловую скорость. Зная время измерения мы можем определить угол относительно горизонта.
Не можем. Гиры не знают где горизонт. Им вообще пофиг. ЖПС к горизонту вообще никаким боком.
Только мне кажется, флайментор не горизонт удерживал, а текущее положение.
так я его в кавычки и засунул )))
А вообще, применительно к Арду: наращивание мощи проца: PX4/Pixhawk, vrbrain… борды под линуксом, а алгоритм то тот же…
Не можем. Гиры не знают где горизонт. Им вообще пофиг. ЖПС к горизонту вообще никаким боком.
конечно гирам пофиг, не пофиг контроллеру 😃 Для того чтобы он знал где горизонт и нужна калибровка ground level при подключении батареи (и при первом арминге). А дальше контроллер постоянно считает угол основываясь на данных о угловой скорости от гирика (основная информация в определении угла наклона) и данных о векторе ускорения от акселерометра (информация для компенсации ошибки). Данные от GPS нужны для уточнения вектора скорости (ускорения), это особенно важно для больших скоростей
Для того чтобы он знал где горизонт и нужна калибровка ground level при подключении батареи (и при первом арминге).
они калибруются не для этого, датчики тоже капризные и ноль у них не всегда на месте (температура например), и данная калибровка проводится для того, чтобы проц знал нулевые показания датчиков и от них считал и не важно в каком положении будет находиться мосх, хоть вверх ногами, лижбы не трясся…
а где верх где низ мозх знает от акселя, и для нашего визуального представления кажется что это всё быстро, но на самом деле в полёте, да и для алгоритма в целом показаний акселя не достаточно…
короче это уже флуд по полной пошел 😦
Для того чтобы он знал где горизонт и нужна калибровка ground level при подключении батареи (и при первом арминге).
Алексей, ну вы вааще не в теме 😃
И вы вообще не читаете, что тут пишут, и вообще я тоже перестаю с вами спорить.
Калибровка левела в виде ВНИМАНИЕ - акселя! делается один раз и навеки, дома через гуи, (до следующей калибровки). И НИКОГДА при подключении батареи или арминге.
Данные от GPS нужны для уточнения вектора скорости (ускорения), это особенно важно для больших скоростей
Покажите код в Арду который данные ЖПС использует для расчета горизонта?
они калибруются не для этого, датчики тоже капризные и ноль у них не всегда на месте (температура например), и данная калибровка проводится для того, чтобы проц знал нулевые показания датчиков и от них считал и не важно в каком положении будет находиться мосх, хоть вверх ногами, лижбы не трясся…
а ты попробуй поставить коптер криво, например две ноги выше а две ниже, подключить батарею, заармится и попытаться взлететь. Только подальше отойди 😃
Я так всегда и делаю, братан.
И как я и сказал - ты вообще не хочешь читать и понимать, что тебе пишут:
и не важно в каком положении будет находиться мосх, хоть вверх ногами, лижбы не трясся…
Физкульт привет!
Калибровка левела в виде ВНИМАНИЕ - акселя! делается один раз и навеки, дома через гуи, (до следующей калибровки). И НИКОГДА при подключении батареи или арминге
наконец то, зачатки трезвого мышления! Аксель, да калибруется в мишн планнере. Левел задается при подключении батареи и арминге. Проведи эксперимент о котором я сказал выше.
Покажите код в Арду который данные ЖПС использует для расчета горизонта?
жпс используется не непосредственно для расчета горизонта а для определения вектора ускорения, читай внимательно. А уже вектор ускорения используется для компенсации погрешности в расчете горизонта. 😃
Левел задается при подключении батареи и арминге. Проведи эксперимент о котором я сказал выше.
Пипец. Полный пипец. Аксель и левел - это одно и тоже. Твои зачатки трезвого мышления, даже не в перспективе.
Посмотри мои видео на всякий случай. Я экспериментов уже обэксперементировался.
жпс используется не непосредственно для расчета горизонта а для определения вектора ускорения, читай внимательно. А уже вектор ускорения используется для компенсации погрешности в расчете горизонта.
КОД?
а ты попробуй поставить коптер криво, например две ноги выше а две ниже, подключить батарею, заармится и попытаться взлететь. Только подальше отойди
мы сперва тогда сразу и не поняли чего его постоянно несло в одну сторону. при том, что откалиброван он был давно на ровном месте
а ты попробуй поставить коптер криво, например две ноги выше а две ниже
Нет я каждый раз когда взлетать собираюсь выношу уровень строительный лазерный проверяю всю местность в радиусе 1.5км на предмет отклонений от горизонта - выбираю площадку, ставлю коптер, ещё раз проверяю не криво ли он стоит и тогда подключаю батарейку…
ладно это лирическое…
по поводу старта под большим углом: то что коптер сваливается это не заслуга датчиков, а заслуга воздушной подушки образующейся под коптером, т.е. реально ставя коптер криво вы делаете ему “горку” из воздуха - вот по ней он и “скатывается” но взлетев на 0.5-0.8 метра выравняется…
при том, что откалиброван он был давно на ровном месте
не факт…
тут и неравномерная развесовка и моторы не по одной оси (ну в смысле не параллельно друг другу) и куча всяких разных причин… от температуры внешней и датчиков и т.д…
к слову у меня участок с уклоном весь градусов 8-10 и что мне по вашему под ноги коптера подкладывать что-то чтобы взлететь? поставил батарейку подключил дождался спутников - взлетел тестить gps-режимы, не дождался - погода не лётная, просто для души полетал…
У меня любимое взлетное место - бетонная плита тоже лежащая под углом градусов 10-15. На ней “калибровались” и прекрасно взлетали любые контроллеры. Только газку нужно наподдать сразу. Либо в мануале взлетать, что бы не так колбасило.
Алексей, пора уже признать, что теорию вы не выучили, да и с практикой плоховато. И не говорить другим про зачатки мышления, не имея самому.
Давайте лучше поговорим за Ардукоптер…
у кого PX4/Pixhawk как ведёт себя лоитер с влюченным EKF? у меня как без него так на месте висит, как включаю дрейфует довольно сильно метров до 5… хотя последнее время чёт спутников 6-8 на улице ловил (MTK3329) погода не ахти, то снег то дождь…
да и разленился что-то в сам фильтр так и не залез поковырять…
в 3.2 взлёт в альтхолде и лоитере стал намного приятнее…
из старого:
по поводу старта под большим углом: то что коптер сваливается это не заслуга датчиков, а заслуга воздушной подушки образующейся под коптером, т.е. реально ставя коптер криво вы делаете ему “горку” из воздуха - вот по ней он и “скатывается” но взлетев на 0.5-0.8 метра выравняется…
да, согласен мое заблуждение, признаю ошибку
Алексей, пора уже признать, что теорию вы не выучили, да и с практикой плоховато. И не говорить другим про зачатки мышления, не имея самому.
ну что я могу сказать. Действительно в случае с калибровкой уровня я ошибался, по крайней мере касательно АРМ. Но не ошибается тот кто ничего не делает, признавать свои ошибки это не признак отсутствия мышления, а скорее наоборот. Если бы вы в свою очередь признали что наговорили кучу глупостей (типа: у назы нет прогрева или для определения горизонта нужен только акселерометр) наше общение шло бы в более плодотворном русле. Но в итоге все равно разобрались, что уже не плохо. Точка.
В нашем форуме много услышать много удивительных теорий о том как работает код ардукоптра
мне несколько странным кажется выдавать свои теоретические домыслы и выдавать это за истину в последней инстанции
“что именно так работает код ардукопера”.
Александр, спасибо вам за то что вы очень красочно описываете ваши эксперементы из которых вы построили свою теорию.
но человеку посмотревшему код по ссылке которой я привел эта теория выглядит
как для рыбы “теории рыбаков - почему сегодня рыба не клюет”
у кого PX4/Pixhawk как ведёт себя лоитер с влюченным EKF?
у меня два пиксавка на одном странность если включить екф перестает держать высоту в альтхолде.
у него же и в настольном тесте в екф высота при резкой смене высоты сначала снижается потом в ноль тихонько.
у другого точть такого - в настольном тесте все ок. поднимаешь метр показывает-метр - опустишь - ноль.
у обоих все сброшено почищено откалибровано
второй пока не летал
очередь признали что наговорили кучу глупостей (типа: у назы нет прогрева или для определения горизонта нужен только акселерометр)
По порядку:
-
У меня две назы, и обе без вармапа. Это факт. Какие претензии? Да, есть в вармапом. Но к сути спора это ни как не относится, потому что вы в принципе не понимаете что такое вармап и зачем он нужен.
-
Про аксель - не нужно перевирать мои слова, это раз. Два - факт, что только аксель является единственным сенсором, который имеет отношение к привязке к конкретному положению в пространстве. Вы тут полностью облажались, утверждая что это гироскоп.
И кто продолжает говорить глупости и опять оскорблять собеседника? Прекратите троллинг и не провоцируйте меня на этот флуд.
Александр, спасибо вам за то что вы очень красочно описываете ваши эксперементы из которых вы построили свою теорию.
но человеку посмотревшему код по ссылке которой я привел эта теория выглядит
как для рыбы “теории рыбаков - почему сегодня рыба не клюет”
Если это мне - то я не говорил, как работает Ардукоптер. Я сказал, что для определения горизонта ЖПС не нужен, потому что мы вообще принцип работы сенсоров обсуждали, и это факт. Если ЖПС скорость используется в Ардукоптере - это совершенно прекрасно. Там есть такой алгоритм, вы его видели?
Если ЖПС скорость используется в Ардукоптере - это совершенно прекрасно. Там есть такой алгоритм, вы его видели?
а не говорил про скорость. я говорил про радиус поворота и скорость. из этих параметров считается центростремительное ускорение.
это ускорение сумируется с показанием 3д акселя чтобы найти надир. к надиру идет корректировка уровня системы ахрс через коэфициент который можно менять
(и даже занулить для эксперимента чтобы понять как работает авиагоризонт вообще без акселя)
ссылку на код ардукоптра в котором вычисляется горизонт я привел несколькими постами ранее. тап процитирован параметр который задает интенсивность корекции гироскопного уровня к показаниям акселя. внутри по ссылке можете посмотреть реализацию как вычисляются ускорения по жпс
Если ЖПС скорость используется в Ардукоптере - это совершенно прекрасно. Там есть такой алгоритм, вы его видели?
приведу ссылку непосредственно на процедуру в которой матрицу векторов (горизонт) медленно доворачивают
это и есть коррекция дрифтов гироскопов
github.com/diydrones/ardupilot/…/AP_AHRS_DCM.cpp#L…
у него же и в настольном тесте в екф высота при резкой смене высоты сначала снижается потом в ноль тихонько.
у меня есть один такой барометр, я его забраковал, хотя и на вие и в арду(без EKF) держал высоту отсюда могу предположить, что для EKF надо крутить матрицу ошибок под свой GPS, т.е. сидеть с бубном и подбирать коэффициенты под свой модуль…