Платы CopterControl, CC3D, LibrePilot, Revolution от OpenPilot
ага
правда мне показалось что на стоке немного расходов не хватает
надо менять максимальные угловые скорости и максимальный угол в стабилизации, расходы аппаратуры не причем.
а вот в режиме attitude расходов 125% явно недостаточно.
Attitude настройки по умолчанию в той версии прошивки были специально “задавлены” для того, чтобы начинающие пилоты могли сразу получить результат. В частности, максимальные углы наклона при 100% ручки стояли 35 градусов, что однозначно мало даже для полетов в умеренно ощутимый ветер. Потому первое, что можно сделать - это поднять эти углы до 55-60 градусов. В текущей сборке, кстати, мы уже так и сделали - теперь это умолчание.
Так что я бы расходами и экспонентой передатчика только “урезал” расходы при необходимости. А поднимать их следует через вот это (см. аттач).
А для любителей Rate рекомендую опробовать режим AxisLock по всем осям. Это, по сути, комбинация Rate и Attitude: при отлонении ручки работает как Rate, при отпускании фиксирует текущий угол по отношению к горизонту (может быть полезным увеличить MaxAxisLock с 5 (старые дефолты) до 15 - см. аттач). Разница с Rate - при порыве ветра аппарат не “забрасывает”, а только поднимает выше или ниже. Ощущение вертолетного режима Heading Hold, но по всем осям.
PS. На этом форуме появляюсь очень редко, если только кто-то пришлет ссылку. На форуме проекта сижу круглосуточно. Потому прошу не обижаться, если заданные тут вопросы остаются без моего ответа - не хватает сил на все форумы.
Потому прошу не обижаться,
Олег какие обиды, и не нужно распыляться, лучше будь на ОП, по крайней мере все будут знать где тебя искать…
Мене тоже платка пришла! Побаловался в граунд станции - обалденно все работает. На следующей неделе надеюсь получу моторы и регули, на выходных в небо :]
я решил в зиму сделать комнатную версию , но паралельно средней тяжести гекса делается .
я решил в зиму сделать комнатную версию , но паралельно средней тяжести гекса делается .
Сергей, оффтоп, а чем ты видео снимал с опенпилотом и граундконтролом пару сообщений назад, на ютубе которое?
Вопросы наверное к Олегу:
- подтверждаете ли информацию приведенную выше, что “вышла релизная версия” и новые платы можно заказывать? На украинском сайте пока обновлений не видно.
- есть ли на плате свободные пины для доп.сенсоров, например можно ли (хотя бы теоретически) добавить сонар или компас, подсоединив новую плату с датчиками, или все выводы уже заняты?
Заранее спасибо.
Сергей, оффтоп, а чем ты видео снимал с опенпилотом и граундконтролом пару сообщений назад, на ютубе которое?
зеркалкой sony альфа 35 www.thg.ru/technews/20110608_212900.html
Вопросы наверное к Олегу:
- подтверждаете ли информацию приведенную выше, что “вышла релизная версия” и новые платы можно заказывать? На украинском сайте пока обновлений не видно.
- есть ли на плате свободные пины для доп.сенсоров, например можно ли (хотя бы теоретически) добавить сонар или компас, подсоединив новую плату с датчиками, или все выводы уже заняты?
Заранее спасибо.
незнаю когда Олег ответит , но щас плата только стабилизации , а про что вы говорите будет называтся OpenPilot Pro ,приблезительный выход платы НГ
это информация от него , перед заказом этих платок , общались с ним.
Ну если на плате есть свободные незадействованные выводы, то подключив сенсор, код можно попробовать и самому дописать, все ведь как я понимаю, в исходниках доступно. Вопрос, есть ли.
Ну если на плате есть свободные незадействованные выводы, то подключив сенсор, код можно попробовать и самому дописать, все ведь как я понимаю, в исходниках доступно. Вопрос, есть ли.
вроде на офф форуме есть такая информация , вроде возможно.
- подтверждаете ли информацию приведенную выше, что “вышла релизная версия” и новые платы можно заказывать? На украинском сайте пока обновлений не видно.
И да, и нет.
Да - то, что вышла релизная версия железа CopterControl. Точнее, она вышла 20-го мая (хотя летала у нас с февраля) и с тех пор не менялась и меняться не будет. Релиза софта пока что официального нет, но железо финальное. Плата имеет свою область применения и не будет расширяться нами.
Нет - то, что платы есть в свободной продаже. Если посмотреть по официальным магазинам, то их нет нигде. Проект выпускает их небольшими тиражами, и это делается сознательно. Потому что мы не сможем обеспечить поддержку тысячи новых пользователей сразу. А это мы рассматриваем как очень важную часть проекта. Потому чтобы не создавать ему плохую репутацию в виде отсутствия ответов, мы стараемся постепенно по шагам создавать сообщество заинтересованных в проекте людей, кто будет помогать новым пользователям.
На данный момент ситуация с платами обстоит именно так, как написано на том сайте, и если после отработки предварительно сделанных заказов что-то останется - оно будет в свободной продаже. Посколько не ясно, будет ли это (желающих много), на сайте нет кнопки “Купить”, он только принимает запросы через форму и ставит в очередь на приобретение (без предоплаты). Отказ от предоплаченных преордеров - политика всего проекта, так как оплаченные заказы, хотя и подтверждают серьезность намерений, ставят проект в состояние стресса, а этого не хочется, так как не стоит задачи быстро продать пару тысяч плат (см. выше), каждая плата индивидуально тестируется нами, и мы не можем предсказать процент выхода годных (те, что не устроили нас по качеству, в продажу не поступают). Потому приоритет отдается тем, кто реально заинтересован в проекте и не поленился оставить заявку.
есть ли на плате свободные пины для доп.сенсоров, например можно ли (хотя бы теоретически) добавить сонар или компас, подсоединив новую плату с датчиками, или все выводы уже заняты?
Ответ на такой вопрос уже многократно обсуждался на форуме OpenPilot. Я, конечно, повторю, но все же прошу задавать вопросы там.
Свободных пинов на плате нет. Но, во первых, есть резерв за счет использования приемников типа PPM (как в MK), S.Bus, Spektrum - при этом 5-6 PWM входов могут использоваться иначе. Например, как выходы или порт для сонара. Во-вторых, на плате есть два порта, которые могут работать как последовательные порты с разными функциями, либо как I2C порт. В-третьих, см. фото ниже - это имеющая у меня в руках плата с магнетометром и барометром, а также level shifter’ом для I2C. И уже в виде теста написано приложение, читающее данные этих сенсоров, но не интегрированное в основной код.
Точно та же ситуация и с сонаром - есть ветка разработки, в которой два пина использованы для сонара, который прекрасно работает. Но оно не включено в основной код и не поддержано сейчас в фильтре определения состояния системы.
Если почитать на форуме OP, то там также написано, что да - подключить все это можно. Но это не будет делаться силами разработчиков OP, оставляющих это для других энтузиастов. Причина проста: CC задумывался для своей ниши, в которой он и живет. Доращивать его до навигации и прочего не планировалось - для этого будет совершенно другой продукт - OpenPilot Pro/INS, где только инерциальная навигационная система (INS) имеет свой 120MHz процессор, который только обсчитывает с десяток сенсоров. Если пойти по пути доращивания CC, привешивания фич, дополнительных плат и прочего - это получится очередной микрокоптер, который вырос таким путем, и сейчас архитектурно безобразен (хотя нельзя не отдать должное - вылизан довольно прилично за столько-то лет и определенное количество денег пользователей и тестеров). Для CC можно написать оптимальный код, который будет делать хоть навигацию - но при этом придется пожертвовать архитектурой системы, убрав всю ее гибкость. Потому этот вариант развиваться проектом не будет (но никто не мешает желающим просто написать свой код под довольно мощное железо).
Итого, в виде резюме:
- Можно ли подключить что-то как-то аппаратно? Да, через порты, пины, хоть по I2C целые подсистемы.
- Можно ли поддержать это программно? Да, если написать свой несовместимый с GCS код, отказавшись от гибкости системы. Нет, если просто пытаться дорастить - свободных ресурсов процессора на плате не так много, порядка 2кб RAM и 28 Flash.
- Будет ли проект это делать? Нет, это оставлено для тех, кому интересно. Мы готовы оказывать консультации (основной разработчик кода ежедневно по 12-15 часов доступен в IRC чате), но делать этого силами проекта не планируется, все усилия на Pro версию.
Есть одно исключение из сказанного: плата поддерживает любой GPS, и может выдавать по телеметрии данные о позиции (например, через радиомодемы показывать положение на карте). Но навигации по нему для VTOL не будет. Но есть экспериментальная ветка для самолетов, там обеспечивается функция удержания позиции (полетом восьмеркой) и возврата домой. Но только для самолетов. Подробнее см. FAQ в русском разделе форума OP.
Толи я дурак, толи лыжи не едут… где качается отдельно firmware для CC?
где качается отдельно firmware для CC
А зачем? Устанавливаешь прогу, там и фирмваре, ставится она в “C:\Documents and Settings\имя пользователя\Local Settings\Application Data\OpenPilot\firmware”
Олег, спасибо за подробный ответ.
Насчет навигации, это понятно. Жаль лишь что на этой версии платы изначально не предусмотрен компас. Все-таки простые “леталки” типа Gaui это уже позапрошлый век год, и наличие компаса сразу дало бы дополнительные функции и преимущества перед конкурентами. Ведь бог с ним с gps и прочим, а вот режим “удержания носа” (надеюсь понятно что я имею в вижу), когда коптер улетел далеко в точку, это реально важно. Потянул ручку на себя, и коптер летит гарантированно назад. Мне кажется, что сегодня это уже must have в системах нового поколения. Впрочем компас по IC2, это конечно тоже выход.
Заказ оставил, купил бы также плату с барометром и магнетометром.
купил бы также плату с барометром и магнетометром.
У проекта нет планов по выпуску и продаже этих плат, как минимум, до того момента, пока кто-то из новых разработчиков не напишет полноценную поддержку. Для тех, кто заинтересован в схемотехнике - схема и разводка этой платы выложена в git в папке hardware/beta.
Жаль лишь что на этой версии платы изначально не предусмотрен компас
Для задачи стабилизации компас и барометр не нужен. Полетать ФПВ - тоже. Снимать камерой с коптера - тоже запросто можно без них. “Careless” режим который есть у МК с компасом - для тех кто не умеет летать или делает это неправильно. Если коптер надо загнать в точку для съемки - надо летать по видео. Эти навороты нужные только для автономного полета, что как несколько раз было сказано, не является целью данной платы. Но свою работу по стабилизации она делает хорошо, и все конкуренты в попе.
Не знаю, я например при FPV высоту плохо чувствую, и многие тоже пишут об этом. Так что удержание высоты не помешало бы, но понятно что требовать всего от платы в 100$ бесмысленно.
А насчет компаса, тут не соглашусь. Оптом на производстве он явно не сильно удорожил бы плату, зато польза все ж большая. Все-таки большинство “улетов” связаны именно с тем что человек на большом расстоянии теряет ориентацию модели и уже потом управление т.к. не знает куда рулить. Ну и для фото опять же, слетать на 100-200м - вешать видео как бы избыточно, а с компасом было бы как раз самое то.
Ну и кстати, писали про калибровку датчиков по магнетометру во время полета, так что польза для стабилизации тоже есть.
Ну и наконец, повторю написаное выше - разработчикам конечно виднее, но имхо надо сразу закладывать более широкие возможности, чтобы опережать конкурентов. Ну не клоны же гайки штамповать 3х-летней давности…
Впрочем, насколько я понимаю, поддержка баро и компаса по i2c таки будет. Как всегда, фраза уже ставшая классикой - крутим ПИДы, ждем прошивок… 😉
Тоже оформил предзаказ, а пока буду учиться летать на мегапирате.
Сказали же - для компасов, барометров и прочей лабуды будет другая плата к Новому Году… Copter Control это ведь не только коптерский мозги, а еще и вертовый ФБЛ и стабилизация для крыла. Какие реально конкуренты у CC ценой до 100уе? По-моему, никаких.
Ну и наконец, повторю написаное выше - разработчикам конечно виднее, но имхо надо сразу закладывать более широкие возможности, чтобы опережать конкурентов. Ну не клоны же гайки штамповать 3х-летней давности…
Да нет у проекта конкурентов! Не в том смысле, что он уже лучше всех, а в том, что он на так называемых конкурентов не смотрит. Цель проекта - не сделать “быстрее, выше, сильнее, больше, и прибыльнее”. Цель проекта - сделать нечто замечательное, не оглядываясь на других.
Обратите внимание, что в коде проекта нет ни одной строчки чужого кода. Все эти арду с их многочисленными клонами, все эти клоны МК и прочее, портированные на разные платформы - все они дерут код друг у друга. В какой-то момент появляются люди, которые “берут все лучшее из всех проектов”, портируют код AVR для ARM, а потом начинают хвалиться, что их аппарат летает круче остальных. Даже если это так, то это не было и никогда не будет целью проекта OpenPilot, который даже не смотрит в чужой код на предмет “как это сделано у них”. Вся работа делается с нуля самостоятельно, на основе исключительно математики. И потому, да, сегодня он еще не столь оптимален и отработан по алгоритмам, набивает шишки, так как не позаимствовал готовых решений. Но зато все, что вложено в него, полностью однозначно и основано только на строгой математике и собственном понимании того, как оно должно работать, и как оно на практике работает.
А посмотрите на архитуктуру проекта! Я начал писать один модуль, который давно просят люди, но который не очень актуален для автономных полетов. Я добавил всего один XML файл с описанием нового объекта настроек:
<xml>
<object name="TxPIDSettings" singleinstance="true" settings="true">
<description>Settings used by @ref TxPID optional module to tune PID settings using R/C transmitter</description>
<field name="PIDs" units="option" type="enum"
elementnames="Instance1,Instance2,Instance3"
options="Disabled,Roll ,Roll ,Roll ,Roll ,Pitch ,Pitch ,Pitch ,Pitch ,Roll+Pitch ,Roll+Pitch ,Roll+Pitch ,Roll+Pitch ,Yaw ,Yaw ,Yaw ,Yaw "
defaultvalue="Disabled"/>
<field name="Inputs" units="channel" type="enum"
elementnames="Instance1,Instance2,Instance3"
options="Accessory0,Accessory1,Accessory2,Accessory3,Accessory4,Accessory5"
defaultvalue="Accessory0"/>
<field name="Min" units="" type="float" elementnames="Instance1,Instance2,Instance3" defaultvalue="0"/>
<field name="Max" units="" type="float" elementnames="Instance1,Instance2,Instance3" defaultvalue="0"/>
<field name="Discrete" units="bool" type="enum" elementnames="Instance1,Instance2,Instance3" options="False,True" defaultvalue="False"/>
<access gcs="readwrite" flight="readwrite"/>
<telemetrygcs acked="true" updatemode="onchange" period="0"/>
<telemetryflight acked="true" updatemode="onchange" period="0"/>
<logging updatemode="never" period="0"/>
</object>
</xml>
И сказал make. В результате GCS получает вот такую вот новую структуру (см. аттач). То же самое появляется в коде прошивки, где остается только дописать несколько строк - и возможность настройки пидов с передатчика появляется везде. И объект сам знает свои параметры, периодичность обмена по телеметрии, и все прочее. Он же автоматически появится при сборке GCS для Андроида (уже есть и такое).
Вот это вот то, что самое главное в проекте, а не поддержка того или иного железа в конкретной плате.
Потому обычный ответ на такие вопросы у нас такой:
- Если вам нужно нечто, что крутое, уже летает, имеет множество возможностей и успешно продается - тогда есть смысл обратить внимание на MK, Ardu, и т.п. “успешные” (в том числе, и в финансовом плане) проекты. Они уже умеют многое и дадут возможность реализовать то, что надо, уже сейчас.
- Проект OpenPilot задуман с тщательным планированием на дальнюю перспективу (надеюсь, приведенный выше пример достаточно наглядно этот высокий уровень показывает). У него нет цели получить результат быстро и много, а потом доводить до ума. Мы не спешим, мы делаем все так, как можем, но не жертвуя при этом качеством кода, архитектурой, не наращивая те фичи, которые не были задуманы в отдельных продуктах. Но в итоге мы надеемся сделать нечто удивительное и гибкое, которое будет очень легко портировать на совершенно разные платформы, подключать свое любое железо, свои алгоритмы, добавлять свои модули на борт (например, альтернативный модуль стабилизации, не затрагивая тот, что есть, и переключать их прямо в полете) и в GCS (опять же, не исключая того, что есть, как вот сейчас пишется модуль ModelView на базе Qt3D вместо текущего на базе GLC_Lib, но они прекрасно сосуществуют в коде и в принципе могут присутствовать на экране одновременно и независимо друг от друга).
Вот такая вот идеология 😛