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

Diman_Y

Всем привет!
Короче, промудохавшись пару дней с гироскопом было принято следующее решение. 😃

В общем я сейчас все сенсоры выведу на писишку в симулятор и дополнительно сделаю запись голых данных от сенсоров на SD карту (это чтобы можно было собирать данные с ероплана и потом моделировать с реальными данными). Получив это дело можно уже спокойно заняться разработкой алгоритмов.
По идее уже сейчас можно делать алгоритмы, но проблема в отсутсвии реального времени и возможности 3D визуализации в реальном времени, а это очень важно.
А если я сделаю вывод данных в реальном времени на писишку, то тогда все будет гараздо проще. Можно будет и значения с графиками в реальном времени смотреть и даже 3D анимацию прикрутить (а это необходимо).
Сейчас отладка выглядет так: запускается алгоритм, потом нажимается кнопка для получения данных и данные через пару секунд выводятся на графике. Хочется другого. Хочется чтобы было видно данные сразу и без задержки. 😃

Вот так пока. 😃

AndyBig:

Но он для координатного позиционирования, а для авиагоризонта - пиродатчики

Авиагоризонт в принципе вторичен. Он только помогает самолету лететь из точки А в точку Б.
Вот просто можно задаться вопросом: а как многие ФПВшники летают без авиагоризонта? Он у них есть, просто точность его +/- 30 градусов. 😃
Все остальное делается с помощью наблюдения за компасом, высотой и скоростью.

А в моем случае у меня все эти данные есть даже в инерциальном варианте без GPS. А если еще и GPS есть, то вообще проблем нету. 😃

Вот простой пример коррекции гироскопа при наличии скорости, высоты и направленя.
Высота падает, компас уходит вправо, а гироскоп показывает горизонт в 0. Кто врет? 😃
Очивидно что врет гироскоп. Мы берем и его корректируем. Т.е. выравниваем горизонт влево:)

Или: компас стабилен, высота растет, а скорость падает. Горизонт опять показывает ноль. Очивидно что мы набираем высоту. 😃
И т.д.

Основная задача фактически это сделать данный алгоритм как АСУ реального времени а не как набор if/else. 😃

Все данные, как скорость, направление, высота, координаты есть в абсолютных значениях. Этог одостаточно чтобы корректировать мгновенные значения датчиков. 😃

PS. Ссылки на книжки по теории полетов (где какие силы, перегрузки и т.д.) приветствуются! 😃

AndyBig
Diman_Y:

как многие ФПВшники летают без авиагоризонта?

По видео 😃 FPV - это ведь не автопилот.

Diman_Y:

Высота падает, компас уходит вправо, а гироскоп показывает горизонт в 0. Кто врет?

Самолет в нисходящем потоке воздуха теряет высоту с небольшим поворотом, горизонт не врет 😃 Так же и во втором примере истиный горизонт действительно может находиться в нуле. С другой стороны: компас показывает медленное изменение направления, скорость и высота постоянные, горизонт показывает ноль. Горизонт врет или РН нуждается в коррекции?
В том и проблема, что без четкого знания ориентации самолета однозначности нет 😃

Diman_Y
AndyBig:

По видео FPV - это ведь не автопилот.

Это не автопилот, это авиагоризонт с точностью +/- лапоть. Но народ ведь летает. 😃

AndyBig:

Самолет в нисходящем потоке воздуха теряет высоту с небольшим поворотом, горизонт не врет

Наша задача не чтобы горизонт не врал, а чтобы самолет летел на заданной высоте. Поэтому мы и будем корректировать высоту, а чтобы небыло недопониманий, откорректируем и горизонт. 😃

AndyBig:

В том и проблема, что без четкого знания ориентации самолета однозначности нет

Да не нужна здесь 100% точность. Кратковременно на сложные маневры, типа боевого разворота или петли у вас есть дастаточная точность. А вот после, в прямолинейном полете, уже можно и подкорректировать. 😃

По поводу пироголов.
Вот я на пример в горах живу, и туман и низкая облачность у нас каждую неделю. Что мне делать с этими пироголовами? 😃

SGordon

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

msv

Авиагоризонт (причем достоверный) нужен не пилоту, это так… фенечка, а подсистеме стабилизации. А без нее даже думать о автопилоте рановато…
Рад Вашему оптимизму, вы сделали большую работу, но пока, образно говоря, только организовали экспедицию и подошли к подножью горы, вершины которой еще и не видно…

blade
msv:

но пока, образно говоря, только

Продолжу Вашу мысль: снова изобретают велосипед 😦
Почему то люди, собирающиеся сделать довольно сложную как по финансам, так и по трудоёмкости работу- не утруждают себя даже поиском того, что уже сделано.
Хотя бы с той целью, чтобы не ходить по чужим граблям?
Ну что им стОит- почитать темы Смаллтима, про Икарус, Арду-пилот (там вообще-всё в открытом доступе, начиная от файлов плат до исходников кода.)
Нет, будут ломиться в открытую дверь 😢
Эту энергию-да в мирных бы целях 😃
Вот ещё один: rcopen.com/forum/f87/topic239341
“И так мои мозги созрели сделать нечто!” (С)
Может, шампунем почаще пользоваться?

Diman_Y
msv:

Авиагоризонт (причем достоверный) нужен не пилоту, это так… фенечка, а подсистеме стабилизации.

Что значит достоверный? 😃
Вопрос именно в этом.

msv:

только организовали экспедицию и подошли к подножью горы, вершины которой еще и не видно…

Вот у меня совершенно другие ощущения. Вот сейчас я сделаю визуализацию и соединю все это дело с писишкой… 😃

blade:

Ну что им стОит- почитать темы Смаллтима, про Икарус, Арду-пилот

Я уже писал про существующие пилоты и их основную проблему.

msv
Diman_Y

это авиагоризонт с точностью +/- лапоть. Но народ ведь летает.

Diman_Y:

Что значит достоверный?

Хотя бы с точностью +/- 0.183 лапоть.

Diman_Y:

Вот у меня совершенно другие ощущения. Вот сейчас я сделаю визуализацию и соединю все это дело с писишкой…

По своему опыту, вершина станет заметной, когда совершите первый успешный полет на автопилоте, с записью видео/логов итп. И то это зачастую оказывается миражом… 😃
ЗЫ Вот сижу сейчас, пыхтю в своем симе над тривиальной казалось бы задачкой, пытаюсь сделать авто-коррекцию 0 пиродатчика (увы, пиро хоть так и не плывет как гира, но тоже по хорошему требует тщательную калибровку) по показаниям GPS. В штиль пожалуй будет работать, но стоит имитировать ветерок… Наверное придется оставить полуавтоматическую калибровку.

Diman_Y
msv:

авто-коррекцию 0 пиродатчика

А у Вас есть компас или акселерометр?
К стати, тут идея пришла компас использовать как гироскоп. 😃

AndyBig
Diman_Y:

Это не автопилот, это авиагоризонт с точностью +/- лапоть. Но народ ведь летает.

Народ ГЛАЗАМИ видит горизонт.

Diman_Y:

Наша задача не чтобы горизонт не врал, а чтобы самолет летел на заданной высоте.

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

Diman_Y:

Вот я на пример в горах живу, и туман и низкая облачность у нас каждую неделю. Что мне делать с этими пироголовами?

Низкая облачность им пофиг, в туман как правило не летают, а с горами можно бороться математикой. Компас есть? Географию местности знаете? Можно заложить коррекцию. Самое главное - показания пиродатчиков абсолютны в любой момент времени.

Diman_Y
AndyBig:

Самое главное - показания пиродатчиков абсолютны в любой момент времени.

Как они могут быть абсолютны, если горизонт сам по себе относителен? 😃

Вообще, я так понимаю что основные разногласия у нас в следующем:
Можно ли рулить сомолетом не имея гироскопа, а имея только показания высоты, абсолютные показания высоты, абсолютный компас, 3D компас, координаты, направление и значение ускорения, и скорость вращения по осям - рулить самолетом? 😃

Я говорю что можно. 😃
Вот пилоты которые сожали Ту-154 в тумане, сожали самолет вообще без приборов, по стакану воды (а это на самом деле просто 3D акселерометр который показывает направление вниз) и встроенному в каждого акселерометру.
И ведь посадили.
А тут даже GPS есть, и не реализовать… Это надо постараться. 😃

Пиродатчики экономят время разработки и время процессора, но не более того.

К стати, вот как я понял, rangevideo ребята сделали авиагоризонт и без пироголов. 😃

AndyBig
Diman_Y:

горизонт сам по себе относителен

Горизонт относителен? Относителен к чему? 😃

Diman_Y:

Вот пилоты которые сожали Ту-154 в тумане, сожали самолет вообще без приборов, по стакану воды

Хых… У человека куча датчиков в организме 😃 Так что пример не показателен.

Diman_Y:

Пиродатчики экономят время разработки и время процессора, но не более того.

Буду рад признать, что ошибся и у Вас что-то получилось 😃 Делайте…

Diman_Y
AndyBig:

Буду рад признать, что ошибся и у Вас что-то получилось Делайте…

В процессе! 😃

msv
Diman_Y:

А у Вас есть компас или акселерометр?

Нет, только пиро+GPS.

Diman_Y:

К стати, тут идея пришла компас использовать как гироскоп.

Эта идея приходит похоже всем… (в тч. мне) 😃 Это, наверное, как всем детям (в тч. мне) приходит гениальная мысль соединить мотор и генератор и получится вечный двигатель…
Носитель готов, облетан?

AndyBig
msv:

как всем детям (в тч. мне) приходит гениальная мысль соединить мотор и генератор и получится вечный двигатель…

Увы, не только детям 😃 Уже даже на этом форуме предлагалось что-то подобное 😃

leprud
Diman_Y:

не имея гироскопа, а имея только показания высоты, абсолютные показания высоты, абсолютный компас, 3D компас, координаты, направление и значение ускорения, и скорость вращения по осям

Гироскоп меряет что? Правильно…

Musgravehill
Diman_Y:

Можно ли рулить самолетом не имея гироскопа, а имея только показания высоты, абсолютные показания высоты, абсолютный компас, 3D компас, координаты, направление и значение ускорения, и скорость вращения по осям - рулить самолетом?

Акселерометр покажет “направление и значение ускорения” - особенно в повороте! Суммарный вектор будет не перпендикулярен горизонту, а самолетик-то летит горизонтально, без крена.

Магнетометр - вполне работающая вещь, особенно, если вектор маг. поля не под 90 градусов в землю.

Скорость вращения по осям косвенно даст именно гироскоп, после интегрирования мгновенной скорости изменения угла. Интегрирование накапливает ошибку.

В вашей мат.модели IMU есть пограничные точки, где возникает неопределенность? Например, когда самолет перевернулся? Или летит под “неудобным” углом к какому-то вектору?

Товарищи Гуру, кто точно скажет, какие параметры нужны для автопилота? Для полета, для посадки?

blade
Musgravehill:

кто точно скажет, какие параметры нужны для автопилота

Дык, это давно не секрет: пиджак замшевый тьфу, ДУС (датчик угловых скоростей , а вовсе не гироскоп, как его неГуры называют), -три, акселерометр- три, магнетометр-три (для динамической коррекции ошибки ДУС) ЖПС- чем быстее, тем лучше 5-10Гц- для того же самого. Т.Е. для проверки наличия-отсутствия скольжения в те моменты, когда ДУС+акселерометры показывают горизонтальный полёт.
А на самом деле-эроплан летит криво 😦
Ко всему этому- присобачить матрицу Калмана (лично-не знаком) и будет-щастье.

serj

Давно не был… “конструктор” системы симпатичный… прямо как у Риссы… 😃
Дмитрий, у вас есть систематическая проблема- вы сначала что-то делаете- потом думаете КАК это будет работаь. Не разобравшись в ФИЗИЧЕСКИХ И МАТЕМАТИЧЕСКИХ принципах- очень тяжело построить.

Было очень печально услышать от вас, что вы принцип работы МЕМС ДУС-ов поняли лишь после постройки всей системы…

Ну посмотрите вы тот же ardupilot в конце концов! очень многое решено до вас и за вас…

А вы пытаетесь изобрести велосипед с квадратными колесами… Но к нему специальную дорожку надо будет приделать 😃

Musgravehill
serj:

велосипед с квадратными колесами

по шпалам ездить 😁

blade:

ДУС (датчик угловых скоростей , а вовсе не гироскоп, как его неГуры называют), -три, акселерометр- три, магнетометр-три (для динамической коррекции ошибки ДУС) ЖПС- чем быстее, тем лучше 5-10Гц- для того же самого. Т.Е. для проверки наличия-отсутствия скольжения в те моменты, когда ДУС+акселерометры показывают горизонтальный полёт.

  1. Угловые скорости по 3м осям. ДУС + процессор = гироскоп в привычном понимании.
  2. Проекции всех действующих сил на 3 оси. Акселерометры.
  3. Вектор магнитного поля {x,y,z}. Магнетометр.
  4. Координаты в системе ШД+высота. GPS.

В итоге: быстрые вращения отслеживает гироскоп, плавные наклоны - акселерометр. По магнетометру делается коррекция уплывающих ДУС, акселерометров при наличии ускорений. По GPS отслеживается скольжение и высота. Можно бародатчик+УЗ датчик расстояний.

Объясните, пожалуйста, как быть, если:

  1. самолет делает плавный поворот без крена? ДУС не отследили медленно меняющееся возмущение.
  2. самолет делает быстрый поворот без крена так, что акселерометр начинает врать. Суммарный вектор = g+a_центростремительное, получается под углом 45 к вертикали, к примеру. Аксели отключить, дождаться окончания виража и сделать коррекцию?
  3. Самолет хочет стать морковкой в грядке. По осям акселерометра 0 в невесомости. Куда тянуть нос, чтобы выровняться?
blade
Musgravehill:

самолет делает плавный поворот без крена? ДУС не отследили медленно меняющееся возмущение.

Дык, на это ЖПС и приставлен: ему то всё равно, какой разворот-плавный-неплавный: он свою 0,1* выдаст. И компас 3Д не дремлет? Ему тоже плавность пофигу.
Опять же, высота хоть по ЖПС, хоть по баро меняется?
Караул! Падаем!!!
А УЗ в реальной жизни- годится только для посадки, работать начинает где то с 5 метров и врёт- как депутат: отражение от земли шибко от характера поверхности зависит, влажности и прочего…