Проект Мегапират на самик!

Syberian
ssh1:

не добавить в алгоритм увеличение угла

Если бы у нас была идеальная ИНС, я бы так и сделал.

Есть еще один вариант, могу дать тебе поршивку в частном порядке “поиграться”, подобрать коэф-ты, потому что сейчас я лишен возможности облетывать сам. На земле и в симе настроить не получится, нужен реальный полет. Цель - добиться более быстрой сходимости горизонта по тангажу и, соответственно, решение проблемы с вялым снижением и набором из-за ухода горизонта по тангажу. Попробуешь?
Там все просто, в наземке появится отладочное окно, где можно менять коэф-ты.

ssh1

Как я понял ты прелагаешь подкорректировать коэффициенты алгоритма определения горизонта.
Могу попробовать, почему бы и нет, но с другой стороны это наверное черевато еще морковками ( А зимние морковки череваты походами по сугробам …
Еще вопрос как все это проверять лучше/хуже, ведь реальный горизонт мы не видим, и есть куча факторов по которым можно косвенно судить врет он или нет.
Да и поможет ли тут горизонт, даже если он станет полностью правильным, то могут появиться нисходящие и восходящие потоки, в которых 5 градусов не хватит, и опять будет то же самое?
И еще, не совсем понял про идеальную ИНС, а чего страшного если с таким горизонтом(не всегда правильным) сделать несколько градаций тангажа для подъема/снижения. То есть не хватает 5 включили 10 и т.д.

Syberian:

руководство, гл. 6.4

Там написано что если стик курса в нейтрали - то держим курс.
А если не в нейтрали?
А если был курс 10 градусов, я повернул элеронами на 90, стик курса не трогал, он должен вернуться в 10? Это явно не так.
Значит не держит - а что то другое?
Я к тому логика работы стаба по курсу координально отличается от тангажа и крена. Вот и хочется понять как это все задумано.

AlexSneg

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

  1. Это не ошибки магнетометра из-за близких проводов с большими токами.
  2. Невозможно на 100% проэмулировать на коленке линейное ускорение при наборе высоты или ее сбросе, особенно в сочетании с креном тела в развороте и переходных процессов от снижения к нормали. Ошибка будет появляется в любом случае, вопрос лишь в ее величине и правильной оценке внутри алгоритмов. Никакие компенсации по GPS на 100% не помогут, а иногда делают только хуже.
  3. Реальный самолет, вот хоть ты тресни, прямо НИКОГДА не летает. Тангаж может показывать вверх, но самолет реально летит вниз или наоборот. Это зависит от десятка факторов: конструкция планера (летает с задранным носом или поднятым хвостом и не нулевым положением рулей высоты), ветра в данной конкретной точке, ошибка вычисленного тангажа/крена, кривизны GPS и много всего другого. Можно прямо в полете попытаться ручками снять ошибку, но это не даст желаемого результата, так как ошибку сняли при некоторых мгновенных условиях. Через 30 секунд условия будут другими.
  4. Я спаял и собственноручно облетал 4 своих устройства. Двух, работающих на 100% одинаково, ни разу не получилось. О повторяемости можно говорить только в пределах некоторых допусков. Поэтому, тонко подобрав коэффициенты работы IMU для своего железа, не факт что для другого это тоже хорошо. Поэтому на каком-то этапе мне пришлось опять загрубить компас и аксель и вывести на передний план гироскоп.
  5. Во всех АП в той или иной степени присутствует данная проблема. Конечный пользователь замечает ее не сразу, иногда вообще не замечает. Не зря Тим в своей последней конструкции подчеркнул, что в первую очередь пытается решить проблему именно со спуском/набором высоты. Значит тоже чешет затылок на эту тему. Решить задачу в лоб путем смены установки руля высоты с X градусов на “побольше” не получится потому что костыль он и есть - костыль.

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

LaPart
AlexSneg:

Двух, работающих на 100% одинаково, ни разу не получилось. О повторяемости можно говорить только в пределах некоторых допусков.

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

AlexSneg
LaPart:

Просто запись датчиков в логи и потом сравнение даст имхо основательно разнящиеся результаты.

Ты упускаешь одну существенную деталь.

Дома на столе ты можешь сравнивать реальное положение платформы с текущими вычисленными и заниматься оценками и анализом.
Логи снятые в воздухе сравнивать не с чем 😃 Реального положения тела и вектора поступательного движения мы не знаем, хоть умри от своих хотелок. Я ведь вот не зря написал про то, как самолет в машине катал 😉

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

LaPart
AlexSneg:

Ты упускаешь одну существенную деталь.

Вообще-то я истину не упоминал, а говорил про разные результаты “идентичных” плат:

LaPart:

Просто запись датчиков в логи и потом сравнение даст имхо основательно разнящиеся результаты.

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

Но это не повод бросить поиски и сказать: “Кажись ничего не получится, все уже учли…”
Никто не ждет “волшебной таблетки”, собираем статистику:)

AlexSneg

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

Syberian
ssh1:

в которых 5 градусов не хватит, и опять будет то же самое?

Ты неправильно “раскусил” логику работы по высоте. Сейчас используется линейная функция: 0.7 градуса тангажа на метр разницы по высоте от цели, максимум вверх 15, минимум (вниз) 20 градусов.
Т.е. даже если совсем уполз горизонт, ему хватит держаться где-то рядом с целевой высотой. А горизонт имеет свойство вставать на место. Поэтому, процесс не является необратимым.

ssh1:

Там написано что если стик курса в нейтрали - то держим курс.
А если не в нейтрали?
А если был курс 10 градусов, я повернул элеронами на 90, стик курса не трогал, он должен вернуться в 10? Это явно не так.
Значит не держит - а что то другое?

Логика проста: есть текущий курс, который автопилот в стабе держит при помощи РН, если стик “педалей” в нейтрали. Если стик отклоняешь, удержание отключается до момента возвращения в нейтраль, и РН управляется со стика напрямую. При возврате в нейтраль запоминается новый курс для удержания.
Дополнительно, то же самое происходит при отклонении стика крена в самолетах. Удержание отключается для возможности поворота виражом.

AlexSneg:

это те грабли на которые я наступил еще в сентябре месяце.

  1. возможно
  2. GPS здорово помогает, если его правильно применять, даже с задержкой. Но нужен жесткий контроль применимости.
  3. Неважно, куда летить самолет, парашютирует или разгоняется в плоскости. Цель ИНС - отображать расположение реального горизонта.
  4. Если для системы нужно “затачивать” коэффициенты для каждого индивидуального чипа в пределах номенклатуры - это хреновая система, хоть и красивая. Если хоть один параметр уйдет за ожидаемый диапазон - все полетит к чертям. Система должна быть устойчивой (robust) и не иметь “залипших” состояний (gimbal lock, сингулярности, полюса, расходимость).
AlexSneg:

катал самолет

а я баловался с вводом смещений акселя по осям, что, в принципе, почти то же самое 😃 Ты прав, не все можно просчитать “на коленке”.

У Сергея сложность в том, что он гоняет АП буквально “перед носом”, точки расположены в 150 метров максимум. Поэтому и “перформанс” страдает, и все “бока” с лагами ЖПС и компаса вылезают, т.к. АП крутится туда-сюда.
Вообще-то все правильно, надо мучать по полной программе, но в таких узких рамках точного выхода на “точку” и по высоте ждать не приходится: я специально убавил “злобность” автопилота, чтобы не гробить аппараты в случае чего.
Задал бы метров 500 туда-обратно хоть раз, для интереса.

ssh1
Syberian:

Сейчас используется линейная функция: 0.7 градуса тангажа на метр разницы по высоте от цели, максимум вверх 15, минимум (вниз) 20 градусов.
Т.е. даже если совсем уполз горизонт, ему хватит держаться где-то рядом с целевой высотой

Хмм, странно, судя по видео он выставляет 5-7 градусов, но никак не 15 при 20 и более метрах разницы.

Олег, еще вопрос из другой области:
Можно ли как-то ограничить газ в авторежимах, не ограничивая его в мануале и стабе?
Просто после просмора видео я понял, что много времени полета проходит при 100% газе(наваливает автопилот), а у этого режима очень плохое соотношение тяги к потребляемой мощности.

Syberian
ssh1:

не ограничивая его в мануале и стабе?

Можно. Добавлю.
Бывают “перекачанные” сетапы, где полный газ может спалить что-нибудь.
А вот в твоем случае полный газ вызван безуспешной попыткой достичь скорости по земле, которую ты сам и выставил, против ветра. Если скорость в норме, газу больше, чем надо, он не даст.

ssh1
Syberian:

Можно. Добавлю.
Бывают “перекачанные” сетапы, где полный газ может спалить что-нибудь.

Я просто думал вдруг как-то можно сделать это уже существующими настройками. Ок, тогда ждем, пока попробую просто уменьшить везде.
У меня как раз тяжко ему на максимальном газе, регуль греется сильно.

Syberian:

А вот в твоем случае полный газ вызван безуспешной попыткой достичь скорости по земле, которую ты сам и выставил, против ветра. Если скорость в норме, газу больше, чем надо, он не даст.

Это понятно, вопросов нет, но без датчика воздушной скорости тут без вариантов походу…
Кстати пробовал что-то в этом направлении?

Syberian

Отдельно от РУ сейчас никак, АП юзает всю доступную по РУ шкалу газа.

hippp

Syberian, насколько я понял, ваш ARM проект начался с платы STM32F1-Discovery, для использования которой надо было прикупить плату с датчиками. Цена железа получается около 90 долларов.

Недавно вышла новая STM32F3-Discovery, где датчики оринтации уже встроены. Есть гироскоп, акселерометр, компас.

Самое главное, цена вопроса - всего 11 баксов (http://www.digikey.com/…)

Вы не планируете поддерживать новое железо? 😃

AlexSneg
hippp:

ваш ARM проект начался с платы STM32F1-Discovery

Во-первых, началось все с STM32F4-Discovery
Во-вторых, F3 и F4 это совсем два разных мира.
В-третьих, уже Олег уже сказал, что даунгрейда не будет. Сделать даунгрейд - это фактически новый проект с нуля + кастрация по ОСД и звуку + колхоз с бародатчиком высоты так как его все равно не хватает на плате DF3

Syberian

Нет. Железка будет только одна. И не ф1, а ф4, почувствуйте разницу.

LaPart

Тема слегка закисает:(?
В самом конце моего поста привожу “постраничную” статистику активности (надеюсь, что не интереса к теме).
Не так давно я аж подпрыгивал от интереса, получив смс-ку о “движухе” в теме.
Почти перестал подпрыгивать:)
Непростое время было, когда c АВР на АРМ переход “вдруг” пришлось делать.
Сейчас, похоже, тоже время нелегкое. Погода?
На графике по горизонтали номер страницы, по вертикали вниз - сколько дней эта страница “тянулась”.
Извиняюсь за небольшой офтоп, несмотря на затишье в теме, все равно летаю на МРХ, хоть и без его красивостей в “экранной” части, без телеметрии, телевизора и прочего (по морозу не особо удобно с этим возиться). Поэтому пока использую МРХ как незаменимого помощника в тумане и др. условиях. Возврат использую в полный рост, помогает здорово. Пока не подобрал коэффициенты под свой временный носитель - крыло, теребит его, извиняюсь за оборот…
Может не только мне будет интересно, что типа в Тамбове тоже зима объявилась:) и Мегапираты очень нужны…

Syberian
LaPart:

Погода?

Ремонт 😃 Даже на работе уже отпуск взял, не справляюсь. С утра до ночи шпатлевка, гипсокартон, обои, плитка и прочий джамшутинг. Так что пока ничем не радую.
Активных товарищей в теме - по пальцам: ты, Сергей, Алекс-бер. Хотя, владельцев икса уже гораздо больше. Или нет вопросов, или не сезон. У нас вот 3 дня минус 40 жарило.

alexbakunov

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

alex-ber

А у меня, помимо погоды (снегопады зад…ли - снега выпало уже больше чем за последние 5 лет вместе взятых!), еще и на работе пипец - конец года…
Выжидаю счастливое совпадение - не идет снег и я не на работе… Уже и на морозы забил - жду…

Drou

Это да…-35-40 теперь до марта наверно… у нас. В выходные полтинник пророчат+ -6-8 на мое проживание от Иркутска по прогнозу 😃

Простите за нубский вопрос. Есть ли возможность повторить трекер (наличие схем, прошивка) видел фото читал дневничок Олега, там не нашел (просмотрел). И вопрос Олегу. В описании постройки есть напряжение батареи, но не написано на какой вход подавать (ВАТ1) , нашел только ВАТ2. Если не трудно укажите.

Syberian

ВАТ1 это в оригинале ходовой акк и питание платы.
Что-то я не понял, у вас плата оригинал или самодельная на диско?
Трекер, он того, повторению не подлежит, к сожалению.