Smalltim OSD and autopilot (часть 2)

smalltim

Борис, это ненормально.
Слет прошивки АП может приключаться в момент выключения питания, причем, шансы слета повышаются, если подключена плата телеметрии. В худшем случае это около 1 слета прошивки на 150-200 циклов включения-выключения питания.
Когда через АП в массовом порядке прошиваются платы телеметрии, шансы слета прошивки АП повышаются, но даже и близко не настолько, как у Вас.

Что Вы делаете с АП в принципе? Включаете, полетели, выключаете?
Телеметрия подключена? Камера подключена?
Железо АП какой версии? С сервокабельками или без?

Я в последнее время по нескольку десятков раз в день включаю и выключаю АП (без телеметрии), питание от компука через USB. Ни единого слета прошивки или повреждения данных в EEPROM или еще чего-то непредсказуемого. Более того, у меня прошивки АП не слетали уже, наверное, с весны 2011.

Свяжитесь с Михаилом и попробуйте на пару дней самый крайний вариант АП, без сервокабелей, если несложно.

KBV

Дык крайний, без сервокабелей((
Включаю и полетели, без usb/компьютера конечно. Телеметрия подключена, ее прошиваю один раз с выходом новых версий ПО.
Камера… камеру бывает отключаю- провод короткий. Если от этого что-то зависит то не буду отключать.

Сейчас еще одна идея появилась- на выходе BECа стоит LC-фильтр, завтра попробую включать АП без него.

KBV

Сегодня АП решил полетать на моем самике самостоятельно ))
Задача была все проверить в новом сезоне, RTL, полет по точкам (задал квадрат +/- 200метров). Если все пойдет хорошо- то может быть одеть очки.

Но все пошло не как планировалось- самолет лег на курс первой точки, благополучно ее миновал и полетел дальше. Я включил RTL, но эффект был обратным - это привело только к включению форсированного газа. 700-ваттная мотоустановка, да еще по ветру, легко разогнала самик под 100км/ч и он скрылся вдали за секунды.
Пока я искал и включал очки, это заняло секунд 30-40, он успел пролететь больше киллометра. В очках- картинка присуствовала, и никаких намеков на проблемы с РУ на Футабе. Вернулся 😃

Подозреваю, что неисправны пиродатчики- вчера при посадке хватанул ими снега. Просушил, герметично заклеил, и вот решил проверить((
Можно по логам понять с ними проблема или нет?

smalltim

Борис, под конец режима автономного полета (полет по точкам длился 38 секунд, еще 8 секунд возврат на базу, потом ручное), перед включением ручного управления самолет удаляется от базы со скоростью около 40-50кмч по ГПС, так что 100 там нету.
Удаляется прямо, хотя АП пишет, что до базы нужно довернуть на 150 градусов влево (правильно считает, ГПС данные и траектория подтверждают), выставляет крена 40 градусов влево (у Вас, очевидно, стоит чувствительность по курсу 50% и пределы на крен в поворотах 40 градусов). И при этом АП считает, что с датчиков как раз идут требуемые 40 градусов крена влево.
Да, вот она, проблема с датчиками. Ваш самолет может лететь прямо с креном 40 градусов?

KBV

Нет конечно, не может. Спасибо 😃 Попробую протереть спиртом, если не поможет- обращусь за новым.

ps Ах вотано в чем дело! А то уже начал сомневаться в своей адекватности- как мог летать с таким горизонтом???.. А оно плавающее было и вылазило в неподходящий момент (наверное на холоде термоусадка дубела или при деформации фюзеляжа). Ну тогда все понятно 😃
Еще раз спасибо! Вопрос решен!

smalltim

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

На столе система ведет себя превосходно. Ошибка калибровки компаса или наличие мощных магнитных помех на разумном расстоянии (30-40см) не дает погрешностей на углы крена и тангажа, ошибка по углу курса не выше 10 градусов.
Любые сколь угодно продолжительные манипуляции с платой IMU в руках не выбивают плату из стабильного режима - я не могу вертеть-качать-дергать ее так быстро, чтобы сбить горизонт.
Ударные нагрузки (бросить плату на поверхность), разумеется, сбивают горизонт, время восстановления зависит от того, насколько сбит горизонт, скорость восстановления по углам крена-тангажа оголо 5 градусов в секунду, по углу курса - около 3 градусов в секунду. Это сейчас фиксировано, но, наверное, будет настраиваться автоматически со стороны АП.

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

Обновление прошивки IMU не предполагается, поэтому необходимо сейчас как можно лучше вылизать всю математику получения углов и положения аппарата, а логику выбора режимов компенсации, подстройки чувствительности и т.д. возложить на АП - он и так уже 90% этой работы делает, работая с пиродатчиками.

Сейчас цикл опроса датчиков+математики IMU вертится с частотой около 600 Гц. Думаю, этого достаточно для любых самых шустрых аппаратов.
АП вынимает данные из IMU с частотой 125 Гц. Думаю, для самых шустрых аппаратов надо будет поднять до 250 Гц, и перейти на быстрый PPM или I2C.

Серийная партия IMU уже давно в производстве, будет готова даже раньше, чем я допилю математику.

baychi
smalltim:

Обновление прошивки IMU не предполагается, поэтому необходимо сейчас как можно лучше вылизать всю математику получения углов и положения аппарата,

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

smalltim

Во-первых, без испытаний на всех типах моделей IMU выбущена не будет.

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

В-третьих, в случае крайней необходимости можно запилить обновление прошивки IMU средствами АП.

Юрий_Захаров
smalltim:

Обновление прошивки IMU не предполагается

Элементная база не позволяет? Или так и задумано?

smalltim:

возложить на АП - он и так уже 90% этой работы делает, работая с пиродатчиками.

Но ведь с пиродатчиками всё по-другому?

baychi
smalltim:

без испытаний на всех типах моделей IMU выбущена не будет.

Это сколько же еще ждать? 😃

PS: Если-б ты с IMU платки брал только сами показания MEMS-ов, а алгоритм определения положения крутился бы на АП - перещивка скорее всего не потребовалась. Но эта задачка явно не для Меги…

smalltim
Юрий_Захаров:

Элементная база не позволяет? Или так и задумано?

Так задумано, по крайней мере, сейчас. Я же обновляю прошивку IMU, пока работаю над ней 😃

baychi:

Это сколько же еще ждать?

Совсем недолго. Для отработки 90% функций IMU достаточно сидеть дома и грубо говоря вертеть плату во все стороны всячески, включая неочевидные и диковинные варианты, погода-зима-холод - не помеха. Оставшиеся 10% проверяются в поле.

baychi:

PS: Если-б ты с IMU платки брал только сами показания MEMS-ов, а алгоритм определения положения крутился бы на АП - перещивка скорее всего не потребовалась. Но эта задачка явно не для Меги…

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

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

Ну, и для всяких коптеров надо настраивать тип аппарата, но это к IMU не относится, это настройки АП.

c4Faraon
smalltim:

Совсем недолго. Для отработки 90% функций IMU достаточно сидеть дома и грубо говоря вертеть плату во все стороны всячески, включая неочевидные и диковинные варианты, погода-зима-холод - не помеха. Оставшиеся 10% проверяются в поле.

А можно выложить видеоролик как это шустро выглядит на компе (отработка углов и наклонов).
Просто на платке ОпенПилота все очень шустро на компе отображается, хочется сравнить

how-eee
smalltim:

Обновление прошивки IMU не предполагается

А не получится как с фишкой?

baychi:

Но в любом случае готов проверить новый IMU, как только появится опытная партия.

+1. возьмите меня тоже в тестеры!

ps продаю комлект пирометров 😉 😁

river3
c4Faraon:

А можно выложить видеоролик как это шустро выглядит на компе (отработка углов и наклонов).
Просто на платке ОпенПилота все очень шустро на компе отображается, хочется сравнить

Саня , Тим уже выкладывал , вот видео rcopen.com/forum/f90/topic205896/3592

Nikki
smalltim:

Добавление: в низу окошка редактирования полетных точек надо из выпадающего списка выбрать тип карты - спутник, ландшафт, карта, и т.д.

Соответствующий скриншот Контрольной панели из Мануала:

Хорошо бы добавить в карту ручной zoom и перетаскивание карты мышкой, а автомасштабирование отключить. Из-за него иногда точки нереально переставить, когда только возьмешься за нее, и начинается масштабирование туда-сюда.

PS.
А нет ли в природе симулятора, который может сливать данные о полете в АП (вместо телеметрических датчиков), и рулиться, соответственно, автопилотом? Т.е. по схеме пульт–>приемник–>АП<–usb–>симулятор.

smalltim
Nikki:

Хорошо бы добавить в карту ручной zoom и перетаскивание карты мышкой, а автомасштабирование отключить. Из-за него иногда точки нереально переставить, когда только возьмешься за нее, и начинается масштабирование туда-сюда.

Да, не совсем удобно, согласен. +1 в список хотелок, попробую сделать так, как Вы предлагаете.

ilves

Жизненный вопрос возник, может разбирали?
Как будет работать автопилот, если мотор/регуль сгорел.
Не завалит модель?
Как заранее проверить поведение и настройки подправить?

Вот была у меня возможность проверить, но как-то не сообразил.
А повторить сложно.
Вылетать маленький аккум до 0 и включить? Опасно… да и аккум жалко.

smalltim

Если мотор/регуль сгорел, то есть несколько вариантов поведения, в зависимости от текущего режима.
В любом режиме главная беда - потеря скорости.

  1. В ручном режиме просто сажаем модель на ближайшую подходящую площадку и всё.
  2. В режиме стабилизации или в Круиз-Контроле без удержания скорости АП адекватно рулит моделью до тех пор, пока присутствует скорость и, следовательно, управляемость. Рулите как в ручном режиме, планируя, просто со стабилизацией полет поспокойне и поплавнее. В целом - так же, ищем место, сажаем модель и всё.
  3. В круиз-контроле с удержанием скорости, в автовозврате и в полете по точкам АП будет стремиться удержать целевую высоту, но модель при этом будет плавно снижаться - мотора-то нет.
    Постепенно требуемый положительный тангаж (и, следовательно, отклонение РВ, элевонов или что там еще поставлено на модели) станет таким высоким, что модель начнет валиться на крыло. Свалится, наберет скорость, выровняется. Опять свалится, наберет скоротсь, выровняется. И так до самой земли.

В общем, конечно, не морква прямиком в землю, но моделька будет помята, ничего хорошего.

ilves

Самое главное-как раз режим автовозврата(с остальными понятно).
Скорее всего, если модель далеко, видео и связь пропадёт на довольно большой высоте(запросто на 100 и более метрах). Т.е. ещё долго ей лететь на автопилоте.

Есть ли возможности подстроек автовозврата для планирования?
Чувствительность по высоте снижать? Плохо может оказаться для нормального полёта…
В любом случае будет периодическое сваливание?
Как проверить такой режим на практике, заранее?
Круиз-режим с удержанием высоты и газа в 0% будет полностью аналогичен?

smalltim
ilves:

Есть ли возможности подстроек автовозврата для планирования? Чувствительность по высоте снижать? Плохо может оказаться для нормального полёта…

Первое, что в голову приходит - ограничить отрицательный тангаж в автономном полете (автовозврат, полет по точкам) где-нибудь в минус 2-3 градуса. Тогда АП просто не сможет резко снижаться до целевой, будет планировать.
Однако ж, у меня в Контрольной Панели стоит ограничение, позволено ставить -15 градусов или больше: защита от неправильных действий юзера. А вдруг он поставит 0 или очень маленькое значение, и что будет делать АП, когда надо реально быстро снижаться? 😃

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

ilves:

В любом случае будет периодическое сваливание?

Думаю, да. Зависит от модели, но шанс 99%.

ilves:

Как проверить такой режим на практике, заранее?

Выделить на АП сквозной канал, повесить его на тумблер на аппе, замиксовать его во всех режимах (ручное/стаб-круиз/автовозврат-полет по точкам) микшерами АП на выходной канал газа, с инвертом и с весом 100%. Тогда АП в любом режиме будет миксовать значение с тумблера на газ. Этакий Throttle Cut силами АП.

На выходном канале газа будет расчитанный автопилотом газ, если тумблер в нуле, и рассчитанный автопилотом газ минус 100% (конечно, обрезанный по калиброванному диапазону в канале газа, то есть, в итоге, 0%) при тумблере в 100%.

Врубаем автовозврат, самик летит как обычно. Щелкаем тумблер в 100% и смотрим, как ведет себя с придушенным газом.

Микшера и сквозные каналы АП - сила! 😃

ilves:

Круиз-режим с удержанием высоты и газа в 0% будет полностью аналогичен?

Да. Можно не плясать с микшерами и сквозными каналами (но лучше это попробовать, очень полезная штука).

Только в круиз-контроле нет возможности удерживать газ. Есть возможность удерживать скорость, АП в этом режиме играет газом сам.

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