Ежа с ужом? - или некие размышления о правильном полетном контроллере. (записей: 10)

  • Аватар профиля Night_Ghost Night_Ghost287 пунктов в 7 г., 10 мес. назад

    Первым популярным двухпроцессорным полетным контроллером был PixHawk, это унаследовали и все его клоны. Вот только  эта многопроцессороность в нем более мешает чем помогает - второй камень используется лишь как драйвер ввода-вывода без собственного вклада в управление полетом.

    А что если...

    Вот существует же просто замечательная программа для управления гоночными квадриками, и не одна! Идеально держит углы, не подвержена раскачке от попадания в вихревое кольцо, и что самое характерное - из-за простоты алгоритма умеет работать с частотой цикла аж 32КГц - то есть на каждый импульс ШИМ на моторы выдавать новое значение!

    Угловая стабилизация Ардукоптера - полная противоположность. ДАнные с сенсоров снимаются с огромным джиттером, цикл расчета включает кучу разных (порой ненужных) вычислений, так что частота выдачи команд на моторы не превышает 500 герц. Но и это - огромный шаг вперед по сравнению с тяжкеми 8-битными временами, когда эта частота была всего 50 герц и то с трудом. Зато все остальное - просто на высоте! Автоматические взлет-посадка, умное отслеживание направления на точку съемки при облете, и прочее прочее.

    Так вот, а почему бы не дать каждому делать то, что он умеет лучше всего? Берем два контроллера, связанных по SPI, в отдном вертится быстрый цикл стабилизации угла, а другой пусть делает все остальное - всяческие навигации, акселерометры, барометры и прочее. SPI работает на ~40MГц, так что определенно не будет узким местом.

    Какие могут быть минусы в такой схеме кроме цены и потребления?

     

  • Аватар профиля kozin Алексей Козин в 7 г., 10 мес. назад

    мы уже обсуждади эту идею в кругу разработчиков F4by.

    в дополнение - пришли к выводу что в этом случае должно быть два мпу.

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

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

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

  • Аватар профиля Night_Ghost Night_Ghost287 пунктов в 7 г., 10 мес. назад
    [2017-01-16 10:53:41] kozin писал(а):  в этом случае должно быть два мпу. один подключен к "навигационному контроллеру" второй к контроллеру угловых скоростей рамы

    Не обязательно, если связь  процов делать под DMA. Положил данные в память, начал передачу -  и считай себе спокойно углы. Навигационный получит эти данные примерно через пару uS что гораздо лучше чем сейчас в Ардукоптере. Зато навигационный контроллер может иметь цикл хоть 50гц в этом случае.

    [2017-01-16 10:53:41] kozin писал(а): я даже предложил вариант связать контроллеры не по spi а по PWM

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

    [2017-01-16 10:53:41] kozin писал(а): вполне может отказаться что справится и самостоятельно

    Тут смотря какую цель ставить. Если устраивает нынешнее "как-то держится" и нет стремления добиться Бетафлаевского "висит как прибитый" то может и можно считать что справится.   Но все же есть некая разница времени цикла в 400гц и в 32кГц (с новым значением на каждый импульс ШИМ мотора!). Я имел сравнить как ведет себя один и тот же коптер с разными прошивками при снижении в вихревом кольце. А для пущего веселья  надо рядом снижать коптер с 8-битным мозгом и регулями СимонК :)

  • Аватар профиля kozin Алексей Козин в 7 г., 10 мес. назад

    мы летали, собиралидва идентичных аппарата но с разными контроллерами, мы уже близко но рейсерский все равно чуть лучше рулит)

  • Аватар профиля Night_Ghost Night_Ghost287 пунктов в 7 г., 10 мес. назад

    Просто летали - или именно тест на вихревое кольцо? Таки ж Бетафлайт и среди рейсерских выделяется именно практически полным отсутствием PropWash, и ИМХО дело не только в алгоритмах но и в скорости.   Я не просто так упомянул 8-битные - в спокойную погоду они тоже вроде как летают... пока на них не дунет. Версия 3.2.1 с ЕКФ тому особым примером :)

  • Аватар профиля kozin Алексей Козин в 7 г., 10 мес. назад

    в принципе оба летают идеально в любую погоду, турбулентность,

    мы выявили два интересных критерия стабильности. 

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

     2. тест удержания угла в фпв полете в режиме толчка - полета по инерции в режиме малого газа.

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

  • Аватар профиля Night_Ghost Night_Ghost287 пунктов в 7 г., 10 мес. назад
    [2017-01-16 13:01:55] kozin писал(а): мы выявили два

    А теперь организуйте двойное слепое тестирование с  гонщиками - и КМК выявится еще пара-другая разниц  :roll:

  • Аватар профиля Night_Ghost Night_Ghost287 пунктов в 7 г., 7 мес. назад

    Ооо какие ноовости! Похоже что Мавик сделан именно по такой схеме! Вот тут есть список компонентов, среди которых отдельно "полетный контроллер" - небольшая дешевая платка с регулями и сенсором IMU на подвесе, и отдельно дорогущая "Core board" с огромным радиатором, требующим вентилятора.

    Похоже это "ВЖЖЖ" неспроста (С)

  • Аватар профиля arkbox Arkady Zilberman в 7 г., 7 мес. назад

    У всех DJIев стабилизация висения завязана на оптику, разумеца там требуется дополнительный проц с умной программой отслеживания точек. И частота выдачи координат может быть не больше 10 hz и этого будет достаточно... Все эти 500 гц на моторы, это от лукавого, инерционность даже маленьких коптеров не требует такой резолюции..

  • Аватар профиля Night_Ghost Night_Ghost287 пунктов в 7 г., 7 мес. назад
    [2017-04-26 12:57:47] arkbox писал(а): всех DJIев стабилизация висения завязана на оптику

    ну во-первых не у всех, во вторых это отключается, в третих бывают "сложные" поверхности.

    [2017-04-26 12:57:47] arkbox писал(а): Все эти 500 гц на моторы, это от лукавого

    Спасибо, насмешили :)

← Форум группы   Все форумы К последней записи
Постов на странице:

Вы автоматически вступите в эту группу, когда ответите в теме.

Добавить ответ:

-
Рейтинг@Mail.ru