ОБЗОРЫ
Окончание. Начало см. PC Week/ RE, N 38/2004, с. 48.
Базы знаний
Базы знаний в JAUS поделены по тематическому назначению. Внутренние базы содержат данные о текущем состоянии аппарата, местоположении, ориентации в пространстве, состоянии двигателя, об окружающей обстановке, а также показания часов и календарь. Кроме того, они включают наборы технических данных, необходимые для функционирования машины, параметры текущего задания, сведения о цели, подсказки для операторов, технические руководства для техников сопровождения и обучающие материалы.
Картографические базы хранят сведения о местности, наличии дружественных и вражеских объектов, допустимые маршруты движения и области перемещения, топографические сведения, пункты восстановления, информацию о зданиях и других важных элементах. Как уже говорилось, привязки спецификаций JAUS к конкретным техническим решениям не существует, тем не менее разработчикам прикладных JAUS-систем рекомендовано основываться на данных Всемирной геодезической системы (www.wgs84.com), тесно состыкованной с технологией навигации GPS, а при реализации координатной системы придерживаться предложенных американскими институтами стандартов и астронавтики рекомендаций ANSI/AIAA R-004-1992 для аэрокосмических аппаратов.
Компоненты
Практическое создание JAUS-устройства начинается с выбора и настройки нужных компонентов. Конкретные реализации таких компонентов выполняются самими разработчиками или заказываются в фирмах, специализирующихся на робототехнике. А все возможные виды компонентов и их интерфейсы описаны в JAUS-документации.
Компоненты делятся на несколько групп. Так, компоненты контроля и управления задают прикладное поведение "командира системы" и "командира подсистемы", а компоненты связи "коммуникатор" и "менеджер узла" ответственны за диспетчеризацию сообщений на разных уровнях JAUS-системы.
Компонентов поддержки аппаратной платформы значительно больше. Одни из них отслеживают глобальную и локальную (по отношению к заданным точкам) позицию и ориентацию, а также скорость. Другие берут на себя функции управления движением. Компонент "простой водитель" реализует базовые функции вождения аппарата с шестью степенями свободы. "Рефлексивный водитель" представляет собой фильтр, корректирующий процесс движения при возникновении препятствий. Глобальный "векторный водитель" обеспечивает полный цикл управления роботом с учетом заданного курса, высоты и скорости. Он выдает приказы "простому водителю", в то время как им самим управляет "командир системы". Локальный "векторный водитель" в дополнение к курсу учитывает ряд других характеристик (тангаж и т.д.). "Водитель по точкам" управляет аппаратом, модифицируя скорость и ориентацию в соответствии с заданными на маршруте точками. С ним схож "водитель по сегменту пути", только руководствуется этот последний не конкретными координатами, а примерной траекторией движения.
Особая группа компонентов отвечает за управление манипуляторами. "Простой манипулятор" реализует определенное действие конкретной манипуляторной системы. При этом он не содержит средств поддержки обратной связи с устройством, а только соблюдает заданные параметры движения (углы, усилия, скорость). Для контроля реального положения и состояния манипулятора служат наборы компонентов-"датчиков", способные отследить точную позицию, реальную скорость и прикладываемые усилия в отдельных звеньях манипулятора.
Подгруппа высокоуровневых "водителей манипулятора" управляет общей позицией устройства в пространстве, а также действием его конечных (например, хватательных) элементов. Позиционирование "хватателей" возможно как по одной конечной точке, так и по серии промежуточных.
Немало компонентов реализуют функции всевозможных прикладных бортовых приборов (полезной нагрузки). Так, "визуальный датчик" ответственен за работу видеокамеры. Он задает ее трехмерную позицию и направление съемки, определяет различные параметры - формат изображений, частоту кадров, физические настройки, а при необходимости и характеристики записываемого аудиосигнала. "Датчик дальности" фиксирует местоположение объектов с учетом заданной точности - и т.д.
Сообщения
Сообщения JAUS делятся на шесть классов. Управляющие приводят к изменению состояния компонента или подсистемы. Запрашивающие нацелены на получение сведений от компонента. Информационные высылают отчет в ответ на запрос. Сообщения установки события приказывают компоненту приступить к слежению за некоторым событием. Уведомляющие сообщения могут возникать непредсказуемо и информируют о наступлении ситуации, заданной сообщением установки (например, в случае перегрева двигателя или снижения запаса топлива, если эти процессы отслеживаются). Сообщения управления узлом учитывают специфику функционирования узлов и компонентов и предназначены для передачи им настроечной информации и регистрации в системе новых компонентов.
В управляющие сообщения включены команды различных классов. Это команды запуска и приостановки функционирования, сброса и инициализации состояния, перехода к работе в критических условиях, управления полезной нагрузкой (видеокамерой, манипулятором и т.д.), настройки и поддержки связи, запроса отчетов, задания маршрута и скорости и других параметров движения.
Кроме того, на структуру JAUS-сообщений наложены специальные требования, обеспечивающие эффективную передачу объемных данных (например, видео).
Поведение сообщений задается несложными правилами маршрутизации. Все входящие и выходящие в подсистему сообщения обязательно проходят через компонент-коммуникатор, а сообщения, входящие в узлы, выходящие из них и передаваемые внутри узла, проходят через узловой менеджер. Возможна также работа компонентов связи в широковещательном режиме: менеджер узла получает от коммуникатора одно сообщение, которое уже сам передает всем подчиненным компонентам.
Довольно полное описание структуры JAUS-компонентов и JAUS-сообщений доступно на сайте www.jauswg.org. Этого описания вполне достаточно для создания полноценных JAUS-совместимых решений. При их разработке надо придерживаться таких правил:
- сообщения должны отвечать всем требованиям JAUS;
- сообщения должны включать версию архитектуры JAUS;
- все поддерживаемые системой сообщения должны быть явно перечислены в сопроводительной документации;
- должны быть явно определены допустимые временные задержки и отклонения при обработке сообщений;
- информационные сообщения высылаются только при поступлении соответствующего запроса;
- уведомляющие сообщения высылаются только после получения сообщения на обработку соответствующего класса событий.
В качестве базовых протоколов JAUS выбраны TCP и UDP. Рекомендовано, в частности, в настройках существующих ныне серверных узлов дать название "jaus" 3794-му порту (принятому в JAUS в качестве стандартного при обмене TCP- и UDP-трафиком), а в качестве его описания указать "JAUS Robots".
Проекты
С JAUS тесно связаны инженерно-исследовательские проекты Пентагона, перечисленные ниже.
- Упоминавшаяся Joint Technical Architecture (JTA) содержит набор технических требований ко всем системам Пентагона и определяет способы взаимодействия элементов, доступ к сети, защиту, схемы общения с пользователем, подходы к моделированию и т.д.
- 4D/Real-time Control System (4D/RCS) нацелена на проектирование и тестирование интеллектуальных объектов с различным уровнем самостоятельности, которые могут встраиваться в существующие военные системы.
- Rotorcraft Open Systems Avionics (ROSA) позволяет использовать коммерческие компоненты при создании боевых вертолетов и упрощает разработку авионики.
- Air Vehicle Standard Interface (AVSI) представляет полезную аппаратную нагрузку самолетов в виде модулей с универсальными интерфейсами, исключая несовместимость прикладных элементов.
С 2003 г. требованиям JAUS, например, отвечает аппарат Remote Robotic Reconnaissance Vehicle центра морских и космических систем Сан-Диего. В декабре прошлого года в этом центре прошло испытание шести различных моделей JAUS-роботов, которыми управляли семь операторов, причем каждый из них мог отдавать команду любому устройству. Роботы совместно решали поставленную задачу, и при этом были выявлены лишь небольшие сложности в автоматическом поиске оптимального пути.
На 11-м ежегодном соревновании интеллектуальных наземных машин университетов США в двух из четырех номинаций (автономная навигация и следование за лидером, в роли коего выступал трактор) победил аппарат Tailgator, созданный специалистами университета шт. Флорида. Их спонсорами выступили военные разработчики JAUS.
JAUS-совместимый робот UVIS
В Ираке действует JAUS-совместимый аппарат Under Vehicle Inspection System (UVIS) производства фирмы Autonomous Solutions (www.autonomoussolutions.com). Он создан с помощью среды разработки Mobius (производства этой же фирмы), которая включает множество возможностей - от трехмерной среды моделирования до блока телеуправления, осуществляемого обычным джойстиком. В ближайшее время Mobius будет полностью поддерживать архитектуру JAUS.
Спецификации JAUS отвечают, в частности, такие аппараты:
JAUS-совместимый робот REDCAR
- робот Remote Detection, Challenge, and Response System (REDCAR), разработанный специалистами ВВС США и предназначенный для охраны военных баз. Он выпускается в трех модификациях - разведывательной (скорость движения 25 км/ч, оборудована несмертельным оружием, движется по заданным точкам и при обнаружении подозрительных объектов подает звуковые команды типа "Стоять! Бросьте оружие!"), базовой (60 км/ч, боевое оружие) и мини (предназначена для движения в зданиях, умеет открывать двери и перемещаться по ступенькам);
JAUS-совместимый робот Packbot
- переносной робот Packbot фирмы I-Robot (www.irobot.com), применяемый в разведке и для обезвреживания мин и зарядов. Гусеничный Packbot устойчиво передвигается по сильнопересеченной местности и в завалах домов. Он управляется дистанционно и отличается немалым количеством интеллектуальных функций. Так, Packbot способен в случае потери связи продолжать движение к цели и самостоятельно выполнять мелкие действия (позиционирование манипуляторов, преодоление препятствий), позволяя человеку-оператору сосредоточиться на основной задаче.
Первой коммерческой фирмой, которая поддержала архитектуру JAUS в своих предлагаемых на рынке программных компонентах, стала Applied Perception (www.appliedperception.com). В конце августа она объявила о выходе библиотек разработчика наземных роботов (наборы базовых компонентов, пакеты, ответственные за управление и навигацию и др.), полностью отвечающих требованиям JAUS и работоспособных в Linux, QNX, Windows XP/CE и с различными встраиваемыми процессорами, в частности Rabbit.
Интерес к JAUS-стандартизации со стороны коммерческих компаний сдерживается прежде всего значительной трудоемкостью ее реализации. Но наиболее дальновидные рыночные игроки принимают необходимые меры уже сейчас. Так, Йорген Петерсен, президент робототехнической фирмы Robotics Engineering Excellence (www.resquared.com), создавшей платформу SHERPA, на которой военное научное агентство передовых исследований DARPA отрабатывает технологии распознавания в сложных погодных условиях, был избран осенью на должность председателя комитета JAUS по направлению "Боевая полезная нагрузка".
Перспективы
независимая некоммерческая организация, занимающаяся продвижением передовых технологий в сферу автономных военных аппаратов - Национальный центр оборонной робототехники США (NCDR, www.roboticsfoundry.org/nationalCenter.asp), этой осенью выделила грант в размере 800 тыс. долл. ряду компаний и университетов, ведущих исследования в шести ключевых направлениях:
- повышение автономности роботов (ответственный - компания Applied Perception);
- совершенствование средств автоматического обхода препятствий с помощью недорогих радаров (Applied Perception);
- совместные действия роботов (Applied Perception);
- расширение архитектуры JAUS средствами поддержки групповых операций (этим направлением займется университет Карнеги - Меллона, он же подготовит и спецификации безопасных архитектур боевых роботов, оснащенных оружием);
- обход малозаметных препятствий небольшими автономными аппаратами (для проекта FCS по созданию высокотехнологичной армии людей и машин; ответственный - компания Automatika. com);
- встроенные средства выявления неполадок, диагностики и самовосстановления наземных роботов (Пенсильванский университет).
Эти проекты NCDR включил в концепцию так называемой гибкой робототехники, рынок которой составляет 8 млрд. долл. Она объединяет аппараты повышенной автономности и интеллектуальности, технологии машинного зрения, искусственного восприятия, автономной навигации, человеко-машинного взаимодействия, всевозможные датчики и манипуляторы.
К проекту JAUS в этом году проявила серьезный интерес Ассоциация инженеров автомобилестроения (Society of Automotive Engineers - SAE, www.sae.org), которая насчитывает 80 тыс. членов из 97 стран, в том числе из России, и формирует стандарты в области проектирования автомобильной и авиационно-космической техники. SAE развивает собственную архитектуру Generic Open Architecture (GOA), базирующуюся на наборе интерфейсов. Модульная и масштабируемая GOA поддерживает различные открытые спецификации, используемые при проектировании автомобильных и авиационных систем, и требует существенно меньших усилий по созданию и интеграции на аппаратном и системном уровнях машин разных производителей. Она представляет собой четырехуровневый стек, включающий прямые интерфейсы к оборудованию, логические связи, расширенные средства стыковки и интерфейсы к операционным системам. С помощью GOA можно повторно использовать готовые компоненты, переносить созданный проект на другие платформы и т.д.
Аэрокосмическая комиссия SAE, отметив несомненную потребность в объединении рынка робототехники, фактически одобрила архитектуру JAUS, которая станет стандартом для множества роботов гражданского применения. Первая встреча робототехнической группы SAE по стыковке GOA и JAUS пройдет в ноябре в г. Рено (США, шт. Невада). На ней будут обсуждаться новые интерфейсы GOA, поддерживающие формат сообщений JAUS.