Новая система от Смаллтим - SwiftAI Next Generation - автопилот+телеметрия+ИМУ
Это маршрутный способ управления ЛА. Правда что он дает ( кроме лишних вопросов юзеров) и зачем нужен для наших игрушек, мне не очень понятно…
Тимофей, а не пробовал сделать битовое клипирование графики и текста? Когда на границе области вывода начинает мельтешить линии горизонта и цифры, вроде не очень красиво…
Это же наверно не прямая, а набор промежуточных контрольных точек. Каждый раз ты выполняешь промежуточное задание дотащить самолет до очередной, верно? Я в свое время от этой темы отказался, ибо не смог придумать качественного критерия для отказа от очередной точки и перехода к следующей, если самолет не дотянул до нее.
Если же на каждой итерации высчитываешь новую КТ, то это уже совсем не то, что ты нарисовал на картинке.
Есть упреждающая точка, ее позиция пересчитывается каждый цикл обновления навигационных данных, и она выполняет ту же задачу, что твоя цепочка промежуточных точек. Рисунок - именно то.
В мануале это чуть подробнее описано, ну никакого открытия америки я не сделал 😃
Тимофей, а не пробовал сделать битовое клипирование графики и текста?
Пробовал, вокруг растровых букв такие “пустые” регионы получаются. Чем-то мне это тогда не понравилось и я это убрал.
Есть упреждающая точка, ее позиция пересчитывается каждый цикл обновления навигационных данных
IMHO, тогда самолет не будет лететь по той траектории, что ты нарисовал. Ну без ветра может и будет. А с ветром в бочину, все равно будет по дуге идти, как если бы тупо на конечный курс целился. А если хочется именно по нарисованной, тогда саму промежуточную точку надо тащить перед носом самолета с отступом от той прямой для компенсации скольжения. Если конечно ты уверен в том, что ветер ты считаешь правильно, тогда все ОК. Но на тех клипах, что народ выкладывал, у меня сомнения в правильности показаний индикатора ветра, что на ОСД. Конечно не факт, что народ настроил все правильно… Однако есть еще фактор кривизны самого носителя. Мне кажется, что не совсем верно допущение, что опорное направление установки платы АП всегда совпадает с направлением ПРЯМО самого самолета в полете.
тогда самолет не будет лететь по той траектории
Поддерживаю, в другом АП, которым пользуюсь, движение на базу вполне предсказуемо:
Самолет доворачивает нос на базу до тех пор, пока курс не будет в точку старта. При этом курс берется с данных GPS. И при существенном боковом ветре самолет летит по прямой на базу (курс по GPS соответсвует направлению в точку старта), но нос самолета может быть повернут градусов на 15 в сторону от базы, т.е. летит с компенсациеЙ скольжения и редактирует курс непосредственно в полете. Лично мне такой алгороитм кажется более надежным - в каком бы положении самолет не оказался от внешнего воздействия - он всегда сможет продолжить полет на базу по кратчайшему пути, а не выходить на ранее заложенную треакторию.
IMHO, тогда самолет не будет лететь по той траектории, что ты нарисовал. Ну без ветра может и будет. А с ветром в бочину, все равно будет по дуге идти, как если бы тупо на конечный курс целился
Естественно будет лететь по дуге, вернее даже не по дуге, а скорее параллельно прямой. Только если он будет целиться в конечную точку- то удаление (от прямой) может быть сотни метров, а так всего несколько единиц. Большая разница)
И что еще важнее, по высоте тоже самое.
Так зачем лететь по дуге, когда можно лететь по прямой и в каждый конкретный момент компенсировать скольжение?
Вопрос - если при движении самолета на базу по картинке, предствленной smalltim, в середине пути боковой ветер сместит самолет в сторону, куда он полетит? на базу, или развернется перпендикулярно базе и будет пытаться занять положение на ранее проложенной линии?
А если хочется именно по нарисованной, тогда саму промежуточную точку надо тащить перед носом самолета
Так и сделано.
полет на базу по кратчайшему пути
Полет на базу по кратчайшему пути - отрезок прямой линии. По ней и летит Зеленый.
И при существенном боковом ветре самолет летит по прямой на базу (курс по GPS соответсвует направлению в точку старта), но нос самолета может быть повернут градусов на 15 в сторону от базы, т.е. летит с компенсациеЙ скольжения и редактирует курс непосредственно в полете.
Так действовал старый АП.
Алгоритм Зеленого в грубых деталях точно такой же, и по доворачиванию носа из-за ветра, и т.д., только летит он не на базу, а в упреждающую точку.
в упреждающую точку
Я думал он летит по старому алгоритму, но в промежуточную точку. А он упреждение делает?😃
Это я промежуточную точку назвал упреждающей, она в мануале так называется.
Я думал он летит по старому алгоритму
В целом похоже на старый, но математика вычисления нужного крена теперь другая, учитывает и скорость и прочие параметры.
Так зачем лететь по дуге, когда можно лететь по прямой и в каждый конкретный момент компенсировать скольжение?
В условиях идеально равномерного по силе и направлению ветра это будет прямая. В других условиях - набор дуг разной степени кривизны.
Вопрос - если при движении самолета на базу по картинке, предствленной smalltim, в середине пути боковой ветер сместит самолет в сторону, куда он полетит? на базу, или развернется перпендикулярно базе и будет пытаться занять положение на ранее проложенной линии?
Полетит в точку, находящуюся на отрезке прямой впереди от самолета на расстоянии, определенном параметром “Упреждение по траектории” в Контрольной Панели.
Тим, а можно разбавить тему про курсы и точки вопросом из хотелок? Далеко ли (глубоко ли) хотелка про ограничения ускорений в маневрах? Есть тут у меня аппаратик, 2м из потолочки. Такой няшка, беленький легонький летученький, но сцк такой нежный, чуть перетяни ему ручку и крулушки дугой, того и гляди жмянкнут… и вот как бы было неплохо, поставить ограничение на максимальную перегрузку, что бы если чо - то чтоб не ага…
Сделано. При превышении заранее заданной в КП воздушной скорости чувствительность и демпфирование в системе стабилизации автоматом понижаются от заданных в КП пропорционально квадрату соотношения скоростей. То есть, ограничиваются не ускорения, а то, что их вызывает- отклонение управляющих плоскостей. Потому что ограничивать ускорения это затея неправильная. Увидишь ускорение и начнешь ограничивать, ок. Но ты его уже увидел, значит, оно уже возникло и шанс увидеть “етово” уже возник, а мы машем кулаками после драки.
А как АП измеряет направление ветра? Каким образом? Ещё датчики стоят?
Математикой. См. google wind triangle в качестве простейшего варианта например. Ну и плюс у меня помимо этого добавлено всякое.
А т.е. с GPS берёт?
С датчика тока. Подумать совсем лень?
Математикой. См. google wind triangle в качестве простейшего варианта например. Ну и плюс у меня помимо этого добавлено всякое.
Ок, верю, что у тебя все правильно вычисляется (хотя, судя по клипам и тому, что ОСД показывает, есть у меня сомнения). Но я бы на твоем месте дал возможность пользователям выбрать, лететь домой только по GPS курсу или при помощи упреждающего, вычисленного курса. И надеюсь, ты сделал защиту от дурака, когда компас устойчиво криво и разнообразно показывает что то кривое в полете. ИМХО, автовозврат должен работать просто, как топор и не использовать те датчики, без которых спокойно можно обойтись. А вот полет по точкам, тут да - желательно именно держать нужную траекторию, тут уже и компас и сложная математика в помощь.
Вот вот. Почти слово в слово вчера убеждал Тимофея, что автовозврат должен быть как можно прямее и проще. Иначе это будут лишние нервы и седые волосы. 😃
С датчика тока.
??? Мне кажется это очень приблизительно и не точно…
Вот вот. Почти слово в слово вчера убеждал Тимофея, что автовозврат должен быть как можно прямее и проще. Иначе это будут лишние нервы и седые волосы.
+1
Я хотел написать, что сильно много сложностей…
Сделано. При превышении заранее заданной в КП воздушной скорости
Нет, Тим, я другое имею ввиду. Летим (во, блин, повезло) вертикально вниз, включаем АП, АП видит, что летим вниз (еще небыстро, не успели разогнаться или парашют какой), соотв. надо дернуть вверх, пока не поздно. Дергаем вверх - и получаем этот… когнитивный диссонанс. Или мы должны указать такую воздушную скорость, резко встав поперек которой мы 100% не оторвем ничего (она, очевидно, будет совсем небольшой) или все же дело не только в воздушная скорости. Хотя мне кажется, что де-та я туплю.
Включил. Светодиоды горят не так, как в документации- 4й моргает, хотя должен обозначать наличие видеосигнала (которого нет) 😃
3 и 4 местами перепутаны?
Но я бы на твоем месте дал возможность пользователям выбрать, лететь домой только по GPS курсу или при помощи упреждающего, вычисленного курса.
АП летит по ГПС курсу и держит нужную траекторию именно по ГПС координатам. Компас в задачах навигации не участвует вообще. То есть ВООБЩЕ. Компас участвует в вычислении скорости и направлении ветра и помогает IMU. Убить навигацию неисправным компасом невозможно. Более того, убить или повесить сам АП неисправным компасом невозможно. Как только на любой из шин I2C получается затык, АП моментально заводит шину “с толкача” и переинициализирует все датчики на шине, на всё-про все пара миллисекунд.
Как только АП видит, что компас показывает лажу, а это проверяется элементарно и мониторится непрерывно, то АП отключает помощь компаса IMU.
Летим (во, блин, повезло) вертикально вниз, включаем АП, АП видит, что летим вниз (еще небыстро, не успели разогнаться или парашют какой), соотв. надо дернуть вверх, пока не поздно. Дергаем вверх - и получаем этот… когнитивный диссонанс.
Дык в ручном или стабилизации ставим маленькие расходы на плоскостях и радуемся. А АП говорим что максимальная воздушная скорость 40кмч и он перейдя из ручного или стаба в любой из авторежимов будет рулить модель, разогнанную тобой в ручном режиме, нежно-нежно, и одновременно всеми правдами и неправдами будет гасить скорость (тангаж подтягивать вверх, выпускать закрылки, газ в 0).
Включил. Светодиоды горят не так, как в документации- 4й моргает, хотя должен обозначать наличие видеосигнала (которого нет)
3 и 4 местами перепутаны?
Борис, перепроверю , как я пронумеровал светодиоды, вечером и поправлю мануал. Спасибо за наводку!