OpenPilot and CopterControl

openpilot

а с какой фишкой ты ее сравниваешь?

Я пока не встречал ни одного продукта в такой же ценовой категории до $100 (как из серии FY, так и вообще в своем классе), поддерживающего все виды летательных аппаратов.

Ну с теми которые без автопилота очевидно.

Маленькая поправка: CC не ориентирован на навигацию. Но он уже делает ее на самолете при подключении любого NMEA GPS и зашивке специальной прошивки. В данный момент это лишь функция удержания позиции полетом по восьмерке над заданной точкой (при переключении тумблера), но позже будет также функция возврата домой, столь желаемая для FPV (вопрос только в фиксации начальной позиции и активации ее по тумблеру). Возможно, это появится в master, но пока таких планов нет, и это остается отдельной веткой разработки.

Плюс у сабжа 6 PWM входов/выходов

При использовании PWM входа в штатной прошивке. Но уже проверен вариант с 9-ю PWM выходами при использовании входов Spektrum/S.Bus/PPM. При этом остальными PWM выходами становятся незадействованные в этих интерфейсах PWM входы. Пока это не в опубликованной прошивке. Официально оно может выйти, когда появится динамическая конфигурация всей периферии, над этим работают.

CC может принимать полный PPM-сигнал и распознать в нем все 8 каналов (или 7, как в некоторых приемниках FrSky)? или это заложено только в будущем OpenPilot?

Все. В данный момент реализована поддержка только 8 входов, но в комментарии к исходным текстам есть приписка: “Может быть и больше, если надо”. На данный момент не надо, поскольку поддержано только 8 выходов в микшерах, но это легко решается. Для ниши CC это не требуется.

Пока нет, только PWM из коробки. Но я видел народ дописал прием S-BUS и сателлитов спектрума, те можно, но надо руки приложить, железо поддерживает.

Не совсем так. С первых же опубликованных сборок прошивки и GCS поддерживалось как PWM (6 каналов на CC), так и Spektrum satellite (8 каналов). Поддержка S.Bus уже в master (принимается все, но пока декодируется только 8 каналов, остальные 8+2 цифровых легко добавить, но пока некуда их направлять). Поддержка PPM еще не в master, но работает (возможно, еще будет переписана). Предполагается, что все 4 протокола появятся в очередной сборке ПО, ориентировочно ожидаемой через 1-2 недели наряду с некоторыми другими фичами вроде гиростабилизации камеры двумя свободными PWM выходами, режимами Heading Hold для вертолетов и мультироторов (также применимом и для самолетов для автоматического удержания, например, угла набора высоты), развитием GUI настроек для вертолетов и кое-чем еще.

Syberian

Слишком много “пока” и “но” в теме ОП 😛

openpilot
Syberian:

Слишком много “пока” и “но” в теме ОП 😛

Про OP (OpenPilot Pro/INS) пока разговора нет. Нет предмета разговора. Абсолютно согласен.

Разговор про CC, позиционируемый как стабилизатор для 3-6 мультироторов, флайбарлесс вертолетов, самолетов - всё в одной плате и одной прошивке с разницей только в run-time конфигурации. Всё это он уже делает. Тут нет никаких “но”, есть только резервы для совершенствования в смысле качества, например, стабилизации, и юзабилити. И многое в этом плане уже сделано и выйдет после внутреннего тестирования. Но то, что уже есть - оно летает.

Поддержка 4-х заявленных протоколов на входе - есть сомнения, что оно работает? Исходные тексты открыты, любой желающий может собрать код и проверить. Тут нет никаких “но”. Просто make package, и через 5-20 минут все коды прошивок, бутлоадеров, и PC софта готовы.

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

Потому я не совсем понимаю иронию. Было бы хуже, если бы писалось нечто вроде “обещали 8-роторник, но не получилось - будет только 6”. Но когда пишешь, что “обещали 6, но сделаем 8”… Не могу понять иронии. 😃

Armin

начал присматриваться к OP, посмотрю еще немного, подожду, и склоняюсь к тому, что буду вынужден покупать

openpilot

Но уже проверен вариант с 9-ю PWM выходами при использовании входов Spektrum/S.Bus/PPM. При этом остальными PWM выходами становятся незадействованные в этих интерфейсах PWM входы. Пока это не в опубликованной прошивке.

Видео выложено час назад как проверка концепции.

V8 copter with CopterControl

Комментарий к видео:
Модифицированное firmware позволяет использовать PWM входы как выходы при приемниках PPM, Spektrum, S.Bus. 8 выходов задействовано, до 12 возможно. Данная модификация в данный момент вносится в git репозиторий, как ветвь разработки.

KIR2142

Вы про флайбарлесы упомянули. Ваша FBL летабельна на классике?

openpilot
KIR2142:

Вы про флайбарлесы упомянули. Ваша FBL летабельна на классике?

Да, но это имеет смысл разве что с точки зрения стабилизации аналогично FlyMentor или HeliCommand. Он может сделать из классики аналог соосника с точки зрения управления (что полезно для начинающих), а также выполнять автоматическое выравнивание модели постоянно или по щелчку тумблера (аналогично SK720).

Это же работает и на самолетах, см. для примера ролик ниже (лучше всего смотреть в HD, чтобы было видно модель). На 2:19 самовыравнивание из спирали, а с 3:00 - выход из перевернутого полета в нормальный (летели в ручном, потом ручки отпускаются, тумблер переключается в режим выравнивания, модель переворачивается полубочкой и летит дальше).

Та же функциональность доступна и для вертолета, но пока что мы не управляем каналом шага (точнее, микшируем его в числе прочих, конечно, но не управляем с точки зрения удержания высоты - это пока не реализовано).

(видео снято еще 10-го февраля 2011 года, но пока не было доступно предмета разговора, оно присутствовало только на wiki проекта)

PS. Штучка с антенной сбоку - это Wi232 от Mikrokopter для упрощения настроек без подключения USB. Просто было в наличии на тот момент.

AlcoNaft43
Syberian:

Слишком много “пока” и “но” в теме ОП 😛

У проекта две проблемы:

  1. не хватает разработчиков
  2. плохо с доступностью плат

Но было бы здорово, что бы усилия разработчиков были сконцентрированы на одной плате/проекте и этот вполне для этого подходит.

openpilot
AlcoNaft43:

У проекта две проблемы:

Абсолютно согласен с первой проблемой: разработчиков не хватает, тем более, что сейчас по ряду причин два разработчика GCS не могут уделять достаточно времени проекту. Потому везде подчеркивается: “Get involved”, “Подключайтесь и помогайте проекту, если он вам нравится”. В этом плане нельзя не поблагодарить несколько русскоязычных участников (двое из них присутствуют в этой ветке): Сергея (большой FPV трикоптер) и Андрея (FPV самолет) с Украины, помогающих тестировать и оптимизировать настройки, и Дмитрия из России, который очень активно помогает в работе над симуляционным проектом в ожидании железа.

Мы были бы рады, если бы к работе над проектом подключились и другие талантливые разработчики, например, тот же Олег Syberian.

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

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

Ну и, чтобы не быть голословным, я надеюсь, Дмитрий не будет возражать, если я продублирую тут его замечательное видео SiTL симуляции. На нем прошивка OpenPilot, скомпилированная для PC, управляет симулированным же самолетом в симуляторе. Железа нет вообще, исключительно симуляция. За подробностями отсылаю на форумы OpenPilot, где его работа описана более подробно. Спасибо, Дмитрий!

serj

Что-то я не понял- а компас-то там есть?
Тим говорил, что нету… Как же коптер без компаса стабилизируется? Также, на видео в 6.39 видна интересная фишка… может, она Fligh Gear-ная , а может и нет… но мнгновеный переворот по крену на 90 градусах тангажа недвусмысленно намекает на эйлеровский базис (как следствие отсутствия кватернионов) или полной неадекватности модели… 😃

AlcoNaft43
serj:

Что-то я не понял- а компас-то там есть? Тим говорил, что нету… Как же коптер без компаса стабилизируется?

Компас планируется в полной версии OpenPilot, где для задачи определения положения в пространстве будет отдельная плата. Для задач именно “стабилизации” коптера, самолета и вертолета компас не нужен. Ухода по Yaw практически нет и так.

openpilot
serj:

Что-то я не понял- а компас-то там есть?
Тим говорил, что нету… Как же коптер без компаса стабилизируется?

Проблема в том, что люди путают два разных продукта одного проекта OpenPilot.

Полный вариант называется OpenPilot Pro/INS и включает в себя все, но в природе существует только несколько рабочих прототипов. Потому о нем говорить рано.

И есть также урезанная версия называемся CopterControl. Она задумывалась только как стабилизатор без функций удержания и навигации. В ней нет компаса, у нее своя ниша и свое назначение.

Тем не менее, несмотря на четкое разделение двух продуктов ввиду не совсем правильного исходно названия продукта OpenPilot (приставка Pro/INS появилась позже), все ожидают от CC функциональности Pro или считают, что это есть основная плата, а компасы и прочее выйдет как дополнение. Нет, это разные продукты, но СС использует 95% исходного кода полного OP.

Потому у меня в руках сейчас уже находится небольшая (14x14мм) плата с барометром и магнетометрами, подключаемая к CC по I2C. С ней + GPS можно будет выполнять функции удержания позиции и на коптерах. Но пока нет разработчика, кто бы написал (или запустил код OP Pro) для нее на CC. Это не является приоритетной задачей для разработчиков проекта, но это возможно силами новых участников.

Но все же повторю, что CC не задумывался как основная платформа - это побочный продукт для своей ниши (хотя и достаточно функциональный для своей цены). Он не конкурирует с Mikrokopter, например, иначе при доращивании его он станет таким же монстром, как и MK с кучей плат и за уши притянутыми интерфейсами типа роутинга serial через Navi c FC. Это возможно, но нецелесообразно. Лучше дождаться основного продукта.

HikeR
serj:

Также, на видео в 6.39 видна интересная фишка… может, она Fligh Gear-ная , а может и нет… но мнгновеный переворот по крену на 90 градусах тангажа недвусмысленно намекает на эйлеровский базис

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

потом, наверное не крен Вы имели ввиду, а тангаж, ну так тут все просто. работал режим Rate, на полное отклонение РУС-а “электроника” отреагировала как и должна, согласно заданным максимальным угловым скоростям. а если вы все-таки имели ввиду крен, то это просто внешняя камера слишком резко перевернулась.

а вот в этом видео действительно нет кватерионов ;) тогда еще не дошел до передачи их из симулятора, посчитал что достаточно только угловых положений. но прошивке нужны не сырые, а уже обработанные данные, которых и не было. но это влияет только на режим выравнивания по горизонту, которого в видео не представлено. на текущий момент оба режима я таки запустил, дело действительно в отсутсвии необходимых цифр.
кстати, если в полете какая-то часть данных пропадает, то прошивка ведет себя на удивление адекватно, с ума не сходит и самолет в землю не вгоняет. я пытался максимально достоверно имитировать обмен инфой, цифры от GPS-а идут с частотой 5-10Гц, гироскопы и акселеометры пулеметят 60 раз в секунду, датчики давления и воздушной скорости 2-3 раза в секунду. и получилось так, что вместо высоты пошли пакеты с угловыми скоростями (мой косяк), прошивка как-то выключила сбоящие модули и далее полет шел походу только по GPS. поэтому идеально ровный полет превратился в змею, но итоговый курс не поменялся. кстати, магнитные датчики в програмной симуляции отключены, видимо потому что сим не умеет отдавать неправильные данные ;)

но, текущее положение дел такого, что четыре ядра по 3.5ГГц не хватает для рилталмовой симуляции. прошивка на компьютере полностью съедает одно ядро, а распараллеливаться она не умеет. в результате весь процесс идет раз в 20 медленнее, чем на реальном железе, то есть если взять не цессну, а что-то более быстрое, то результат будет не очень, не хватает быстродействия. нужна живая настоящая плата ;)
ну и симулятор гражданской авиации не совсем подходящее решение, пока что самый подходящий вариант - это Aerosim RC, там и квадро- и всякие другие коптеры есть, и плагины для эмуляции разных OSD имеются, ну и почти все цифры он может наружу отдать. но на халяву работает только 2 минуты :( гранды же симуляторостроения пока не замечены в возможности поделиться внутренней инфой, но это так, к слову.

openpilot
HikeR:

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

Я слышал, это нынче актуально для владельцев FY20A и FY90Q: и те, и другие жалуются, что данные продукты нынче практикуют вгонять самолеты и квадрики в землю без всякой навигации…

Кроме того, хочу обратить внимание, что в данное время навигация в OP (и, соответственно, модели для PC, так как код там один и тот же) не отлаживалась. Потому то, что мы видим сейчас, все еще сырое. Оно уже способно удерживать позицию на квадрике и самолете, но не дошло до уровня даже беты.

но, текущее положение дел такого, что четыре ядра по 3.5ГГц не хватает для рилталмовой симуляции. прошивка на компьютере полностью съедает одно ядро

Скорее, GCS, а не прошивка?

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

нужна живая настоящая плата

Скоро будет 😃

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

Я не думаю, что это большая проблема: X-Plane и IL2 тоже коммерческие. Так что если есть модельный симулятор, который способен выдавать нужные данные - было бы очень интересно его тоже поддержать. Кому надо - купит и будет пробовать, если результат будет того стоить.

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

Я бы поправил: не замечены в желании, а не в возможности.

В свое время я предлагал команде PhoenixRC бесплатно выполнить перевод симулятора. Я даже не был удостоен ответа. На прошлой неделе я снова обратился к ним с предложением поддержать PhoenixRC в OpenPilot HiTL, чтобы использовать его для симуляции. В нем также есть все, включая квадрики, и есть протокол обмена с сервером для совместных полетов, где также, по идее, все должно быть из данных. Но что-то мне подсказывает, что ответа также не будет. Ну, нет - так нет.

HikeR
openpilot:

Скорее, GCS, а не прошивка?

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

openpilot:

Я не думаю, что это большая проблема: X-Plane и IL2 тоже коммерческие.

ИЛ-2 это уж для того чтобы “было”, практической пользы от него еще меньше чем от FG. фишка же X-Plane в его аэродинамической модели, но она совершенно не годится для коптеров и маленьких моделей.
но все равно в итоге упираемся в необходимость наличия железа. я тут вспоминал как перегревался и трещал мой компутер когда в Протеусе эмулировал прошивку для Турниджи, а ведь там куда менее мощная Мега стоит по сравнению с OpenPilot-ом.

openpilot:

есть протокол обмена с сервером для совместных полетов, где также, по идее, все должно быть из данных.

как в любой сетевой игре физика не передается в сеть, только координаты и положение. ну и плюс ник, фотка, чат и тд, вобщем можно и не пытаться. у Феникса обратной связи с общественностью вобще нет , какие уж тут предложения.

наткнулся на подобную фишку у прикольного сима на Java - Clearview, на сайте ни слова, но в ресурсах лежит некое cvapi, предоставляющее полное положение модели, линейные и угловые скорости, плюс прием команд управления. приедет железка - буду пробовать.

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

да, пользуясь случаем хочу уточнить. большинство трехосных стабилизаторов рекомендуется располагать строго “горизонтально”, что меня всегда удивляло. ведь используется 3 практически идентичных гироскопа, но канал вращения обрабатывается как-то иначе. в CopterControl такая зависимость тоже есть, или можно всунуть плату боком в маленького 250-ого верта (ибо иначе она просто не влезет)?

openpilot
HikeR:

ИЛ-2 это уж для того чтобы “было”, практической пользы от него еще меньше чем от FG.

Я бы сказал, что он просто имеет известный интерфейс. Только что пообщался в скайпе с Дэвидом (основателем проекта), он говорит, что был интерес от создателя AerosimRC в поддержке OP симуляции. Просто не дошел ход - у проекта действительно не хватает ресурсов.

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

Тут есть существенная разница: протеус эмулирует процессор, а OP компилирует просто математику под код процессора PC. Потому дело, скорее всего, в неэффективной реализации FreeRTOS порта под win32. Просто оно мало кому нужно, и потому порт как бы есть, но особо не оптимизирован, мое предположение.

как в любой сетевой игре физика не передается в сеть, только координаты и положение.

Ну так, грубо говоря, нам и надо знать положение, координаты, скорость вращения и движения. Все это должно передаваться. Другое дело, что нет обратного канала, управление только локальное. Но кто знает, что там в нем предусмотрено - это я и хотел выяснить, но увы…

наткнулся на подобную фишку у прикольного сима на Java - Clearview

Ага, слышал про такой.

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

См. выше. Если есть возможность сформулировать то, чего не хватает, то у меня есть уверенность на 99%, что мы сможем выйти на разумные контакты. Если Вы поможете с поддержкой сима, я готов взяться за организационную часть.

да, пользуясь случаем хочу уточнить. большинство трехосных стабилизаторов рекомендуется располагать строго “горизонтально”, что меня всегда удивляло. ведь используется 3 практически идентичных гироскопа, но канал вращения обрабатывается как-то иначе. в CopterControl такая зависимость тоже есть, или можно всунуть плату боком в маленького 250-ого верта (ибо иначе она просто не влезет)?

Этой уникальной возможностью с первого же дня использования CC начал пользоваться Сергей на метровом FPV трикоптере (на форумах в Украине есть много инфо). Он заменил платой CC плату KK, и для этого пришлось ставить ее с разворотом на 45 градусов.

Я же на своем микроквадрике (16см мотор-мотор по диаметру) переключал конфигурацию с + на x тоже всего двумя заменами конфига: выбором конфигурации моторов (из списка с Quad + на Quad X) и установкой 45 градусов по оси Z для платы.

В целом, в настройках есть 3 поля ввода: угол установки по X, Y, Z в градусах. Таким образом плату можно поставить хоть по диагонали куба - важно лишь прописать эти три угла, и оно будет работать в любом положении.

Ссылка на документацию по attitude configuration (она не видна в GCS без подключения платы CC или OP, потому Вы ее и не увидели).

HikeR
openpilot:

дело, скорее всего, в неэффективной реализации FreeRTOS порта под win32.

увы, это для меня темный лес. хотя даже в официальных демках для mingw и msvc стоит ремарка типа “не использовать в продакшене, это чисто для посмотреть”.

openpilot:

Если есть возможность сформулировать то, чего не хватает

я заканчиваю катавасию со злосчастным джойстком чтобы (по возможности) его приняли для master, думаю что возможность гарантированного обмена с симом на 60-120Гц куда лучше текущих 20 на выход и сколько-получится на вход 😉 ну а после этого подключать любые сторонние симы довольно легко.

openpilot:

аким образом плату можно поставить хоть по диагонали куба

вот это весьма радует.
а отсутствующая страничка с конфигами восполняется UAV браузером 😉 я таким образом “подгонял” начальное положение чтобы самолет в удержании горизонта летел немного задрав нос (контроля высоты пока нет, поэтому работает).

openpilot
HikeR:

а отсутствующая страничка с конфигами восполняется UAV браузером 😉

Да, UAV Object Browser дает полный доступ как ко всем настройкам, так и ко всем текущим оперативным данным системы. Добавление в исходниках единственного XML файла с описанием нового объекта автоматически добавит набор исходников для всех прошивок и GCS, и оно все автоматически подключается к телеметрии. А остальные страницы интерфейса - это всего лишь некая пользовательская надстройка, скрывающая под собой детали и объекты реализации. Поэтому новые вещи сначала отлаживаются через браузер. Ну а потом уже к ним дописывается пользовательский интерфейс, визарды и т.п.

HikeR

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

1 month later
sergei_1923

Я что-то не пойму , РРМ поддерживается или нет ? Неделю пытался настроить , не видит приёмника , хотя пищет что он законектился.