ОБЗОРЫ
В конце 80-х годов XX века заметно увеличились расходы МО США на проектирование новых систем контроля и управления. Они разрабатывались разными ведомствами, содержали много общих функциональных элементов, но реализовывались далеко не одинаково и, главное, не поддерживали единого стандарта взаимодействия. Для ликвидации этой проблемы с 1992 г. в научных армейских подразделениях Пентагона началось создание единой технической архитектуры Joint Technical Architecture (JTA) - стандарта на построение всех ИТ-решений.
JTA состоит из нескольких архитектурных блоков. Функциональная архитектура включает средства и методы описания рабочих элементов будущей системы и информационных потоков, направленных на поддержку действия боевых единиц. Она также задает тип хранимой или передаваемой информации, частоту обмена данными, описание реализуемых задач и т.д.
Техническая архитектура состоит из минимально необходимого набора правил, определяющих компоновку, взаимодействие и зависимости между всеми элементами системы. Она описывает доступные службы, интерфейсы и схемы взаимосвязей.
MDARS - полностью автономный боевой робот,
выполненный в архитектуре JAUS. В полевых испытаниях
оснащался винтовкой M-16 и распылителем слезоточивых газов
Системная архитектура определяет другие системы, связанные с текущей, и принципы взаимодействия между ними.
В JTA также определяются различные физические параметры функционирования - виды и способы коммуникации, координатные системы, ключевые элементы (сети, узлы связи, платформы, настроечные параметры).
Сначала JTA была успешно апробирована в системах электронной разведки, а затем также воплотилась в комплексах управления оружием, программах моделирования и др.
На основе JTA строится большинство прикладных инженерных стандартов и спецификаций Пентагона. Так, одним из ее приложений стал проект единой архитектуры робототехнических устройств Joint Architecture for Unmanned Systems (JAUS)*1.
_____
*1 По неведомым причинам в МО США стараются избегать слова "робот", предпочитая непереводимый одним словом на русский язык термин "unmanned".
JAUS была задумана в 1994 г. в ходе экспериментов с различными способами дистанционного управления самоходными аппаратами. Уже тогда стала очевидной потребность в единых программных интерфейсах для подобных устройств - ведь главным определяющим фактором эффективности робота является в первую очередь ПО, однако на выработку программных спецификаций средств в то время не нашлось. Кроме того, скромные ресурсы бортовых систем накладывали дополнительные ограничения на поддержку сложной универсальной архитектуры.
В 1997 г. стартовала программа Пентагона по созданию универсальной автономной наземной машины Joint Robotics Program (JRP, www.jointrobotics.com), а в начале 1998 г. в ее рамках была сформирована рабочая группа JAUS. Эффективность ее работы была подсчитана довольно быстро. Оказалось, что экономия на сопровождении жизненного цикла трех моделей роботов при внедрении JAUS составляет 200 млн. долл., прежде всего за счет повторного использования ПО.
Практически во всех автономных аппаратах применяются общие для них подсистемы, но до появления JAUS они были несовместимы друг с другом. А JAUS позволяет отказаться от привязки к конкретному поставщику решений, задействовать в каждой модели все ранее созданные средства как дистанционного управления, так и автономного поведения, ускорить и удешевить разработку роботов и быстро расширять их новыми функциональными возможностями на базе новых технических решений.
Сегодня JAUS обязательна к применению во всех проектах JRP. А в рабочую группу JAUS входит 60 специалистов из 20 организаций. В настоящее время интерес к JAUS проявляют и многие гражданские структуры, в том числе Ассоциация инженеров автомобилестроения (Society of Automotive Engineers, www.sae.org) с 99-летней историей.
Архитектура JAUS поддержана множеством научных и инженерных подразделений Пентагона - командованием авиационно-ракетных войск, электронных систем и связи, бронетанковых войск, морских систем, научными лабораториями армии и ВВС, национальным институтом стандартов и технологий NIST и т.д.
Задачи JAUS
Полезность стандартизации любой сферы деятельности, связанной с интенсивной эксплуатацией ПО, очевидна. Особенно важны единые соглашения в проектах, где программная начинка привязывается к сложной аппаратной части. К сегодняшнему дню архитектура JAUS доказала свою эффективность уже в немалом числе проектов, поэтому военные намерены внедрять ее в робототехнические комплексы самого разного масштаба - от микросамолетов до крупных автономных кораблей. А управлять такими комплексами можно будет как из вычислительного центра, так и с ручных компьютеров. При этом, конечно, разным группам операторов будут доступны разные возможности управления.
При создании JAUS были сформулированы следующие требования. Она должна представлять собой открытую, масштабируемую, гибкую архитектуру, не привязанную к конкретным ИТ-решениям, но способную включить любую новую технологию. JAUS может опираться на существующие коммерческие и военные спецификации, ориентируется на повышение уровня автономности создаваемых аппаратов, учитывает интересы промышленных структур и возможность совместимости с ними.
JAUS также позволяет отрабатывать различные алгоритмы поведения и определять реальные функции проектируемых роботов на компьютерных моделях, а результаты моделирования затем без изменений переносить на действующие платформы.
Предполагается, что JAUS-аппараты при подключении к крупной системе (например, комплексу управления боем) будут обладать способностью к автоматической настройке под ее нужды. Это связано с тем, что в быстро изменяющихся условиях возможности операторов по настройке отдельных устройств сильно ограничены.
Хотя военные не очень положительно относятся к идее повышения самостоятельности машин (идеальный солдат должен быть прежде всего исполнительным), идеи JAUS тем не менее во многом ориентированы именно на развитие автономности. Как показывает практика, дистанционное управление аппаратом с помощью человека-оператора оказывается эффективным в основном при решении несложных тактических задач типа обхода препятствий и следования по трассе. Практически одинаковы способности человека и машины при планировании маршрута движений и всей миссии, а по успешности идентификации конкретных целей, скорости анализа общей ситуации и адаптации к меняющимся условиям среды роботы уже обгоняют людей.
Разработчики JAUS выделили четыре крупных этапа ее развития. Пока они находятся на первом этапе, отлаживая и тестируя совместимость JAUS-компонентов на нижних аппаратных уровнях и совершенствуя протоколы взаимодействия сообщений. В дальнейшем будут улучшаться возможности JAUS по автоматическому подключению узлов к робототехнической системе в "холодном" режиме (когда ее питание отключено), затем - в "горячем" (непосредственно в процессе функционирования). В заключение будут отлажены стандартные интерфейсы для прикладных программных модулей и сервисов, что позволит динамически расширять функции автономного комплекса - не только путем наращивания аппаратных узлов, но и за счет внесения изменений в программную начинку.
Общая архитектура JAUS
Архитектура JAUS основывается на компонентах конкретного функционального назначения, сообщениях, которыми эти компоненты обмениваются друг с другом в процессе работы, и интерфейсах интеграции и подключения новых компонентов к системе. Каждый объект JAUS способен отвечать на внешние запросы (например, от управляющих модулей) и самостоятельно определять, что он делает, какими данными обладает и как взаимодействует с окружающей средой.
JAUS представляет собой набор документов, описывающих форматы данных и методы высокоуровневого взаимодействия программных компонентов. Первоначально данная архитектура предназначалась для создания наземных роботов, но теперь ориентирована на автономные аппараты любых типов (воздушные, наземные, над- и подводные, военные и гражданские) и гарантирует единую схему дистанционного управления произвольной JAUS-моделью.
Основными документами JAUS считаются:
- Domain Model - описывает главные области компетенции JAUS и задает базовую терминологию. В нем формализованы три сферы JAUS: функциональные агенты (например, устройство - водитель), базы знаний (хранилища информации, в частности, о маршруте движения) и бортовая полезная нагрузка (всевозможная аппаратура, предназначенная для выполнения конкретных прикладных задач);
- Reference Architecture - определяет технические спецификации и реализацию Domain Model, содержит описание сообщений и команд JAUS.
Любое JAUS-решение основывается на понятиях системы, подсистемы, узла и компонента. Система представляет собой логическую группу подсистем, объединенных общей идеологией (группа аппаратов, выполняющая поиск заданного объекта). Подсистемой считается независимый и явно отличимый от других объект с определенными задачами (отдельный робот, модуль управления). Он состоит из узлов - аппаратных или программных компонентов, обеспечивающих его работоспособность. Узел поддерживает нужную функциональность в рамках подсистемы и представлен "черным ящиком"; конкретные способы реализации узлов в JAUS не рассматриваются. Благодаря этому любая JAUS-система сможет расширяться за счет технических решений, которых пока не существует.
Узлом может быть, например, датчик взрывчатого вещества, процессор обработки изображений, блок моделирования окружающей среды.
Узел, в свою очередь, основан на компонентах - модулях, способных к стыковке со своими "коллегами" и предоставляющих определенные JAUS-услуги по известному интерфейсу. Интересно, что программные компоненты могут распределяться между узлами, т.е. любой компонент может функционировать на нескольких узлах. Такой принцип неограниченности компонентов значительно повышает общую гибкость JAUS-архитектуры.
Главное требование к построению JAUS-системы заключается в том, что все сообщения, которыми компоненты обмениваются друг с другом, должны быть JAUS-совместимыми. А сами сообщения считаются единственным способом общения между компонентами. При этом структура этих сообщений спроектирована таким образом, чтобы минимизировать требования к пропускной способности линии связи.
JAUS-совместимость устройств должна обеспечиваться на трех уровнях: между подсистемами (робот - робот, робот - контроллер), между узлами (бортовой радар - бортовой контроллер) и между отдельными компонентами.
Рассмотрим основные элементы архитектуры JAUS более подробно.
Функциональные агенты
Функциональные агенты (интеллектуальные программные элементы, встроенные в бортовое оборудование) делятся на несколько групп.
Агенты управления создают планы движения, собирают информацию, принимают решения, определяют текущие задачи, расставляют приоритеты и обрабатывают незапланированные события.
Одним из основных функциональных агентов управления считается "командир машины". Он планирует деятельность вверенного аппарата, принимает решения в зоне своей ответственности, получает директивы, готовит отчеты о состоянии бортовых систем и посылает их "командиру группы". "Командир группы" формирует план действий группы "командиров машин" и следит за его выполнением. Существует также "командир группы групп", управляющий работой "командиров групп".
Агенты маневрирования с помощью внешних датчиков выполняют действия, связанные с движением аппарата. Эти агенты обеспечивают следующие маневры:
- примитивный маневр (робот выполняет базовые кинематические движения под управлением оператора, который задает основные параметры перемещения - скорость, повороты, торможение);
- векторный маневр (самостоятельное движение аппарата, когда скорость и направление заданы заранее);
- маневр по контрольным точкам (когда необходимо добраться до цели без учета времени);
- следование за лидером;
- обнаружение и объезд объектов.
Архитектура конкретного робота может реализовывать любые комбинации агентов маневрирования.
Агенты навигации занимаются планированием трассы между двумя точками, взаимодействуя при необходимости с окружающей обстановкой. Такие агенты обеспечивают полную самостоятельность аппарата, способны сами перепланировать маршрут или дожидаться в критических случаях уточнения от человека-оператора.
Агенты связи выступают в основном как диспетчеры-распределители сообщений от подсистем.
Агенты полезной нагрузки охватывают все прикладные функциональные возможности робота. Каждый агент ответственен за некоторый модуль (датчик радиоактивного заражения, манипулятор для обезвреживания мины, комплекс электронной разведки и т.д.). При этом как конкретное назначение и характеристики, так и способ реализации такого модуля могут быть произвольными. Главное, чтобы он по своим открытым интерфейсам был совместим с требованиями JAUS. Все эти агенты должны также соответствовать принципу "подключи и работай".
Среди них имеются агенты тестирования состояния аппаратуры, управления оборудованием (оружием, датчиками) и манипуляторами (которые способны выполнять исследовательские действия, толкать объекты внешнего мира, открывать двери, разрушать мины и т.д.), обнаружения и идентификации целей и др. Разработаны также агенты, ответственные за синхронное движение груза рядом с роботом, если, например, груз представляет собой дополнительную самоходную тележку.
Что касается агентов, непосредственно связанных с поражением цели, то пока официального упоминания о самостоятельном открытии JAUS-роботом огня в документах JAUS нет. Функции аппаратов в этой сфере ограничены либо нацеливанием огневых средств оператора, либо ведением огня с разрешения человека.
Группа агентов сопровождения ответственна за поддержку интерфейсов с внешним тестовым оборудованием и тренажерами, моделирование работы и функции обучения и тренировки персонала. Они также следят за доступными ресурсами: наличием энергии, топлива, уровнем температуры в двигателе, текущей полосой пропускания канала связи и т.д.
Агенты, отвечающие за безопасность, реализуют принцип самосохранения. Они призваны предотвращать въезд аппарата в опасную зону и блокировать подозрительные команды от подсистем, способные нарушить нормальное функционирование робота или вызвать действия, угрожающие окружающей среде. Впрочем, сформулированные еще Айзеком Азимовым известные противоречия между потребностью в самосохранении и необходимостью выполнить задание разрешить пока не удалось.
Окончание следует