Smalltim OSD and autopilot (часть 1)
Блин, выходит что сейчас в корне не правильный алгоритм управления тангажом, скоростью и оборотами.
Тим. АП для управления по тангажу должен в первую очередь ориентироваться на минимальную скорость. (естественно все рассматривается для полетов с бароскоростью)
Нет, Андрей. Главное - не скорость выставить какую надо, а потом играть тангажом. Главное тангаж, то есть, главное - занять целевую высоту. Высота и курс - директивы номер 1 у автопилота. Поймешь, когда будешь обливаться п о том, наблюдая, как АП тащит модель к пачке многоэтажек, и гадать, “а вот успеет ли моя моделька набрать высоту с той скоростью, что я задал”?
На данный момент газ в режиме поддержания скорости при любом тангаже (разумеется, ограниченном в КП) подстроится таким образом, что будет выдержана целевая скорость. Никаких сваливаний.
Набор высоты производится и будет производиться под заданным углом на заданной скорости.
Знаешь достаточную скорость и максимальный тангаж для набора высоты для своей модели - милости просим, вбей эту скорость и ограничение на максимальный тангаж в КП.
Никакой свободы действий в играх с тангажом. Больше свободы = больше шансов потерять модель, забыв, что нос перегружен, модель после травмы и т.д. Уж ты-то должен это знать. Пусть будет неоптимально, но надежно.
Ну а севшая батарея - это уже аварийный режим. В этом режиме тангаж будет ставиться на Х градусов вниз, сколько поставите в КП, и будет планирование в сторону базы.
Вот, коллеги, интересный вопрос. А как надежно детектировать аварию с двигателем или севшую батарею, не имея данных с телеметрии (ток, напряжение, бароскорость, баровысота?)
Или вариант без телеметрии не рассматриваем? Я - за 😃
Вообще можно все оставить как есть, и попробовать только ввести уменьшение тангажа при падении скорости ниже крейсерской и все. это гарантирует защиту от сваливания в любой ситуации. Нужно попробовать потестить все это на реально срывном самолете …
Да, это можно сделать. Если человек поставил настройки такими, что, например, стоит удержание газа 20% и тангаж градусов в 45, то он сам себе злобный буратино. Придется подумать за него, уменьшив на лету тангаж или поддав газа если скорость ниже критической. Подумаем.
Ну я не совсем согласен. Высота и курс попрежнему остаются директивой N1 Только я предлагаю сделать набор высоты не с заданным углом, а с минимальной заданной воздушной скоростью при команде на газ 100% или ХХ если кому надо. В таком варианте угол тангажа будет автоматически поддерживаться на наивыгоднейшем уровне. Т.е. максимальная скороподъемность при данной тяге движка. А тяга может быть от 0 до 100% в зависимости от ситуации. Получится что если самик способен набирать высоту вертикально с заданной скоростью, то АП его выведет в вертикаль, а если что то сломалось то самик не сорвется.
Хотя я согласен что такой алгоритм потребует немного больше времени для перехода к набору высоты, чем занять тангаж Х и оборты Y
Но мы то знаем что АП шугается многоэтажек 😉
Вот, коллеги, интересный вопрос. А как надежно детектировать аварию с двигателем или севшую батарею, не имея данных с телеметрии (ток, напряжение, бароскорость, баровысота?)
Или вариант без телеметрии не рассматриваем? Я - за 😃
помоему без телеметрии никак
С мотором все просто : ток неимоверно поползет вверх. На моторе который в стандарте кушает 20А, ток вырос до 80А или вообще 0 всегда будет 😃
как надежно детектировать аварию с двигателем или севшую батарею, не имея данных с телеметрии (ток, напряжение, бароскорость, баровысота?) Или вариант без телеметрии не рассматриваем?
Если рассматривать не просто аварию с двигателем, а попадание на землю: разве одного GPS недостаточно? Скорость < 5 км.ч при высоте <20 м в течении 10 сек, например. Вероятность того, что модель будет долго висеть против ветра с 0-й скоростью и почти у земли - минмальна. Критерий выхода в режим “в полете” - скорость > 10 км/ч в течении 1-2 сек или высота > 20 м.
Начальное состояние при включении - “на земле”. Только случай рестарта АП по WDT нужно отдельно предусмотреть.
Только батарею вычислить, без ДТ и замера напряжения - никак.
Контрольная Панель версии 3.1.7 от 7 июня 2010
[скачать autopilot_control_panel_3_1_7.zip, 114 кб]
Изменения относительно прошивки верcии 3.1.6:
- Для улучшения восприятия и упрощения настройки модуля автопилота параметры системы стабилизации и режима автономного полета перегруппированы и частично переименованы
Внимание, убедитесь в корректности настроек после обновления прошивки и перехода на новую версию Контрольной Панели - Введена поддержка варианта “Меньшая из скоростей по бародатчику и GPS” в режиме удержания целевой скорости
- Введена поддержка выбора диапазона отображаемых углов тангажа на индикаторе искусственного горизонта
- Введена поддержка мигания индикатора искусственного горизонта при выходе за отображаемый диапазон
- Введена поддержка мигания индикатора искусственного горизонта при перевернутом молете
- Введена поддержка независимых ограничений на максимальные углы тангажа при наборе высоты и снижении
Прошивка версии 0.10.12 от 7 июня 2010
[скачать autopilot_0_10_12.hex, 153 кб]
Изменения относительно прошивки верcии 0.10.1:
- До 1 секунды уменьшено время ожидания перед включением стабилизации или принудительным включением автопилота с передатчика
- Исправлена обработка бародатчика высоты модуля телеметрии
- Введена поддержка варианта “Меньшая из скоростей по бародатчику и GPS” в режиме удержания целевой скорости
- Улучшена работа компенсации запаздывания информации о текущем курсе с модуля GPS
- Введена поддержка выбора диапазона отображаемых углов тангажа на индикаторе искусственного горизонта
- Введена поддержка мигания индикатора искусственного горизонта при выходе за отображаемый диапазон
- Введена поддержка мигания индикатора искусственного горизонта при перевернутом молете
- Увеличена на 50% скорость увеличения/снижения газа в режиме удержания скорости
- В режиме удержания целевой скорости требуемый уровень газа устанавливается в значение “Целевой уровень газа” при включении режима автопилота на 2 секунды, после этого включается режим удержания целевой скорости
- Введена поддержка независимых ограничений на максимальные углы тангажа при наборе высоты и снижении
И не спится, не лежится, не гуляется ему…
Прошивка версии 0.10.12 от 7 июня 2010
У меня с новой прошивкой, мониторинг авиагоризонта сходит с ума. Вертится как угорелый. Вроде все новые поля заполнил осмысленными значениями. Кто-нить еще пробывал?
Причем похоже проблемма только с отображением (в КП и на экране FPV). Управляющие плоскости в режиме стабилизации реагируют вроде правильно.
Еще одна странность: при отключении РУ, мотор начинает хрюкать (циклически разгоняться и тормозить в тепчении 1-2 сек). Раньше пропадание РУ приводило к медленнему разгону движка (режим удержания по бароскорости).
И давно хотель спросить, почему принудительное включение АП на базе не заводит двигатель, а пропадание РУ - включает его? Хотя требования отключения в радиусе xx - не стоит.
Каюсь, коллеги. Не убрал программную имитацию авиагоризонта, когда значения крена и тангажа выставлялись самим автопилотом, не глядя на датчики.
Хрюканье мотора - интересный побочный эффект многопоточности внутреннего устройства АП. Улучшил синхронизацию, должно быть ОК.
Прошивка версии 0.10.14 от 8 июня 2010
[скачать autopilot_0_10_14.hex, 153 кб]
Изменения относительно прошивки верcии 0.10.12:
- Убрана программная имитация авиагоризонта
- Улучшена синхронизация между процессами обработки логики включения режимов автопилота и генерации выходных PPM
Прошивка версии 0.10.14 от 8 июня 2010
Вот ты пропустил 13-ю версию, а зря! Суеверия это.
В новой прошивке съехали настройки переключателя режимов. В КП все отражается правильно, но команда включения стабилизации, стабилизацию не включает (символа СТ нет и реакции на горизонт тоже), а “принудительное включение АП” включает стабилизацию и возможно АП, но так что РУ команды тоже работают. На экране пишет “принудительное включение”, но движок не заводит - правда спутников в комнате нет.
А вот выключение РУ (состояние RC связь) опять приводит к “хрюканию” двигателем: это все-же случайный (хаотичный) процесс не связанный с видимыми изменениями других параметров.
Делай 13-ю версию, Тимофей. 😃
Полетал сегодня, стабилизация работает, автопилот работает но с набором высоты почему ? (будем настраивать) Но главное, сбивается горизонт при включении видео оборудования, что делать ?
Сегодня стабилизация не заработала , но горизонт отображает хорошо. При включении стабилизации рули в раскарячку. Что может быть ?
Diramil, vozmozhno sleteli kalibrovki pulta. Vilozhite fail nastroek, versiu Paneli I proshivki AP.
Baychi, popravim.
Diramil, vozmozhno sleteli kalibrovki pulta. Vilozhite fail nastroek, versiu Paneli I proshivki AP.
8.06.10_1.rar
версия панели: autopilot_control_panel_3_1_7.
версия прошивки: autopilot_0_10_14
C предыдущей версией прошивки и панели было тоже самое
Похоже не действие делителя R15+R16. R16 нужно убрать и перекалибровать 0. Будет как раз в 3 раза больше.
Убрал R16, перекалибровал. Показания при отсутствии тока прыгают до 0,25А. после полета в аккумулятор закачал на 25% больше, чем показала телеметрия. Это нормальная погрешность? или R16 нужен с другим номиналом?..
при отсутствии тока прыгают до 0,25А. после полета в аккумулятор закачал на 25% больше, чем показала телеметрия. Это нормальная погрешность? или R16 нужен с другим номиналом?..
Погрешность великовата. Обычно процентов 10%. Можно рассчитать R16. R15 = 2 КОм, Вам нужнен коэффициент 0.75. K=R16/(R15+R16). Отсюда R16 = 6.2 кОм , примерно.
2 smalltim
Уже нужно извиняться за оффтоп, но …
В 270-ю прошивку телеметрии уже не втиснется поддержка старых 406 модулей, как в 261-й?
В 270-ю прошивку телеметрии уже не втиснется поддержка старых 406 модулей, как в 261-й?
Очень маловероятно, но я попробую. Хочется просто оставить еще место под передачу данных на поворотную антенну.
8.06.10_1.rar
pitch_limit_negative = -0 град, это значит, снижаться самику придется с нулевым тангажом. Поставьте хотя бы -20.
horizon_pitch_range = 0 град - это значит диапазон отображаемых углов тангажа - 0 градусов. Не прокатит, ставьте хотя бы 10 😃
Очтальное более-менее нормально, так что проверяйте калибровки диапазонов каналов и калибровки команд управления. При обновлении прошивки настройки могут слететь. Я почти всё сделал для того, чтобы не слетали, но, иногда - могут.
Вот ты пропустил 13-ю версию, а зря! Суеверия это. В новой прошивке съехали настройки переключателя режимов. В КП все отражается правильно, но команда включения стабилизации, стабилизацию не включает (символа СТ нет и реакции на горизонт тоже), а “принудительное включение АП” включает стабилизацию и возможно АП, но так что РУ команды тоже работают. На экране пишет “принудительное включение”, но движок не заводит - правда спутников в комнате нет. А вот выключение РУ (состояние RC связь) опять приводит к “хрюканию” двигателем: это все-же случайный (хаотичный) процесс не связанный с видимыми изменениями других параметров.
В версии прошивок последнее число - номер багфикса или небольшого изменения. Так что 13-я сама собой перескочилась. Принимайте 17ю.
Всё проверил, поправил. Всё, на что ругались, теперь пашет как задумано.
А вот выключение РУ (состояние RC связь) опять приводит к “хрюканию” двигателем: это все-же случайный (хаотичный) процесс не связанный с видимыми изменениями других параметров
Так на самом деле задумано. Пока нет спутников и стартовые координаты не записаны, АП не имеет права включаться. Поэтому включается только стабилизация. Стабилизация не вносит изменений в канал газа, так что на мотор идет то, что приходит с приемника. А с приемника, когда выключена аппа, может приходить что угодно.
Самодисциплина с подключением АП не отменяется. Зачем включать модель на земле с выключенной аппой?
Впрочем, с появлением аварийных режимов (готовлю в следующем большом обновлении функционала) режим “еще на земле” и “уже на земле” запретит включение мотора.
Прошивка версии 0.10.17 от 10 июня 2010
[скачать autopilot_0_10_17.hex, 153 кб]
Изменения относительно прошивки верcии 0.10.14:
- Исправлена работа управляющего канала
- Улучшена математика авиагоризонта
- Введено подавление дрожания сервомашинок
Так на самом деле задумано. Пока нет спутников и стартовые координаты не записаны, АП не имеет права включаться. Поэтому включается только стабилизация. Стабилизация не вносит изменений в канал газа, так что на мотор идет то, что приходит с приемника. А с приемника, когда выключена аппа, может приходить что угодно.
С приемника на канал газа идет настройка FailSafe, а именно -10% от диапазона. Именно по этому каналу детектируется пропадание связи. Остальгые каналы на данном приемнике сохраняют свое последнее состояние. Собственно вопрос был не в том зачем нужно выключать аппу на земле, а почему между принудительным включением и включением по потере связи такая разница?
Введено подавление дрожания сервомашинок
Как? Можно подробности.
приемника на канал газа идет настройка FailSafe, а именно -10% от диапазона
Проверил еще раз. Собственно в этом и проблемма. Хрюкание начинается, когда сигнал газа выходит за пределы диапазона. Даже КП отражает хаотическое изменение газа.
Со спутниками - все ОК.
Проверяйте калибровки диапазонов каналов и калибровки команд управления. При обновлении прошивки настройки могут слететь. Я почти всё сделал для того, чтобы не слетали, но, иногда - могут.
Слетела калибровка команд управления при переходе на пилот 0-10-12, проявляется только в полёте - нехваткой расхода рулей при манёврах на АП.
и стабилизации.
Неплохо было бы предусмотреть в следующих прошивках блокировку выходного канала газа
при входе в режим калибровки (а может быть и всех выходных каналов).
и стабилизации.
Неплохо было бы предусмотреть в следующих прошивках блокировку выходного канала газа
при входе в режим калибровки (а может быть и всех выходных каналов).
Да, это разумно, подумаем.