- Подписка на печатную версию:
- Подписка на электронную версию:
- Подшивки старых номеров журнала (печатные версии)
LXF126:История успеха
Материал из Linuxformat.
Дифферент на нос!
- Запуском Linux в воздух сегодня уже никого не удивишь, поэтому Антон Борисов решил идти за эксклюзивным материалом в прямо противоположном направлении.
Первые модели CUAUV конструировались на базе материнских плат VersaLogic (128 МБ ОЗУ и 400-МГц AMD K6-2). Использовалось Linux-ядро версии 2.3 с патчами реального времени. Дальнейшие модели комплектовались уже двумя процессорами – Transmeta Crusoe отвечал за основное движение и навигацию, Intel Pentium III – за обработку видео и распознавание образов. В современных моделях (Triton иNova) – более мощные вычислительные блоки на базе Intel Core 2 Duo, их хватает на все потребности подводного аппарата.
Тема автономных подводных аппаратов (Autonomous Underwater Vehicle — AUV) приобретает все большую популярность. С одной стороны, всегда интересно посмотреть, что же происходит в «темных глубинах». С другой — комплекс полученных научных и статистических данных позволяет человеку приобрести немалый багаж знаний. Особенно приятно осознавать, что подобные аппараты сконструированы и работают под управлением Linux — и сегодня Эрин Фишелл [Erin Fischell] и Бенджамин Зейденберг [Benjamin Seidenberg] из проекта CUAUV объяснят, чем обусловлен этот выбор.
- LXF: Эрин, давайте «начнем с начала»: что собой представляет команда CUAUV, и каковы ваши цели?
- Эрин Фишелл (ЭФ): Группа по изучению дизайна и функционирования автономных подводных аппаратов университета Корнелл (CUAUV) – это студенческий проект, существующий уже лет десять. За это время командой было построено семь разных модификаций полностью работоспособных прототипов, участвовавших в разных соревнованиях и исследовательской работе. Подобные аппараты занимаются визуальным, акустическим и сонарным обнаружением предметов в водной среде. В частности, последние года три командой изготавливаются полностью различные модели – каждый год мы проектируем и спускаем под воду сильно отличающиеся друг от друга аппараты.
- За десять лет у нас накопился приличный опыт в области построения надежных механических и электрических систем. Все ПО написано внутри университета, но используется и ряд открытых модулей. По мере усложнения разработок расширяется и круг задач, в которых используются спускаемые аппараты. Например, этим летом мы ездили в Итаку (штат Нью-Йорк) на озеро Каюга для изучения угроз загрязнения водной среды. И там с дизельного шлюпа Haendel мы провели ряд занятий. Сейчас же группа работает над новым аппаратом с кодовым названием «Akula» – будем надеяться, что получится привнести в этот прототип свежие мысли и наработки.
- LXF: Корректно ли называть ваш проект любительской разработкой, чем-то вроде хобби?
- Бенджамин Зейденберг (БЗ): Я считаю попытку выполнить такую работу силами энтузиастов нереальной. Прежде всего, требуются достаточно большие ресурсы. По большому счету, наш успех зависит от технической и материальной поддержки наших спонсоров и, конечно же, от неоценимой поддержки родного университета. Например, что касается времени: 35 членов группы затрачивают на проект в среднем от 15 до 30 часов в неделю каждый. Мне кажется, что в качестве хобби такой режим работы невозможен. Впрочем, если кто-то надумает этим заняться, то некоторые полезные сведения можно найти здесь: http://cuauv.org/node/1015.
- LXF: А вы когда-нибудь оценивали примерную стоимость разработки?
- ЭФ: Да, каждый новый год мы проводим анализ стоимости материалов, которые придется купить. Если бы не спонсорская помощь, то одни сенсоры и двигатели потянули бы на 75 000 долларов, а наш реальный, рабочий бюджет – всего около 20 000. Для проведения разъездных мероприятий у нас отдельная статья расходов, не включенных в бюджет. В бюджет также не входят трудовые затраты – работа наших студентов происходит на добровольных началах. Помимо прочего, университет бесплатно предоставляет нам как место для занятий, так и инструментарий.
- LXF: Некоторое время назад вы заняли первое место в конкурсе International Autonomous Underwater Vehicle Competition в СанДиего. По-вашему, каким требованиям должен удовлетворять удачный проект в этой области?
- ЭФ: Самым главным фактором успеха явилось очень тщательное тестирование. Все модули электрических и механических подсистем много раз прогонялись на стендах, прежде чем были вмонтированы в аппарат. Безотказная работа указанных подсистем позволила потратить все лето на проверку работы ПО. В среднем, получилось где-то 150 часов ходовых испытаний под водой. В целом, секрет успеха кроется в хорошем дизайне и тестировании.
- LXF: Почему вы выбрали Debian, а не, скажем, Red Hat или SUSE, или даже FreeBSD?
- БЗ: Debian мы выбрали за его гибкость и простоту использования. И, главное, за стабильность. Несколько лет назад я был одним из тех, кто принял это решение, так как я отвечал за программную платформу. Сказался также опыт работы с Debian и многочисленные связи в Debian-сообществе.
- LXF: Планируете ли вы выложить «исходный код субмарины», чтобы сообщество вносило дальнейшие улучшения?
- БЗ: Большая часть кода очень специализирована и специфична именно для нашей платформы. Например, у нас есть специализированный блок аппаратуры, с которым работает наше ПО. Такого рода код не будет интересен никому, кроме нас. К тому же, наша главная цель – выиграть соревнования. И мне кажется, что передача кода в открытый доступ нас к ней не приблизит.
- Справедливости ради отмечу, что когда мы находим в свободном коде ошибки или недочеты иного рода, то присылаем свои изменения разработчикам. Например, я контактировал с разработчиками OpenCV-пакета из Debian, когда потребовалось исправить недочеты, связанные с захватом изображения с камеры.
- LXF: А каким образом сообщество может быть полезно в ваших будущих разработках?
- БЗ: Естественно, разрабатывай мы все компоненты с нуля, на создание субмарины ушло бы куда больше времени. Использование открытого инструментария, например, GEDA (для проектирования электроники), OpenCV (машинное зрение) и еще многих дополнительных библиотек и утилит позволило нам значительно сократить время на разработку. Так что в этом плане мы (да и другие энтузиасты-разработчики) многим обязаны свободному сообществу.
- LXF: А на свободное ПО завязан весь производственный цикл, от стадии CAD-проектирования до программирования?
- БЗ: К сожалению, нет. Вся электрика и программная часть спроектирована на свободном ПО, но вот для целей механики используется коммерческая моделирующая CAD-программа.
- LXF: Какие практические цели ставятся перед прототипом Nova? И на какие глубины он может опускаться?
- ЭФ: CUAUV в данный момент сотрудничает с проектом Cayuga Lake Floating Classroom Project (Итака, Нью-Йорк) в рамках изучения экологии в озере. За лето аппаратом было сделано три погружения на юго-западе озера и сфотографирован процесс роста водорослей-макрофитов. Данные фотографии позволяют оценить хронологию процесса вегетации за лето. Помимо непосредственно процесса видеосъемки, Nova записывает данные с температурных датчиков, так что на руках у нас есть целая картина по течениям и их направлениям в разное время. Хотя на аппарате Nova установлены только видео- и температурные датчики, у нашей команды есть возможность добавить и ряд других, с тем, чтобы была возможность исследовать большие глубины. В частности, был специально спроектирован отсек для глубоководной камеры с возможностью подключения оптического кабеля и наблюдения в реальном времени. В какой-то степени, Nova – это первая платформа, спроектированная CUAUV для работы в открытой воде (море), со множеством исследовательских возможностей.
- LXF: Максимальная глубина погружения, я полагаю, 30–50 метров?
- ЭФ: Тесты в озере проводились на глубинах от 5 до 15 метров, где, собственно, и происходит рост растений. Мы доходили до отметки 30 метров, а вот в следующем году будем проводить испытания уже на 30–50 метрах.
- LXF: Возвращаясь к применениям аппаратов в повседневной жизни: были ли у вас контакты с организациями, которые хотели бы использовать ваши разработки в бизнес-задачах?
- БЗ: В прошлом мы работали с некоторыми компаниями, тестируя или создавая различные узлы для их нужд. Например, нам дали микродвигатели со значительной скидкой; в обмен мы поделились разработанной нами платой управления для них и положительно отозвались о данной продукции. На нас также выходят организации, которые хотели бы выполнять совместные исследовательские проекты.
- В целом, наши субмарины – это специализированные платформы для отработки AUV-технологий. И, по большому счету, они не слишком приспособлены для чисто коммерческого применения. Особенно на фоне компаний, которые продают бизнес-аппараты. Мы все-таки исследователи.