строю свой автопилот, интересуют несколько вопросов

kaveg

Да, гироплатформа гироплатформой, она разумеется на первом месте так как в ней основная суть всего и в довесок математика не самая для меня лёгкая.

Другой вопрос как управлять. всё что до сих пор видел работало по принципу угол сервы=угол отклонения от желаемого направления*K или например для случая стабилизации режима полёта угол сервы=ошибка угловой скорость*К
и далее дёрганье и осцилирование модели усключалось подбором этого самого К
Соотвественно и вопрос - существует чтото более надёжное с одной стороны и не слишком усложнённое и нетребуещее аэродинамической трубы для настройки с другой?
Ну те параметры модели не извесны и алгоритм должен сначала скорректироваться под модель и ее реакцию на рули(что очевидно приведёт к болтанке вначале) и далее уже на адаптированных к конкретной модели данных работал в штатном режиме.

stalcer:

Для определения виртуального горизонта есть такие штуки:

www.analog.com/static/…/ADIS16400_16405.pdf

Все в одном вроде. И уже откалибровано и с прошитым алгоритмом компенсации дрейфа…
ЗЫ: сам я ламер пока, но интересуюсь потихоньку 😃

фактически то что у меня в 3х некросхемках тут в одной+ алгоритм на борту некросхемки. данный девайс подвержен тем проблемам о которых говрит товарищ blade
он замечательно будет работать в статике, возможно он замечательно будет давить шумящие от вибраций акселерометры и дёргающийся от матора и серв магнитный поток. Но сей девайс сам по себе не способен думаю отрабатывать ускорения вызванные ускорением модели, разворотами и кориолисом вызванным вращением голубого шарика))) хотя насамом деле насколько сильно влияет вращение земли в сравнении со всеми остальными проблемами мне пока почемуто кажется гораздо слабее)))

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

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

blade
stalcer:

Для определения виртуального горизонта есть такие штуки:

Есть то они-есть 😃
Но цены 😢
ADIS16405BMLZ
Tri-axis gyroscope with digital range scaling ±75°/sec, ±150°/sec, ±300°/sec settings, Tri-axis ±5 g accelerometer, Tri-axis ±2 Gauss magnetometer
PDF 918,89 $
Как то не вставляет 😦

kaveg:

Но сей девайс сам по себе не способен думаю

И Ето- прАвильно 😃

stalcer
kaveg:

Другой вопрос как управлять. всё что до сих пор видел работало по принципу угол сервы=угол отклонения от желаемого направления*K или например для случая стабилизации режима полёта угол сервы=ошибка угловой скорость*К
и далее дёрганье и осцилирование модели усключалось подбором этого самого К
Соотвественно и вопрос - существует чтото более надёжное с одной стороны и не слишком усложнённое и нетребуещее аэродинамической трубы для настройки с другой?

А все равно все упирается в датчики. Мое скромное мнение программиста такое: при хороших датчиках и исполнительных устройствах (сервах) “К” не имеет особого значения.
В реальности его можно подбирать адаптивно. Т.е. постоянно, на протяжении всего времени работы алгоритма. Разрешить корректировку на каждом шаге не более чем на некую константу. Да и все 😒
Далее, если хочется реализовать более умное управление, нужно разбить программу на два слоя:

  1. нижний уровень - умеет направлять модель по заданному 3d-вектору. здесь отрабатывается и “К” и адаптивность. этот уровень, естественно пользуется показаниями датчиков. Еще раз - этот уровень умеет только направлять модель по нужному вектору, предполагается что так быстро, как это возможно (т.е. специально не растягивая во времени).

  2. верхний уровень - задавая вектор направления первому уровню, пытается вывести модель в нужное положение (на нужный курс, и.т.п.). Этот уровень тоже использует показания датчиков. Но. Есть одно “но”: т.к. первый уровень не может разворачивать модель мгновенно, то нужно это учитывать.

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

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

Многа букаф 😁

kaveg

ну я пока думаю о том что вы называете первым уровнем, те вывод модели в определённый режим полёта

stalcer:

В реальности его можно подбирать адаптивно. Т.е. постоянно, на протяжении всего времени работы алгоритма. Разрешить корректировку на каждом шаге не более чем на некую константу.

А вот это конкретно увидеть бы в формулах на бумажке)))
Ибо суть что делать понятна, а вот как с точки зрения математики

serj

[QUOTE=kaveg;2619247
а вообще - угловая скорость извесна, линейная извесна, можно посчиатть радиус разварота и вычисть из показаний акселерометра влияние центробежной улучшив харрактеристики,

[/QUOTE]

  1. Откуда вам известна линейная скорость, простите? 😃 интегрированием МЕМС акселей?
  2. Вектор гравитации ни разу не перпендикулярен вектору магнитного поля. Даже на экваторе.
    А уж в Вашем родном городе (как и в моем кстати, 😃 ) он под 72 градуса смотрит в пол. 😃

Это я к тому, что не плохо бы провести некоторое количество теоретических исследований.

kaveg
serj:
  1. Откуда вам известна линейная скорость, простите? 😃 интегрированием МЕМС акселей?
  2. Вектор гравитации ни разу не перпендикулярен вектору магнитного поля. Даже на экваторе.
    А уж в Вашем родном городе (как и в моем кстати, 😃 ) он под 72 градуса смотрит в пол. 😃

Это я к тому, что не плохо бы провести некоторое количество теоретических исследований.

  1. линейная скорость: по горизонтали gps+курс с гпс, по вертикали побочный продукт фильтрации барометрической высоты фильтром калмана и акселерометрами

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

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

Ну и есть ещё одна идейка, по аналогии с барометр\аксеолерометр -> воста\скорость калманом получить gps\акселерометр -> сглаженные координаты\скорость. Правда опасаюсь мегагерцев аврки может нехватить)))

serj
  1. gps отсох/пропал/ летаем просто со стабилизатором.
    Вообще gps- это очень простое решение- его вектор скорости вместе с вектором гравитации дают вполне работоспособный базис для коррекции.

  2. Положение вектора магнитного поля связано с физическим направлением из точки измерения на магнитный полюс земли. А он увы, не вдоль горизонта к самолету, и не на Северном полюсе находится 😦.

Еще раз повторюсь, - что подобные проекты, начинающиеся от " хобби" при успешном завершении обязательно становятся коммерческими. Это закон. 😦
Многие, кто здесь хоть как-то разбирается в теме- строят свои коммерческие проекты, и желая заработать на хоббийном рынке - информацией не будут делиться: зачем конкурентам помогать 😃

kaveg
serj:

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

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

serj
stalcer:
  1. верхний уровень - задавая вектор направления первому уровню, пытается вывести модель в нужное положение (на нужный курс, и.т.п.).
    Многа букаф 😁

Да Букаф много 😃. Называется кратко- подчиненное управление.

kaveg

ну и опятьже по поводу “комерциализации” -
8й год работаю в НИИ и зарплата у меня хоть и достояная, но раз в сколькото чремени меня постоянно ктото пытается перекупить, причем предлагая очень значительно выше зряплату)))
но не смотря на это я имею грамоту за большой вклад в развитие института в прошлую пятницу и слегка случайно подпалёное мной здание института двумя неделями ранее)))
те моя моральная устойчивость в деле опенсорц железа и софта очень высока.
хотя думаю еслиб ктото мне предложил стопицот милионов денег то может быть я и закрыл проект, но ни у кого не зватит смелости мне предложить столько чтоб я поступился со своими принципами

serj
kaveg:

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

Бугага- посмотрите старые посты Смаллтима 3 года назад. 😃
Примерно то же самое 😃

Это я не с целью обгадить возвышенные цели, просто законы жизни есть, и от них не уйдешь 😃

Посмотрите в ветке по фи-20, там Андрей полезную ссылку давал на открытый проект ИНС
www.pololu.com/catalog/product/1253

kaveg

а ещё фокус в том что меня несколько достало что те вещи которые я думаю или пытаюсь делать быстрее меня делают большие корпорации и я не могу сказать чтото типа “ухты, эти ребята реализовали точно такуюже идею как и я придумал, только N месяцев раньше”

serj:

Это я не с целью обгадить возвышенные цели, просто законы жизни есть, и от них не уйдешь 😃

а я и не говорю что собираюсь уходить от какихто законов, всё в нашем мире покупается и продаётся))) вопрос в цене)))

Frr
kaveg:

а вот про магнитное поле можно поподробнее? почему так?

Картинки отсюда ,


То что выдает магнетометр, направлено вдоль серых линий. На магнитном полюсе - в землю под 90гр., на географическом почти под 90гр. На магнитном/географическом экваторе - аналогично (почти горизонтально).

И там же картинка про маг.склонение

Направлено немного (10-20гр) не на север.

kaveg:

Ну и есть ещё одна идейка, по аналогии с барометр\аксеолерометр -> воста\скорость калманом получить gps\акселерометр -> сглаженные координаты\скорость. Правда опасаюсь мегагерцев аврки может нехватить)))

Такая штука хочет для данных 40K ram памяти примерно. Хватает?

kaveg
Frr:

Такая штука хочет для данных 40K ram памяти примерно. Хватает?

40k ram? так много?
сейчас у меня на борту 8к и в них уже влезло AHRS+калман с состоянием модели из высота-скорость
ну нехватит будем думать - жпс модуль умный - можно на него сливать данные с датчиков, а обратно получать жпс+скорректированные
на жпс модуле оперативки валом)))
правда там питон))) а я питон не люблю и не особо умею)))

Да и судя по картинке - 70 градусов в наших широтах это вы както многовато))) почему я и удивился - на картинках угол в землю начинает быстро расти близко к полюсам, причём на всех картинках что я видел а не только на той которую вы мне показали, вот я и подумал неужели все для простоты картинки от балды рисуют

увидеть бы как эти линии у поверхности вылядят реально судя по модели диполя сильно непрямые они тока у поллюсов магнитных

хех вот и акумуляторы зарядились. можноспать ложиться, завтра если погода не подпортит поробую во второй разкамеру потестить, в прошлый раз много косяков получилось,думал леталку угрублё сразу после взлёта, обошлось)))
вот что получилось с борта tamila.linux-rusnet.org/poleety/03-06-2011
а вот как это выглядило на самалёте disk.tom.ru/8fq11rp
соотвественно косяки -

  1. приемник стоял неудачно, на посадке когда самолёт был у земли всё стало плохо так как передатчик был в тени моей табуретки четырёхколёсной))
  2. кирпичек на крыле сверху кроме того что сильно изменил вес модели адски уменьшил обдув хвоста)))) во время взлётапришлось топнуть на максимум чтоб не взлететь в землю, без кирпича комфортоно взлетает в пол газа
Frr
kaveg:

40k ram? так много?

Чем больше датчиков замешано вместе, тем лучше давятся шумы, меньше глюков. Кол-во РАМ увеличивается примерно в квадрате от размера замеса.
В 32K у ФИ-20/21 видимо поместилось не много 😃

kaveg:

увидеть бы как эти линии у поверхности вылядят реально судя по модели диполя сильно непрямые они тока у поллюсов магнитных

Если походить тут, по ссылкам внизу, где-то была онлайн считалка направления для любых координат и времени (оно меняется не быстро).

kaveg

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

stalcer
serj:

Посмотрите в ветке по фи-20, там Андрей полезную ссылку давал на открытый проект ИНС
www.pololu.com/catalog/product/1253

Из даташита:

On average, the accelerometers measure the gravity vector. The EKF “knows” which way is
down by observing the direction of the gravity vector. There are a number of cases where this
assumption breaks down, particularly in aircraft. When an aircraft makes a coordinated turn,
the measured acceleration will always point in the direction of the bottom of the fuselage. Over
a long turn, the AHRS pitch and roll angle estimates will therefore tend to zero. To correct this
problem, additional sensors must be used for centripetal compensation. The CHR6dm has no
native support for centripetal compensation.

Нада погуглить по словам: centripetal compensation AHRS… Может че интересного найдется…

Вопрос в догонку: GPS датчик высоту не измеряет разве?

kaveg
stalcer:

Вопрос в догонку: GPS датчик высоту не измеряет разве?

Измеряет, но какова точность и скважность измерений
и опятьже жпс жутко ненадёжная штука, а высата очень важный параметр

stalcer

Я думаю вот что:

  1. Если брать относительно большие промежутки времени, ну например 5-10 секунд, то направление движения легко определяется по GPS, т.к. за 10 сек модель далеко улетает. Т.е. точность GPS на таких расстояниях уже позволяет определять направление.
  2. Внутри этих промежутков направление (и положение) нужно считать интегрируя показания акселерометров и гироскопов. Опять же, я думаю, что за 10 сек большая погрешность не накопится.
  3. Через каждые 10 сек мы сверяемся с GPS, т.е. обнуляем погрешность интегрирования.

10 сек - это, наверное, сильно преувеличенный промежуток. Думаю что в реальности его можно сделать гораздо меньше. Хотя, предельно его уменьшать задачи не стоит, главное чтобы он соответствовал идеям пунктов (1) и (2).
Ну и таким образом у нас есть всегда актуальные данные, с достаточно высокой частотой обновления.

ЗЫ: и магнетометр нафег не нужен.
ЗЗЫ: все это верно для самолета, который все время летит, т.е. меняет свое положение. Для вертолета, который может висеть на одном месте уже не совсем пойдет - будет потихоньку крутиться вокруг своей оси (опять же - потихоньку - это со скоростью дрейфа гироскопа, т.е. приемлемо в принципе), а вот наклонятся не должен, т.к. ускорение свободного падения (g) по прежнему засекается.

kaveg:

опятьже жпс жутко ненадёжная штука, а высота очень важный параметр

А есть где-нить графики GPS логов полета модели? Ну так, посмотреть визуально, насколько разброс засекаемой траектории из-за погрешности.

kaveg
stalcer:

А есть где-нить графики GPS логов полета модели? Ну так, посмотреть визуально, насколько разброс засекаемой траектории из-за погрешности.

пока нет, нужен самолёт покрупней а деньгов после отпуска нема)))

stalcer:

ЗЗЫ: все это верно для самолета, который все время летит, т.е. меняет свое положение.

Ключевое слово ветер, даже какието старые гражданские АН-непомнюцифру против ветра умеют летать хвостом в сторону куда ветер дует, модели же даже сильного ветра не нужно чтоб зависнуть чтоб допустим вертикально снизиться или наоборот))) ну или просто посозерцать птичек в статитке)))

Korogodsky:

Еще подобное устройство с примерами кода на закладке Useful links: www.robotshop.com/phidgets-us...d-compass.html

да это 9dof инерциальный сенсор и соотвественно самплы не юзают ничего кроме него)))

а вообще когда говорят “с примерами кода” меня немного дергает, примеры кода ненужны, нужна матмодель, а код под матмодель написать ничего не стоит, кодер не самое высокое звание для “програмиста”. Восстановить матмодель по “примеру кода” конечно можно, но это както…нито))