всегда совпадает с направлением движения);
скорость вращения объекта в трёхмерном пространстве.
Задачей INS является обработка информации с множества датчиков, которая в итоге сводится к набору чисел, описывающих вышеуказанные данные. Источников первичной информации может быть несколько. В минимальном варианте таковыми являются:
три гироскопа, определяющие скорость вращения системы по трем осям;
три акселерометра, позволяющие, помимо прочего, оценивать направление к центру Земли;
трёхосевой магнитный компас, позволяющий путём использования магнитной модели Земли точно знать ориентацию модели, а также корректировать значения гироскопов;
барометр, позволяющий путём измерения атмосферного давления вычислять высоту объекта над уровнем моря или точкой старта;
приёмник системы спутникового позиционирования GPS, дающий абсолютные координаты объекта в трёхмерном пространстве, а также данные о скорости и направлении движения.
Дополнительно могут также использоваться и другие источники информации:
ультразвуковой датчик высоты, аналогичный парктроникам автомобилей, дающий значения абсолютной высоты над уровнем поверхности Земли на малых высотах;
лазерные высотомеры, используемые для той же цели;
датчик воздушной скорости, которая при наличии ветра может отличаться от скорости, измеряемой системой GPS;
видеокамеры системы распознавания образов, позволяющие осуществлять точную привязку к точке местности;
радиомаяки и другие датчики.
OpenPilot INS представляет собой отдельную электронную схему с выделенным под эти задачи мощным тридцатидвухразрядным микропроцессором и набором датчиков. Данные с датчиков собираются вместе и преобразуются в готовые углы, расстояния, скорости и координаты, далее используемые системами управления, стабилизации и навигации в готовом виде.
В отличие от множества аналогичных проектов OpenPilot INS способна также выполнять функцию Dead Reckoning. Упрощённо говоря, это означает предсказание данных о нахождении и скорости модели даже при временной потере сигнала GPS. При этом используются акселерометры и остальные датчики для примерной оценки, которая вновь будет уточнена при восстановлении приёма сигнала GPS. Такой функцией не может похвастаться ни один любительский проект.
Основная плата (OpenPilot Pro).
Вторым аппаратным компонентом является основная плата OpenPilot Pro. Имея на борту столь же мощный микропроцессор, она выполняет функции управления, стабилизации и навигации. На вход платы поступает сигнал с приёмника, к выходам подключены рулевые машинки или регуляторы моторов. Также к ней подключена плата INS.
Задачами данной схемы являются:
приём сигналов управления с приёмника аппаратуры управления;
чтение данных для стабилизации и навигации с платы INS;
микширование сигналов управления и стабилизации и формирование сигналов, управляющих рулевыми машинками и моторами;
поддержка канала телеметрии со станцией наземного управления.
Одно из интересных решений, которое можно отметить, — это встроенный интерпретатор языка программирования Python. На нём можно написать полётный план, после чего аппарат по команде приступит к его выполнению. Например, можно потребовать пролететь по заданному маршруту вокруг памятника архитектуры и сфотографировать его со всех сторон. Можно запрограммировать долететь до точки, где требуется помощь спасателей, спуститься на заданную высоту, сбросить груз (медикаменты, радиостанцию), подняться и автоматически вернуться домой. И всё это можно делать, не являясь специалистом по программированию. Такого на сегодняшний день также нет ни в одном из любительских проектов.
Другие аппаратные компоненты.
Помимо перечисленных, в рамках проекта разрабатывается также набор других компонентов цельной системы. Это модуль GPS с оптимизированными под летательные аппараты алгоритмами, построенными в результате тесного сотрудничества с производителем GPS модуля. Это собственный радиомодем для поддержки телеметрического канала контроля и управления между моделью и наземной станцией. Это собственный регулятор для электромоторов, оптимизированный для многороторных летательных аппаратов и многое другое.
Кроссплатформенное программное обеспечение и большая вычислительная мощность процессоров в сравнении с большинством похожих проектов – это лишь одна сторона медали. Вторая, но не менее важная часть заключается в уникальном внутреннем устройстве алгоритмов, использующих специализированный протокол UAVTalk для обмена информацией и уровень абстракции PiOS для моделирования поведения системы. Об этом пойдёт речь во второй части статьи.
Продолжение следует
Мнения
Пиратство: почему мы перестали ценить информацию
На дворе 2011 год. Нелегальное ПО установлено на каждом втором компьютере планеты. Борцы за свободу информации торжествуют: миллионы людей получили реальную возможность творить, развиваться и совершенствоваться, получая дорогостоящий софт совершенно бесплатно. Революция свершилась. Настало время пожинать её плоды.
Ещё десять лет назад мы мечтали о временах, когда развитие интернета сделает информацию доступной всем и каждому из нас. Эти времена настали и принесли целый ворох проблем тем, кто эту информацию производит и рассчитывает продавать. Проблемам копирайта посвящены сотни мегабайт текста, и я не собираюсь в очередной раз рассказывать о бедах музыкантов, кинематографистов, издателей и создателей программного обеспечения. Вместо этого речь пойдёт о нас — конечных пользователях, окунувшихся в пучину свободного распространения информации.
Когда-то нам пророчили, что свободный доступ к программному обеспечению подарит нашему обществу огромное количество талантов, получивших возможность реализовать свой потенциал с помощью самых качественных инструментов. К сожалению, горе-пророки забыли об одной важной черте человеческой психологии: мы не ценим того, что достается нам слишком легко. В результате количество профессиональных и талантливых людей осталось тем же, зато мы получили небывалый прирост экзальтированных дилетантов и плодов их сомнительного творчества. И дело здесь вовсе не в отсутствии способностей.
Высокая цена профессионального софта — это мощный стимул к его изучению. Потратив несколько сотен долларов, мы приобретаем не только инструмент, но и желание познать его структуру, архитектуру и принципы работы. Получив же Adobe Photoshop или Steinberg Cubase бесплатно, мы можем без угрызения совести использовать их для кадрирования фотографий и нарезки рингтонов. И именно здесь рождается дилетантство. Изучение профессионального ПО — это тяжёлый процесс, требующий немалых умственных и временных затрат. Для человека, ориентированного на скорейшее получение результата, он совершенно неудобен. И здесь на помощь дилетанту приходит интернет, содержащий массу инструкций по выполнению конкретных задач. Инструкций, надо заметить, самого разного качества. Догадайтесь, какие из них выберет дилетант?
Здесь мы сталкиваемся со вторым следствием современной «информационной распущенности»: ленью, которая в данном случае совершенно не является двигателем прогресса. Лень всегда заставляла нас искать наиболее простые и удобоваримые способы решения задач и удовлетворения потребностей. Проблема лишь в том, что с ростом доступности информации этих способов стало слишком много. Ведь