Новая система от Смаллтим - SwiftAI Next Generation - автопилот+телеметрия+ИМУ

RedKid
Evgeny_917:

Это вообще нормально?

У меня такая же фигня, Тимофей, похоже это баг.

smalltim

Я эту часть микропрограммы АП не менял уже года три, еще со старого АП, так что наврядли что-то там поломалось.

Если Вы двигаете газ от 0 до 100% на аппе и АП в окне калибровок каналов или команд послушно выводит Вам от 0 до 100% в правой шкале “Throttle”,
и при этом не реагирует на движение по другим каналам
(выставленный, скажем, в 50% газ остается на 50%, как бы вы ни крутили крен, тангаж или управляющие каналы), то все нормально и на эту фигню можно смело забить.

Если не трудно, прочитайте все настройки из АП через меню, сохраните в файл и положите в форум, я посмотрю.
Возможно, 6й канал шумит слегка на Эксперте и надо загрубить детектирование.
Что-то подобное я про Эксперта слышал, у него разрешение РРМ по 8 бит на канал было (?).
По сохраненным калибровкам из файла будет сразу понятно.

RedKid:

Подскажите, магнитное склонение обязательно указывать или будет идти по данным GPS автокоррекция?

Ой, на сам вопрос-то я и не ответил. Нет, автокоррекции склонения по координатам GPS нет, надо вводить руками.

По детектированию команд и т.д. - немного МАТАНА. Я это писал уже раньше, перескажу.

Сначала АП запоминает нейтрали и минимумы-максимумы во всех каналах, причем, минимумы и максимумы могут быть несимметричны относительно нейтрали, например, нейтраль в газе - 1400мкс, минимум 1100, максимум 2000.
Этим вы задаете нейтрали для Вашей уже оттриммированной модели, диапазоны работы входных и выходных каналов АП, и он никогда, ни при каких условиях не сможет вывести выходные сервоканалы за заденные диапазоны, и в стабилизации да авторежимах будет использовать Ваши уже настроенные нейтрали.

В терминах математики этим вы задаете АП выпуклую оболочку в 8-мерном базисе, в пределах которой могут изменяться координаты входного вектора состояния и выходного вектора состояния.
Вектора состояния - 8-мерные: 8 компонент по числу каналов, которые АП воспринимает - 8 каналов.

Далее на этапе калибровки команд вы задаете АП состояние РРМ по всем 8 каналам сразу для команды “минимальный газ”, “максимальный газ” и т.д. АП использует эти состояния для того, чтобы из любого состояния на входе вычленить, сколько хотят газа, крена, и т.д., и использует эти же состояния для передачи на сервы, складывая команды в нужных пропорциях.
При этом понятно, что любую классику и всякие микшеры элевонов, V-хвостов, и т.д., АП понимает автоматом: любые летающие модели самолетов любой схемы просто поддерживаются сходу.

В терминах математики на калибровке команд вы задаете АП базис в этом 8-мерном пространстве, и в полете АП раскладывает входной вектор состояния по базису, получая величины типа “сейчас вот в данный момент хотим 15% газа, 22% крена влево, тангаж на нуле, руддер на 40% влево, управляющие каналы по 50% - средние положения”.
Разложив входной вектор состояния по базису (по вкладу каждой элементарной команды), АП проворачивает математику навигации и стабилизации и линейной комбинацией составляет выходной вектор для подачи на сервомашинки из базисных векторов. Всё.

МАТАН заканчиваю.

Убирать это я не собираюсь, работает зашибенно. Для любителей фишек , летающих “искаропки” можно жестко вбить по всем каналам от 1000 до 2000 мкс с нейтралью в 1500, газ на 3м канале, элероны 1 и 6, РВ 2 канал, и т.д., и с триммированием и миксами возитесь сами. Но, боюсь, что те, кому не лень потратить 10 минут на калибровки каналов и команд, меня побьют )

RedKid
smalltim:

Нет, автокоррекции склонения по координатам GPS нет, надо вводить руками

А может быть запилить в следующей прошивке?
По моему инфа о склонении есть в инфе от GPS или же это можно вычислить на основе данных от GPS. В том же ардупилоте такая фича есть.

Night-Hunter
RedKid:

А может быть запилить в следующей прошивке?
По моему инфа о склонении есть в инфе от GPS или же это можно вычислить на основе данных от GPS. В том же ардупилоте такая фича есть.

Совершенно верно, информация о склонении транслируется по ГПС, причём она входит в стандартное сообщение NMEA… и неплохо было бы её использовать…
Как вариант можно добавить возможность выбора, устанавливать склонение вручную или брать от ГПС…
Кстати, КП под WinXP заработала.
А в чем заключается вышеупомянутая несовместимость последней КП с WinXP?

smalltim
RedKid:

А может быть запилить в следующей прошивке?
По моему инфа о склонении есть в инфе от GPS или же это можно вычислить на основе данных от GPS. В том же ардупилоте такая фича есть.

Night-Hunter:

Совершенно верно, информация о склонении транслируется по ГПС, причём она входит в стандартное сообщение NMEA… и неплохо было бы её использовать…

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

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

Итог:
SIRF:
SiRF Technology Inc. does not support magnetic declination. All “course over ground” data are geodetic WGS84 directions.

MTK:
MEDIATEK-3328,3329,3332,3333,3336,3339 - Magnetic Variation need customization service.

UBLOX:
6 серия - UBX-G6000-BA/G0010-QA: Magnetic variation not supported
7 серия - UBX-G7020: Magnetic variation not supported
8 серия - UBX-M8030: Magnetic variation not supported

Все спеки легко гуглятся, было бы желание.
Но, чтобы не быть голосновным, привожу спеку на протокол серии M8, по моему скромному мнению, наиболее продвинутый чипсет от наиболее продвинутых производителей.
u-blox.com/…/u-bloxM8_ReceiverDescriptionProtocolS…

Night-Hunter

Вообще, я думаю, будет разумно запоминать склонение так же, как запоминаются координаты точки старта перед каждым полетом (вдруг ГПС в полете пропадёт), ну и ручной ввод можно оставить (а то мало ли, ГПС система забугорная…)Если, конечно, приём склонения от ГПС будет реализован… не поддерживается, так и ладно… В ручную впишем…
Еще есть мысли относительно девиации компаса… Очень коварная штука, знаю на собственном опыте по работе. Может достигать приличных значений, причем на каждом курсе она своя. Т.е. При курсе строго на север ее значение может быть, например, +1… А при курсе строго на юг -(минус)10…
При этом определить ее можно только экспериментально, а зависит она от количества и положения разного рода металла на борту, причем все равно какого (железо, медь, алюминий- все равно).
В принципе, для её компенсации достаточно знать ее значения на 8 основных курсах (000,045,090,135,180,225,270,315). Для любого другого курса значение интерполируется по двум ближайшим сверху и снизу…
А для минимизации этого явления стоит расподалагать АП как можно дальше от любых металлических элементов…
Ну и неплохо было бы иметь возможность учитывать эту поправку…
Безусловно, это все не первостепенные задачи, но на заметку взять стоит…

Белгос

гм…а калибровка компаса для чего по вашему делается? это все +хитрые фильтры уже учтено давно…

Night-Hunter

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

Evgeny_917
Night-Hunter:

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

А можно поподробней что за “хитрые” фильтры, куда они ставятся?

Night-Hunter

“хитрые” фильтры это те которые Тимофей реализовал в своей прошивке…

Белгос

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

Night-Hunter
Белгос:

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

Вот это, кстати вопрос для уточнения к Тимофею: а насколько сильно компас в действительности участвует в навигации?
Если только для стабилизации горизонта, то все эти заморочки с поправками компаса в принципе смысла не имеют, тогда и склонение не обязательно знать…
Однако, исходя из того, что АП способен вычислять скорость ветра и брать поправку на ветер, понятно, что в навигации он может принимать непосредственное участие… И тут уже важно не только склонение знать. Для примера: вбиваем в АП склонение из интернета, но не замечаем, что изза каких то особенностей модели компас даже полсе калибровки показывает не на север, а на 10 градусов в сторону… Как минимум будут некорректно рассчитаны элементы ветра…

dryzhov
Night-Hunter:

Совершенно верно, информация о склонении транслируется по ГПС, причём она входит в стандартное сообщение NMEA… и неплохо было бы её использовать…

Информация о склонении от GPS не может передаваться - спутники понятия не имеют, какое у вас склонение, сигнал от них общий для всех.

Как я понял, магнитное склонение в NMEA рассчитывается (а может и не рассчитываться) самим приемником согласно некоей матмодели учитывая текущие координаты. Т.е. рядом с Курской аномалией этот параметр (если он передаётся) скорее всего будет безбожно врать. С тем же успехом это склонение может считаться и автопилотом.

Night-Hunter
dryzhov:

Информация о склонении от GPS не может передаваться - спутники понятия не имеют, какое у вас склонение, сигнал от них общий для всех.

Как я понял, магнитное склонение в NMEA рассчитывается (а может и не рассчитываться) самим приемником согласно некоей матмодели учитывая текущие координаты. Т.е. рядом с Курской аномалией этот параметр (если он передаётся) скорее всего будет безбожно врать. С тем же успехом это склонение может считаться и автопилотом.

Нет, склонение именно передаётся спутниками, а на спутники оно попадает с наземных станций управления системой… А на станции управления оно попадает из гидрографических и картографических обществ и агентств…
Жаль, что производители ГПС чипсетов посчитали это дело неважным, и не отягощяют свои изделия отображением этой информации…
Естественно, что локальные магнитные аномалии не учитываются в этой системе, но скажем в целях морской навигации этого оказывается вполне достаточно… Я много раз сравнивал показания ГПС о магнитном склонении с данными на морских картах, практически во всех регионах мирового океана, совпадение 99%.

dryzhov
Night-Hunter:

Нет, склонение именно передаётся спутниками, а на спутники оно попадает с наземных станций управления системой… А на станции управления оно попадает из гидрографических и картографических обществ и агентств…

Вы подумайте, как оно может передаваться, когда у каждого приёмника склонение своё? А для всего земного шара передавать таблицу - так медленного канала с КА GPS для этого не хватит, да и никому это не нужно. Даже более важное текущее состояние ионосферы передаётся спутниками только в виде базовых параметров модели ионосферы - аж 8 штук передают.

Вот спецификация того, что передают спутники GPS:
www.gps.gov/technical/icwg/IS-GPS-200H.pdf?bcsi_sc…
Базовые параметры ионосферы там есть, склонение видите?

Жаль, что производители ГПС чипсетов посчитали это дело неважным
В первую очередь это посчитали неважным и даже нереалистичным - создатели GPS. Зачем им склонение?

Night-Hunter
dryzhov:

Вы подумайте, как оно может передаваться, когда у каждого приёмника склонение своё? А для всего земного шара передавать таблицу - так медленного канала с КА GPS для этого не хватит, да и никому это не нужно. Даже более важное текущее состояние ионосферы передаётся спутниками только в виде базовых параметров модели ионосферы - аж 8 штук передают.

Вот спецификация того, что передают спутники GPS:
www.gps.gov/technical/icwg/IS-GPS-200H.pdf?bcsi_sc…
Базовые параметры ионосферы там есть, склонение видите?

Жаль, что производители ГПС чипсетов посчитали это дело неважным
В первую очередь это посчитали неважным и даже нереалистичным - создатели GPS. Зачем им склонение?

Большое спасибо за ссылку, было интересно обновить знания. Но совершенно точно помню, что на момент моего обучения в ВУЗе (2003-2010), сведения о склонении передавались… Поищу как нибудь свои конспекты по НиЛ, там и эта информация есть и ссылка на то, откуда она взята… А этот документ свежее будет, 2013 года…
Более того, лежит у меня на полочке древний ГПС модуль, который это склонение по NMEA передает на потребителя.

smalltim
Белгос:
  1. калибруя компас в летном варианте модели мы учитываем и внешние искажения поля.

Да.
Есть т.н. Hard и Soft distortions (искажения).
Hard искажения при калибровке в Зеленом учитываются.
Soft искажения не учитываются, это сложно и в планах у меня есть это забодать, но это реально, для меня, по крайней мере, тяжелая задача.

Немного ликбеза по типам искажений от знающих мужиков:
sensorsmag.com/…/compensating-tilt-hard-iron-and-s…

Night-Hunter:

Вот это, кстати вопрос для уточнения к Тимофею: а насколько сильно компас в действительности участвует в навигации?

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

Night-Hunter

Как раз вот эти “Soft” искажения и являются девиацией… на пароходе мы ее уменьшаем специальным устройством, а то, что устранить не удается, заносим в таблицу девиации и учитываем при прокладке курса.
Делается это путем сравнения истинного курса судна с компасным (что и как в этом вопросе- отдельная тема для обсуждения…
вот ссылочка, может будет интересно почитать…
old.morfish.ru/ums/files/mk-voronov.pdf

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

Rivar

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

dryzhov
Night-Hunter:

Большое спасибо за ссылку, было интересно обновить знания. Но совершенно точно помню, что на момент моего обучения в ВУЗе (2003-2010), сведения о склонении передавались… Поищу как нибудь свои конспекты по НиЛ, там и эта информация есть и ссылка на то, откуда она взята… А этот документ свежее будет, 2013 года…

Они не могли передаваться в 2003-2010гг - интерфейс стабилен и практически (а может даже вообще) не меняется - иначе бы старые приёмники перестали бы работать. Для ГЛОНАСС и GPS официально гарантируется неизменность формата в течение 10-15 лет (точную инфу лень искать).
Развитие GPS и ГЛОНАСС происходит за счёт увеличения точности (более точные бортовые часы, передаваемые эфемериды и т.п.) и появления новых каналов - но и в новых каналах, няз, ничего такого не передаётся, ибо это практически невозможно и никому не нужно.

Но совершенно точно помню, что на момент моего обучения в ВУЗе (2003-2010), сведения о склонении передавались…

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

Более того, лежит у меня на полочке древний ГПС модуль, который это склонение по NMEA передает на потребителя.

Если он действительно его передавал, то рассчитывал его сам.
Например, тупо считал исходя из положения полюсов земли и текущих координат. Или при движении сравнивая вектор скорости по GPS с показаниями собственного магнитного компаса.

Кстати, думаю, автопилот так и может корректировать заданное склонение - усредняя разницу между направлением вектора скорости по GPS и направлением по компасу.

Rivar:

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

Я смотрел - это делают через миксы двух перключателей, но я сам ещё не пробовал такое настраивать, мне пока бы просто взлететь. Например, здесь это описывается:
…openpilot.org/…/31610-setting-5-flight-modes-on-f…

Buka1

Всем добрый день. Не знаю, как реализована математика в моём ALIGN APS GYRO (в комплекте у него те же GPS, компас и аксели), но так, как это вертолётный АП, то он при отработке RTH, зависает на месте, затем чётко разворачивается по курсу в сторону базы и летит, удерживая его с точность плюс минус 1-2 градуса, не взирая на ветер. Добавлю, что при калибровке компаса, ни каких склонений не указывается (там просто нет никаких настроек). Теперь вопрос к Тимофею: что будет делать «зелёный» если модель остановится или, тем более будет пятится назад, из-за сильного ветра. Для ская это вполне возможно.