А давайте обсудим Arducopter - APM
МЭМС-датчики для измерения ускорения (акселерометры) и угловой скорости (гироскопы). Какбэ сами названия говорят сами за себя. Как вы используете датчики это другой вопрос.
Ну давайте расскажите, как электронным гироскопом найти горизонт.
Не расскажу, потому что не могу сформулировать коротко… Вот за ящиком пива смог бы…)
Я скажу проще: показания гироскопа абсолютны, наклонили - есть угол, еще наклонили - угол увеличился, отклонили в другую сторону - угол уменьшился или приобрел противоположное значение… Показания акселерометра относительны, начали двигаться - аксель отклонился, двигаемся с равномерной скоростью - Аксель в нулях, тормозим - Аксель отклоняется в другую сторону…
Кстати , гироскоп горизонт не показывает, он показывает насколько вы отклонились от первоначального положения. Для того и проводится калибровка.
Можно и по акселю горизонт рассчитывать, но так как точность вычислений конечная, а вычисления проводятся довольно часто. Быстро набежит ошибка. Мы пользуемся инерциальной системой.
наклонили - есть угол, еще наклонили - угол увеличился
Наклонили, цифра изменилась и успокоилась на нуле, отклонили - опять изменилась и успокоилась на нуле. Посмотрите показания.
Так и есть, гироскоп измеряет угловую скорость, по ней и вычисляется угол на который отклонился гироскоп.
Это про электронные гироскопы, механика показывает прямые угловые величины.
Аксели показывают насколько быстро вы повернулись, что б определить какое усилие (обороты выставить на движке) , чтоб парировать отклонение. ПИД - регулирование однако.
Как то так…
И Аксель
Мне честно лень было много картинок рисовать…) Поэтому в середине только 3 кадра…)
*не читайте с утра советских газет*
вот ссылки на описание чипов , все подробно описано.
Кстати , гироскоп горизонт не показывает, он показывает насколько вы отклонились от первоначального положения. Для того и проводится калибровка.
гироскоп не показывает угол отклонения. это другой прибор делает - энкодер
гироскоп показывает моментальную угловую скорость.
интегрирование показаний гироскопа по времени дает угол отклонения от начального значения.
поэтому изза накапливаемой системой ахрс ошибки горизонт надо корректировать от акселя.
а аксель лишь в покое способен показывать отвес на горизонт, если рассмотреть ситуацию когда аппарат ускорятеся отвесно с ускорением большим чем ускорение свободного падения - вектор будет противоположным- попытка восстановить горизонт по акселю - приведет к обратному эффекту
гироскоп не показывает угол отклонения. это другой прибор делает - энкодер
Ну извините, я не стал писать про скорость - первую производную и ускорение - вторую производную. Хотя, конечно, можно было углубиться. Я инженер электромеханик и теорию автоматического управления ещё до ЕГЭ изучал.
А теоретически одну ось в горизонте можно и компасом увидеть?
Нуу, началось… Ну давайте расскажите, как электронным гироскопом найти горизонт.
Что то это напоминает… как космические корабли бороздят просторы Большого театра!
А теоретически одну ось в горизонте можно и компасом увидеть?
теоретически можно скорректировать горизонт по двум осям в большинстве ситуаций
практически все осложняют изменяемые магнитные поля от силовой проводки на борту
теоретически курсовой гироскоп не нужен при наличии компаса… но увы
в зависимости от условий зачастую показания компаса недостоверны
В общем мучаю я очередной полетный контроллер. А именно контроллер от Валкеры X350 неПРО, который являлся программно урезанным Ардупилотом, на 25й Атмеге.
Теперь ближе к делу. У контроллера не было USB порта, USB порт добавили.
Бутлодер благополучно заливается, прошивка тоже нормально заливается и верифицируется.
Но вот подсоединиться ни в терминале, ни по мавлинку не хочет.
Будут какие-то предположения?
Будут какие-то предположения?
к примеру теоретически схема контроллера могла быть изменена. датчики на других пинах итд.
под другую схему должна быть другая прошивка.
если это так то результат логичен.
Сообщение от raefa
Гироскоп - фиксирует ускорение по осям, акселерометр - положение в пространстве.Наоборот…)
Сергей, ну вы то не первый день замужем, и пишите такие вещи.
Прибор который отвечает за горизонт - это АКСЕЛЬ, АКСЕЛЬ, и только АКСЕЛЬ.
Никаких наоборот.
Вы все забываете одну простую вещь - аксель имеет две функции, и не только измеряет ускорение, но и положение в пространстве.
Смишно, что это обсуждают уже пол страницы. Это действительно букварь.
Прибор который отвечает за горизонт - это АКСЕЛЬ, АКСЕЛЬ, и только АКСЕЛЬ.
в ардупилоте горизонт считают исходя из показаний следующих датчиков:
-гироскоп
-аксель
-жпс
подсиcтема одной из функций которой является вычисление горизонта и углов по крену и птчу называется AHRS
посмотреть можно тут github.com/diydrones/ardupilot/…/AP_AHRS.cpp
нельзя исключить из системы ни аксель ни гиру - работать не будет. жпс можно (для коптеров и нужно)
принцип следующий:
при включении происходит вычисление значний соответсвующих нулевым скоростям 3 осевого гироскопа.
в считается что горизонт находится в плоскости автопилота
любое движение фиксируется гироскопами, умножается на интервал измерения - в результате получаем горизонт за счет гироскопов. но изза погрешности измерений такой горизонт будет плыть до нескольких градусов в секунду. нужно вносить поправку этой гиросистемы
берется вектор акселерометра отклоняемый силой земного тяготения, в большинстве ситуаций гиросистема медленно корректируется исходя из того что вектор акселя смотрит вниз.
// @Param: RP_P
// @DisplayName: AHRS RP_P
// @Description: This controls how fast the accelerometers correct the attitude
// @Range: 0.1 0.4
// @Increment: .01 AP_GROUPINFO(“RP_P”, 5, AP_AHRS, _kp, 0.2f)
в частности этот параметр отвечает за скорость корректировки гиролевела по показаниям акселя. чем больше значение тем меньше верим гироскопам и больше акселю
крайне не советую его менять для пробы в полете. в дизарме корректировка работает быстрее за счет дополнительного множителя, в заармленном коптере работает только этот коэф.
у самолетов проблема в том что в виражах на вектор акселя действуют сильные центробежные ускорения
а во время пуска с катапульты вектор отклоняется в сторону хвоста
режим виража корректируют из расчета радиуса поворота и скорости по жпс
режим пуска с катапульты по продольной оси акселерометра
Прибор который отвечает за горизонт - это АКСЕЛЬ, АКСЕЛЬ, и только АКСЕЛЬ.
Никаких наоборот.
в теме коптеров я совсем недавно.
но телефоны с гироскопом - четко регистрируют положение устройства
телефоны с акселерометром - четко регистрируют шаги.
Если в телефоне нет гироскопа - поворот экрана срабатывает кривовато, не четко. Да, с акселерометром определяют положение устройства, но настолько плохо, что для создания сферических панорам 360 они не пригодны
пример - LG PhotoSphere, Google PanoSphere
да и сомневаюсь я, что устройство в названии которого стоит ускорение - не будет замерять ускорение
Более того, вопрос - каким образом первые камеры кэнон имея на борту лишь гироскоп могли отвечать за горизонт?
Друзья, подскажите, это нормально что дома при закрытых окнах и дверях (сквозняка нет) коптер сносит в сторону?
Для проверки подлетел немного над кроватью, поднял сантиметров на 20-30, коптер улетает вперед со скоростью меньше 1 м/с на глаз. Результат повторяется в 100% случаев, сносит всегда вперед, может, еще немного в сторону. При наборе высоты коптер по горизонтали не смещается. Аппаратура показывает, что стик в центре. Радио, регуляторы, акселерометр и компас калибровал.
APM 2.6, рама F450, моторы SunnySky 2212 всё с Банггуда, пропеллеры боле-менее отбалансированы изолентой, развесовка нормальная, никакая сторона не перевешивает. Прошивка 3.2.
В поле даже при довольно сильном ветре в лоитере позицию держит хорошо.
в теме коптеров я совсем недавно.
Вот именно, при чем тут телефон.
Я уже обьяснял. Для полета коптеру МИНИМУМ необходим контроллер с гироскопами по трем осям. Но никакого автолевела при этом не будет. Тем не менее, без акселя - он будет отлично летать!
Что бы было выравнивание в горизонт, необходимо добавить акселерометр.
Летать нужно было на Куках, что бы это знать, а не на мобильных телефонах.
в ардупилоте горизонт считают исходя из показаний следующих датчиков:
-гироскоп
-аксель
-жпс
Ну и Алексей, вы же понимаете, что для автолевела, ЖПС ну совершенно не нужен.
Единственный датчик, который будет помнить где у коптера горизонт - это Аксель. И хоть убейся, гироскоп тут совершенно не причем. Он нужен, для того что бы оставалась мгновенная стабильность коптера, которую аксель обеспечить не в состоянии в силу своей тормознутости.
Прекрасно, по акселю , если разложить ускорение свободного падения по векторам можно вычислить вертикаль. И я как понял из даташита это реализовано, напруга на выходах по осям при покое не нулевая, а зависит от положения акселя. Понятно. Зачем тогда гироскоп? Угол поворота всегда можно найти взяв вторую производную по ускорению вращательного движения.
Вот именно, при чем тут телефон.
Я уже обьяснял. Для полета коптеру МИНИМУМ необходим контроллер с гироскопами по трем осям. Но никакого автолевела при этом не будет. Тем не менее, без акселя - он будет отлично летать!
Что бы было выравнивание в горизонт, необходимо добавить акселерометр.Летать нужно было на Куках, что бы это знать, а не на мобильных телефонах.
при том, что принцип работы и задачи очень близкие. Более того, не удивлюсь, если чипы те же самые. каким образом, если он замеряет лишь ускорения?
С Вашего поста выше - четко сказано, что акселерометр помогает, а не является единственным кто это решает.
Единственный датчик, который будет помнить где у коптера горизонт - это Аксель.
Зачем тогда гироскоп
затем, что гир показывает абсолютные отклонения, а не относительные. Это как слух + зрения дают вам более полную картинку. Но ведь по зрению одному - можно многое понять, да не так точно, если издающий звук объект вне предела видимости