Специальные цены   новые товары
Закрытая тема
Страница 5 из 9 ПерваяПервая ... 3 4 5 6 7 ... ПоследняяПоследняя
Показано с 161 по 200 из 335

Делаю OSD, автопилот и инерциалку...

Тема раздела Самодельная электроника, компьютерные программы в категории Общие вопросы; Сообщение от serj На основе компаса и гироскопа не получится. Это еще Артем Силкин (ученик упомянутого выше дедушки Чистякова) в ...

  1. #161
    Давно не был
    Регистрация
    28.12.2010
    Адрес
    Heidelberg, germany
    Возраст
    44
    Сообщений
    307
    Цитата Сообщение от serj Посмотреть сообщение
    На основе компаса и гироскопа не получится. Это еще Артем Силкин (ученик упомянутого выше дедушки Чистякова) в своем диссере доказал 11 лет назад примерно.
    Скорее всего там речь идет о моментальном определении положения. Вы не правильно интерпритируете выводы.

    Цитата Сообщение от Frr Посмотреть сообщение
    На одном отсчете не получится. А если отсчетов несколько и компас (3-х осевой магнитометр) меняется ?
    Да. Так и есть.

    Dir' = Mxyz*Dir; Dit' и Dir - известны. М надо найти.
    Mxyz - это матрица поворота по углам Эйлера. Т.е. это просто функция трех переменных.
    В итоге имеем три уравнения с тремя неизвестными. Да, там неудобно то, что придется выражать косинус через корень и квадрат синуса. И ограничения будут при углах близких к углам осей. Но в принципе задачка решаема.

    Сейчас есть два пути решения задачи коррекции гироскопа.

    1. Я вычисляю оффсет АЦП и вычитаю его из каждой из коорданит гироскопа перед интегрированием. Этот метод аналогичен методу авто подстройци частоты по частоте. Недостатот в том, что ошибка будет накапливаться из-за скорости реакции. Теоретически ошибка должна быть нулевой. Но если количество левых поворотов будет больше чем правых, то гироскоп будет врать немного в право.
    2. Вычитать из сигнала гироскопа полученный сигнал от компаса. Недостаток в том, что метод будет работать в определенном диапазоне углов. Тут ошибка будет кратковременной, или ошибка будет при определенных углах.

    Вот так, пока короче.
    Сейчас вот сижу и икса гоняю по бумаге.

    Цитата Сообщение от serj Посмотреть сообщение
    На основе компаса и гироскопа не получится.

    Еще забыл сказать.

    Мы ищем и компенсируем ошибку гироскопа, а не пытаемся заменить гироскоп компасом. Заменить гироскоп компасом действительно невозможно, поэтому мои выкладки никак не опровергают дисер товарища Силкина, а наоборот его только подтверждают.
    Последний раз редактировалось Diman_Y; 04.10.2011 в 17:58.

  2.  
  3. #162
    Давно не был
    Регистрация
    28.12.2010
    Адрес
    Heidelberg, germany
    Возраст
    44
    Сообщений
    307
    Всем привет!

    Сделал я короче коррекцию по компасу! А за одно и с гироскопом разобрался.

    Получилось очень интересно и красиво. Есть конечно ограничения, но отслеживает достаточно хорошо.
    Как это ни странно, но получился аналог фазовой коррекции, что означает что ошибка не будет накапливаться.
    Осталось только оптимизировать и улучшить алгоритм слежения.


    PS. Пока реализовывал алгоритм, выяснил, что значения гироскопа надо интегрировать как матрицу поворота, что уже само по себе является достаточно энергоемкой задачей. Я не знаю как народ может что-то подобное без плавучки реализовать.

  4. #163
    Учит правила (до 29.06.2021)
    Регистрация
    07.06.2008
    Адрес
    Москва
    Возраст
    51
    Сообщений
    9,179
    Цитата Сообщение от Diman_Y Посмотреть сообщение
    Сделал я короче коррекцию по компасу! А за одно и с гироскопом разобрался.
    А если- чуть подробнее?
    Алгоритм, хотя бы "на пальцах"?

  5. #164
    Давно не был
    Регистрация
    28.12.2010
    Адрес
    Heidelberg, germany
    Возраст
    44
    Сообщений
    307
    Цитата Сообщение от blade Посмотреть сообщение
    А если- чуть подробнее? Алгоритм, хотя бы "на пальцах"?

    Там все просто.

    Есть с[n] это значение компаса в n моменты времени.
    Есть угол поворота в момент времени n - f[n], M(f[n]) - это матрица поворота.
    Имеем:
    C[n] = M(f[n])*С[n-1]

    Дальше все просто. Методом подбора из комбинации 81 возможных 3Д углов (0, +a, -a для каждой оси) по трем осям определяем в какую сторону надо сдвигать C[n-1] чтобы в итоге приблизиться к С[n].
    Т.е. получаем некий l[n]. Сдвигаем C[n-1] на этот угол и повторяем все снова (тут у меня еще ФНЧ стоит для этого угла). В итоге за определенное время мы приблизимся к необходимому нам f[n].
    Сдвигаем вектор в эту сторону. Потом повторяем операцию. Вместе с компасом сдвигаем начальную матрицу [1,1,1] что есть наша система координат.

    В итоге после всех этих опираций мы имеем реальное положение самолета определенное по компасу.
    А дальше начинаются манимуляции с оценкой ошибки гироскопа и ее коррекцией.

    По идее, в данном случае мне гироскоп вообще не нужен, так как я уже знаю матрицу поворота и могу определить положение самолета.
    Но в связи с тем что значение компаса требует значительного усреднения и фильтрации, то оно может использоваться с очень низкой частотой и использовать его как показатель крена, тангажа и рысканья будет достаточно проблематично. Поэтому надо использовать гироскоп.

    Недостаток данного метода один: он не корректирует постоянную составляющую гироскопа. Исходя из данного метода я могу корректировать результать интегрирования гироскопа, но никак не сам гироскоп.
    Достоинство одно - ошибка оценки положения стремиться к нулю и не может быть больше чем заданное значение (у меня в модели это 0.01 градуса, в реале такое будет не нужно).

    Сейчас я пытаюсь доделать алгоритм коррекции именно значения гироскопа, т.е. убрать ADC офсет.

    Как-то так.

  6.  
  7. #165
    Давно не был
    Регистрация
    28.12.2010
    Адрес
    Heidelberg, germany
    Возраст
    44
    Сообщений
    307
    Еще забыл написать.
    Коррекция матрицы поворота производится только когда вектор меняется.

  8. #166
    Учит правила (до 29.06.2021)
    Регистрация
    07.06.2008
    Адрес
    Москва
    Возраст
    51
    Сообщений
    9,179
    Цитата Сообщение от Diman_Y Посмотреть сообщение
    Еще забыл написать.
    Всё это хорошо, бумага- написана правильно
    Но может, чтобы не изобретать велосипед, поглядеть как это сделано у тех, у кого уже летает: http://diydrones.com/profiles/blogs/...st-out-of-your
    Проект уже несколько лет существует, участвуют в нем множество народу со всего мира...

  9. #167
    msv
    msv вне форума

    Регистрация
    05.03.2008
    Адрес
    Новокузнецк
    Возраст
    58
    Сообщений
    2,376
    А я, не математик, ничего не понял.. Ну узнаем мы поворот вектора магнитного поля в системе координат датчика (модели) за одну итерацию (по сути - скорость поворота этого вектора).. Но по нему все равно невозможно однозначно определить положение самой системы координат. Ибо вокруг одного вектора можно построить множество этих систем. И тут никакие математические уловки не помогут. Ну не изменится значения проекций вектора при повороте системы координат вокруг оси вектора, продифференцируй их хоть 100 раз...

  10.  
  11. #168
    Учит правила (до 29.06.2021)
    Регистрация
    07.06.2008
    Адрес
    Москва
    Возраст
    51
    Сообщений
    9,179
    Цитата Сообщение от msv Посмотреть сообщение
    А я, не математик, ничего не понял
    Я- тоже.
    Но поскольку я практический разработчик и всё- довожу "до железа", то всегда стараюсь изучить наибольший объём информации по предмету и затем, отсеяв ненужное- получить продукт.
    По моему убеждению, полноценно имитировать работу ИМУ "на столе"- нельзя.
    Слишком много реальных возмущений не поддаётся моделированию. Либо-стоимость стенда будет=цене Шаттла
    И поэтому, сделать работающее устройство можно только в режиме : плата-программа-лётные испытания.
    А поскольку АрдуПилот именно такое изделие, многократно испытанное многими людьми, я бы- работал именно в режиме модификации готового продукта.
    Если Дима действительно толковый математик- нет причины, почему бы он не смог улучшить проект.

  12. #169
    Давно не был
    Регистрация
    28.12.2010
    Адрес
    Heidelberg, germany
    Возраст
    44
    Сообщений
    307
    Цитата Сообщение от msv Посмотреть сообщение
    Ну не изменится значения проекций вектора при повороте системы координат вокруг оси вектора, продифференцируй их хоть 100 раз...
    Все правильно. Так и есть.

    Поэтому это и является лишь коррекцией позволяющей убрать постоянную составляющую поворота.

    Попытаюсь пересказать другими словами на простом примере.
    Вот есть у нас ошибка АЦП в виде постоянной составляющей а на все три оси. В итоге, если мы находимся в покое, то получится что после интеграции все три оси будут вращаться вокруг вектора, а сам вектор будет находиться на месте (это как вращать зонтик вокруг ручки с определенной скоростью). И ту действительно ничего не сделаешь.
    Но...
    Если отбросить аргумент что самолеты так не летают (это мы будем потом корректировать), то нам надо скорректировать постоянную А в моменты, когда вектор меняет положение и минимизировать вращение в моменты когда вектор постоянен.

    Чтобы понять принцип коррекции нужно просто представить, что если вектор совпадает с осью Х и у нас есть его вращение по окружности в плоскости ХУ на данных гироскопа, а данные вектора компаса постоянны, то нам надо корректировать гироскоп по оси Х, а все остальные оси нас не интересуют. То-же самое делаем по другим осям.
    А использование матрицы и т.д. позволяет нам это делать не только в моменты когда Z=0, но и в других случаях.

  13. #170
    Frr
    Frr вне форума

    Регистрация
    28.02.2009
    Адрес
    Москва
    Возраст
    51
    Сообщений
    253
    Цитата Сообщение от msv Посмотреть сообщение
    Ибо вокруг одного вектора можно построить множество этих систем. И тут никакие математические уловки не помогут.
    А если вдруг известно правило как изменяется угловая скорость в зависимости от ориентации ?
    Например: при правом крене - угловая скорость по курсу увеличивается вправо, при левом - налево;
    если нос вверх - то появляется(увеличивается) угловая скорость по тангажу, чтобы клюнул носом;
    если нос смотрел вниз - то начинает задирать вверх
    (нормальные самолетики, которые сами летают, вроде должны так себя вести).
    Тогда штурман, видя: 1)магнитометр в пол(например) и 2)гира показывает(в следующем отсчете) увеличение угловой скорости вправо -
    догадается, что: 1)правый крен и 2) летим на восток.

  14. #171
    Давно не был
    Регистрация
    28.12.2010
    Адрес
    Heidelberg, germany
    Возраст
    44
    Сообщений
    307
    Цитата Сообщение от Frr Посмотреть сообщение
    А если вдруг известно правило как изменяется угловая скорость в зависимости от ориентации ?
    К сожалению не известно.
    Нам нужна ориентация для управления, а не управление для ориентации.

    Хотя с другой стороны про штурмана все правильно написано. Но там задача другая.

    Сейчас у меня задача - коррекция ошибки гироскопа с помощью показаний компаса. Если формулировать еще точнее, то - автоподстройка постоянной ошибки угловой скорости (ADC offset).

  15. #172
    msv
    msv вне форума

    Регистрация
    05.03.2008
    Адрес
    Новокузнецк
    Возраст
    58
    Сообщений
    2,376
    Нее.. бесполезно мне объяснять, или вы неважный учитель или я бестолковый ученик..
    Цитата Сообщение от Diman_Y Посмотреть сообщение
    Если отбросить аргумент что самолеты так не летают..
    Для FPV характерны длительные полеты по одному неизменяемому курсу. Летим вдоль вектора магнитного поля- никак не сможем определить и даже заметить компасом изменения крена. Полетели перпендикулярно- не видим тангаж.
    ЗЫ Статическая ошибка нуля угловой скорости гироскопа, (как понял то- что вы почему-то называете ADC-offset), всего лишь одна из причин вызывающая накапливаемую ошибку при интегрировании. Не меньший вклад в эту ошибку, вносит общая неточность и неидеальная линейность показания гироскопа и дискретный характер ее получения и обработки. Хотя общего характера проблемы это не меняет- необходимость коррекции постоянной составляющей, которая неизбежно "уплывает" при интегрировании значений угловых скоростей, читаемых из гироскопа.

  16. #173
    Давно не был
    Регистрация
    28.12.2010
    Адрес
    Heidelberg, germany
    Возраст
    44
    Сообщений
    307
    Цитата Сообщение от msv Посмотреть сообщение
    Для FPV характерны длительные полеты по одному неизменяемому курсу. Летим вдоль вектора магнитного поля- никак не сможем определить и даже заметить компасом изменения крена. Полетели перпендикулярно- не видим тангаж.
    Вы сами ответили на вопрос!
    Летим по курсу, не можем измерить крен, и не надо! Корректируйте остальных два угла, точнее скорости изменения.
    Летите перпендикулярно - корректируйте другие два.
    И т.д.
    Я доделаю алгоритм - отпишу поподробнее.

  17. #174

    Регистрация
    27.12.2000
    Адрес
    С-Петербург
    Возраст
    45
    Сообщений
    1,747
    Так как задача алгоритма- устранить дрейф гироскопов (случайные ошибки датчиков, шумы, погрешности измерений, пр.) то корректировать надо ВСЕ гироскопы. Т.к самолет никогда не летит прямо. И при использование ОДНОГО вектора коррекции, вся матрици начнет крутиться вокруг оси этого вектора, как уже сказал msv.
    Это если мы хотим построить "инерциалку" , как вы пишете,
    а не летающий аппарат использующий комплексные особенности ЛА, как предполагает Frr.
    Для этого вполне достаточно ОДНОГО датчика угловой скорости.
    И никаких компасов и акселерометров. Все "элероны" до недавних времен так летали.

  18. #175
    Давно не был
    Регистрация
    28.12.2010
    Адрес
    Heidelberg, germany
    Возраст
    44
    Сообщений
    307
    Все! Ура!

    Можете меня поздравить! После недели траха, я сделал коррекцию гироскопа по компасу! Точнее я написал алгоритм.
    Работает всегда и при любых условиях.
    Коррекция не зависит ни от чего! Исправляет как оффсет, так и любые другие ошибки гироскопа! Точность коррекции определяется точностью компаса и качеством фильтрации.
    Теперь уже будем корректировать компас.

    Те кто говорил что нельзя корректировать гироскоп компасом, мягко скажем - неправы!
    С другой стороны, то что я писал до этого, тоже немного неправильно, точнее не совсем правильно.
    Сейчас буду это дело вставлять в железо. Там математики дофига. Хорошо что ресурсы под это дело есть.

    Артему Силкину - привет!

    Цитата Сообщение от serj Посмотреть сообщение
    Так как задача алгоритма- устранить дрейф гироскопов (случайные ошибки датчиков, шумы, погрешности измерений, пр.) то корректировать надо ВСЕ гироскопы. Т.к самолет никогда не летит прямо.
    В ходе разработки задача поменялась.
    Теперь компас корректирует не только дрейф но и вообще ВСЁ. Все ТРИ гироскопа теперь корректируются автоматом независимо не от чего.

  19. #176

    Регистрация
    11.01.2011
    Адрес
    Ярославль
    Возраст
    34
    Сообщений
    1,637
    Цитата Сообщение от Diman_Y Посмотреть сообщение
    Теперь компас корректирует не только дрейф но и вообще ВСЁ. Все ТРИ гироскопа теперь корректируются автоматом независимо не от чего.
    1. при наклоне компаса ничего не плывет? (у меня при наклоне немного уплывает)
    2. если проекция вектора маг.поля на плоскость ХУ равна 0?
    3. в условиях полета (силовые провода под боком, платы с металлизацией вокруг, болты, металлическая рама) коррекция работает?

    На столе часто все красиво, а потом дрова в пакете...
    Последний раз редактировалось Musgravehill; 12.10.2011 в 12:39.

  20. #177
    Давно не был
    Регистрация
    28.12.2010
    Адрес
    Heidelberg, germany
    Возраст
    44
    Сообщений
    307
    Цитата Сообщение от Musgravehill Посмотреть сообщение
    1. при наклоне компаса ничего не плывет? (у меня при наклоне немного уплывает)
    Нет. Алгоритм коррекции устроен таким образом, что автоматом исправляет любой уплыв.
    Цитата Сообщение от Musgravehill Посмотреть сообщение
    2. если проекция вектора маг.поля на плоскость ХУ равна 0?
    В этом случае коррекция по оси Z отключается, а корректируется только по XY.
    Цитата Сообщение от Musgravehill Посмотреть сообщение
    3. в условиях полета (силовые провода под боком, платы с металлизацией вокруг, болты, металлическая рама) коррекция работает?
    Работает. Во первых, сейчас важно что работает алгоритм коррекции. И второе: компас сам по себе еще будет корректироваться, да и коррекция положения по компасу не единственная коррекция которая будет реализована.

    Сейчас главное что найдено общее решение проблемы коррекции положения по компасу. Это решение основанное на нескольких формулах, решение которых дает значение абсолютных углов коррекции положения самолета в любой момент времени.
    Фактически я просто вычисляю формулу:
    E(n) = D(Gyro(n),Comp(n)), где E[n] - это ошибка положения самолета в момент времени n, т.е. углы е1[n], e2[n], e3[n] по осям x,y,z.

    PS. У меня друг один есть, так он как-то сформулировал такую вещь, что если узнаешь красивое решение, то потом можно ходить и улыбаться весь день. Так вот, алгоритм решения коррекции по компасу одно из таких решений.

  21. #178

    Регистрация
    02.04.2011
    Адрес
    Санкт-петербург
    Возраст
    38
    Сообщений
    3
    Очень рад, что Вы добились результатов и весь день улыбаетесь.
    Сутью вашего алгоритма не поделитесь? Уверен, что многим интересно.

  22. #179
    Давно не был
    Регистрация
    28.12.2010
    Адрес
    Heidelberg, germany
    Возраст
    44
    Сообщений
    307
    Цитата Сообщение от SosoMan Посмотреть сообщение
    Сутью вашего алгоритма не поделитесь? Уверен, что многим интересно.
    В принципе все просто!

    Мы знаем формулу расчета для матрицы поворота: D(a[n],b[n],c[n]). abc - это углы поворота которые мы получаем с гироскопа.
    C[n] - это значение компаса в момент времени n, C'[n] - оценка компаса в момент времени n будет D(a,b,c)*C[n-1];

    Но мы знаем, что a,b,c содержат ошибки e1,e2,e3.
    В итоге, мы можем записать следующее уравнение:

    C[n] = D(a[n]-e1,b[n]-e2,c[n]-e3)*C[n-1];

    С[n],С[n-1],...С[n-бесконечность] - известно
    abc[n],abc[n-1],...,abc[n-бесконечность] - известно
    e1,e2,e3 - константы и их надо найти.

    Дальше просто составляем систему уравнений и решаем ее.

    В случае если C[n]=C[n-1] решения не нет, так как определитель равен 0 (это как раз тот случай, когда оси вертятся как зонтик вокруг вектора). Так-же не имеем решения когда самолет находится на месте и вектор C[n] - константа, и система имеет бесконечное множество решений.
    Но как только самолет начинает двигаться, т.е. С[n] != С[n-1] != С[n-2] , сразу получаем одно единственное решение в виде E[n].

    Коррекцию проводим на разных интервалах времени с различной фильтрацией и т.д..

    В итоге имеем, что меняя положение относительно неподвижного вектора, можно определить постоянную ошибку поворота по всем осям.
    Т.е. если гироскоп откорректирован и самолет летит ровно, то мы не можем вычислить коррекцию, но она нам и не нужно. А вот как только самолет начинает немного изменять свое положение (даже от порыва ветра), так сразу мы можем эту коррекцию вычислить.
    По идее, нам достаточно даже просто компаса с ГПС, чтобы вычислить все три ошибки.

    Восторженные оценки алгиритма приветствуются!

  23. #180

    Регистрация
    02.04.2011
    Адрес
    Санкт-петербург
    Возраст
    38
    Сообщений
    3
    Интересное решение. Но все эти размышления верны, если мы считаем, что e1,e2,e3 остаются постоянными для моментов времён n, n-1, n-2. Верно? Только в этом случае мы можем составить три уравнения с 3-мя неизвестными (в нашем случае e1,e2,e3 - неизвестные).

  24. #181
    Давно не был
    Регистрация
    28.12.2010
    Адрес
    Heidelberg, germany
    Возраст
    44
    Сообщений
    307
    Цитата Сообщение от SosoMan Посмотреть сообщение
    e1,e2,e3 остаются постоянными для моментов времён n, n-1, n-2. Верно?
    Верно!
    Если Е и меняется, то медленнее чем скорость с которой мы измеряем значение компаса и гироскопов.
    К тому-же нам все равно, меняется е или нет. Нам надо найти среднюю ошибку е за три иттерации. Т.е. скорость изменения ошибки должна быть в три раза меньше чем скорость изменения вектора.
    И вообще, нам все равно что там будет. Главное угадать знак ошибки. Или даже скажем так: главное чтобы знак ошибки выдавался чаще правильно чем не правильно. В этом случае коррекция будет работать.

    И еще.

    Нам даже не надо брать три значения подряд. Нам просто надо три изменения значения.

    PS. Возражения не принимаются, так как алгоритм проверен и реально работает.
    Последний раз редактировалось Diman_Y; 13.10.2011 в 02:00.

  25. #182

    Регистрация
    25.09.2006
    Адрес
    Ташкент
    Возраст
    36
    Сообщений
    852
    Записей в дневнике
    1
    На чем проверен? на самолете в полете?

  26. #183
    msv
    msv вне форума

    Регистрация
    05.03.2008
    Адрес
    Новокузнецк
    Возраст
    58
    Сообщений
    2,376
    Цитата Сообщение от Diman_Y Посмотреть сообщение
    Восторженные оценки алгиритма приветствуются!
    Цитата Сообщение от Diman_Y Посмотреть сообщение
    Возражения не принимаются, так как алгоритм проверен и реально работает.
    Выражаю свой восторг, от возражений не удержусь..
    Цитата Сообщение от how-eee Посмотреть сообщение
    На чем проверен? на самолете в полете?
    Полет не обязателен.. Можно и на столе убедиться, что при некоторых углах ориентации (вполне реальных для полета), гироскопы неизбежно поплывут. Одна надежда, что пилот или ветер будет все время менять курс.

  27. #184

    Регистрация
    25.09.2006
    Адрес
    Ташкент
    Возраст
    36
    Сообщений
    852
    Записей в дневнике
    1
    Алгоритм конечно красивый и похоже правильный, но мне кажется тут изобретен велосипед. Неужели этот алгоритм никто еще не реализовывал?
    Как бы то ни было, до готового устройства, способного достойно управлять самолетом, еще очень далеко.
    Буду рад если ошибаюсь...

  28. #185
    Давно не был
    Регистрация
    28.12.2010
    Адрес
    Heidelberg, germany
    Возраст
    44
    Сообщений
    307
    Цитата Сообщение от how-eee Посмотреть сообщение
    Алгоритм конечно красивый и похоже правильный, но мне кажется тут изобретен велосипед.
    Это нормальная реакция. Когда рассказали как, все стало очивидно, и возникает вопрос, а почему раньше этого не сделали, это-же очивидно?

    Цитата Сообщение от how-eee Посмотреть сообщение
    Неужели этот алгоритм никто еще не реализовывал?
    Именно этот, конкретно для коррекции гироскопов я нигде не видел. Все что я видел в интернете про коррекцию, относилось к загадочному фильтру Калмана, который якобы должен где-то работать.
    А вообще, подобным образом сделан алгоритм пеленгации. Точнее, алгоритм определения координат объекта с помощью одного пеленгатора (это то-же возможно).

    Цитата Сообщение от msv Посмотреть сообщение
    Одна надежда, что пилот или ветер будет все время менять курс.
    Тут дело вот в чем. Нам нужна ориентация, чтобы управлять самолетом. При прямолинейном полете мы самолетом не рулим (теоритически). Но как только гироскоп начинает плыть, так мы сразу детектируем изменение положения и начинаем корректировать курс. Корректируем положение самолета, компас изменяется. Компас изменяется, гироскоп корректируется. Положение по откорректированному гироскопу снова изменяется. Мы снова приводим все в норму. И т.д.
    Т.е. в случае автопилота, система будет сама себя корректировать независимо ни от чего. Тут просто отрицательная обратная связь. :-)
    Последний раз редактировалось Diman_Y; 13.10.2011 в 13:23.

  29. #186

    Регистрация
    15.09.2011
    Адрес
    Москва
    Возраст
    49
    Сообщений
    7,400
    Записей в дневнике
    26
    дело в том что каждый из сенсоров - по сути источников информации может давать ложные данные
    например у гирика и акселя может быть ошибка изза дескретности измерения по времени в условиях вибрации,
    то есть пошел микроудар - фильтрующий кондер подзарядился и ацп считал ошибку через микросекунду уровень восстановился но ацп будет следующее значение считывать скажем через 10 микросекунд (к примеру) к этому времени может так сложиться что будет второй удар и ошибка накопится, не будет учтено что между замерами были провалы, с акселем тоже самое.
    3д Компас я полагаю был бы идеальным сенсором, который бы заменил гирик еслиб не одно "но" магнитные и электромагнитные поля, если воспринимать его данные как чистую монету, можно словить глюк в реальных полетах вблизи ЛЭП и местах залегания магнитных руд
    ЖПС неплохой сенсор который дает достаточно точный 3d вектор курса на скорости, при большом количестве спутников.

    собственно о чем я хотел сказать, что какие бы небыли сенсоры у них есть параметр точность, и он не статичен и было бы логично учитывать точность того или иного сенсора в зависимости от совокупности условий, в качестве весовых коэффициентов при получении вычисляемого положения модели.

    к примеру если гпс на скорости 30км/ч при 11 спутниках говорит что курс север, а компас показывает восток, то вероятна трабла с локальными магнитными полями, если гирик не отклоняется а компас резко уходит в сторону - вероятно рядом точечный магнитный полюс. Инаоборот если спутников к примеру 3 - координаты могут сильно прыгать, а аксель гирик и компас дают показания которые согласуются - тут логичнее не поверить гпс.

    зы. а вообще молодец автор, такую махину задумал в одиночку сделать...

  30. #187
    msv
    msv вне форума

    Регистрация
    05.03.2008
    Адрес
    Новокузнецк
    Возраст
    58
    Сообщений
    2,376
    Цитата Сообщение от Diman_Y Посмотреть сообщение
    Т.е. в случае автопилота, система будет сама себя корректировать независимо ни от чего.
    При полете на север-юг (и наоборот) поплывет крен, действительно изменится курс, полетит хоть переменными галсами, но еще терпимо.. При полете запад-восток (и наоборот) поплывет тангаж... курс может изменится, когда будет слишком поздно..
    Цитата Сообщение от alexeykozin Посмотреть сообщение
    дело в том что каждый из сенсоров - по сути источников информации может давать ложные данные
    Основная проблема коррекции по компасу- вектор почти все время находится очень близко к плоскости горизонтального полета (в отличии от акселя..). Поэтому ситуации когда он будет давать 0-вые проекции на две оси совсем ненадуманные..

  31. #188

    Регистрация
    15.09.2011
    Адрес
    Москва
    Возраст
    49
    Сообщений
    7,400
    Записей в дневнике
    26
    я понимаю речь о 3-д компасе,
    нулевая проекция чем плоха? значит компас как раз в горизонте... хотя это очень дилетанское мнение ибо практического опыта с работы с компасом пока нет, микрухи 3-д цифрового компаса тока вчера привезли, пока еще не успел опробовать

  32. #189
    Давно не был
    Регистрация
    28.12.2010
    Адрес
    Heidelberg, germany
    Возраст
    44
    Сообщений
    307
    Цитата Сообщение от msv Посмотреть сообщение
    Основная проблема коррекции по компасу- вектор почти все время находится очень близко к плоскости горизонтального полета (в отличии от акселя..).
    Да не проблема это.
    Коррекция происходит во всем диапазоне углов, в любой плоскости. Главное чтобы значение углов компаса менялось хоть чуть-чуть.

  33. #190

    Регистрация
    27.12.2000
    Адрес
    С-Петербург
    Возраст
    45
    Сообщений
    1,747
    Так не важно, какой вектор коррекции вы взяли. с GPS голым было бы то же самое ( считаем что вектор скорости параллелен продольной оси.) и с гравитацией также.


    Конечно, коррекция работает ПО ВСЕМ ОСЯМ, если только проекции корректирующего вектора не оси не нулевые. Но вращение вектора вокруг оси измерить нечем.
    Это НИКАК не преодолеть, нет информации. И компоненты вращения вокруг некорректируемой оси будут неизбежно "влезать" в описание вращения.

    Для коррекции этого нужен второй вектор, например GPS. Проще объяснить у меня не получается.
    Вы сами сказали - в вашем случае у вас ДВА вектора. (компас и GPS). Хорошо. на широте Москвы, Питера. или на северном полюсе - вообще хорошо. ( правда GPS плохо ловится там )
    На экваторе будет хуже, там компас почти параллельно земле.

    Если добавить еще и гравитацию- будет еще точнее.

    И не надейтесь, что датчики будут работать также идеально когда вы к ним приложите вибрацию
    Последний раз редактировалось serj; 13.10.2011 в 23:24.

  34. #191
    Давно не был
    Регистрация
    28.12.2010
    Адрес
    Heidelberg, germany
    Возраст
    44
    Сообщений
    307
    Цитата Сообщение от serj Посмотреть сообщение
    Конечно, коррекция работает ПО ВСЕМ ОСЯМ, если только проекции корректирующего вектора не оси не нулевые. Но вращение вектора вокруг оси измерить нечем.
    Это НИКАК не преодолеть, нет информации. И компоненты вращения вокруг некорректируемой оси будут неизбежно "влезать" в описание вращения.
    Сергей, Вы просто не поняли принцип, поэтому и возражаете. Суть в том, что имея траекторию точки и траекторию оценки, можно определить постоянную ошибку оценки.
    Еще раз, другими словами:
    Когда самолет летить идеально прямо, коррекция не работает, так как в этом случае действительно у нас недостаточно данных (одной оси не хватает). Как только самолет начинает маневрировать, так сразу можно определить постоянную ошибку.
    Не верите, вот уравнение:
    C[n] = D(a[n]-e1,b[n]-e2,c[n]-e3)*C[n-1];

    распишите его, и все станет ясно.

    Я совершенно ответственно заявляю, что второго вектора для оценки ошибки гироскопа не нужно (в формуле никакого второго вектора нет). Нам нужно значение компаса x,y,z (точка, причем нормированная, т.е амплитуда компаса нам по барабану).
    ГПС мной упоминался как коррекция компаса, которая к гироскопу отношения не имеет. Дальше я еще говорил, что коррекция гироскопа возможна даже имея просто угол компаса от ГПС.
    Широта и проекция тут вообще непричем. Алгоритм одинакого хорошо будет работать как на экваторе, так и на Северном полюсе.
    Коррекция возможна как абсолютная (компенсировать абсолютный угол), так и относительная (компенсировать уплыв за промежутки времени).

    Гравитация для данного алгоритма не нужна. Она будет использована в равномерном и прямолинейном полете. А это значит что скорость, и курс - константы. Но чтобы этого добиться, самолет надо застабилизировать. А чтобы застабилизировать, надо откорректировать гироскопы и определить положение.

    Для коррекции при маневрировании акселерометр использовать нельзя.

  35. #192
    msv
    msv вне форума

    Регистрация
    05.03.2008
    Адрес
    Новокузнецк
    Возраст
    58
    Сообщений
    2,376
    Ладно, пытаюсь по порядку разобраться в алгоритме.. Непонимание с первой фразы:
    "Суть в том, что имея траекторию точки (что имеется в виду? Истинная траектории полета ЛА? Откуда нам она известна?) траекторию оценки (тоже непонятно- что это за траектория?), можно определить постоянную ошибку оценки (оценки ошибки траектории? почему постоянную? как вообще соотнести траекторию полета с ориентацией ЛА?).
    ЗЫ Пол сезона пытался сделать коррекцию пирогоризонта по скорости изменения курса GPS. Очевидная математика, все просто (почти) и однозначно.. Отлично работает на бумаге и в симуляторе.. Увы.. неизбежное скольжение ЛА на вираже, ветер и др. сложно учитываемые факторы, сделали эту коррекцию бессмысленной. Пришлось признать, что от такой коррекции больше вреда, чем пользы... Из этого опыта, поверю в ваш алгоритм после его хотя бы пробного тестирования в реальном полете.

  36. #193
    Учит правила (до 29.06.2021)
    Регистрация
    07.06.2008
    Адрес
    Москва
    Возраст
    51
    Сообщений
    9,179
    Цитата Сообщение от msv Посмотреть сообщение
    пытался сделать коррекцию пирогоризонта
    Вот эта фраза- неясна: зачем делать коррекцию того, что и так никуда не уходит?
    Работал с Ко Пилотом довольно много: при отсутствии осадков и низкой облачности- горизонт у него стоит (то есть- у самолета, летящего под его управлением), как вкопанный
    А по поводу "супер-пупер алгоритма"- согласен...
    "Чепчики вверх бросать" будет можно только после проверки в полёте

    Цитата Сообщение от Diman_Y Посмотреть сообщение
    Когда самолет летить идеально прямо
    Цитата Сообщение от Diman_Y Посмотреть сообщение
    так сразу можно определить постоянную ошибку.
    Математики-народ романтичный, взять хотя бы две этих фразы...
    По ним- два вопроса:
    1-а как автопилот это узнаЁт? (В реале- только анализ быстрого ЖПС (курс-высота) может дать такую информацию).
    2-"Ошибка" (дельта, то есть) определяется, как разница значений: истинного и требуемого...
    А что такое "постоянная ошибка", если самолёт меняет положение и скорость ежесекундно.
    О каком "постоянстве" идёт речь?

  37. #194
    msv
    msv вне форума

    Регистрация
    05.03.2008
    Адрес
    Новокузнецк
    Возраст
    58
    Сообщений
    2,376
    Да простит меня Дмитрий за офф, отвечу не совсем по его теме..
    Цитата Сообщение от blade Посмотреть сообщение
    зачем делать коррекцию того, что и так никуда не уходит?
    Сколько смотрел видео с OSD индикацией пирогоризонта, - ровный горизонт, совпадающий с визуальным, редкое исключение.. Неравномерный нагрев самих сенсоров, деталей ЛА, попадающих в их сектор чувствительности, изменение облачности во время полета итд, итп. Другое дело что эти отклонения не фатальны, тк. ошибки не накапливаются и система стабилизации с ними обычно без проблем справляется.. Долго и настойчиво пытался приблизиться к совершенству.. тем более после каждого полета при анализе видео/логов казалось- "вот почти хорошо, еще только тут постоянную времени увеличить.. тут только коэффициент изменю... тут фильтр поставлю..".. На том увлекательном занятии и прошло пол сезона.. А когда все выкинул, оказалось работает лучше без всех этих наворотов..

    ЗЫ Дмитрий, надеюсь вы понимаете, что самолет может лететь с неизменным курсом при некотором крене и наоборот? То что он может менять высоту при нулевом тангаже и наоборот? Речь о совершенно "правильном", триммированном ЛА..
    Последний раз редактировалось msv; 14.10.2011 в 10:52.

  38. #195
    Учит правила (до 29.06.2021)
    Регистрация
    07.06.2008
    Адрес
    Москва
    Возраст
    51
    Сообщений
    9,179
    Цитата Сообщение от msv Посмотреть сообщение
    Неравномерный нагрев самих сенсоров
    Ну, я то с Ко Пилотом довольно много полетал...
    А то, что Вы описываете-отсутствует при правильной его установке
    А версия с вертикальной парой пиродатчиков-ёщё и самокалибруется в полёте.

  39. #196
    Давно не был
    Регистрация
    28.12.2010
    Адрес
    Heidelberg, germany
    Возраст
    44
    Сообщений
    307
    Отвечу по алгоритму коррекции. Все остально пока вторично.

    И так, имеем слудующее.

    Имеется 3Д компас, который выдает вектор магнотного поля. Сам по себе вектор - константа (север). Значение компаса изменяется только при именении положения сомолета в пространстве. С[n] - значение компаса в различные моменты времени.
    Есть гироскоп, который выдает скорости вращения по осям a[n],b[n],c[n], но выдает с ошибкой E (e1,e2,e3).
    Задача: как имея значения компаса C[n] в различные моменты времени, значения гироскопа a,b,c[n] в различные моменты времени, найти ошибку E.

    Другими словами. У нас есть значения гироскопа в моменты времени. Эти значения содержат ошибку, т.е. a[n] = ИдеальнаяСкоростьХ[n] + e1, b[n] = ИдеальнаяСкоростьY[n] + e2, c[n] = ИдеальнаяСкоростьZ[n] + e3.
    Нам надо найти e1,e2 и e3.

    Все.
    Как из имеющихся данных найти ошибки я уже написал выше.

    Цитата Сообщение от msv Посмотреть сообщение
    что имеется в виду? Истинная траектории полета ЛА? Откуда нам она известна?
    Я говорю сейчас только о коррекции гироскопа. Все. Траекторию, высоту, ГПС и все остальное будем обсуждать потом. Даже положение самолета в пространтсве сейчас не будем обсуждать.

    Обсуждаем только ошибку гироскопа.

    Изначально я сказал что смогу написать алгоритм коррекции значений гироскопа на основинии значений компаса. Мне возразили, что это сделать невозможно.
    Я этот алгоритм написал.

    Цитата Сообщение от msv Посмотреть сообщение
    Дмитрий, надеюсь вы понимаете, что самолет может лететь с неизменным курсом при некотором крене и наоборот? То что он может менять высоту при нулевом тангаже и наоборот? Речь о совершенно "правильном", триммированном ЛА..

    Да. Я это понимаю. Поэтому в формулах, нигде не упоминается значение крена и все остальные параметры. Я работаю сейчас только с показаниями датчиков. Как летит самолет, это тема для следующих обсуждений.
    Сейчас у меня есть "идеальный" гироскоп, который никуда не плывет, и компас. Следубщим этапом будет определение положения самолета в пространстве.
    Последний раз редактировалось Diman_Y; 14.10.2011 в 14:06.

  40. #197

    Регистрация
    27.12.2000
    Адрес
    С-Петербург
    Возраст
    45
    Сообщений
    1,747
    Дмитрий, я понял идею коррекции так:

    Вы сравниваете две оценки положения по "скоростям" - трехмерной производной положения, так сказать, по- гироскопам и по компасу, так? исходя из того, что вектор скорости в среднемпо компасу ошибки не имеет, вы вычитаете ошибку из гироскопов.

    Правильно?

  41. #198
    Давно не был
    Регистрация
    28.12.2010
    Адрес
    Heidelberg, germany
    Возраст
    44
    Сообщений
    307
    Цитата Сообщение от serj Посмотреть сообщение
    ы сравниваете две оценки положения по "скоростям" - трехмерной производной положения, так сказать, по- гироскопам и по компасу, так?

    Не совсем.
    Я использую значение компаса чтобы найти ошибку гироскопов. Скорость вращения по компасу я не вычисляю. Я вычисляю только "постоянную" ошибку гироскопов. Постоянную, в смысле постоянную на интервале наблюдения, в нашем случае - три отсчета (хотя вообще 6).

  42. #199
    Frr
    Frr вне форума

    Регистрация
    28.02.2009
    Адрес
    Москва
    Возраст
    51
    Сообщений
    253
    Цитата Сообщение от Diman_Y Посмотреть сообщение
    Поэтому в формулах, нигде не упоминается значение крена и все остальные параметры. Я работаю сейчас только с показаниями датчиков. Как летит самолет, это тема для следующих обсуждений. Сейчас у меня есть "идеальный" гироскоп, который никуда не плывет, и компас. Следубщим этапом будет определение положения самолета в пространстве.
    Значит это только калибровка гиры (смещение нуля по каждой оси),
    а не "Артему Силкину - привет".
    А у магнитометра смещение нуля отсутствует ? (от него зависят e1, ...)

  43. #200

    Регистрация
    15.09.2011
    Адрес
    Москва
    Возраст
    49
    Сообщений
    7,400
    Записей в дневнике
    26
    еслиб компас был абсолютно точным прибором то гироскопы были бы ненужны, поэтому корректировать гироскопы надо не от копмпаса а от некоторого комплексного вектора всех датчиков.

    и как можно исключать из расчета "вероятного вектора" фактор "вероятности ошибки"
    - вектора пути медленно движущегося GPS
    - отклонившегося на магнит компаса
    - показаний "встряхнутого" - т.е. перегруженного гироскопа, компаса или акселя (а это в условиях вибрации [от мотора+от порывистого ветра+толчки от грунта при взлете] может случиться гораздо раньше чем в настольно-математической модели)


    и еще пара мыслей про точное математическое моделирование и его отклонение от реала.
    в однопроцессорной системе опрос датчиков происходит не одномоментно и замеры сделаны не на одном интервале величины (допустим траектории) примерно так пусть т=точки на оси времени, тогда:
    т0 опрос гпс, т1 опрос 3д гироскопа (допустим цифровой и все три оси за один опрос), т2 аналоговый аксель ось x, т3 аналоговый аксель ось y, т4 аналоговый аксель ось z, т5 цифровой компас ... тут еще десятки циклов без гпс ... тN опрос гпс (самые продвинутые гпс обновляют данные порядка 10 раз в секунду, остальные датчики можно опрашивать существенно чаще)

    собственно соответственно показания направления вектора траектории
    по гироскопу на интервале т1-т6,
    по компасу т5-т10
    по жпс т1 - тN
    в условиях когда отклонения равномерны ошибка при частой выборке будет небольшой, но если вибрация ...
    Последний раз редактировалось alexeykozin; 15.10.2011 в 09:53.

Закрытая тема

Похожие темы

  1. Обзор Eagletree OSD Pro
    от R_K в разделе Полеты по камере, телеметрия
    Ответов: 5817
    Последнее сообщение: 23.06.2018, 20:51
  2. Ответов: 5775
    Последнее сообщение: 15.03.2016, 22:15
  3. ikarus osd (osd + автопилот + наземеная станция + перекл. камеры +...)
    от KIR2142 в разделе Полеты по камере, телеметрия
    Ответов: 797
    Последнее сообщение: 13.01.2016, 14:26
  4. dragon osd gps navigation system
    от _Олег_ в разделе Полеты по камере, телеметрия
    Ответов: 264
    Последнее сообщение: 12.06.2014, 03:28
  5. еще один автопилот cyclops osd
    от zis в разделе Полеты по камере, телеметрия
    Ответов: 1
    Последнее сообщение: 21.09.2010, 15:50

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения