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

smalltim

Многим непонятно, как Зеленый рулит на базу, и кажется, что после разворота на базу Зеленый переруливает и делает непонятно что.
Набросал простенький примерчик включения автовозврата на Зеленом (красная точка).
Старый АП развернется на базу и будет шпарить сразу на базу (красная линия), но красная линия на старом АП будет прямой лишь при счастливом стечение обстоятельств.

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

Вот в момент приближения к линии после разворота и кажется, что Зеленый переруливает - база оказывается правее по курсу, а Зеленый поворачивает как будто непонятно куда.

Чтоб было понятнее, зелеными стрелками показан требуемый курс Зеленого (см. упреждающая точка в мануале).

drozd79

Тогда не совсем понятно, для чего делать возврат на исходную траекторию, получается немного, но все же больше расстояние, чем возврат сразу по прямой, расход будет больше. Чем объясняется такой алгоритм, Тимофей?

smalltim
drozd79:

получается немного, но все же больше расстояние, чем возврат сразу по прямой, расход будет больше. Чем объясняется такой алгоритм, Тимофей?

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

Прикинул на бумажке путь Зеленого с возвращением на линию и путь старого без возвращения на линию.

При одинаковом остатке пути путь на возвращение на линию будет (1), а путь без возвращения на линию будет (2), при радиусе разворота r

(1) r * pi * 0.5

(2) 2 * r * sqrt(1/2)

(1) - (2) = r * (1.570 - 1.414) = r * 0.156

Итого при радиусе разворота модели в 100 метров экономия пути за счет отказа от возврата на линию будет 15.6м. Это при возврате с любого расстояния. Ну несерьезная экономия.

AlexSneg
smalltim:

Зеленый же в момент включения автовозврата выстраивает прямую линию на базу и после разворота притягивается к этой прямой

Это же наверно не прямая, а набор промежуточных контрольных точек. Каждый раз ты выполняешь промежуточное задание дотащить самолет до очередной, верно? Я в свое время от этой темы отказался, ибо не смог придумать качественного критерия для отказа от очередной точки и перехода к следующей, если самолет не дотянул до нее.

Если же на каждой итерации высчитываешь новую КТ, то это уже совсем не то, что ты нарисовал на картинке. Если же эта тема является коммерческой тайной, то не отвечай. Однако, сам же картинку сюда кинул, теперь уже будем тебя до конца на эту тему допрашивать 😉

KBV:

да нет никаких отличий, за исключением того, что Смаллтим по точкам не летает (тока за отдельные деньги).

Самое главное отличие, что вы всегда можете спросить почему это устройство управляет самолетом в конкретной ситуации именно так, а не иначе и получите ответ с вероятностью 99%. Попробуйте задать подобный вопрос китайским товарищам.

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

msv

Это маршрутный способ управления ЛА. Правда что он дает ( кроме лишних вопросов юзеров) и зачем нужен для наших игрушек, мне не очень понятно…

Тимофей, а не пробовал сделать битовое клипирование графики и текста? Когда на границе области вывода начинает мельтешить линии горизонта и цифры, вроде не очень красиво…

smalltim
AlexSneg:

Это же наверно не прямая, а набор промежуточных контрольных точек. Каждый раз ты выполняешь промежуточное задание дотащить самолет до очередной, верно? Я в свое время от этой темы отказался, ибо не смог придумать качественного критерия для отказа от очередной точки и перехода к следующей, если самолет не дотянул до нее.

Если же на каждой итерации высчитываешь новую КТ, то это уже совсем не то, что ты нарисовал на картинке.

Есть упреждающая точка, ее позиция пересчитывается каждый цикл обновления навигационных данных, и она выполняет ту же задачу, что твоя цепочка промежуточных точек. Рисунок - именно то.
В мануале это чуть подробнее описано, ну никакого открытия америки я не сделал 😃

msv:

Тимофей, а не пробовал сделать битовое клипирование графики и текста?

Пробовал, вокруг растровых букв такие “пустые” регионы получаются. Чем-то мне это тогда не понравилось и я это убрал.

AlexSneg
smalltim:

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

IMHO, тогда самолет не будет лететь по той траектории, что ты нарисовал. Ну без ветра может и будет. А с ветром в бочину, все равно будет по дуге идти, как если бы тупо на конечный курс целился. А если хочется именно по нарисованной, тогда саму промежуточную точку надо тащить перед носом самолета с отступом от той прямой для компенсации скольжения. Если конечно ты уверен в том, что ветер ты считаешь правильно, тогда все ОК. Но на тех клипах, что народ выкладывал, у меня сомнения в правильности показаний индикатора ветра, что на ОСД. Конечно не факт, что народ настроил все правильно… Однако есть еще фактор кривизны самого носителя. Мне кажется, что не совсем верно допущение, что опорное направление установки платы АП всегда совпадает с направлением ПРЯМО самого самолета в полете.

jusupoff
AlexSneg:

тогда самолет не будет лететь по той траектории

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

KBV
AlexSneg:

IMHO, тогда самолет не будет лететь по той траектории, что ты нарисовал. Ну без ветра может и будет. А с ветром в бочину, все равно будет по дуге идти, как если бы тупо на конечный курс целился

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

jusupoff

Так зачем лететь по дуге, когда можно лететь по прямой и в каждый конкретный момент компенсировать скольжение?
Вопрос - если при движении самолета на базу по картинке, предствленной smalltim, в середине пути боковой ветер сместит самолет в сторону, куда он полетит? на базу, или развернется перпендикулярно базе и будет пытаться занять положение на ранее проложенной линии?

smalltim
AlexSneg:

А если хочется именно по нарисованной, тогда саму промежуточную точку надо тащить перед носом самолета

Так и сделано.

jusupoff:

полет на базу по кратчайшему пути

Полет на базу по кратчайшему пути - отрезок прямой линии. По ней и летит Зеленый.

jusupoff:

И при существенном боковом ветре самолет летит по прямой на базу (курс по GPS соответсвует направлению в точку старта), но нос самолета может быть повернут градусов на 15 в сторону от базы, т.е. летит с компенсациеЙ скольжения и редактирует курс непосредственно в полете.

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

KBV
smalltim:

в упреждающую точку

Я думал он летит по старому алгоритму, но в промежуточную точку. А он упреждение делает?😃

smalltim

Это я промежуточную точку назвал упреждающей, она в мануале так называется.

KBV:

Я думал он летит по старому алгоритму

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

jusupoff:

Так зачем лететь по дуге, когда можно лететь по прямой и в каждый конкретный момент компенсировать скольжение?

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

jusupoff:

Вопрос - если при движении самолета на базу по картинке, предствленной smalltim, в середине пути боковой ветер сместит самолет в сторону, куда он полетит? на базу, или развернется перпендикулярно базе и будет пытаться занять положение на ранее проложенной линии?

Полетит в точку, находящуюся на отрезке прямой впереди от самолета на расстоянии, определенном параметром “Упреждение по траектории” в Контрольной Панели.

Oliver

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

smalltim

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

ubd

А как АП измеряет направление ветра? Каким образом? Ещё датчики стоят?

smalltim

Математикой. См. google wind triangle в качестве простейшего варианта например. Ну и плюс у меня помимо этого добавлено всякое.

smalltim

С датчика тока. Подумать совсем лень?

AlexSneg
smalltim:

Математикой. См. google wind triangle в качестве простейшего варианта например. Ну и плюс у меня помимо этого добавлено всякое.

Ок, верю, что у тебя все правильно вычисляется (хотя, судя по клипам и тому, что ОСД показывает, есть у меня сомнения). Но я бы на твоем месте дал возможность пользователям выбрать, лететь домой только по GPS курсу или при помощи упреждающего, вычисленного курса. И надеюсь, ты сделал защиту от дурака, когда компас устойчиво криво и разнообразно показывает что то кривое в полете. ИМХО, автовозврат должен работать просто, как топор и не использовать те датчики, без которых спокойно можно обойтись. А вот полет по точкам, тут да - желательно именно держать нужную траекторию, тут уже и компас и сложная математика в помощь.

baychi

Вот вот. Почти слово в слово вчера убеждал Тимофея, что автовозврат должен быть как можно прямее и проще. Иначе это будут лишние нервы и седые волосы. 😃