Коллектив Авторов - Цифровой журнал «Компьютерра» № 88

Тут можно читать бесплатно Коллектив Авторов - Цифровой журнал «Компьютерра» № 88. Жанр: Компьютеры и Интернет / Прочая околокомпьтерная литература, год неизвестен. Так же Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте Knigogid (Книгогид) или прочесть краткое содержание, предисловие (аннотацию), описание и ознакомиться с отзывами (комментариями) о произведении.
Коллектив Авторов - Цифровой журнал «Компьютерра» № 88

Внимание! Книга может содержать контент только для совершеннолетних. Для несовершеннолетних просмотр данного контента СТРОГО ЗАПРЕЩЕН! Если в книге присутствует наличие пропаганды ЛГБТ и другого, запрещенного контента - просьба написать на почту free.libs@yandex.ru для удаления материала

Коллектив Авторов - Цифровой журнал «Компьютерра» № 88 краткое содержание

Прочтите описание перед тем, как прочитать онлайн книгу «Коллектив Авторов - Цифровой журнал «Компьютерра» № 88» бесплатно полную версию:
ОглавлениеСтатьиOpenPilot: беспилотники по-опенсорсному (часть 2) Автор: Опубликовано 28 сентября 2011 годаИнформатизация полетов: способна ли автоматика спасти от человеческих ошибок Автор: Виктор ИвановскийМненияRMA: выйдет ли музыкальная отрасль из тупика? Автор: Юрий ИльинИнтервьюДенис Алексеев о трёхмерной печати в домашних условиях Автор: Андрей ПисьменныйПоль Люсье о российской стратегии RIM Автор: Ирина МатюшонокАлексей Новодворский («АЛЬТ Линукс») о НПП Автор: Евгений КрестниковТерралабОсенний IDF 2011: ультрабуки и Ivy Bridge Автор: Олег НечайКолумнистыВасилий Щепетнёв: За лёгким хлебом Автор: Василий ЩепетневКивино гнездо: Фильмы нашего разума Автор: Киви БердКафедра Ваннаха: Планшет и десктоп Автор: Ваннах МихаилДмитрий Шабанов: Добиологический отбор Автор: Дмитрий ШабановВасилий Щепетнёв: За лёгким хлебом – 2 Автор: Василий ЩепетневКафедра Ваннаха: Пираты в Берлине Автор: Ваннах МихаилАлександр Амзин: Об искусстве запобывания Автор: Александр АмзинВасилий Щепетнёв: За лёгким хлебом – 3 Автор: Василий ЩепетневДмитрий Вибе: С неба звёздочка упала Автор: Дмитрий ВибеГолубятня-ОнлайнГолубятня: Дорога дьявола ведет к колибри Автор: Сергей ГолубицкийГолубятня: Оксфорд Парагон Автор: Сергей Голубицкий

Коллектив Авторов - Цифровой журнал «Компьютерра» № 88 читать онлайн бесплатно

Коллектив Авторов - Цифровой журнал «Компьютерра» № 88 - читать книгу онлайн бесплатно, автор Коллектив Авторов

Компьютерра

26.09.2011 - 02.10.2011

Статьи

OpenPilot: беспилотники по-опенсорсному (часть 2)

Опубликовано 28 сентября 2011 года

- Продолжение. Первую часть статьи можно прочитать здесь.

Объекты, объекты

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

Во-первых, это собственный уровень аппаратной абстракции, названный PilotOS, или, сокращённо, PiOS. Он находится между конкретным «железом» и остальной логикой системы. Используя его и переносимый исходный код проекта, стало возможным не только легко адаптировать проект под разные типы процессоров, но даже собрать версию для персонального компьютера. Так получились HiTL – Hardware in The Loop и SiTL – Software in The Loop.

Отладка алгоритмов стабилизации OpenPilot в симуляторе FlightGear (видео Дмитрия Зайцева)

Говоря простыми словами, с помощью специального модуля GCS, умеющего общаться с программными симуляторами полёта, например игровым симулятором IL2, система может получать данные о самолёте не от платы INS с реальными датчиками, а от симулятора, работающего на том же компьютере, что и GCS, или на соседнем, подключённом по локальной сети или даже через интернет. Далее GCS направляет эти данные по каналу телеметрии в плату OP Pro, которая выполняет функции навигации и выдаёт управляющие воздействия не только на свои выходы, но и обратно в GCS. Последняя передает их в симулятор, который ведёт самолёт под управлением реального «железа» проекта OpenPilot. Это и есть HiTL – реальная электроника управляет симулированным самолётом.

Но это ещё не всё. Скомпилировав тот же программный код с заменой одного только уровня PiOS, можно получить программу стабилизации, работающую на том же персональном компьютере. Теперь вся система вообще становится виртуальной: симулятор самолёта, GCS и код системы навигации работают на PC, не требуя специальных плат. Это даёт возможность отлаживать любые алгоритмы навигации вообще без железа и без рисков разбить модель на ранней стадии отладки. Такой уникальной возможностью не может похвастаться ни один из существующих на сегодня любительских проектов.

Второе принципиальное архитектурное решение — это протокол обмена данными, названный UAVTalk. Все данные в системе, будь то настройки или данные управления и состояния, представлены в виде так называемых uavobjects – объектов, знающих о себе всё: тип данных, количество элементов, значения по умолчанию, допустимый диапазон значений и так далее. Весь обмен информацией как внутри системы, так и между моделью и землёй, построен на основе этих объектов.

UAVobjects, описанные на XML, автоматически преобразуются в исходные тексты на C для «прошивки» и C++ для GCS

Что это даёт? Во-первых, каждый объект описан в одном месте. Изменение объекта приводит к изменению во всех частях системы, что устраняет возможность ошибок по забывчивости. Во-вторых, все эти объекты автоматически становятся доступны GCS для просмотра или изменения. В-третьих, они сами докладывают о себе в двух направлениях по каналам телеметрии с заданной периодичностью или по факту своего изменения. В-четвёртых, благодаря этому протоколу стала возможной реализация подключения к симуляторам или управления с земли с помощью компьютера: достаточно установить для объекта запрет обновления со стороны платы сенсоров, и мы можем заполнять эти значения данными из симулятора. Остальная часть системы даже не узнает, что источник данных изменился.

И, наконец, UAVTalk — открытый протокол. Его реализация существует уже на языках программирования C, C++, Python, Java, есть версия для пакета Matlab. Достаточно реализовать формально описанный протокол на новом устройстве, и появляется возможность взаимодействовать как с GCS, так и с моделью на основе OpenPilot.

Особенности проекта

В то время как другие проекты предлагают приобрести специальные программаторы или адаптеры для выполнения настроек (не говоря уже о самых примитивных, где все настройки ограничиваются парой «крутилок» под отвёртку), в проекте OpenPilot этому также уделено особое внимание. Достаточно подключить систему к компьютеру обычным USB кабелем, как будут автоматически установлены нужные драйверы и при запущенной GCS можно будет немедленно приступить к конфигурированию системы.

Тем же путём решается смена версии «прошивок»: достаточно кликнуть мышкой и выбрать файл, и новая версия будет записана в подключённую плату. Это можно делать не только по USB, но даже через радиоканал. Такого сервиса нет в других любительских проектах. И опять же всё это одинаково работает не только на Windows, но и на Mac OS X, и на Linux.

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

Долго запрягают, да быстро везут...

Оказалось, что эта пословица применима не только к русским. Многие из тех, кто заинтересовался проектом в момент его появления, были разочарованы. До сентября 2010 года нигде не появлялось никакой рекламы, никаких продуктов. В общем — ничего, кроме молчаливого форума проекта и тихо работающей команды. И вот 18-го сентября с помощью электроники проекта был совершён первый полёт модели самолёта, а вскоре за ней — четырёхроторной модели. К тому моменту внутри команды было выполнено множество экспериментов и тестовых разработок, изготовлены целые серии прототипов. Но несмотря на первые успехи проект по-прежнему не выдавал результата, пригодного для продаж.

Это было трудно понять со стороны. На форуме чуть ли не каждую пару недель стали появляться видео с очередными достижениями проекта: первый полёт трикоптера, первый сеанс связи между радиомодемами проекта, первый полёт шестироторной модели, первый полёт модели при температуре -35 градусов в Финляндии... Но проект по-прежнему упорно не желал получать деньги.

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

В двадцатых числах апреля 2011 года OpenPilot официально отпраздновал свой первый юбилей — год со дня основания. Большая часть разработчиков собралась на первый в истории проекта саммит в Португалии. Более недели разработчики общались, обменивались опытом, программировали, паяли, обсуждали планы на будущее и, конечно же, тестировали свои модели в полёте.

Саммит OpenPilot 2011 в Португалии. Источник: http://www.openpilot.org/portugal-summit-2011/.

Саммит явился подготовкой к другому торжественному событию: 20 мая 2011 года был официально выпущен в продажу первый из продуктов проекта: электронная система стабилизации CopterControl. Этот продукт явился младшим братом полной версии системы, рассчитанным лишь на небольшое подмножество функций. Тем не менее с его ценой, в два-четыре раза ниже цены аналогичных устройств, на него мгновенно образовалась очередь, так как первая партия была распродана за одну неделю при практически полном отсутствии рекламы. От задумки до первого полёта CopterControl прошло всего два месяца, поскольку 95 процентов программного кода было позаимствовано у его старшего брата – полной системы, что в очередной раз подтвердило правильность принятых архитектурных решений.

Незадолго до официального выхода CopterControl очередная серия достижений была внесена в анналы проекта. Одним из таких достижений явилась функция навигации на самолёте с использованием этой платы. Другим – первый полёт модели вертолёта под управлением электроники проекта, аналогов которой нет вообще среди систем с открытым исходным кодом. Старший брат также не отставал: состоялся первый полёт восьмироторной модели.

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

Перейти на страницу:
Вы автор?
Жалоба
Все книги на сайте размещаются его пользователями. Приносим свои глубочайшие извинения, если Ваша книга была опубликована без Вашего на то согласия.
Напишите нам, и мы в срочном порядке примем меры.
Комментарии / Отзывы
    Ничего не найдено.