Поиск

18 апреля 2014

APM на Pixhawk, сравнение версий, и общий анализ автопилота, аппаратная часть.

Я думаю, в рунете по крайней мере, это первый более-менее осмысленное сравнение версий автопилота PХ4/PIXHAWK, особенно учитывая его малую распостранненость на наших просторах. Многие знают и использовали APM, сам лично коммитил несколько hardware changes в него, но он уже все, не рекомендован к использованию в новом дизайне. Устарел морально и технически. Последний релиз автопилота будет 3.2, после чего в новых версиях APM перестанет быть поддерживаемым.

Итак, начнем. Для правильного понимания - стоит знать что все это ветки(форки) PX4, в том или ином виде модернизированного в соответствии с новыми реалиями и пожеланиями аппаратных разработчиков, на текущий момент есть 4 основых работающих аппаратных ветки:

PX4:
Оригинал, собственно всех последующих веток. Это первый глобальный редизайн и смена вычислительной платформы, после 16битного APM. На мой взгляд - САМЫЙ удачный коснтруктив в плане ввода-вывода. Со своей стороны прикладываю сейчас массу усилий стандартизировать ввод-вывод на pixhawk fire, но разработчики усиленно сопротивляются, т.к. не хотят консолидировать все вокруг одного унитарного коннектора требующего брейкаута. Но, вернемся к PX4. Актуальная аппратная ревизия: 1.7.1 Используется схема "2  гироскопа", для уменьшения погрешностей и увеличения вибрационной стойкости системы.
Технические характеристики:
Процессор: STM32F405 (Cortex M4F), 168МГц
Память: ОЗУ/ПЗУ: 192KB RAM / 1024 KB Flash
Сенсоры: MPU-6000, L3GD20, HMC5883L, MS5611

Преимущества:
+ очень удобная платформа, работает под стандартным NUTTX, с слоями FMU адрукоптера.
+ Есть в готовом формфакторе готовая плата специально под замену в AR.Drone (что превращает в общем-то игрушку в нормальный БПЛА)
Недостатки:
- требует "стекирования" ввода-вывода плат
- Нежный преобразователь питания

Для PX4 в наличии достаточно много допплат, но, для использования PX4 требуется в обязательном порядке две платы - PX4FMU и PX4IO(ну на самом деле можно без IO обойтись, но это ОЧЕНЬ трудоемко, проще стеком IO модуль воткнуть).
Важно - в текущей версии APM нет работающей реализации Optical Flow, поэтому на OF модуль можно забить. Полностью поддерживается, но, в силу не самого удобного использования - лично я не стал-бы брать PX4, а брал-бы Pixhawk

PIXHAWK:
Собственно основная текущая аппаратная платформа APM'а. Де факто - практически то-же самое что и PX4, просто чуть обновленнее, и в намного более удобном конструктиве. Конструктив автоматически решает все проблемы с барометром, конструктив кейса решает вопросы с пылью и прочей нечестью на самой плате, т.к. достаточно неплохо ее защищает. Реально смотря на вещи - это ПЕРВЫЙ рабочий продукт, которым реально пользоваться практически сразу, все остальные так или иначе - полуинженерные "образцы", даже не смотря на популярность(например АРМ2.5 мегапопулярен, но конструктив откровенно неудачный).
У "орла" есть свои проблемы - отвратительные коннекторы, и реально проблемная беда с монтажем. Дизайнер проектировавший корпус очень плохо подумал о том как его будут крепить не на самоклейки. Лично я пришел к использованию оного БЕЗ корпуса, но рекомендовать не буду. У меня и плата покрыта защитным лаком, и прочие методы защиты электроники выполнены, естественно с отдельной защитой барометра.
Технические характеристики:
Процессор: STM32F427 (Cortex M4F), 168МГц (Основной) STM32F103 (Фейлсейф)
Память: ОЗУ/ПЗУ: 256KB RAM / 2048 KB Flash
Сенсоры: L3GD20H, LSM303D, MPU 6000, MS5611

Очень хорошо видны отличия от PX4 - новее процессор, нормально работающий до 180МГц (т.е. при нехватке производительности частота будет увеличена со стороны ПО), больше памяти, и новее сенсоры. Так-же дублированы как гироскоп, так и аккселерометр, опять-же для получения более точных данных, и уменьшения виброзависимости.

Общий коснтруктив намного более удобен в использовании и является текущей "горячей" аппаратной платформой для APM.

Преимущества:
+ Одноплатный дизайн
+ Очень большие возможности, в текущих версиях не реализованы до конца.
+ ОЧЕНЬ хороший ассортимент "плюшек", как то внешние USB порты, выносные LED и т.п. и т.д.

Недостатки:
- Противные разъемы Hirose DF13, реально мелочь, но сильно портит впечатление
- Неудобный монтаж в корпусе, не предусмотрены варианты монтажа с виброразвязкой

Отмечу огромное количество клонов, именно КЛОНОВ от китайцев. И тут важно - покупать ТОЛЬКО ревизию 2.4.3. Например покупка ревизии 2.3 - это тупик в никуда. Таких плат было десяток, и на ней есть явные ошибки. Обращайте внимание так-же, что китайцы не воткнули упрощенные сенсоры, они могут. Ниже пример платы  хорошего китайского клона


PIXHAWK FIRE:

На нем стоит остановиться подробнее. Плата - по сути набор сенсоров на "шилде" для Beagle-Bone-Black (далее ВВВ). Но, и это важно - сама по себе ВВВ это очень мощная вещь - 512МБ RAM, 1ГГц Cortex А8 (сравните с M4 в том-же "орле"), 2GB Flash и т.п. + сладкое вида "ускоритель вычислений с плавающей запятой".Т.е. ВВВ по вычислительной мощности ОЧЕНЬ хорош, и та-же Raspbery Pi по сравнению с ВВВ просто олдскул и детская игрушка.
_планируется_ на плате по три сенсорных массива каждого типа - 3 акселлерометра, 3 гироскопа, и 3 магнетометра, плюс естественно барометр, MEAS 5611(лучше которого де факто нет, максимум что будет добавлено в новой версии, которую не так давно презентовал MEAS - это сильно улучшенная термокомпенсация, т.к. текущая схема - дает нарастающий дрифт)

Собственно это "первый вестник" будущих автопилотов. Мощные процессоры, много памяти, и серьезная борьба с алиасингом, с датчиками на разных частотах автоколебаний механических. На текущий момент - больше "вкус как оно будет", не более того. Продукционные релизы, будут одноплатными. Но речь идет о том, что это +2 года от текущего момента в лучшем случае.


AUAV-X1

Наиболее правильно назвать эту вещь от arsovtech не форком Pixhawk - а PX4 версии 2. Мой, на текущий момент, фаворит, с разработчиками которого работаю и взаимодействую. Абсолютно правильная модульная концепция - с вариативностью выбора как программной среды, так, и это главное - с модульностью набора датчиков! Что позволяет, даже, сделать выносной датчик, что, сильно, ОЧЕНЬ сильно упрощает виброразвязку системы. Все текущие варианты - с креплением крупной платы, к которой идут провода(тоже вибропроводники) на виброразвязке - ущербны, и не позволяют КАЧЕСТВЕННО виброразвязать систему.

Технические характеристики:
Процессор: STM32F427VI (Cortex M4F), 168МГц (Основной) STM32F100 (фейлсейф)
ОЗУ/ПЗУ: 256KB RAM / 8192 KB Flash
ПЯТЬ(!!!) вариантов сенсоров:
MS5611
L3GD20 / LSM303D
MPU6000 / MPU6500 / MPU9250
MAX21100
Просто коннектор для подключения сенсорной платы.

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



На этом краткий обзор закончу, в следующей части - програмные среды APM в текущей реализации, ну и, конечно, картинку для затравки:

16 апреля 2014

Гениальные чемоданы, или Pelican и SKB. Встраивание в чемодан электроники. Часть 1.

Как много в этом звуке - Pelican или SKB... Кто занет - тот поймет меня, ведь это фактически - неуничтожимые чемоданы, которые, не зря, производители рекламируют похожим образом:

И, что интересно - не сильно лукавят - кейсы и впрямь очень, ОЧЕНЬ дуракоустойчивы. Очень люблю этот термин "дуракоустойчивость" - он в себя включает все, и многократные падения, и полную влаго-пылезащиту, в общем - некий MilSpec по Русски.
Для тестов, и проверок использования - покупал два кейса, SKB и Pelican

Модели:

Pelican Storm iM2500
SKB i-Series 0907


Сравнение обоих(ДА, они разные по габаритам, но для целей сравнения - это не принципиально), не выявляет явного лидера. Защелки у SKB гениальны, вальш-гурт у Pelican дучше, качество пластика ± одинаковое у обоих. Качество литья, качество обработки, качество "вещи" - у обоих идеально. Ручка чуть поудобнее у Pelican, у SKB ручки выявился "баг", но мааааленький и несерьезный.

Оба кейса были проверены как под проливными дождями, так и SKB 0907 был проверен ребенком, когда он в ванне купался, купание выдержал без вопросов - внутри специально была бумага, чтобы увидеть "течи" буде такие будут - ни единой капельки. При этом чемодан погружался сильно глубже разрешенных 1м глубин.

Общее впечатление от прочности - неубиваемы. На них можно прыгать, их можно выкинуть из едущей машины - они точно не развалятся. Мелкий SKB люблю использовать как табуретку при работе по дому, или как подставку, чтобы встать и чтонить достать сверху. Mil-Spec, что автоматом дает: множественные падения на углы и грани с 2м, вибростойкость, влагостойкость. В общем - сделаны с умом и умными людьми.

Pelican Storm iM2500 был куплен из-за колесиков и телескопической ручки... Надо сказать - по сравнению с самим кейсом - ручку и колесики как будто делал кто-то другой. НАМНОГО более хлипкая конструкция чем сам кейс. Пока реальной эксплуатации не было - но общее впечатление от колесиков и ручки телескопической - негативные. До уровня Samsonite или того-же CAT - как до луны. В общем - телескопическая ручка с колесиками разочаровала, но свою функцию будет выполнять.


Основная причина покупки чемоданов: встравание базовой станции в крышку чемодана, по принципу и подобию:
 

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

Для интеграции - требуется разработать "вкладыш" в крышку кейса, который не нарушает герметичность, и не ухудшает параметров самого чемодана. Оба производителя молодца - у обоих есть полные чертежи(базовые) для кейсов, но для серьезной интеграции - требуется наличие 3D моделей, для детальной разработки. Да, понимаю, слизать размерность можно и самому, но иметь готовую деталь - много, много удобнее.
Интересный нюанс - базовые CAD модели - есть у обоих. А дальше начинаются "танцы". У Pelican есть штатная "рамка" монтажа. У SKB штатные "ушки". Продаются естественно за отдельные деньги и отдельно. Рамка для данного Storm кейса делится на два типа:
iM2500-BEZEL
iM2500-BEZEL-LID

Информации по рамкам очень мало. И серьезно помогает наличие следующих файлов для разработки
Крепление рамки выполнено очень интересно, "слепыми" заклепками с резиновыми колечками, и, так-же отмечу - рамки ОЧЕНЬ, ОЧЕНЬ жесткие, т.е. дают дополнительную прочность чеодану, и оберегают вашу драгоценную панель, добавляя ей жесткости, с оборудованием которую встраиваешь в чемодан.

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

Ну а конечный продукт интеграции - очень надеюсь показать в ближайшее время. В любом случае - если стоит вопрос - брать или не брать чемоданы - БЕРИТЕ, это того стоит, и их стоимость оправданна, китайцы, да... альтернатива, но гарантий качества, герметичности, и нормальных чертежей для разработки встраиваемой системы - вы не получите.

14 апреля 2014

Исследование задержки разных средств видеозахвата. Часть 2

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

Я не списывал со счетов средство видеозахвата, и, при оказазии - купил чуть более чем за 1т.р. IconBIT TV-Hunter Studio. Достаточно интересная железка, сделанная на относительно свежем чипсете - Китайском Empia 2980
Стоит отметить - для нужд нормального "интегратора" материнская плата данного устройства обладает очень полезным свойтсвом - отверстиями для монтажа.


Подключив, убедившись в полной совместимости с Windows 8.1 x64 (!), что было отдельным приятным сюрпризом, и посмотрев на коробочку в действии - решено было сделать замеры скорости по методике описываемой в первой части.

103мс!!! Каково мое было удвиление! Я был просто приятно, нет, ПРИЯТНО поражен! 103мс при захвате и выводе аналогового сигнала формата PAL, т.е. общий лаг чуть более 2х полных кадров(напонимаю - PAL, 40мс/кадр перед оцифровкой).

Я фактически УВЕРЕН, что 100мс это определенный "предел" практически реализуемый для аналогового захвата(в силу сканирующей природы образования "полного" кадра). Я в курсе low-latency решений, использующих цифровую передачу данных между узлами, где латентность держится порядка 60мс, но это удел будущего, и экспериментов с адаптивным "HD" для использования в FPV.
Я еще проведу ряд оптимизаций со стороны операционной системы, и надеюсь выиграть еще 20-25мс на задержках, но и этот результат меня устраивает - я готов его использовать. Считаю - для ФПВ целей - оптимальное устройство видеозахвата.


ASUS Q87T

Ранее я описывал все злоключения с платой Gigabyte H87TN (Часть 1 Часть 2 Часть 3), которая оказалась отличном примером хорошего инженеринга полностью испорченного маркетингом и отвратительным, ОТВРАТИТЕЛЬНЫМ подходом к "необычному" пользователю, который осуществляет интеграцию данного продукта, а не является обычным потребителем. Отсутствует документация, очень плохо реализованный BIOS, отсутствует поддержка режимов нужного энергосбережения(отсутствует поддержка DDR3L например) и пр.


Устав от "выкрутасов" гигабайта - мною была приобретена ASUS Q87T. Не буду вдаваться в подробности, просто приведу список плюсов и минусов



Положительные стороны:

+ Присуствует как LVDS, так и eDP порты для интеграций с матрицей напрямую (проверенна работа LVDS - работает)
+ Присуствует полная  реализация Intel PTG в рамках подсветки - и регулируется подсветка экрана програмными методами(проверенно в Windows 8.1 - работает регулировка яркости)
+ Поддержка DDR3L (низковольтной памяти 1.35В, проверенно - работает и напряжение 1.35, что дает небольшую но прибавку к энерегоэффективности)
+ ОЧЕНЬ информативный BIOS, позволяющий очень широко настраивать систему
+ Поддержка LCD LED Backlight подсветки с напряжением 19В(!!!)
+ µSATA разъем поддерживает SATA III (проверенно, это действительно так)

Негативные стороны:
- Питание только 19В(проверенно - не запускается от 12В)
- Проблемы с совместимостью µSATA SSD(об этом ниже)
- Зачем-то ДВА Ethernet порта. Абсолютно дурацкий тренд который ведет только к увлечению энергопотребления, и отсутствует возомжность in hardware включить их в режим свитча(у меня немного серверные замашки, но причину на подобном продукте наличия 2х ethernet я вообще не могу придумать)
- ОТВРАТИТЕЛЬНАЯ документация по интеграции(это видимо бич всех производителей, кроме Intel. Но, Intel к сожалению сворачивает производтсво матплат :( ), опять очередная чушь для пользователей, для интеграции - в очередной раз выручает Intel'овый документ: Thin Mini ITX design guide
- Колодка с Front Panel I/O не маркированна(знаю, мелочь, но страшно раздражает)
- Глюк BIOS - установленный µSATA SSD не видится как драйв внутри BIOS, написал в ТП, думаю в новых релизах BIOS этот откровенный баг устранят
- В очередной раз "половинчатый" µPCIE разъем. Места на плате - вагон, но нет, усердно лепят только половинчатый µPCIE разъем в который ничего интересного никак не засунешь без Break-Out платки.
- Как обычно - не умеет регулировать 3-Pin вентиляторы. Производители чуточку задолбали с этим полуискусственным ограничением :)


Плата понравилась. Некоторые минусы, но их можно "терпеть". Работает нормально LVDS, регулируется яркость.

Важно знать - плата "капризна" к моделям µSATA SSD.
Работает(проверенно единолично:
Cruicial M550 128GB (CT128M550SSD3)
Smartbuy SSD 32Gb S9B mSATA SB32GB-S9B-MSAT3/ SMODUIIIS9VB32GB

Не работает:
Kingston mS200 60GB (SMS200S3 / 60G)

Подключение по LVDS к матрице - стандартно, и 1-в-1 повторяет рекомендации Intel по использованию LVDS. Все работает, яркость регулируется, глубокий сон поддерживается.
Плата хорошо оптимизированна по энергопотреблению - на моем тестовом G1820 - максимум зарегестрированный мной - 32Вт под стрессовой нагрузкой (OCCT), простой - 16Вт. После замены процессора на CPU с поддержкой Core-Parking и низким пакетом(i7T), планирую выйти на 10Вт простой, 25Вт нагрузка(с ограничением по Turbo-Boost конечно)

У платы очень богатый BIOS, после гигабайта - вообще рай и благодать.


GA-H87TN часть 3

Все, забросил я плату Gigabyte GA-H87TN. Она НЕ поддерживает регировку яркости програмно. Официальный ответ технической поддержки Gigabyte звучит так:

Добрый день!
Регулировка яркости на программном уровне возможна, если плата поддерживает спецификацию Intel PTG 2.0. Наша плата данную спецификацию не поддерживает, поддерживается Intel PTG 1.2. Данная спецификация не поддерживает программную регулировку, только аппаратную, для чего необходимо подключить коннектор Back Light switch на плате. 
С Уважением и Наилучшими пожеланиями,
GIGABYTE TECHNOLOGY

Т.е. в силу отсутствия PTG 1.2 - нет нормальной регулировки. Самое противное, это конечно факт ПОЛНОГО замалчивания этой информации со стороны разработчика продукта(гигабайта). Я не понимаю зачем делать интеграционный продукт - и так мало документировать его. Нет, чтобы взять пример с intel - и их шикарной документации.


Резюмируя - НИ В КОЕМ СЛУЧАЕ не покупайте Thin mini ITX платы Gigabyte - гигабит не умеет создавать и работать не с консьюмерским продуктом. Они не умеют создавать правильную документацию, и держать открытыми общепризнанные стандарты. Это не позволяет интегрировать продукты от гигабит в какие либо устройства.

P.S. Если кому нужно - оставьте коммент, плату могу продать. Полностью рабочаяя.

01 апреля 2014

GA-H87TN часть 2

Продолжаю бороться с H87TN, а именно - неработающая програмная регулировка яркости панели на LVDS подключении.

Gigabyte прислал новый BIOS - F3, но к сожалению работоспособности для панели это не привнесло, продложаю мучать суппорт гигабайта.

Тем временем - меняю плату на Asus Q87T - там по крайней мере BIOS нормальный, и проблем не должно быть.