16. Chernyshev V.V. Arykantsev V.V. MAK-1 - podvodnyy shagayushchiy robot [MAC-1 - underwater walking robot ], Robototekhnika i tekhnicheskaya kibernetika [Robotics and Technical Cybernetics], 2015, No. 2, pp. 45-50.
17. Chernyshev V.V. Modelirovanie dinamiki shagayushchey mashiny s tsiklovymi dvizhitelyami kak sistemy tverdykh tel s uprugodissipativnymi svyazyami [Modeling the dynamics of a walking machine with cyclic walking propellers as a system of rigid bodies with links provocatively], Izvestiya VolgGTU. Seriya "Aktual'nye problemy upravleniya, vychislitel'noy tekhniki i informatiki v tekhnicheskikh sistemakh" [Izvestiya of the Volgograd state technical University. Series: Actual problems of control, computer science and Informatics in technical systems], 2010, No. 11, pp. 32-35.
18. Chernyshev V.V., Briskin E.S., Zhoga V.V., Maloletov A.V., Sharonov N.G. Modeling of the Dynamics of the Walking Machine with the Cyclic Propulsors as System Solids with Elastic and Damping Relations, The 3rd Joint Int. Conf. on Multibody System Dynamics. The 7th Asian Conference on Multibody Dynamics, Busan (Korea), 2014, 9 p. (pdf). Available at: http://imsd-acmd2014.ksme.or.kr/.
19. Briskin E.S., Chernyshev V.V., Frolova N.E. O pozitsionnoy zavisimosti tyagovo-stsepnykh svoystv shagayushchikh mashin s tsiklovymi dvizhitelyami [About positional dependence of traction properties of walking machines with cyclic walking propellers], Traktory i sel'khozmashiny [Tractors and Agricultural Machinery], 2009, No. 6, pp. 21-25.
20. Gus'kov V.V., Velev N.N., Atamanov Yu.E. i dr. Traktory: Teoriya [Tractors: Theory]. Moscow: Mashinostroenie, 1988, 376 p.
21. Zabavnikov N.A. Osnovy teorii transportnykh gusenichnykh mashin [Fundamentals of the theory of tracked vehicle]. Moscow: Mashinostroenie, 1975, 448 p.
Статью рекомендовал к опубликованию д.т.н., профессор В.И. Пындак.
Чернышев Вадим Викторович - Волгоградский государственный технический университет; e-mail: dtm@vstu.ru; 400005, г. Волгоград, пр-т им. Ленина, 28; д.т.н.
Арыканцев Владимир Владимирович - аспирант.
Chernyshev Vadim Viktorovich - Volgograd State Technical University; e-mail: dtm@vstu.ru;
28, Lenin ave., Volgograd, 400005, Russia; dr. of eng. sc.
Arykantsev Vladimir Vladimirovich - postgraduate student.
УДК 629.58:629.5.05
Л.А. Мартынова, А.И. Машошин, И.В. Пашкевич
СИСТЕМА ПОДДЕРЖКИ РАЗРАБОТКИ АЛГОРИТМОВ СИСТЕМЫ
УПРАВЛЕНИЯ АНПА*
Целью работы явилось создание системы, представляющей собой программно-аппаратный комплекс (ПАК), предназначенной для решения следующих задач: разработки программного обеспечения СУ АНПА; отработки взаимодействия составных частей СУ АНПА (агентов); моделирования функционирования СУ АНПА; оценки эффективности функционирования СУ АНПА на каждой стадии выполнения миссии. Разработанный ПАК является рабочим местом для формирования и отработки алгоритмов системы управления АНПА, построенной на основе мультиагентного подхода. Согласно мультиагентному подходу СУ АНПА представляет собой совокупность интеллектуальных агентов, объединенных в целевые группы, связанные с подсистемами СУ АНПА: социальной, совещательной, восприятия, поведения, приводов и вспомогательной. Управление АНПА осуществляется путем взаимодействия агентов как внутри групп, так и между группами. Основными агентами, обеспечивающими функционирование АНПА, являются: в социальной подсисте-
* Работа выполнена при поддержке РФФИ (проект № 15-08-02928-а). 178
ме: агент «Интерфейс»; в совещательной подсистеме: агенты «Планирование миссии», «Планирование траектории», «Локализация», «Зарядное устройство»; в подсистеме восприятия: агенты «Энкодер», «Наблюдатель», «Датчик батареи»; в подсистеме поведения: агенты «Идти», «Обойти», «Пройти»; в вспомогательной подсистеме: агенты «Менеджер», «Монитор», «Пробуждение»; в подсистеме приводов: агент «Управление движением». Описано взаимодействие между агентами и пути разрешения конфликтов, возникающих при попытке нескольких агентов использовать один и тот же ресурс в данный момент времени, на примере разрешения конфликта между агентами «Обойти», «Идти» и «Пройти» при попытке отправить противоречивые действия агенту «Управление движением». Разрешение конфликта обеспечивается путем учета значения полезности каждого агента. Текущее значение полезности отправляется другим агентам, находящимся в конфликте, с тем, чтобы принять решение о выполнении дальнейших действий. Агент, имеющий самую высокую полезность, получает право на принятие решения и управление деятельностью, вызвавшей конфликт. Приведены результаты изменения оценки полезности агентов движения по мере выполнения миссии.
Подводные роботы; автономные необитаемые подводные аппараты; агент; муль-тиагентный подход.
L.A. Martynova, A.I. Mashoshin, I.V. Pashkevich
THE SUPPORT SYSTEM FOR DESIGN OF AUV INTEGRATED CONTROL
SYSTEM ALGORITHMS
The aim of the work was to create a software system (SS) for the following tasks: design autonomous unmanned vehicle (AUV) control system (CS) software; training interaction between CS components (agents); modeling the work of the CS; evaluating the performance of the AUV CS on each stage of the mission. Designed SS is a working place for the algorithms and program designer of the CS built on the basis of multi-agent technology. According to this technology AUV CS consists of the intelligent agents set, united in the task subsystems: social, conference, deliberative, perception, drive, auxiliary. The management of AUV is carried out by agents interaction within each group and between groups. The main agents are listed below: in the social subsystem: the "interface" agent; in the conference subsystem: "mission planning", "path planning", "localization", "charger" agents; in the perception subsystem: "encoder", "observer", "sensor battery" agents; in the behavior subsystem: "go", "bypass", "pass" agents; in the drive subsystem: "motion control" agent; in the auxiliary subsystem: "manager", "monitor", "awakening" Agents. The article describes the interaction between agents and ways to resolve conflicts that arise when several agents try to use the same resource at one time. As an example it is shown how the conflict between agents "bypass", "go" and "pass" resolves. Resolving of the conflict is achieved by taking into account the value of utility of each agent. Agent having the highest utility is entitled to make decision and perform management. It is shown how the utility of different agents changes during the mission movement.
Underwater robot; autonomous unmanned vehicle; agent; multi-agent technology.
Введение. Автономные необитаемые подводные аппараты (АНПА) являются одним из наиболее перспективных средств изучения и освоения Мирового океана [1-7]. АНПА используются:
♦ для тщательного обследования дна перед началом работ по добыче углеводородов на шельфе и прокладке подводных трубопроводов;
♦ для прокладки подводных кабелей, в первую очередь, подо льдом;
♦ для обследования подводных сооружений, добывающих платформ и трубопроводов;
♦ для проведения широкомасштабных подводных научных исследований в различных областях (гидрофизика, морская биология, химия, геология, климатология, подводная археология);
♦ для поиска затонувших кораблей и самолётов;
♦ в военных целях.
Поскольку АНПА является подводным роботом, эффективность его использования во многом зависит от возможностей его системы управления (СУ), создание которой представляет собой весьма нетривиальную задачу [8].
Одним из наиболее перспективных подходов к созданию систем управления сложными объектами является развиваемый в последние два десятилетия мультиа-гентный подход [9, 10], наиболее существенным отличием которого от традиционного мультиобъектного подхода является децентрализация СУ с делегированием ряда функций по управлению интеллектуальными элементами системы, называемыми агентами.
В настоящее время мультиагентный подход находит все более широкое применение для управления сложными техническими и организационными системами [10]. Известны работы [11, 12], в которых рассматривается мультиагентный подход к построению системы управления наземными роботами.
Целью статьи является краткое описание системы поддержки разработки алгоритмов системы управления АНПА, построенной на основе мультиагентного подхода.
Система поддержки представляет собой программно-аппаратный комплекс (ПАК), предназначенный для решения следующих задач:
♦ разработки программного обеспечения СУ АНПА;
♦ отработки взаимодействия составных частей СУ АНПА (агентов);
♦ моделирования функционирования СУ АНПА;
♦ оценки эффективности функционирования СУ АНПА на каждой стадии выполнения миссии.
1. Особенности реализации системы управления АНПА на основе муль-тиагентного подхода. СУ АНПА, как и любого другого робота [11-13], состоит из подсистем, основными из которых являются (рис. 1):
Рис. 1. Типовая структура системы управления АНПА
♦ социальная подсистема (интерфейс пользователя), обеспечивающая способность взаимодействия с оператором или другими АНПА;
♦ совещательная подсистема, позволяющая рассуждать о способах достижения цели на высоком уровне;
♦ подсистема восприятия (экстеросептивный датчик), обеспечивающая восприятие окружающей среды;
♦ подсистема поведения, обеспечивающая движение АНПА в условиях уз-костей, препятствий, мелководья и т.д.;
♦ подсистема приводов (движительно-рулевых механизмов), обеспечивающая взаимодействие с физическим миром.
Каждая подсистема состоит из одного либо группы агентов (рис. 2). Каждый агент может состоять из группы агентов [14-25]. Восприятие окружающей обстановки в реактивной подсистеме осуществляется множеством агентов восприятия. Агенты соответствуют каждому датчику (энкодер, гидролокатор, датчик заряда
батареи и т.д.). Подсистема приводов представлена единственным агентом «Управление движением». Функции подсистемы поведения обеспечиваются набором агентов движения, по одному для каждого основного типа поведения, например агенты «Идти», «Обойти», «Пройти» и т.д. Потенциал совещательной подсистемы образует когнитивные агенты: «Планирование миссии», «Планирование траектории», «Подзарядка батареи» и «Локализация». Могут быть добавлены дополнительные агенты для обеспечения АНПА с более высокими когнитивными способностями, например, «Обучение», «Принятие решения» и т.д. Социальная подсистема реализует свои функции при помощи агента «Интерфейс». На рис. 2 дополнительно введена вспомогательная подсистема, агенты которой обеспечивают координацию функционирования агентов всей системы управления.
Рис. 2. Схема взаимодействия агентов мультиагентной СУ АНПА
2. Описание агентов каждой подсистемы и взаимодействия между ними. 2.1. Агенты подсистемы восприятия. Агенты подсистемы восприятия обеспечивают получение информации об окружающей среде и внутреннем состоянии АНПА (например, «уровень заряда батареи»). Они собирают данные от датчиков и адаптируют их для предоставления информации, запрошенной другими агентами системы.
Агент «Энкодер». Агент «Энкодер» отвечает за получение текущих координат положения АНПА и отражение миссии АНПА в локальных координатах, связанных с центром массы АНПА, а затем осуществляет преобразование их в глобальную систему координат. Полученную позицию АНПА агент направляет агенту «Управление движением» как агенту, непосредственно взаимодействующему с микроконтроллером, который, в свою очередь, обеспечивает движение АНПА. С точки зрения исходной информации агент «Энкодер» должен знать положение АНПА в глобальных координатах для того, чтобы обновлять данные, поступающие от показаний датчиков. Он также взаимодействует с агентом «Локализация», когда тот оценивает положение АНПА и определяет, что ошибки, накопленные энкодерами, выше допустимого порога и должны быть исправлены.
Агент «Наблюдатель». Целью агента «Наблюдатель» является создание карты местности с указанием положения препятствий, основанным на показаниях датчиков. Он получает различные измерения от всех датчиков освещения обстановки и использует их, чтобы определить препятствия на пути АНПА. Кроме того, он должен обновлять карту по мере движения АНПА, поэтому он также получает информацию о текущей скорости АНПА от агента «Управление движением» и текущих глобальных координатах от агента «Энкодер».
После нахождения препятствия и определения его координат агент «Наблюдатель» отправляет их агентам «Обойти» и «Пройти». Агенту «Обойти» он посылает координаты ближайшего препятствия, вокруг которого АНПА, в зависимости от ситуации, должен маневрировать. Агенту «Пройти» агент «Наблюдатель» посылает координаты объектов с обеих сторон АНПА. В зависимости от ситуации АНПА должен будет перемещаться между этими точками. Оба агента используют информацию, представленную агентом «Наблюдатель» для расчета соответствующих линейных и угловых скоростей.
Агент «Датчик заряда батареи». Целью агента «Датчик заряда батареи» является периодическая проверка уровня заряда батареи АНПА с частотой, которая динамически увеличивается по мере падения значения заряда до критического уровня, поскольку АНПА должен иметь возможность своевременной подзарядки батареи. Агент «Датчик заряда батареи» получает информацию от агента «Управление движением», как агента, связанного с оборудованием, информирует агента «Подзарядка батареи» при запросе об уровне заряда батареи, выдает сигнал тревоги, если значение оказывается вблизи критического порога.
2.2. Агенты подсистемы поведения. Подсистема поведения включает в себя агентов движения, которые осуществляют конкретные действия, такие как «обход», «приведение в точку» и т.д. Информация, поступающая от агентов восприятия, используется для реагирования на изменения, произведенные в самом АНПА или в окружающей среде. Основными средствами поведения являются агенты «идти», «обойти» и «пройти», хотя может быть добавлено и большее число агентов.
Агент «Идти». Агент «Идти» несет ответственность за движение АНПА к целевой точке с учетом координат целевой точки, ориентации АНПА и текущего местоположения и курса. Агент рассчитывает линейные и угловые скорости для управления АНПА, чтобы обеспечить достижение целевой точки. Он получает глобальные координаты АНПА от агентов «Датчики», траекторию до целевой точки от агента «Планирование миссии» или от агента «Подзарядка батареи», которые необходимы агенту «Управление движением».
Агент «Обойти». Агент «Обойти» отвечает за обход препятствий, которые могли бы быть на пути АНПА при движении к своей цели. Он опрашивает гидролокатор для определения ближайших точек препятствия и вычисляет линейные и угловые скорости для предотвращения столкновений с объектами вне зависимости от того, находятся ли они перед АНПА или на флангах. Агент «Обойти» получает информацию от агентов «Планирование миссии» и «Подзарядка батареи» (координаты точек траектории), от агента «Датчик» (текущие глобальные координаты), от агента «Управление движением» (текущие линейные и угловые скорости) и от агента «Наблюдатель» (ближайшие к текущему положению препятствия и ближайшее перед АНПА препятствие). Он посылает требуемые значения линейных и угловых скоростей агенту «Управление движением».
Агент «Пройти». Целью агента «Пройти» является прохождение АНПА через узкие места, обусловленные рельефом дна и другими препятствиями. Агент «Наблюдатель» сообщает данные до ближайших препятствий по обе стороны АНПА и определяет, находится ли АНПА в узком месте. Затем вычисляет соответ-
ствующие линейные и угловые скорости, чтобы удерживать АНПА в центре узкого места. Этот агент получает информацию от агента «Планирование миссии» и агента «Зарядное устройстве» (желательные точки траектории), от агента «Датчики» (текущие глобальные координаты), от агента «Наблюдатель» (координаты препятствий по обе стороны АНПА). Он посылает требуемые линейные и угловые скорости агенту «Управление движением».
2.3. Агенты совещательной подсистемы. Совещательная подсистема состоит из агентов, ответственных за решение сложных задач на высоком уровне, и включает четырех агентов: «Планирование миссии», «Планирование траектории», «Локализация» и «Подзарядка батареи».
Агент «Планирование миссии». Целью агента «Планирование миссии» является планирование последовательности задач, основанных на информации, предоставленной агентами «Интерфейс» и «Локализация», для достижения целей миссии.
Агент «Планирование миссии» получает информацию от агента «Интерфейс» о миссии, которая должна быть выполнена, от агента «Подзарядка батареи» - уровень заряда батареи, чтобы судить, может ли миссия быть выполнена, и от агента «Локализация», чтобы знать положение АНПА на глобальной карте.
Агент «Планирование миссии» должен иметь три ресурса: от агента «Планирование траектории», агента «Перейти» и агента «Пройти». Агент «Планирование миссии» имеет дело с задачей позиционирования, он запрашивает план от агента «Планирование траектории», чтобы перейти от текущего положения к позиции назначения. Агент «Планирование траектории» запрашивает агента «Подзарядка батареи». С другой стороны, агент «Планирование миссии» может запросить агентов «Идти» и «Пройти» относительно траектории следования. Эти последние агенты опрашивают агента «Подзарядка батареи». Оба агента решают, когда траектория является возможной с учетом оставшейся энергии в батарее.
Агент «Планирование траектории». Агент «Планирование траектории» имеет две основные цели: расчет траектории движения АНПА к цели, свободной от неподвижных препятствий, и оценку потребления энергии при движении АНПА по намеченной траектории.
Агент «Локализация». Цель агента «Локализация» заключается в определении положения АНПА на глобальной карте. Агент «Локализация» получает информацию от агентов «Датчик» и «Наблюдатель» и сотрудничает с агентами «Планирование миссии», «Планирование траектории» и «Подзарядка батареи», отправив им текущую позицию. Он также передает информацию агенту «Датчик», чтобы не допустить существенного отклонения от расчетной траектории.
Агент «Подзарядка батареи». Этот агент на основе информации, предоставленной датчиком батареи, анализирует, возможность перехода к точке пополнения энергоресурса. Он посылает сигнал тревоги агенту «Планирование миссии», если уровень заряда батареи становится ниже критического; и просит агента «Планирование траектории» произвести расчет лучшей траектории на данный момент.
2.4. Агенты подсистемы приводов. Подсистема приводов отвечает за непосредственное использование энергетических возможностей АНПА для различных систем движения. В подсистеме привода агентов может быть столько, сколько есть приводов или наборов приводов в АНПА.
Агент «Управление движением». Агент «Управление движением» представляет собой интерфейс между мультиагентной архитектурой АНПА и микроконтроллером. Агент «Управление движением» соответствует архитектуре реального АНПА. В общем случае АНПА имеет маршевый движитель и подруливающие движители, расположенные в носовой и кормовой частях АНПА по бортам. Кроме
того, АНПА имеет вертикальный и горизонтальные рули. АНПА имеет микроконтроллер и компьютер на борту: микроконтроллер получает показания датчиков и осуществляет управление двигателями. Внутри имеются контроллеры, линейный и угловой регуляторы скорости. Периодически агент «Управление движением» получает свою текущую позицию, показания средств наблюдения и данные по заряду батареи и распространяет эту информацию датчикам различных агентов. Он также получает желаемую угловую и линейную скорости от агентов поведения и отправляет их на микроконтроллеры.
2.5. Агенты вспомогательной подсистемы. Все агенты вспомогательной подсистемы являются агентами поддержки. Они необходимы для обеспечения правильного функционирования всей мультиагентной архитектуры.
Агент «Менеджер». Агент «Менеджер» отслеживает агентов в архитектуре, активных в настоящее время, их расположение (имя хоста и номер порта), услуги, которые они предоставляют, и потребности в ресурсах, необходимые им. Кроме того, каждый агент, который зарегистрирован в сети, сообщает агенту «Менеджер», может ли он предоставить услуги для нескольких агентов одновременно, существует или нет взаимное исключение и т.д. Каждый раз агент при присоединении к сообществу должен зарегистрироваться у агента «Менеджер», который затем информирует остальную часть сообщества о новом агенте и услугах, которые он предлагает, о потребностях и ресурсах, которые он использует. Таким образом, это средство является ключевым элементом в системе по такому вопросу, как использование различных компьютерных программ от разных поставщиков.
Агент «Монитор». Целью агента «Монитор» является наблюдение агентов, соединенных единой платформой. Агент «Монитор» должен отслеживать неработоспособность агента, имеющего важное значение для правильного функционирования АНПА, и выполнять необходимые шаги для перезапуска, сохраняя АНПА в безопасном режиме в окружающей среде. Кроме того, он должен убедиться, что каналы связи работают должным образом. Этот агент получает информацию от агента "Менеджер", агента «Пробуждение» и других агентов СУ.
Агент «Пробуждение». Агент «Пробуждение» отвечает за запуск минимальной конфигурации агентов, необходимой для выполнения миссии. Агент «Пробуждение» получает краткую информацию от агента «Планирование миссии» о том, какой вид миссии будет осуществляться. Основываясь на данных, агент начинает пробуждать всех агентов, необходимых для этого. Например, если миссия заключается в том, чтобы перейти к точке, то агент «Пробуждение» начнет пробуждать агентов «Управление движением», «Энкодер», «Эхолот», «Идти», «Пройти», «Обойти» и «Планирование траектории».
2.6. Агенты социальной подсистемы. Агенты социальной подсистемы предназначены для общения с другими агентами других систем, например, целью агента «Интерфейс» является взаимодействие с человеком-оператором или внешним программным агентом. Также он отображает ход миссии во время ее выполнения АНПА.
Таким образом, рассмотрение функционирования СУ АНПА, как мультиа-гентной системы, обозначило задачи, которые необходимо решать в процессе выполнения миссии. Ниже будет описано, как для формирования алгоритмов решения обозначенных задач можно использовать возможности системы поддержки разработки алгоритмов интегрированной системы управления АНПА.
3. Пример использования ПАК для разрешения конфликтных ситуаций взаимодействия агентов в процессе функционирования СУ АНПА. Пусть рассматривается эпизод, связанный с движением АНПА к целевой точке в условиях нахождения препятствий по маршруту следования (рис. 3).
А «ШРГКВШ НС?
чад а..""'. г. ч.г,.^И^^И^^И
Рис. 3. Карта движения АНПА в условиях препятствий
После того, как агент «Планирование миссии» проложил траекторию Т, чтобы достичь позицию назначения, он посылает ее агенту «Идти» и агенту «Пройти». Эта траектория представляет собой последовательность точек р1.,..., рп , которая должна быть достигнута в процессе выполнения миссии.
Агент «Идти», который знает текущее положение АНПА и миссию, рассчитывает линейные и угловые скорости, необходимые для достижения первой точки траектории р1. Затем вычисленные команды он посылает агенту «Управление движением». Агент «Пройти» делает то же самое, но считает препятствия на стороне АНПА (в случае, когда АНПА находится в «коридоре» или узкости). Кроме того, агент «Обойти» постоянно ищет препятствия перед АНПА, чтобы АНПА смог отвернуть от них.
Агенты «Идти», «Пройти» и «Обойти» должны координировать свои действия для того, чтобы управлять агентом «Управление движением». Эта координация основана на стоимости полезности, рассчитанной для каждого агента: агент, который имеет наибольшее значение полезности, осуществляет управление АНПА. Во время этого процесса агент «Энкодер» рассчитывает текущую позицию АНПА, используя глобальные координаты, а агент «Менеджер» обновляет карту местности, чтобы увидеть какие-либо препятствия перед АНПА и со стороны его бортов. Эти агенты постоянно отправляют необходимую информацию агентам «Идти», «Обойти», «Пройти» и агенту «Локализация». Агент «Локализация» определяет положение АНПА на глобальной карте и посылает информацию агенту «Подзарядка батареи» и агенту «Планирование миссии» для того, чтобы держать их в курсе. Если текущие координаты, вычисленные с помощью агента «Энкодер», являются ошибочными, агент «Локализация» обеспечивает того агента новыми параметрами, после чего агент «Энкодер» обновляет свое локальное состояние.
После того, как АНПА достиг первой позиции на траектории р1, агенты «Идти» и «Пройти» переходят к планированию движения в следующую точку р2, и т.д., пока последняя точка на траекториирп не будет достигнута.
Однако может оказаться, что, когда агент «Идти» отправил запрос агенту «Управление движением», чтобы перейти к точке ри агент «Заряд батареи» понимает, что уровень заряда батареи ниже критического уровня, требуемого безопасностью АНПА. В этом случае Подзарядка батареи запрашивает агента «Идти» для выполнения новой траектории Т* для того, чтобы требования агента «Подзарядка батареи» были удовлетворены. В этом случае используют тех же трех агентов («Идти», «Обойти», «Пройти»), и они посылают агенту «Управление движением» противоречивые команды. В свою очередь, агент «Идти» должен планировать ресурс миссии от агента «Подзарядка батареи», так как от них он может принимать противоречивые запросы по траектории движения. При этом возникает конфликт между агентами, так как несколько агентов пытаются использовать один и тот же ресурс в данный момент времени. Например, такие конфликты могут возникать между агентами «Обойти», «Идти» и «Пройти» при попытке отправить противоречивые действия агенту «Управление движением».
Для разрешения конфликтов каждому агенту ставится в соответствие нормированное значение полезности (между [0,1]), известное лишь самому агенту. Значение полезности отправляется другим агентам, находящимся в конфликте, с тем, чтобы принять решение о выполнении своих действий. Таким образом, агент с самой высокой полезностью принимает решение по управлению деятельностью, вызвавшей конфликт. Пусть агент «Идти» имеет полезность 0,5, агент «Пройти» 0,3, а агент «Обойти» 0,7. Значение 0,7 является самым высоким, поэтому агент «Обойти» берет на себя управление ситуацией и является единственным, кто посылает скорость агенту «Управление движением».
Для получения предварительной оценки полезности, изменяющей свое значение по мере динамического изменения окружающей и внутренней обстановки, с помощью ПАК осуществляется проигрывание тактического эпизода. Выбор алгоритмов заключается в обоснованном назначении полезности, оказывающей влияние на решение задачи.
На рис. 4 представлены зависимости полезности агентов "Идти", "Пройти" и "Обойти" от положения АНПА относительно препятствий, изменяющиеся с течением времени по мере движения АНПА. По горизонтальной оси отложено время, по вертикальной - значение полезности.
Оценка полезности агентов "Идти", "Пройти", "Обойти"
0.90.80.70.60.50.40.30.20.1
S.
S/
2 6 8 10 12 14 16 18 20 22 24 26 2 8 30 32 34 36 3 8 40 42 4 4 6 48 50 52 & 4 56 S 6 0 6 2 64 66 68 7 0 7 2
Рис. 4. Оценка полезности агентов "Идти", "Пройти" и "Обойти" в ходе
выполнения миссии
Из рис. 4 видно, что если препятствие находится на безопасном расстоянии от АНПА, то полезность агента «Идти» наивысшая (линия красного цвета), по мере прохождения АНПА между препятствиями постепенно становится наивысшей полезность агента «пройти» (линия зеленого цвета), при сближении с препятствием наивысший приоритет отдается агенту «обойти» (линия синего цвета).
После назначения полезности агентам эпизод проигрывается от начала и до конца. При этом производится оценка эффективности выполнения миссии. По результатам оценки эффективности корректируются ценности агентов движения.
Заключение. В работе рассматриваются особенности реализации системы управления АНПА на основе мультиагентного подхода. Согласно этому подходу система управления АНПА представляет собой совокупность интеллектуальных агентов, объединенных в целевые группы. Управление осуществляется путем взаимодействия агентов как внутри групп, так и между группами. В работе приведён перечень основных агентов АНПА и описано взаимодействие между ними. Приведено описание программно-аппаратного комплекса, являющегося рабочим местом для разработки и отработки алгоритмов системы управления АНПА, построенной на основе мультиагентного подхода.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Автономные подводные роботы. Системы и технологии / под ред. М.Д. Агеева. - М.: Наука, 2005. - 398 с.
2. Илларионов Г.Ю., Сиденко К.С., Бочаров Л.Ю. Угроза из глубины: XXI век. - Хабаровск: КГУП "Хабаровская краевая типография", 2011. - 304 с.
3. Белоусов И. Современные и перспективные необитаемые подводные аппараты ВМС США // Зарубежное военное обозрение. - 2013. - № 5. - C. 79-88.
4. Инзарцев А.В. и др. Применение автономного необитаемого подводного аппарата для научных исследований в Арктике // Подводные исследования и робототехника. - 2007.
- № 2 (4). - C. 5-14.
5. Гизитдинова М.Р., Кузьмицкий М.А. Мобильные подводные роботы в современной океанографии и гидрофизике // Фундаментальная и прикладная гидрофизика. - 2010.
- Т. 3, № 1. - С. 4-13.
6. Боженов Ю.А. Использование автономных необитаемых подводных аппаратов для исследования Арктики и Антарктики // Фундаментальная и прикладная гидрофизика.
- 2011. - Т. 4, № 1. - С. 4-68.
7. Millar G., Mackay L. Maneuvering under the ice // Sea technology. - 2015. - Vol. 56, No. 4.
- P. 35-38.
8. Мартынова Л.А., Машошин А.И., Пашкевич И.В., Соколов А.И. Интегрированная система управления автономного необитаемого подводного аппарата // Материалы 8-й Всероссийской мультиконференции по проблемам управления, Дивноморское, 28 сентября
- 3 октября 2015 г. - Т. 3. - С. 191-193.
9. Городецкий В.И., Грушинский М.С., Хабалов А.В. Многоагентные системы (обзор) // Новости искусственного интеллекта. - 1998. - № 2. - C. 64-116.
10. Ржевский Г.А., Скобелев П.О. Как управлять сложными системами? Мультиагентные технологии для создания интеллектуальных систем управления предприятиями. - Самара: Офорт, 2015. - 290 с.
11. Innocenti B. A multi-agent architecture with distributed coordination for an autonomous robot. Ph.D. dissertation -Universitat de Girona, 2009.
12. Ермолов И.Л. Расширение функциональных возможностей мобильных технологических роботов путем повышения уровня их автономности с использованием иерархической комплексной обработки бортовых данных: дис. ... д-ра техн. наук, 2012. - 350 с.
13. ГОСТ Р ИСО 8373-2014. Роботы и робототехнические устройства. Термины и определения. - 33 с.
14. Giret A., Botti V. Towards an abstract recursive agent // Integrated Computer-Aided Engineering. - 2004. - No. 11 (2). - P. 165-177.
15. Marik V., Flether M., Pechoucek M. Holons and agents: Recent developments and mutual impacts. - Multi-Agent-Systems and Applications II. 9th ECCAI-ACAI/EASSS 2001, AEMAS 2001, HoloMAS 2001. - Lecture Notes in Computert Science, 2003. - P. 233-267.
16. Fisher K., Schillo M., Siekmann J. Holonic multiagent system: A foundation for the organisation of multiagent system // Holonic and Multi-Agent System for Manufacturing. Lecture Notes in Computer Science. - 2004. - 2744/2004. - P. 71-80.
17. Soh L.K. Tsatsoulis C. A real-time negotiation model and a multi-agent sensor network implementation // Autonomous Agents and Multi-Agent Systems. - November, 2005. - P. 215-271.
18. De Wolf T. Panel discussion on engineering self-organising emergence. 2007. SASO, 2007, 10-07-2007, MIT, Boston/Cambridge, MA. - USA. http://www.cs.kuleuveen.be/~tomdw presentations/presentation-SAS0panel2007.ppt.
19. Fromm J. On engineering and emergence. SACS|06, Workshop on Adaptation and Self-Organizing System (nlin.AO), arXiv:nlin/0601002v1 [nlin.AO], 2006.
20. De Wolf T., Holvoet T. Using UML 2 activity diagrams to design information flows and feedback-loops in self-organising emergent system // Processing of the Second International Workshop on Engineering Emergence in Decentralised Autonomic Systems (EEDAS 2007), 2007.
- P. 52-61.
21. Deloach S.A. Analysis and design using MaSE and agent tool // Proceedings of the 12th Midwest Artificial Intelligence and Cognitive Science Conference (MAICS 2001). - 2001. - P. 1-7.
22. WoodM.F., DeLoach S.A. An overview of the multiagent systems engineering methodology // Lecture Notes in Computer Science. - Springer Verlag, 2000. - Vol. 1957/2001. - P. 207-221.
23. Silva A., Delgado J. The agent pattern: A design pattern for dynamic and distributed applications. Procceedings of the EuroPLo'98. - Third European Conference on Pattern Languages of Programming and Computing, Irsee, Germany, 1998.
24. Tahara Y., Ohsuga A., Honiden S. Agent system development method based on agent patterns. ICSE'99 // Proceedings of the 21st international conference on Software engineering, 1999.
- P. 356-367.
25. GarciaR., CufiX., CarrerasM. Estimating the motion of an underwater robot from a monocular image sequence // IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS). - 2001. - No. 3. - P. 1682-1687.
REFERENCES
1. Avtonomnye podvodnye roboty. Sistemy i tekhnologii [Autonomous underwater robots. Systems and technologie], ed. by Ageeva M.D. Moscow: Nauka, 2005, 398 c.
2. Illarionov G.Yu., Sidenko K.S., Bocharov L.Yu. Ugroza iz glubiny: XXI vek [The threat from the deep: XXI century]. Khabarovsk: KGUP "Khabarovskaya kraevaya tipografiya", 2011, 304 p.
3. Belousov I. Sovremennye i perspektivnye neobitaemye podvodnye apparaty VMS SShA [Modern and perspective unmanned underwater vehicles, U.S. Navy], Zarubezhnoe voennoe obozrenie [Foreign Military Review], 2013, No. 5, pp. 79-88.
4. Inzartsev A.V. i dr. Primenenie avtonomnogo neobitaemogo podvodnogo apparata dlya nauchnykh issledovaniy v Arktike [The application of Autonomous underwater vehicle for scientific research in the Arctic], Podvodnye issledovaniya i robototekhnika [Underwater Researches and Robotics], 2007, No. 2 (4), pp. 5-14.
5. Gizitdinova M.R., Kuz'mitskiy M.A. Mobil'nye podvodnye roboty v sovremennoy okeanografii i gidrofizike [Mobile underwater robots in modern Oceanography and gidrofizike], Fundamental'naya i prikladnaya gidrofizika [Fundamentalnaya I Prilkadnaya Gidrofizika], 2010, Vol. 3, No. 1, pp. 4-13.
6. Bozhenov Yu.A. Ispol'zovanie avtonomnykh neobitaemykh podvodnykh apparatov dlya issledovaniya Arktiki i Antarktiki [The use of Autonomous underwater vehicles for research of the Arctic and Antarctic], Fundamental'naya i prikladnaya gidrofizika [Fundamentalnaya I Prilkadnaya Gidrofizika], 2011, Vol. 4, No. 1, pp. 4-68.
7. Millar G., Mackay L. Maneuvering under the ice, Sea technology, 2015, Vol. 56, No. 4, pp. 35-38.
8. Martynova L.A., Mashoshin A.I., Pashkevich I.V., Sokolov A.I. Integrirovannaya siste-ma upravleniya avtonomnogo neobitaemogo podvodnogo apparata [Integrated system management mA Autonomous underwater vehicle], Materialy 8-y Vserossiyskoy mul'tikonferentsiipo problemam upravleniya, Divnomorskoe, 28 sentyabrya - 3 oktyabrya 2015 g. [proceedings of 8-th All-Russian multiconference on control problems, Divnomorskoye, September 28 - October 3, 2015], Vol. 3, pp. 191-193.
9. Gorodetskiy V.I., Grushinskiy M.S., Khabalov A.V. Mnogoagentnye sistemy (obzor) [Multiagent systems (review)], Novosti iskusstvennogo intellekta [AI News Newsletter], 1998, No. 2, pp. 64-116.
10. Rzhevskiy G.A., Skobelev P.O. Kak upravlyat' slozhnymi sistemami? Mul'tiagentnye tekhnologii dlya sozdaniya intellektual'nykh sistem upravleniya predpriyatiyami [.How to manage complex systems? Multi-agent technologies for creating intelligent management systems for enterprises]. Samara: Ofort, 2015, 290 p.
11. Innocenti B. A multi-agent architecture with distributed coordination for an autonomous robot. Ph.D. dissertation -Universitat de Girona, 2009.
12. Ermolov I.L. Rasshirenie funktsional'nykh vozmozhnostey mobil'nykh tekhnologicheskikh robotov putem povysheniya urovnya ikh avtonomnosti s ispol'zovaniem ierarkhicheskoy kompleksnoy obrabotki bortovykh dannykh. Dis. d-ra tekhn. nauk [Expanding the functionality of mobile technological robots by increasing their level of autonomy using a hierarchical integrated processing of airborne data. Dr. eng. sc.], 2012, 350 p.
13. GOST R ISO 8373-2014. Roboty i robototekhnicheskie ustroystva. Terminy i opredeleniya [State Standard R ISO 8373-2014. Robots and robotic devices. The terms and the definition, 33 p.
14. Giret A., Botti V. Towards an abstract recursive agent, Integrated Computer-Aided Engineering, 2004, No. 11 (2), pp. 165-177.
15. Marik V., Flether M., Pechoucek M. Holons and agents: Recent developments and mutual impacts. Multi-Agent-Systems and Applications II. 9th ECCAI-ACAI/EASSS 2001, AEMAS 2001, HoloMAS 2001. Lecture Notes in Computert Science, 2003, pp. 233-267.
16. Fisher K., Schillo M., Siekmann J. Holonic multiagent system: A foundation for the organisation of multiagent system, Holonic and Multi-Agent System for Manufacturing. Lecture Notes in Computer Science, 2004, 2744/2004, pp. 71-80.
17. Soh L.K. Tsatsoulis C. A real-time negotiation model and a multi-agent sensor network implementation, Autonomous Agents and Multi-Agent Systems, November, 2005, pp. 215-271.
18. De Wolf T. Panel discussion on engineering self-organising emergence. 2007. SASO, 2007, 10-07-2007, MIT, Boston/Cambridge, MA. Available at: http://www.cs.kuleuveen.be/-tomdw presentations/presentation-SASOpanel2007.ppt.
19. Fromm J. On engineering and emergence. SACS|06, Workshop on Adaptation and Self-Organizing System (nlin.AO), arXiv:nlin/0601002v1 [nlin.AO], 2006.
20. De Wolf T., Holvoet T. Using UML 2 activity diagrams to design information flows and feedback-loops in self-organising emergent system, Processing of the Second International Workshop on Engineering Emergence in Decentralised Autonomic Systems (EEDAS 2007), 2007, pp. 52-61.
21. Deloach S.A. Analysis and design using MaSE and agent tool, Proceedings of the 12th Midwest Artificial Intelligence and Cognitive Science Conference (MAICS 2001), 2001, pp. 1-7.
22. Wood M.F., DeLoach S.A. An overview of the multiagent systems engineering methodology, Lecture Notes in Computer Science. Springer Verlag, 2000, Vol. 1957/2001, pp. 207-221.
23. Silva A., Delgado J. The agent pattern: A design pattern for dynamic and distributed applications. Procceedings of the EuroPLo'98. Third European Conference on Pattern Languages of Programming and Computing, Irsee, Germany, 1998.
24. Tahara Y., Ohsuga A., Honiden S. Agent system development method based on agent patterns. ICSE'99, Proceedings of the 21st international conference on Software engineering, 1999, pp. 356-367.
25. Garcia R., CufiX., Carreras M. Estimating the motion of an underwater robot from a monocular image sequence, IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), 2001, No. 3, pp. 1682-1687.
Статью рекомендовал к опубликованию д.т.н. А.Г. Голубев.
Мартынова Любовь Александровна - АО «Концерн «ЦНИИ «Электроприбор»; e-mail:
martynowa999@bk.ru; 190068, Санкт-Петербург, пр. Римского-Корсакова, 49, кв. 1; тел.:
+79219411395; с.н.с.; в.н.с.
Машошин Андрей Иванович - e-mail: aimashoshin@mail.ru; 197046, Санкт-Петербург,
Малая Посадская ул., 30; тел.: 89217632345; профессор; начальник НИЦ.
Пашкевич Иван Владимирович - e-mail: iv@bk.ru; 197373, Санкт-Петербург, пр-т Авиаконструкторов, 32, кв. 168; тел.: +79119330006; главный специалист.
Martynova Liubov Alexandrovna - JSC CSRI Elektropribor; e-mail: martynowa999@bk.ru; 49, pr. Rimskogo-Korsakowa, ap. 1, Saint-Petersburg, 190068, Russia; phone: +79219411395; senior scientist; leading scientist.
Mashoshin Andrey Ivanovith - e-mail: aimashoshin@mail.ru; 30, Malaya Posadskaya street, Saint-Petersburg, 197046, Russia; phone: +79217632345; professor; head of department.
Pashkevich Ivan Vladimirovich - e-mail: iv@bk.ru; 32, pr. Aviakonstruktorov, ap. 168, Saint-Petersburg, 197373, Russia; phone: +79119330006; chief specialist.
УДК 004.942+519.876.5+001.57
А.И. Машошин, А.В. Шафранюк
ПРОГРАММНО-АППАРАТНЫЙ КОМПЛЕКС ДЛЯ МОДЕЛИРОВАНИЯ РАСПРЕДЕЛЕННЫХ СИСТЕМ ОСВЕЩЕНИЯ ОБСТАНОВКИ
В АКВАТОРИИ*
Целью работы является краткое описание программного комплекса и вычислителя (ПКВ), разработанного под руководством авторов в обеспечение создания распределенной системы наблюдения (РСН) для освещения обстановки в Арктике. Создание РСН является сложной научно-технической задачей, что обусловлено: существенным влиянием на эффективность РСН гидроакустических условий в районе развертывания, зависящих от времени года и суток, а также взаимного позиционирования элементов РСН и режимов их работы; существенным различием гидроакустических условий в различных районах, в которых планируется развертывание РСН; сложными алгоритмами управления функционированием РСН; дороговизной и сложностью морской отработки различных вариантов развертывания и функционирования РСН. Разработка ПКВ является одним из эффективных путей создания РСН, который позволит найти оптимальные решения развертывания и функционирования РСН путем их моделирования. Задачами ПКВ являются: обеспечение синтеза РСН в части пространственной конфигурации его компонент, организации обмена данными, выбора режимов мультиагентного управления системой и т.п.; возможность проведения моделирования заданных эпизодов с использованием как встроенных моделей алгоритмов функционирования, так и рабочих вариантов; наличие экспертной системы, позволяющей осуществлять расчёт показателей эффективности функционирования по результатам моделирования. При этом разработанный ПКВ позволяет осуществлять сопровождение РСН в течение всего их жизненного цикла, выполняя на каждом из этапов определённую задачу, позволяя снизить затраты и сократить время разработки РСН: на этапе аванпроекта либо НИР ПКВ решает задачи моделирования; на этапе технического проектирования - выбора параметров и моделирования алгоритмов обработки информации; на этапе рабочего проекта - отработки программного обеспечения; на этапе испытаний - поддержки проведения испытаний; на этапе сопровождения - коррекции и доработки развёрнутых систем. В работе приводится описание структуры аппаратной части и программного обеспечения ПКВ, а также взаимодействия между его отдельными компонентами.
Освещение подводной обстановки; распределенная сетевая система подводного наблюдения; программно-аппаратный комплекс.
* Работа выполнена при поддержке РФФИ (проект 14-08-01006-а). 190