Автопилот маленького самолёта

а автопилот лишь выполнять заданное.
Вертикальная скорость - это непростая штука. Требуется или воздушная скорость или «поземельная». Давай пока эту хотелку оставим для люкс-варианта.
 
Теперь внимательно смотрите за руками. Сверхкраткий курс по электронной фигне. Типичная современная тысячерублёвая хрень это чип, в котором трехосный 14-битный акселерометр, трехосный 16-битный гироскоп с диапазоном ±2000 градусов в секунду, трехосный геомагнитный датчик и 32-битный микроконтроллер в одном корпусе размером с ноготь большого пальца. В любом сколько угодно дорогом устройстве от любого производителя внутри нечто подобное. Вы можете купить эту хрень от китайского производителя или настоящую американскую/немецкую (сделаную на Тайване) стократ дороже. Смысл не изменится. Набор данных, которые выдают эти чипы - ОДИНАКОВ. Именно в этот момент на сцену выходит её величество МАТЕМАТИКА. Как устроено дорогое устройство? Берутся очень дорогие чипы, дублируются очень дорогими чипами, лепятся костыли из кучи других дорогих чипов (а без них при плохой математике - никак), всей этой хренью надо ворочать, ПЛЮС свистелки/перделки/цветные дисплеи и уже нужен 8-ядерный пентиум на борту.
Что имеем? С задачей определения пространственного положения самолёта справляется сборка за 1500 рублей. Но можно и за 1500 долл. Тут уж кому как. Но я здесь хочу поговорить про первый вариант.
IMG_3668.jpeg

Вот это УЖЕ способно работать для сохранения прямолинейного полёта. 1500 рублей в сегодняшних ценах. При совершении координированного разворота более чем на 180 градусов начинает глючить. ТАК ЖЕ КАК И ВСЕ ОСТАЛЬНЫЕ. Решение: или пишем нормальную математику, или лепим костыли (как все остальные).
 
Последнее редактирование:
А чего она вдруг глючит? При развороте с включенным автопилотом?
Ведь, как Вы описали, автопилот при нажатии кнопки запоминает текущие параметры на входе и потом только вгоняет их в заполненные цифры, подавая сигналы на червы при отклонении. Нет?
Можно вообще нажатием кнопки подавать питание на блок автопилота, а при отключении отрубать его от сети. Тогда никаких глюков быть не должно.
Имху
 
А чего она вдруг глючит? При развороте с включенным автопилотом?
Ведь, как Вы описали, автопилот при нажатии кнопки запоминает текущие параметры на входе и потом только вгоняет их в заполненные цифры, подавая сигналы на червы при отклонении. Нет?
Можно вообще нажатием кнопки подавать питание на блок автопилота, а при отключении отрубать его от сети. Тогда никаких глюков быть не должно.
Имху
Не. Не так. Этот электронный модуль пространственного положения в обычных условиях выдает плюс-минус достоверную информацию. Даже опять не так. Внутри модуля происходят какие-то физические процессы. Кому интересно - можете в ютубе найти как вся эта хрень работает. Эти физические процессы обрабатываются модулем и выдаются на выход какими-то данными. Вот эти данные становятся недостоверными (точнее, часть данных). КОНКРЕТНО. Углы Эйлера. Математика внутри модуля умеет их выдавать. И в первом приближении задача автопилота проста как шесть рублей трёшками: три оси, три управляющих поверхности, три серво. Но есть нюанс. Есть понятие : Складывание рамок, или блокировка карданного подвеса, также (жарг.) шарнирный замок. Гуглите. В углах Эйлера эта зараза прям срабатывает. Я лично пробовал. Мой тупой автопилот «за три копейки» начинает глючить. Понятно, что я могу добавить коррекцию по магнитному курсу и GPS, добавить ещё пару чипов, но… так все и делают. Понятно, что можно взять три 1000-рублёвых чипа, добавить ещё три 500-рублёвых, ещё три 250-рублёвых, добавить какую-то «малину» тысяч за 5. Нагородить к этому какое-то ПО. И всё равно эта шняга будет хз как работать, потому что то магнитная аномалия, то глушат GPS. А оно способно надёжно работать на 1500-рублёвой сборке.
 
Не. Не так. Этот электронный модуль пространственного положения в обычных условиях выдает плюс-минус достоверную информацию. Даже опять не так. Внутри модуля происходят какие-то физические процессы. Кому интересно - можете в ютубе найти как вся эта хрень работает. Эти физические процессы обрабатываются модулем и выдаются на выход какими-то данными. Вот эти данные становятся недостоверными (точнее, часть данных). КОНКРЕТНО. Углы Эйлера. Математика внутри модуля умеет их выдавать. И в первом приближении задача автопилота проста как шесть рублей трёшками: три оси, три управляющих поверхности, три серво. Но есть нюанс. Есть понятие : Складывание рамок, или блокировка карданного подвеса, также (жарг.) шарнирный замок. Гуглите. В углах Эйлера эта зараза прям срабатывает. Я лично пробовал. Мой тупой автопилот «за три копейки» начинает глючить. Понятно, что я могу добавить коррекцию по магнитному курсу и GPS, добавить ещё пару чипов, но… так все и делают. Понятно, что можно взять три 1000-рублёвых чипа, добавить ещё три 500-рублёвых, ещё три 250-рублёвых, добавить какую-то «малину» тысяч за 5. Нагородить к этому какое-то ПО. И всё равно эта шняга будет хз как работать, потому что то магнитная аномалия, то глушат GPS. А оно способно надёжно работать на 1500-рублёвой сборке.
Вы, вероятно не поняли мою мысль.
Все эти замечательные вещи, рамки и углы работают лишь тогда, когда прибор включён. Описанная проблема складывания, например, при развороте на 180гр, возникает тогда, когда этот разворот выполняется при включенном приборе. Так? А если прибор выключить перед разворотом, а потом включить? Он же, по идее, начнет работать с чистого листа. По условию задачи, Вами озвученному, прибор ничего, кроме выдерживания текущего курса уметь не должен. Причем только с момента нажатия кнопки. Тогда нафига он будет в свободное от службы время обрабатывать инфу, копить ошибки, глючить из-за разворотов и пр.? Не проще ли, когда пилот рулит сам, прибор обесточить и включать только тогда, когда потребуется освободить руки. Тогда никаких предшествующих разворотов железка не заметит и будет нормально работать. Она же нормально работает, если Вы, скажем в пятницу рванете на рыбалку, а в воскресенье двинете в обратном направлении. Нет?
 
Вы, вероятно не поняли мою мысль.
Теперь понял. Да. Вероятнее всего, с задачей полёта по прямой эта сборка справится великолепно. Я специально испытаю. Но у нас есть ещё две важных задачи: «давай обратно» и «выпрями скорее».
 
Мне понравился портативный автопилот как на этом видео. Как мне кажется это идеальный компромисс простоты, удобства, и отсутсвия излишних функций, влияющих на безопасность и на вес ВС. Он справится с небольшой коррекций и удержанием курса, не требующей педалей. А если добавить небольшой съемный сервомотор на трим, то можно еще и высоту в круизе держать. И его вполне можно повторить самодельщикам.
 
4000 долл. за ардупайлот. Красиво жить не запретишь. За 4000 долл. я на своём самолёте до пенсии буду летать на руках. Но с большой долей вероятности, спаяю себе конструкцию не хуже тысячи за две рублей. О чём, собственно, эта тема.
 
Для чего я это обсуждение затеял. Я вижу как отечественнные разрабы уходят в «свистелки/перделки». Типа, «надо как гармин». НЕ НАДО. Представьте себе авиагоризонт, на котором написано «от себя/на себя» и «вправо/влево». И прогрессбар к каждому слову (понятно, о чём я?). Какие вопросы тогда к прямой/обратной индикации? Нахрена тогда дикие вычислительные мощности? С математикой автопилота справится толковый калькулятор 40-летней давности. Все эти мегагерцы и мегабайты нужны только для красивой продавабельной картинки. Это вообще никак не влияет на качество автопилота.
 
IMG_0127.png

Выше в теме я показывал три деталюшки, которые спокойно «тащат» вот такую штуку, которая авиагоризонт, шарик и магнитный курс. И ещё полно ресурсов, чтобы отдавать команды сервомашинкам, согласно данным, получаемым от внешнего GPS или задаваемых пользователем. Глючность этой сборки не в качестве или стоимости деталей. Но в математике. Вот куда надо рыть разрабам. Если свистелка/перделка на углах Эйлера - мне она не нужна. Какой бы красивой она не была, как бы не была похожа на PFD боинга или аирбаса.
 
Блииин. Пока искал вам как объяснить корень проблемы, нашёл свежую статью, как товарищ решил практическую задачу про 24 системы углов Эйлера. Так и знал, что ответ надо искать не у инженеров, но у разработчиков компьютерных игр. Мне нужно время переписать код для своего авиагоризонта. До связи
 
4000 долл. за ардупайлот. Красиво жить не запретишь. За 4000 долл. я на своём самолёте до пенсии буду летать на руках. Но с большой долей вероятности, спаяю себе конструкцию не хуже тысячи за две рублей. О чём, собственно, эта тема.
Я не призываю его покупать, тем более на видео это прототип и не продается. Я наоборот думаю такое устройство может быть опенсорсным и/или самодельным, по типу Stratux. Правда у разработчиков на видео оно вроде берет данные из их авиагоризонта, которое сертифицировано и стационарно смонтировано на панели. Но вроде бы ничего не мешает пользоваться своими сенсорами. Пока писал пришла идея взять тот же Stratux, там уже есть авиагоризонт, допилить слегка, и просто добавить к нему как исполнительное устройство....
 
4000 долл. за ардупайлот. Красиво жить не запретишь. За 4000 долл. я на своём самолёте до пенсии буду летать на руках. Но с большой долей вероятности, спаяю себе конструкцию не хуже тысячи за две рублей. О чём, собственно, эта тема.
вообще–то ArduPilot совершенно бесплатный, нужно купить очень
надежный PX4, прошить, и будет готовый автопилот.
он идет в комплекте с Mission Planner, который можно выводить на планшет в полете и лететь со свободными руками.
 
Ок. Для тех, кто не готов изучать код опенсорса озвучиваю: делаем автопилот за 1500 рублей. Ну или около того, но стремимся к этой цифре. Авиагоризонт и компас - в подарок. Так понятнее? Если вы находите на рынке что-то дороже этой суммы - не постите, не интересно.
 
Ок. Для тех, кто не готов изучать код опенсорса озвучиваю: делаем автопилот за 1500 рублей. Ну или около того, но стремимся к этой цифре. Авиагоризонт и компас - в подарок. Так понятнее? Если вы находите на рынке что-то дороже этой суммы - не постите, не интересно.
вот этот (не знаю сколько в рублях, но лучше не найти).
 
Ок. Для тех, кто не готов изучать код опенсорса озвучиваю: делаем автопилот за 1500 рублей. Ну или около того, но стремимся к этой цифре. Авиагоризонт и компас - в подарок. Так понятнее? Если вы находите на рынке что-то дороже этой суммы - не постите, не интересно.
Руки Ваши будут свободны .... https://usamodelkina.ru/13596-samodelnaja-sistema-stabilizacii-samoleta-na-baze-arduino.html?ysclid=m6y02tk2ic523642554&utm_referrer=https://yandex.ru/
 
Руки Ваши будут свободны ....
Да, я бегло посмотрел код и библиотеку к модулю. Та же проблема, как мне кажется. Не уверен, что я разобрался как они фиксят этот момент (и фиксят ли вообще), возможно как-то используют данные магнитометра.
Для тех, кто не лезет в математические дебри объясню просто, почему мой 1500-рублевый комплекс глючит.
Глючит он не от дешевизны запчастей, но лишь от слабой математики, на которую у меня хватило мозгов. Была бы математика посильнее - я думаю, что все работало бы великолепно. Проблема в чем? Все современные модули так или иначе выдают данные по трём осям. Более дорогие уже считают эйлеровы углы, более дешевые просто выдают матрицы вращения. Не суть. Все это лишь данные на разных этапах преобразования.
Основная проблема глючности в том, что при обратном вращении ВАЖЕН порядок вращения по осям. Иначе может получиться так, что обратное преобразование не приведет к начальному состоянию. Проще говоря: летит самолет ровно, потом оказывается в каком-то пространственном положении, программа понимает в каком положении самолет, вычисляет как ему вернуться в начальное положение и... самолет вдруг оказывается вверх пузом или задом наперед.
Я для чего тут так подробно пытаюсь рассказать о своих исследованиях. Сейчас появляется достаточно количество новой электронной авионики. Я показал, что создать ее в современных условиях не составляет особого труда. Но когда вам говорят: посмотрите, какой у нас классный прибор, у него и компас и GPS на борту, - возможно, это ДЕРЬМОВЫЙ прибор, с дохлой математикой, которая без этих костылей просто не работает правильно.
Именно поэтому я и вынес это обсуждение на вид. Вдруг вы сами готовы погрузиться в этот процесс, или у вас есть знакомый, который достаточно подготовлен математически, чтобы помочь. Математически правильный алгоритм преобразования - вот что нужно для правильного прибора. Найдем - будут у нас приборы и за 1500 рублей, и кому надо со свистелками/перделками - за 1500 долл. Главное, чтобы оно работало правильно.
 
Да, я бегло посмотрел код и библиотеку к модулю. Та же проблема, как мне кажется. Не уверен, что я разобрался как они фиксят этот момент (и фиксят ли вообще), возможно как-то используют данные магнитометра.
дальше
Для тех, кто не лезет в математические дебри объясню просто, почему мой 1500-рублевый комплекс глючит.
Глючит он не от дешевизны запчастей, но лишь от слабой математики, на которую у меня хватило мозгов. Была бы математика посильнее - я думаю, что все работало бы великолепно. Проблема в чем? Все современные модули так или иначе выдают данные по трём осям. Более дорогие уже считают эйлеровы углы, более дешевые просто выдают матрицы вращения. Не суть. Все это лишь данные на разных этапах преобразования.
Основная проблема глючности в том, что при обратном вращении ВАЖЕН порядок вращения по осям. Иначе может получиться так, что обратное преобразование не приведет к начальному состоянию. Проще говоря: летит самолет ровно, потом оказывается в каком-то пространственном положении, программа понимает в каком положении самолет, вычисляет как ему вернуться в начальное положение и... самолет вдруг оказывается вверх пузом или задом наперед.
Я для чего тут так подробно пытаюсь рассказать о своих исследованиях. Сейчас появляется достаточно количество новой электронной авионики. Я показал, что создать ее в современных условиях не составляет особого труда. Но когда вам говорят: посмотрите, какой у нас классный прибор, у него и компас и GPS на борту, - возможно, это ДЕРЬМОВЫЙ прибор, с дохлой математикой, которая без этих костылей просто не работает правильно.
Именно поэтому я и вынес это обсуждение на вид. Вдруг вы сами готовы погрузиться в этот процесс, или у вас есть знакомый, который достаточно подготовлен математически, чтобы помочь. Математически правильный алгоритм преобразования - вот что нужно для правильного прибора. Найдем - будут у нас приборы и за 1500 рублей, и кому надо со свистелками/перделками - за 1500 долл. Главное, чтобы оно работало правильно.
Самый легкий путь - начать с действительно высокоуровневого языка в связке с платой, которая специально была разработана как плата-автопилот:
 
Самый легкий путь
Не путайте математику и среду исполнения. Математике вообще пофиг чем её будут исполнять: хоть тётеньки перфокартами на МСС, хоть El Capitan из Ливерморской национальной лаборатории. Я веду речь о математике. Код потом каждый себе накодит хоть на Бейсике, хоть на Си, хоть на Питоне - кто на что учился.
 
Назад
Вверх