Автопилот Arduplane - открытое ПО

ekf

Вот тут задавал вопрос rcopen.com/forum/f90/topic132831/6878 . Ответа не получил. При поиске решения проблемы оказалось, что период повторения импульсов на выходе сервомашинок разных приемников Futaba равен 17.7, 17, и 16 миллисекунд. PPM декодер корректно отрабатывает корректно только период 17.7 миллисекунд и больше. Если меньше - декодер нормально не справляется и сервы дрожат.

Xray

Пардон, что не в тему, но хочется узнать чем отличается версия АРМ 2.6 от версии АРМ 2.8, хочу заказать для ЛК для полетав по точкам, перечитывать все 230 страниц лень, если кому не сложно в крации немного рассказать сказать

STRIMSS
alexeykozin:

нет в природе версии официальной apm 2.8 поэтому задавая вопрос что там должно быть и на как - логично указывать хотябы на производителя
каждый теперь творит что хочет… хорошо если производитель нарисовал доку
а 2.7 2.8 3.0 это маркетинговый ход

Летун_классический

При поиске решения проблемы оказалось, что период повторения импульсов на выходе сервомашинок разных приемников Futaba равен 17.7, 17, и 16 миллисекунд.

Но у меня то они трясутся только в режимах stab и fbwa при THR_MIN больше 0, и то только если отклонить от горизонтали.(автопилот версии 2.5.2)

vasia
Летун_классический:

Но у меня то они трясутся только в режимах stab и fbwa при THR_MIN больше 0, и то только если отклонить от горизонтали

а если вместо приемыша сервотестер… можно наверное запараллелить 1-4 и 8 каналы…будет трястись?

Летун_классический:

Rlink я подключаю через рpm, а фриску2,4 - канал в канал pwm.

, вот тут не совсем понятно …RLink одним проводом подключали? А то ppm pwm тут постоянно с понятиями путаница происходит… фриски какой приемник и на каком пульте стоит.

Летун_классический:

Я отключил всё, оставил только серву и её питание. Управлял по шнуру через комп.

А перемычка по разделению питания на АП снята?

Летун_классический

Сервотестера у меня нет.

RLink одним проводом подключали?

Естественно одним. А что разве в АРМ можно 2 ррм сигнала подать? Фриска обычная V8FR-II и аппа 9XR.

А перемычка по разделению питания на АП снята?

Естественно снята, я уж не такой новичок 😃 Я даже внешний энкодер подрубал. Результат тот же.

vjick

а другой приемник не пробовали?

а перемычка между 2м и 3м каналом есть?

alexeykozin
Roman_Rizak:

Кто-то пробовал делать перевод принципов навигации L1?

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

  • уменьшить L1 период до 17-20
  • настроить дэмпенинг
  • не уменьшать радиус вейпоинта, точности это не добавляет но приводит к осциляциям при слишком близких точках
Roman_Rizak
alexeykozin:

это все интересно лишь в случае если очень хочется отдебажить код.

мое мнение расходится с Вашим, не понимая логики навигации АП, сложно правильно настроить автопилот
ну судя по всему увеличение L1 сгладит повороты для больших моделей
с демпингом пока не разобрался
если задача фотограмметрия, то увеличение размера путевых точек приведет к “срезу” пути на радиус путевой, а это увеличение паразитного пути, особенно для крупных масштабов

alexeykozin
Roman_Rizak:

мое мнение расходится с Вашим, не понимая логики навигации АП, сложно правильно настроить автопилот

но основной параметр практически один L1 период дампенинг влияет мало.
акцент моего мнения в том что читай не читай - настройка для навигации практически одна.
если нужно изменить качество пилотирования на классической самолетной модели (не ЛК) нужно вмешиваться в код.
логика управления РВ и РН мягко говоря несколько ошибочна, работоспособна на небольших углах крена, но если разрешить крены за 60 градусов и посмотреть как он ведет себя в симуляторе - многое станет понятнее.
питч модели влияет напрямую только на РВ, когда в крутом маневре, на ноже питч надо держать за счет РН, а совершать разворот за счет РВ “на себя”. Проблема в том что основной разработчик Ардуплане летает преимущественно на ЛК

Roman_Rizak

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

alexeykozin
Roman_Rizak:

то навигация к методу управления имеет только косвенное отношение

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

  • стабилизация
  • навигация
  • управление мощностью мотора
    под навигацией подразумевается вычисление необходимого угла самолета в пространстве для совршения маневра в автоматических режимах
    под стабилизацией расчет сигналов управления сервоприводами для достижения требемого системой навигации угла в пространстве (в крайних прошивках с учетом текущей угловой скорости)
Roman_Rizak
alexeykozin:

я оперирую терминологией принятой в коде ардупилота.

в этой терминологии я лишь рассматриваю логику отслеживания пути заданную путевыми точками, при внешних воздействиях
а вот управление самолетом “на ноже”, требует знания аэродинамики фюзеляжа, что потребует хорошей подготовки пилота дабы правильно настроить АП в таких режимах (тут все сложнее)
к примеру при создании модели самолёта в симуляторе FMS аэродинамика задается эпюрами несущих поверхностей, в том числе эпюры задаются и для фюзеляжа, отсюда симулятор моделирует полет модели “на ноже” (грубовато в сравнении с более продвинутыми платными симуляторами, у которых считается аэродинамика)
так вот, в ардупилоте придется повторить сей подвиг, а логика отслеживания пути не изменится (код не читал и не знаю, как это реализуется в данный момент)

alexeykozin
Roman_Rizak:

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

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

ufo_bobrovsk

ребята подскажите как к апм 2,6 подключить вторую батарею, вообщем 1 батарея питает самолет 4S, на миносд все видно, вторая питает видео, дак вот как подрубить ее чтобы я на осд видел заряд второй батареи? если было извиняюсь.

vasia
Летун_классический:

Сервотестера у меня нет.

Летун_классический:

Естественно снята, я уж не такой новичок

Гений и злодейство, (отсутствие сервотестера и не новичок) - две вещи не совместны.
Энкодер это конечно лишнее звено. Попробуйте подключить все каналы по PWM, а по крену подключить сервотестер. По крайней мере исключите из числа подозреваемых приемник и РУ.

X3_Shim
vasia:

Гений и злодейство, (отсутствие сервотестера и не новичок) - две вещи не совместны.

Блин, пойти что ли сервотестер купить ? А зачем он кстати ?

egunak95

Собрал такое:

Соединение треккера антенн (телеметрия и видео) через блютус. Схема собрана из Maestro micro 6 + SeedBTSlave+ArduinoUNO с применением Ардупилота АРМ1 и Mission Planer ver. 1.2.92. Параметры порта 38400 бит/с. В Arduino код из примера BluetoothShieldDemoCode_slave. Настройки Maestro micro 6 для серво лебёдок 3х оборотных, подключается через UART на ArduinoUNO входы 0 и 1, SeedBT на входы 6 и 7. Также можно подключить и канал телеметрии если перенастроить BluetoothShield на передачу 57600 бит/с. Видео тут:

prg
ufo_bobrovsk:

ребята подскажите как к апм 2,6 подключить вторую батарею, вообщем 1 батарея питает самолет 4S, на миносд все видно, вторая питает видео, дак вот как подрубить ее чтобы я на осд видел заряд второй батареи? если было извиняюсь.

Максимум, что сейчас возможно без опыта программирования - показать напряжение второй батареи.
Для этого нужно относительно свежую прошивку arduplane (3.1.0+) и последнюю мою прошивку minimosdx2 (0.5.1). По железу нужен как минимум делитель напряжения,
чтобы подключить акк к аналоговому входу автопилота.

vasia
X3_Shim:

Блин, пойти что ли сервотестер купить ? А зачем он кстати ?

Исключения только подтверждают правила =)). При поисках косяков можно использовать. Не работает серва ( аааа регуль сгорел, не пашет) -проверить, перед установкой сервы - выставить нейтраль (цифровую серву запрограммировать). Чтоб исключить проблемы с РУ подключить в in канал АП - проверить реакцию. (но гуру то знают другую массу способов все проверить, им проще в код залезть). При этом не городить огород с передатчиком - приемником. Ну и вообще инструментарий порой определяет постановку эксперимента, один и тот же результат можно получить используя бензопилу, топор или микроскоп.

X3_Shim

Спасибо комраду PRG

Обратите внимание на две эффективности на OSD

vasia:

Исключения только подтверждают правила

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

Летун_классический

Ну по мне так абсолютно ненужная вещ. Попробую конечно раздобыть на кружке, а то совсем не хочется покупать его, чтобы потом поюзать 1 раз в жизни. И трясутся не только питч сервы, а все и элеватор и рудер. Да и нипричём тут приёмник, колбасит его при очень экзотических условиях.
Скиньте вася свой лист настроек, попробую его залить и посмотреть что будет.

Обратите внимание на две эффективности

И что это за эффективность?

X3_Shim
Летун_классический:

И что это за эффективность?

это эффективность подъема паша.