Коллектив Авторов - Цифровой журнал «Компьютерра» № 87 Страница 3
Коллектив Авторов - Цифровой журнал «Компьютерра» № 87 читать онлайн бесплатно
Второй класс – это модели вертолётов. Подобно настоящим вертолётам, они держатся в воздухе с помощью несущего воздушного винта. Хвостовой винт используется в том числе и для разворота, а управление направлением полёта осуществляется с помощью автомата перекоса, позволяющего вертолёту как висеть на одном месте, так и двигаться в произвольном направлении, например боком или хвостом вперёд.
фото flickr.com/jsbrownbillНу и, наконец, третий класс, полноценных аналогов которого не существует на сегодня среди «взрослых» систем. Это многороторные летающие аппараты, имеющие несколько воздушных винтов по периметру (обычно от трёх до восьми), раскручиваемых электромоторами. Стабилизация и управление такими аппаратами производится за счёт различной скорости вращения винтов. Огромным преимуществом таких систем является простота их механики при почти всех достоинствах вертолёта. Всего лишь несколько моторов с винтами без сложного автомата перекоса — и можно как висеть на месте, так и двигаться в любую сторону.
фото flickr.com/sidkitesВсё портит лишь один, но существенный недостаток: так как необходимо управлять каждым мотором в отдельности, эти системы фактически обречены летать на электрической тяге. Это удобно, экологически чисто, но, увы, мешает малая ёмкость батарей, так что время полёта редко превышает 10-20 минут. Этого хватает, чтобы, например, провести съёмку состояния архитектурного объекта перед началом реставрации камерой весом в 100 грамм, но явно мало для того, чтобы пролететь несколько километров и доставить полезный груз в пару килограммов для спасательных работ. Дальние миссии для многороторных аппаратов недоступны: нет возможности использовать двигатели внутреннего сгорания.
Принципы управления всеми этими типами летательных аппаратов совершенно различны, но функционально они дополняют друг друга, и в каждом конкретном случае выбор определяется поставленной задачей.
Немного о конкурентахВернёмся к автопилотам. Все они имеют свои недостатки: цена, возможности, сложность использования или дорогостоящая техническая поддержка. Дорогие коммерческие системы нельзя считать массовыми и доступными именно там, где они нужны для мирного применения. Ну а любительские проекты имеют свои проблемы, первая из которых — это привязка только лишь к определённым типам летательных аппаратов. Наиболее популярны проекты, управляющие мультироторными аппаратами. Да, они летают, и иногда совсем неплохо. Но, увы, только на мультироторах. Управлять самолётом или вертолётом они не могут, этого просто не было предусмотрено при их создании.
Вторая проблема любительских проектов – низкое качество программного кода и максимально упрощённая схемотехника. Можно насчитать, пожалуй, несколько десятков таких проектов. Почти в каждом из них есть что-то позаимствованное у аналогов. Аппаратная часть большинства проектов создаётся с целью максимально удешевить систему. Но очевидно, что, используя слабые по вычислительной мощности процессоры, невозможно сделать систему действительно качественной. Та же ситуация с программным кодом: большинство таких проектов начиналось с задачи минимум: научить аппарат зависать и летать. Позже появлялись дополнительные потребности: висеть не только под управлением пилота, но и автоматически, лететь по заданному маршруту, управлять подвешенной видеокамерой для аэросъёмки и так далее. Радикально менять систему не поднимается рука, а в результате новые возможности дописываются в виде заплаток, делая программный код совершенно не читаемым, а поиск ошибок в нём становится непростой задачей.
Ещё несколько проектов начинались как любительские, но постепенно переросли в коммерческие или были закрыты. Типичным примером является немецкий mikrokopter.de (MK), реализующий функции автопилота для мультироторных аппаратов. Проект начинался как открытый. Его участники публиковали схемы и исходные коды программ для повторения всеми желающими. Любой понимающий специалист или любитель мог посмотреть, как реализована та или иная функция, и либо повторить систему, либо на её основе сделать что-то своё.
Проект использовал достаточно качественное и не самое дешёвое «железо», но в силу своей открытости получил огромную популярность. Десятки, если не сотни любителей активно подключились к нему и стали предлагать свои доработки. В результате функциональность проекта резко выросла, но с этим ростом проект начал становиться всё более и более закрытым и ориентированным на получение прибыли. Часть критически важных компонентов проекта, отвечающих за функции навигации, перестала публиковаться в виде исходных текстов. Программа настройки также предлагается в виде «как есть» без возможности что-то в ней исправить. Предлагаемые для бесплатного использования «прошивки» имеют ограничения по функциям. И говорить о возможности адаптировать проект под свои цели и задачи уже не приходится.
Такая смена позиции авторов проекта привела к разочарованию и оттоку многих пользователей. Они начали искать альтернативное решение, но его не существовало... И вот тут на сцене тихо и без лишнего шума появился OpenPilot.
OpenPilotУ проекта всего три задачи. Во-первых, создать универсальную систему автопилота, применимую ко всем существующим типам летательных аппаратов: к самолётам, вертолётам и мультироторным системам.
Это явилось первым существенным отличием проекта от существующих аналогов. Причём, в отличие от некоторых неудачных попыток других проектов добавить подобную функциональность поверх существующей, OpenPilot поставил такую задачу с самого начала, не связывая себя никакими рамками или готовыми решениями.
Во-вторых, есть задача сделать это решение максимально качественным и профессиональным с точки зрения схемотехники и программного кода. Обеспечить его расширяемость в будущем без существенного изменения архитектуры системы. Добиться, чтобы по качеству оно не уступало, а то и превосходило по качеству и функциональности многие коммерческие аналоги, стоящие десятки тысяч долларов, не говоря уже о любительских разработках. И, что самое главное, решение должно стать максимально открытым, простым в использовании обычными пользователями, но при этом доступным для изучения и повторения.
Открытость проекта подчеркнута даже в самом его названии: open и есть — открытый, причём во всех смыслах. Официальная позиция проекта: вся схемотехника и всё программное обеспечение для неё есть и всегда будет полностью в открытом доступе.
Схемотехника проекта выполнена на самом высоком уровне проработанности. Выполнено множество исследовательских работ внутри проекта: изготовление макетов, плотная работа с производителями компонентов и решений, написание тестов и методик испытаний... Всё это, в отличие от многих аналогичных проектов, оставалось долгое время в тени, что привело к разговорам, будто результатов не будет уже никогда. Но на самом деле команда разработчиков просто не хотела выпускать в свет неотработанную схемотехнику, чтобы не вынуждать через месяц-другой пользователей покупать новую «исправленную и улучшенную» версию. Все эти работы финансировались за счёт личных средств одного из основателей проекта.
И последняя, но не менее важная цель проекта — сделать весь процесс разработки увлекательным и приятным занятием для участников, построить вокруг проекта сообщество столь же увлечённых этим людей, которые имеют возможность общаться через Интернет и готовы выделять личное время на это увлечение.
Практически все занятые в проекте люди имеют основную работу. Иметь какие-либо обязательства по срокам означало бы убить атмосферу дружеского общения в команде и создания качественного, а не просто «достаточно хорошего» продукта. И именно по этой причине с самого начала было объявлено, что нет и не будет определённых сроков выхода результатов, как аппаратных, так и программных. Единственный критерий готовности — это соответствие качества «железа» и программного кода высоким требованиям, предъявляемым к нему самими разработчиками, и результат будет тогда, когда он будет готов.
Состав системыТипичная модель летательного аппарата, дистанционно управляемая пилотом с земли, состоит из корпуса или рамы с требуемой механикой и имеет в своём составе один или несколько двигателей (электрических или внутреннего сгорания – ДВС), источник энергии (топливный бак для ДВС или аккумуляторную батарею для электромотора), органы управления (рулевые машинки в случае самолётов или вертолётов, регуляторы двигателей для мультироторов), приёмник аппаратуры радиоуправления с земли и, в случае ДВС, батарею питания бортовой электроники. Пилот на земле держит в руках передатчик, позволяющий управлять полётом модели. Для получения функций автопилота между приёмником и органами управления должна быть установлена некая промежуточная система, способная заменять команды с земли собственными указаниями, как и куда лететь.
Жалоба
Напишите нам, и мы в срочном порядке примем меры.