Аннотация
Работа посвящена разработке информационно-управляющей системы для
группы автономных подводных аппаратов с учетом ограничений пропускной
способности гидроакустического канала связи. За основу взята система,
разрабатываемая в Лаборатории робототехнических систем ИАПУ ДВО РАН.
Разработана система управления группой роботов на основе стратегии «лидерведомый»,
обеспечивающая
формирование
строя
заданной
формы
и
обеспечивающая поддержание этой формы в процессе движения группы.
Реализован алгоритм комплексирования данных на основе расширенного
фильтра Калмана, который обеспечивает более точное движение как каждого
АНПА, так и всей группы заданным строем. Проведенное моделирование
движения группы АНПА показывает, что разработанная система позволяет
эффективно управлять группой АНПА. Полученные результаты могут быть
использованы при разработке ИУС других видов мобильных роботов.
3
Abstract
The work is devoted to the development of an information-control system for a
group of autonomous underwater vehicles, considering the limitations of the capacity
of the hydroacoustic communication channel. The system, developed at the Laboratory
of Robotic Systems of the IACP, FEB RAS, is taken as a basis. A system for managing
a group of robots based on the leader-follower strategy has been developed, which
ensures the formation of a given form and the maintenance of this form in the process
of group movement. The algorithm of data integration based on extended Kalman filter
is implemented, which provides more accurate movement of both AUV and the whole
group of desired formation. Conducted simulation movement of the AUV group shows
the developed system allows to effectively manage the AUV group. The obtained
results can be used in the development of IСS of other types of mobile robots.
4
Обозначения и сокращения
АНПА – автономный необитаемый подводный аппарат.
ГАНС – гидроакустическая навигационная система.
ДУС – датчик угловой скорости.
ИАПУ ДВО РАН – Институт автоматики и процессов управления
Дальневосточного отделения Российской академии наук.
ИУС – информационно-управляющая система.
КСУ – компонент системы управления.
КСФТД – компонент системы формирования траектории движения.
КМВУ – компонент менеджера верхнего уровня.
КМНУ – компонент менеджера нижнего уровня.
КНС – компонент навигационной системы.
РТС – робототехническая система.
РФК – расширенный фильтр Калмана.
СТФК – сигма-точечный фильтр Калмана.
5
Введение
Роботы
используются
во
многих
областях
науки,
техники
и
промышленности, в первую очередь там, где жизнедеятельность человека либо
затруднена, либо вообще невозможна, например, в зонах радиоактивного или
химического загрязнения, в условиях боевых действий, при проведении
подводных или космических исследований и т. п. Проблеме создания роботов
различного назначения посвящено достаточно большое число исследований,
проводимых как в России, так и за рубежом. В результате этих исследований
достаточно хорошо проработаны основные проблемы, с которыми приходится
сталкиваться разработчикам при создании роботов, такие как распознавание
объектов и сцен, формирование моделей окружающей среды, планирование
маршрутов движения и последовательностей действий для достижения цели,
управление движением с учетом динамики роботов и т. д.
В то же время стало понятно, что одиночный робот, каким бы
интеллектуальным он ни был, может использоваться только для решения
некоторых частных задач, либо выполнения довольно простых операций,
поскольку он, как правило, обладает сравнительно малыми возможностями для
выполнения поставленной задачи (небольшой радиус действия, ограниченный
бортовым
энергоресурсом,
небольшое
число
выполняемых
функций,
ограниченное набором исполнительных устройств, невысокая вероятность
выполнения поставленной задачи при функционировании в экстремальных
ситуациях, поскольку выход из строя одиночного робота ведет к невыполнимости
его миссии и т.п.).
Очевидным решением указанных выше проблем является использование
нескольких роботов, объединенных в единую группу.
Преимущества группового применения роботов – это и больший радиус
действия, достигаемый за счет рассредоточения роботов по всей рабочей зоне; и
расширенный набор выполняемых функций, достигаемый за счет установки на
6
каждый робот индивидуальных исполнительных устройств; и, наконец, более
высокая вероятность выполнения задания, достигаемая за счет возможности
перераспределения целей между роботами группы в случае выхода из строя
некоторых из них. Поэтому такие сложные задачи как, например, масштабное
исследование и зондирование поверхности других планет, сборка сложных
конструкций в космосе и под водой, участие в боевых и обеспечивающих
операциях, разминирование территорий и т.п., могут быть эффективно решены
роботами только при их групповом взаимодействии. При этом возникают новые
проблемы группового управления и коммуникации, связанные с организацией
группового взаимодействия роботов. [3]
В
подводной
робототехники
робототехнике
добавляется
и
ряд
помимо
общих
специфических:
проблем
групповой
низкая
пропускной
способность систем гидроакустической связи, что налагает жесткие ограничения
на взаимодействие аппаратов между собой; ограниченные возможности по
точности автономной подводной навигации, сложно предсказуемая обстановка.
Перечисленные проблемы необходимо преодолеть для
успешного
выполнения задач, поставленных перед группой автономных необитаемых
подводных аппаратов (АНПА).
Целью данной работы является разработка распределенной ИУС для
группы автономных подводных аппаратов, которая обеспечивает движение этой
группы заданным строем с учетом низкой пропускной способности каналов
передачи данных между роботами. Для обеспечения устойчивости формы строя
при кооперативном движении применяется управление в режиме «лидерведомый».
В качестве основы для разработки ИУС для группы АНПА используется
универсальная ИУС, разрабатываемая в Лаборатории робототехнических систем
Института автоматики и процессов управления ДВО РАН [5]. Данная ИУС
построена на архитектуре JAUS [11], которая хорошо себя зарекомендовала при
разработке ИУС для сложных автономных мобильных систем. Однако, т. к.
разрабатываемая ИУС на данный момент применима только для одного
7
мобильного робота, необходимо расширить ее возможности для применения в
групповом управлении.
8
1 Обзор и анализ существующих информационноуправляющих систем для группы АНПА
В настоящее время для решения большинства задач в области подводной
робототехники
используются
телеуправляемые
необитаемые
подводные
аппараты или одиночные АНПА. К этим задачам, в первую очередь, относятся
[6]:
• прокладка подводных кабелей;
• обследование подводных трубопроводов;
• проведение подводных научных исследований в различных областях и др.
Вместе с тем имеются актуальные задачи, которые эффективно могут быть
решены только при использовании группы АНПА, действующих по единому
замыслу во взаимодействии друг с другом.
Такими задачами являются [1, 6]:
• поиск донных объектов в назначенном районе относительно большой
площади;
• обеспечение поиска подводных месторождений углеводородов методом
донного зондирования;
• подъем со дна на поверхность затонувших объектов;
• океанографические наблюдения;
• батиметрическая съемка;
• нейтрализация подводного нарушителя, вошедшего в охраняемый район;
• осмотр дна с высоким разрешением;
• картографирование;
• топографическая съемка;
• обезвреживание подводных минных полей.
При групповом использовании роботов резко увеличивается радиус
действия за счёт рассредоточения роботов по всей рабочей области, расширяется
9
набор выполняемых функций, что обеспечивается путем установки на отдельных
роботах группы исполнительных устройств и датчиков различных типов.
Достигается более высокая вероятность решения поставленной задачи за счет
перераспределения целей между роботами группы в случае выхода из строя
некоторых из них [4]. А также, поставленная задача решается быстрее, что имеет
важное значение при поисково-спасательных операциях.
При решении задачи группового управления АНПА могут быть выделены
следующие подзадачи [2]:
а) целераспределения –
определения
соответствия
между
элементами
множества роботов и множества подзадач;
б) формирование структуры группы – определение количественного и
функционального состава аппаратов и распределение ролей между ними;
в) формирование
структуры
строя
роботов –
создание
виртуальной
структуры, определяющей пространственное взаимное расположение
АНПА;
г) управление
перемещением
группы –
определение
целевых
точек,
формирование траектории и ее реализация к целевым точкам;
д) оценка результата.
Строем
(формацией)
называется
группа
автономных
роботов
с возможностью взаимодействия друг с другом, поддерживащих конкретную
геометрическую форму взаимного расположения и работающих совместно для
достижения общей цели. [17]
Рассмотрим подробнее задачи формирования структуры строя и
обеспечения его устойчивости в процессе движения, а также методы их решения.
1.1 Обзор существующих методов управления движением
группы АНПА
В общем, задачу управления движением группы АНПА строем можно
10
разделить на две категории: системы стабилизации и следящие системы
управления [16]. В соответствии этой классификацией ниже перечислены
некоторые известные на сегодняшний день методы управления строем. Они
широко используются на подводных системах для решения таких задач, как
картографирование,
поисково-разведочные
работы,
мониторинг
морской
обстановки, сбор данных для океанографических задач, охрана гаваней и т. д.
1.1.1 Обзор систем стабилизации строя
Во время движения группы АНПА, необходимо, чтобы поддерживалась
определенная геометрическая форма строя. Ниже представлены разные методы
стабилизации управления движением:
а) Координация через посредника: при такой конфигурации АНПА
взаимодействуют
через
посредника.
Каждый
АНПА
отправляет
свою
информацию посреднику и получает положение посредника. Таким образом,
координация достигается при помощи АНПА посредника.
б) Абстрактная структура управления, основанного на обращении к
соседям: АНПА необходимо сохранять свое положения относительно положений
соседних АНПА для поддержания строя. Во время того, как группа АНПА
принимает постоянную геометрическую форму, также необходимо, чтобы
каждый АНПА принимал направление то же самое, что и его соседи.
в) Централизованный подход: здесь рассматривается управление строем
группой АНПА в соответствии с постоянной геометрической моделью в
условиях
различного
взаимодействия.
Законы
централизованного
кооперативного управления предложены при помощи соответствующих
преобразований. Эффективное управление строем для кооперативного движения
аппаратов, основанное на кинематическом алгоритме для совместного движения
АНПА с АНПА лидера.
г) Основанное на нейронных сетях (НС) динамическое поверхностное
управление: ряд алгоритмов управления строем основывается на данных
11
скорости и моментах сил АНПА лидера. Однако, все АНПА не оборудованы
датчиками скорости. Управляющее строем устройство на основе НС,
использующее алгоритм обучения методом обратного распространения,
оценивает ошибки слежения АНПА, чья динамика в высокой степени
нелинейная и изменяющаяся во времени. Оно имеет полезную способность
объединять динамику систем. Предложенная архитектура на основе НС
разработана
для
управления
экспериментальным
стендом
для
АНПА,
называемого как АНПА Школы повышения квалификации офицерских кадров
ВМС.
д) Ведомые внутри кластера: модель лидера-ведомого, основанная на
взаимодействии в режиме реального времени, выбрана для управляющего
строем устройства. Для управления строем подводных мобильных роботов
может быть использован метод определения кластерного пространства.
В этом методе Вся команда АНПА делится на различные кластеры
ограниченных размеров. Для каждого кластера сперва проектируется свое
управляющее устройство, а затем, используя централизованных подход,
разрабатывается система управления строем. Рассматриваются способы
реализации алгоритмов управления строем в режиме лидер-ведомый такие как в
форме линии, треугольника и обратного треугольника.
е)
Пространственно-синхронный
параллельный
строй:
разработан
синхронный параллельный строй для флота АНПА, который основан на его
скоростях, соответствующих модели управления виртуальным лидером.
Пространственно-синхронный параллельный строй – это основа кооперативного
управления группой АНПА, и он важен для группового кооперативного
поведения, такого как поддержание строя в пространстве, установка расстояния
связи и синхронизация наблюдений.
ж) Наблюдение за траекторией при помощи неиерархической системы
управления: В литературе по управлению строем используются два различных
типа структуры управления строем, основанных на распределении задач
управления среди агентов: иерархическая и неиерархическая структуры. Для
12
неиерархической структуры задачи поддержания расстояния и отслеживания
траектории равномерно распределены по строю, т. е. задачи управления,
распределенные по агентам, относительно одинаковые.
Устойчивое циклическое управление строем неголономной группой
аппаратов может быть достигнуто размещением аппаратов в виде топологии
циклического соединения, называемое циклическим преследованием. Это
циклическое преследование может быть в форме круга как фиксированного, так
и изменяющегося радиусов.
з) Стационарное наблюдение с изменением строя: в таком строе форма,
поддерживаемая группой АНПА, жесткая по всей площади. Необходимо
изменить или разбить форму строя, если встречаются какие-либо неподвижные
или подвижные препятствия. Неподвижные и подвижные препятствия имеют
вид сильных течений, участков суши или интенсивное движение на морских
путях. Например, можно переключить форму строя с прямой линии в форму
клина для стационарного наблюдения или изменить с двух колонн на другую
форму. При помощи методов фазовых волн и фазового градиента можно
адаптировать структуру формы к похожему виду как амеба в условиях
сильнодействующей окружающей среды. Форма строя может быть изменена или
адаптирована для обхода препятствий, управляя потенциальными функциями,
связанными с ними.
и) Управление строем по нормалям к траектории (боковому смещению):
регулятор скользящего режима дает возможность АНПА следовать по заданной
траектории с постоянной скоростью. Шаги, которых придерживаются для
следования по заданной траектории, следующие:
1) Первый шаг основан на законе наведения по линии визирования,
который заставляет каждый АНПА асимптотически следовать траектории
прямой линии, соответствующей заданному движению строя. Дальность
видимости по прямой может быть оценена видео датчиками. При данном
значении каждый АНПА может измерить свою скорость и угол направления
относительно других АНПА.
13
2) На втором шаге скорость хода каждого АНПА регулируется таким
образом, чтобы они асимптотически стремились в заданный строй и двигались
со скоростью согласно заданному профилю.
к) Геометрическое управление строем АНПА: Группа АНПА может быть
размещена
так,
геометрического
чтобы
строя
достигнуть
без
точки
каких-либо
назначения,
столкновений.
посредством
Геометрическое
управление строем может быть возможно при помощи теории фигур Якоби.
Чтобы решить проблему кооперативного движения по траектории, разработано
гибридное управляющее устройство.
л)
Схема
геометрического
управления
строем
(или
обеспечения
безопасности агента) на основе области/границ: Проблема движения по
геометрической траектории на основе границ для группы АНПА была решена
для обследования. Представлен простой подход к управлению на основе метода
границ области для геометрического строя группы АНПА.
Задача управления состоит в том, чтобы удержать каждый подводный
аппарат в своем углу заданной геометрической фигуры, т. е. равностороннего
треугольника или квадрата. Метод сегментации контуров применяется лучше,
чем определение минимального расстояния между узлами, чтобы обеспечить,
что каждый АНПА расположен точно в заданном положении в строю. Он
позволяет каждому аппарату, который имеет свою собственную функцию,
выполнять реальное индивидуальное задание, таким образом улучшая
производительность группа АНПА.
м) Поведенческий подход строя: Поведенческий подход основывается на
поведении отдельного АНПА. К общим поведениям относятся поиск цели, обход
препятствий, поддержание постоянного строя и т. д.
Вследствие этого, модели более сложных движений могут быть
сформированы при помощи индивидуального поведения отдельных АНПА.
Система управления строем, основанная на архитектуре поведения, командой
АНПА состоит из трех уровней, т. е. модели командного поведения или строя
команды, задачи и поведения АНПА и системы управления АНПА.
14
1.1.2 Следящие системы управления строем
Рассмотрим следящие системы управления строем:
а) Подход лидер-ведомый: при этом методе управления строем выбирается
АНПА в качестве лидера, он выполняет алгоритм следования по траектории с
требуемой скоростью хода и передает свое положение остальным АНПА.
Ведомые принимают решение о поддержании строя на основе информации,
полученной от лидера.
б) Иерархическая структура «виртуальный лидер-ведомый»: сперва весь
строй АНПА делится на несколько кластеров. В каждом кластере выбирается
АНПА с широким каналом связи в качестве лидера кластера. Каждый лидер
кластера знает об алгоритме поведения своего кластера. Выбирается виртуальная
структура для строя лидеров в то же время, как режим «лидер-ведомый» – для
ведомых внутри кластера. Таким образом и управляется многочисленный строй.
Этот режим управления используется для строя, состоящего из большого
количества АНПА с целью преодоления ограничений акустического канала
связи, т. е. его низкой пропускной способности.
в) Согласованное управление строем при потерях связи: в данном случае
решается задача рулевого управления группой АНПА по заданной траектории,
удерживая заданную между аппаратами модель строя при потерях связи.
Динамика каждого автономного подводного аппарата может быть рассчитана
управляющим устройством каждого АНПА локально. Координация затем может
быть достигнута использованием децентрализованного закона управления,
посредством чего обмен данными среди аппаратов остается минимальным.
г) Сочетание поведений, основанное на нечеткой логике для поддержания
строя группы АНПА в неопределенной окружающей океанической среде.
Данный раздел представляет новый метод сочетания поведений, использующий
нечеткую логику для согласованного группового реактивного поведения.
Входные данные для предложенной нечеткой схемы управления для АНПА
15
лидера в составе группы состоят из отклонений по углу курса во время
выполнения обхода препятствий и действий по поиску цели раздельно. Схема
нечеткого управления для АНПА ведомых состоит из отклонений по углу курса
во время выполнения обхода препятствий и действий по поддержанию строя
раздельно.
д) Система управления синхронным движением по траектории для группы
не полностью управляемых АНПА. Законы управления синхронным движением
по траектории можно распределить на две категории: 1) управление отдельным
АНПА для слежения заранее определенных траекторий, 2) обеспечение
синхронизации следящих траекторий группы АНПА внедрением усредненных
децентрализованных скоростей при ограничениях топологии взаимодействия
группы АНПА. По этим двум формулировкам задач построено движение по
геометрической траектории по методам теории Ляпунова и бэкстеппинга класса
отдельных систем управления движением по траектории. Синхронизация
параметров траектории получена использованием совокупности средств
линейной алгебры, теории графов и теории управления.
е) Децентрализованная перекрывающая следящая система управления
строем АНПА. Этот метод – новая методология, основанная на представленных
парадигмах распространения и сокращения. Методология основана на
конкретной линейной модели строя. Децентрализованные управляющие
устройства выделяемых подсистем сокращаются до исходных позиций.
Динамический закон управления с обратной связью по выходу, основанный на
децентрализованных наблюдателях, может быть также использован.
ж) Нелинейная система управления по боковому смещению полностью
управляемыми АНПА: для стабилизации ошибки бокового смещения как
виртуального входного сигнала составлена функция устойчивости угла курса,
приводя к каскадным подсистемам слежения бокового смещения и курса. Для
нормальных систем бокового смещения, когда ошибки курса и слежения угловой
скорости изменения курса нулевые, состояние управляющих параметров
дифференцируется для получения ошибки бокового смещения и скорость
16
смещения глобально асимптотически устойчива.
з) Нелинейная система управления для поддержания строя и швартовки
группы АНПА. Рассматриваемый строй АНПА ограничивается заданными
дистанциями и ориентациями АНПА ведомых относительно изменяющегося во
времени положения АНПА. Сделано следующее:
1) Предложен изменяющийся во времени гладкий закон управления
с обратной связью для поддержания строя неголономной группы АНПА.
2) Выведен асимптотически устойчивый изменяющийся во времени
гладкий закон управления с обратной связью, чтобы АНПА ведомых совместно
пришвартовались в заданной позиции и с заданной ориентацией относительно
лидера при помощи метода бэкстеппинга интеграции.
3) Изучены трудности реализации физической системы АНПА и
устранения
сингулярности
для
применения
вышеупомянутых
законов
управления к реальным системам строя АНПА.
и) Алгоритмы достижения консенсуса на конечном интервале времени для
группы АНПА: предложены алгоритмы достижения консенсуса на конечном
интервале времени, основанные на однородных методах управления, для строя
группы АНПА, работающих как без лидера, так и в режиме «лидер-ведомый». В
случае режима «лидер-ведомый» разработано распределенное контрольное
устройство на конечном интервале времени, чтобы ведомые оценивали скорость
лидера. В задачах кооперативного управления мультиагентными системами все
агенты
достигают
соответствующие
соглашения
протоколы
по
по
исходному
достижению
состоянию,
консенсуса.
применяя
Вследствие
вышеизложенных преимуществ и роли задачи достижения консенсуса в области
распределенного кооперативного управления недавно разработаны различные
виды алгоритмов достижения консенсуса на конечном интервале времени для
мультиагентных систем как первого порядка, так и второго.
к) Система управления строем по дальности: при таком строе
определяются только расстояния от лидирующих АНПА без информации
о траектории строя.
17
л) Иерархическая система управления: отдельные АНПА, используемые в
задачах наблюдения, оборудованы датчиками определения направления и
бортовой аппаратурой связи. Один заслуживающий особого внимания
стимулирующий фактор для исследований – это точное кооперативное
определение положение систем радаров небольшим флотом АНПА.
При иерархической структуре задачи управления классифицируются и
распределяются
неравномерно
среди
агентов.
В
литературе
обычно
используемой иерархической структурой в управлении строем является
структура «лидер-ведомый». При такой структуре одному агенту-лидеру
предоставляются данные направления и/или траектории, и этот агент отвечает за
слежение траектории, маневрирование и задачи управления. Другие агентыведомые внутри строя измеряют расстояния и/или направление до группы
лидеров или агентов-ведомых, или и тех, и других, и обычно должны
поддерживать форму строя, сохраняя определенные фиксированные расстояния.
м) Подход на основе пассивности (повиновения): сформулирована задача
управления строем АНПА в рамках структуры группового координирования на
основе пассивности (повиновения). Также предложен метод слежения для
достижения консенсуса. Получены необходимые модели строя в случае, когда
только одному АНПА или подмножеству АНПА доступна исходная отсчетная
скорость, определяемая виртуальным лидером с изменяющимся во времени
положением.
1.2 Обзор программных реализаций ИУС
Для применения описанных выше методов управления движением группы
АНПА они реализуются в составе информационно-управляющей системы
(ИУС).
ИУС для группы роботов должна удовлетворять следующим требованиям
[14]:
а) Упрощать
процесс
разработки,
18
обеспечивая
высокий
уровень
абстракции с упрощенным программным интерфейсом, который может
использоваться разработчиками. Обеспечивать программную интеграцию и
повторное использование.
б) Обеспечивать возможность обмена данными и взаимодействие:
учитывая разнообразие производителей роботов и устройств, необходимо
обеспечивать эффективный обмен данными и простой механизм взаимодействия
между ними.
в) Обеспечить совместную работу роботов: роботы должны быть способны
эффективно и сообща работать для достижения общей цели. ИУС должна
предоставлять некоторые функциональные возможности и высокий уровень
абстракции для облегчения разработки механизмов совместной работы.
г) Обеспечивать аппаратный уровень абстракции. Любая групповая РТС
содержит множество компонентов разнообразного аппаратного и программного
обеспечения. Обмен данными и взаимодействие между ними является важным
аспектом функционирования ИУС.
д) Обеспечивать механизм интеграции с другими системами.
е) Предоставлять часто используемые алгоритмы управления.
ж) Обеспечивать автоматическую настройку и управление ресурсами.
Групповая РТС является динамической системой вследствие мобильности и
изменений окружающей среды. Поэтому важно эффективно использовать
внешние устройства с целью повышения производительности и точности,
экономии энергии, когда это возможно и необходимо. Также, ИУС должна
предоставлять алгоритмы адаптивного управления роботом.
1.2.1 MOOS-IvP
MOOS-IvP – основанная на использовании поведенческих алгоритмов
ИУС, состоящая из двух отдельных программных систем с открытым исходным
кодом [25]: Mission Oriented Operating Suite (MOOS) – результат работы Mobile
Robotics Group в Университете Оксфорда – обеспечивает базовые возможности
19
ИУС в рамках архитектуры обмена данными «публикация-подписка», а также
ряд программных модулей, повсеместно распространяемый в приложениях
беспилотной морской и наземной робототехники, использующих MOOS. Вторым
компонентом ИУС является набор дополнительных приложений MOOS-IvP для
подводных аппаратов, включающий методы многоцелевой оптимизации,
используемые для согласования сразу нескольких конкурирующих алгоритмов
поведения. MOOS-IvP написан на C++, содержит около 30 различных модулей и
множество алгоритмов поведения.
MOOS-IvP использует три основные научные концепции: «советчика»,
«публикации-подписки» и управления на основе алгоритмов поведения [25]:
а) Советчик: согласно парадигме советчика, управление аппаратом и
автономность связаны. По существу, MOOS нет дела до того, как действуют
навигация аппарата и система управления до тех по пока получает достоверную
информацию с датчиков, а аппарат может действовать на основе автономно
принятых решений, которые отправляются обратно.
б) Публикация-подписка: любой обмен сообщениями проходит через
MOOSDB. Приложения MOOS публикуют события, которые представляют
собой пары переменная-значение, а также, приложения подписываются на
различные переменные. Большинством приложений MOOS, как правило, будут
датчики, приводы или устройства визуализации и так далее, но одно –
особенным: приложение pHelmIvP, отвечающее за согласование всех заданных
алгоритмов поведения.
в) Управление на основе алгоритмов поведения: В файле поведения миссии
определяются
различные
требуемые
алгоритмы
поведения.
Алгоритмы
поведения могут быть выбраны из числа предопределенных алгоритмов
поведения или могут быть описаны с нуля. На каждой итерации pHelmIvP
формирует целевую функцию от каждого алгоритма поведения и формирует
«решение», содержащее пары переменная-значение, которое определяет
действие, которое будет оптимизировать многочисленные задачи.
К наиболее широко используемым алгоритмам поведения IvP Help
20
относятся алгоритмы избежания столкновений, обхода препятствий, постоянной
глубины, скорости и курса, сближения с объектом, выхода на глубину, обхода
путевых точек, периодического подъема на поверхность, преследования,
стабилизации положения, движения в строю.
MOOS используется ВМС США для реализации многоагентных систем. В
работе [13] на основе MOOS-IvP создана ИУС для обезвреживания мин группой
АНПА.
1.2.2 DUNE
Гибридная кроссплатформенная ИУС с открытым исходным кодом,
разработанная в Лаборатории подводных систем и технологий университета
Порто, Португалия. Вместе с Neptus и IMC является частью архитектуры
управления
совместной
работой
разнородных
автономных
аппаратов
(летательных, наземных, морских и подводных аппаратов) [9].
DUNE (Unified
Navigational
Environment) –
среда выполнения
для
бортового программного обеспечения: систем управления, навигации, обмена
данными, доступа к датчикам и исполнительным устройствам. Она обеспечивает
уровень
абстракции
операционной
системы
и
платформо-независимой
архитектуры. Написана на C++, что повышает переносимость между
различными архитектурами и операционными системами [21].
IMC
(Inter-Module
Communication) –
протокол
обмена
данными,
спроектированный и реализованный для взаимодействия между разнородными
аппаратами, датчиками и пультами управления оператора. Используется DUNE
для коммуникации между компонентами внутри аппарата и между самими
аппаратами.
Neptus – программное обеспечение, используемое человеком-оператором
для взаимодействия с системами группы роботов. Обеспечивает различные
этапы жизненного цикла миссии: планирование, моделирование, выполнение,
пересмотр и распространение. Позволяет одновременно работать с несколькими
21
аппаратами благодаря специальным графическим интерфейсам.
1.2.3 Goby3
Goby3 – это новая программная платформа, специально разработанная для
обеспечения обмена данными между потоками, процессами и подводными
аппаратами унифицированным образом [19]. Goby3 написан на C++11 и
минимально ограничен в отношении типов, которые могут быть опубликованы и
подписаны с его использованием. Его базовая реализация использует
разделяемые указатели C++ для коммуникации между потоками, ZeroMQ –
между процессами и Goby-Acomms – между аппаратами. Goby3 обеспечивает
подобную или более хорошую производительность по сравнению с другими
программными платформами. По своим функциональным возможностям, эта
платформа является информационно-коммуникационной системой (ИКС), то
есть
не
решает
задачу
управления
группой
аппаратов.
Сравнимыми
функциональными характеристиками обладает набор кроссплатформенных
библиотек и инстурментов LCM (Lightweight Communications and Marshalling)
[24].
1.2.4 ИУС общего назначения
Одной из самых популярных ИУС для роботов является ROS (Robot
Operating System) [10]. Представляет собой надстройку над Unix-подобной
операционной системой с открытым исходным кодом. Эта система включает
множество инструментов, упрощающих разработку ИУС роботов. ROS состоит
из узлов (программных модулей) и системы обмена сообщениями между ними.
Недостатками являются отсутствие систем управления группой аппаратов,
система коммуникации, не ориентированная на низкую пропускную способность
каналов передачи данных между аппаратами и возможность функционирования
ИУС только под ОС Linux Ubuntu.
22
Существует и множество других ИУС, имеющих аналогичный набор
базовых функций. К ним относятся Player/Stage, Miro, MRDS, Marie, Orca, Pyro,
Claraty, OpenRTMaist, OPRos, Carmen, Orocos, ERSP, RoboFrame, WURDE, Aseba,
Skilligent, SmartSoft, iRobotAware, Yarp, Spica, Babel, DROS, IRSP, KMIDDLEWARE, OpenRDK, OpenJAUS, ORCCAD, RIK, MRPT, MissionLab,
Webots и т. д.
1.3 Постановка задачи
Необходимо разработать распределенную ИУС для группы автономных
подводных аппаратов, которая обеспечивает движение этой группы заданным
строем с учетом низкой пропускной способности каналов передачи данных
между роботами.
Для достижения заданной цели были поставлены следующие задачи:
• разработать компонент-менеджер верхнего уровня, обеспечивающий
взаимодействие между аппаратами в составе группы;
• реализовать алгоритм комплексной обработки данных, получаемых от
бортовых навигационно-пилотажных датчиков и учитывающий их
различную частоту обновления показаний, для обеспечения более точного
движения каждого АНПА;
• разработать алгоритм формирования целевой точки для ведомых
аппаратов, который обеспечивает поддержание геометрической формы
строя между АНПА во время движения с учетом низкой пропускной
способности канала связи.
23
2 Архитектура ИУС для группы АНПА
Основными функциями ИУС независимо от типа робототехнической
системы являются [5]:
а) сбор и обработка информации;
б) навигация;
в) планирование действий и траектории движения;
г) пользовательский интерфейс;
д) система управления РТС.
В работе [5] была разработана общая структурная схема ИУС. В ней были
выделены базовые компоненты, которые выполняют перечисленные выше
функции и составляют базовое ядро ИУС. Рассмотрим подробнее каждый
компонент:
а)
Компонент навигационной системы (КНС) на основе данных,
поступающих от датчиков инерциальной и/или глобальной навигации,
формирует вектор состояния 𝑋̂ мобильного робота. В него входят положение и
ориентация робота в пространстве глобальной системы координат, линейные и
угловые скорости и линейные и угловые ускорения робота в связанной системе
координат. Рассчитанный вектор состояния используется системой управления
для расчета управляющих сигналов, обеспечивающих движение робота.
б)
Компонент системы формирования траектории движения (КСФТД)
на основе последовательности точек P и заданного режима движения
рассчитывает траекторию движения мобильного робота. И с учетом желаемой
скорости v* формирует положение целевой точки X* на рассчитанной траектории
с определенной частотой, которая, в свою очередь, передается в систему
управления.
в)
Компонент системы управления (КСУ) принимает вектор состояния
̂ от КНС и целевую точку X* от КСФТД и на их основе формирует сигналы
X
управления на исполнительные устройства, в частности, упоры на двигатели.
24
г)
Взаимодействие между базовыми компонентами обеспечивается
менеджером на основе спецификации JAUS [11].
2.1 Архитектура обмена сообщениями JAUS
Joint Architecture
for
Unmanned
Systems
(JAUS) –
объединенная
архитектура для беспилотных систем [11]. Спецификация JAUS определяет
набор компонентов, составляющих иерархическую структуру, и их интерфейсы.
В качестве компонентов нижнего уровня обычно выступают программные
модули,
которые
выполняют
определенную
функцию,
например,
навигационную. Набор таких взаимодействующих компонентов, выполняемых
на
одном
вычислительном
устройстве,
объединяется
в
составе
узла.
А подсистема, включающая набор взаимодействующих узлов, представляет
собой автономную сущность, например, робота или пульт управления оператора.
И, наконец, система состоит из нескольких подсистем и соответствует группе
роботов в соответствии с рисунком 1.
Рисунок 1 – Топология взаимодействия компонентов архитектуры JAUS
Среди компонентов JAUS стоит выделить Компонент-менеджер узла и
Компонент-менеджер подсистемы. Компонент-менеджер подсистемы отвечает за
25
взаимодействие между узлами посредством менеджеров узлов. Последние,
соответственно,
перенаправляют
сообщения
от
менеджера
подсистемы
конкретным компонентам и наоборот, а также отвечают за передачу сообщений
между компонентами.
Компоненты
взаимодействуют
друг
с
другом
через
сообщения,
описываемые стандартом JAUS. Такие сообщения состоят из заголовка,
в котором содержится информация о типе и размере передаваемого сообщения,
JAUS-адресах отправителя и получателя сообщения и другая информация.
Второй
необязательной
частью
сообщения
является
поле
данных,
преобразованное в поток байтов, который интерпретируется в зависимости от
типа сообщения.
Существует несколько реализаций архитектуры JAUS [22, 23, 26]. Они
написаны с использованием сложных и медленных конструкций языков
программирования и не могут использоваться на контроллерах, поэтому в работе
[5] приведена собственная, более легкая и эффективная реализация данной
архитектуры.
2.2 Структура компонента ИУС
В работе [5] разработана структура компонента ИУС. Его можно разделить
на две независимые части: интерфейс взаимодействия с другими компонентами
и функциональную часть.
Структура
компонента
не
зависит от
выполняемых
функций
и
используемых интерфейсов обмена данными, а алгоритм работы аналогичен
программе
контроллера –
в бесконечном
цикле
выполняется
основная
функциональная часть компонента.
На рисунке 2 представлена UML диаграмма классов, описывающая
компонент ИУС.
26
Рисунок 2 – Диаграмма классов, описывающая компонент ИУС
Класс CComponent,
описывающий
ИУС,
содержит
Рисунок 3 – Диаграмма
классов, компонент
описывающая
компонент
ИУС указатели на
абстрактный класс интерфейса обмена данными ACExchangeInterface и на
ACBaseComponent –
абстрактный
класс,
описывающий
интерфейс
функциональной части компонента. Основными функциями класса CComponent
являются:
а)
init() – функция инициализации параметров компонента;
б)
register_interface() – инициализирует сеанс связи с менеджером узла
по заданному сетевому протоколу;
в)
register_component() – инициализирует функциональную часть
27
компонента и связывает ее с установленным сеансом связи;
г)
run() – обеспечивает работу компонента. Работает в бесконечном
цикле, пока не получит команду остановки.
Класс ACExchangeInterface описывает функции доступа к интерфейсу
обмена данными:
а)
_open() – установка сеанса связи;
б)
_send() – команда отправки сформированного сообщения;
в)
_recv() – попытка чтения сообщения;
г)
_close() – завершение сеанс связи.
Класс C_TCP_Client, унаследованный от класса ACExchangeInterface,
реализует интерфейс передачи данных по стеку протоколов TCP/IP, содержит
данные о физическом узле и установленном сеансе связи.
Абстрактный
функциональной
класс
части
ACBaseComponent,
компонента,
описывающий
содержит
JAUS-адреса
интерфейс
текущего
компонента, менеджера узла и других компонентов данного узла, указатели на
интерфейс обмена данными и файл журналирования. Описывает функции:
а)
init() – инициализация параметров компонента;
б)
event() – отслеживает прием новых сообщений и перенаправляет их
в run();
в)
run() – определяет логику работы компонента. Разбирает принятые
сообщения и формирует ответные действия;
г)
timer_work() – описывает ряд действий компонента, выполняемых с
частотой дискретизации компонента.
Класс CFunctionalComponent описывает работу конкретного компонента
ИУС. В классе должны быть переопределены функции init() и run(). Также, он
может определять другие функции и поля, необходимые данному компоненту для
работы.
28
2.3 Структура менеджера ИУС
Согласно спецификации JAUS в работе [5] разработан Менеджер узла
(Компонент-менеджер нижнего
уровня
(КМНУ)), который отвечает
за
маршрутизацию сообщений между компонентами ИУС в рамках одного узла
(т. е. между программными компонентами одного вычислительного устройства).
Структура компонента менеджера представлена на рисунке 4. Она
аналогично компоненту ИУС содержит функциональную и интерфейсную части,
которые реализованы в одном классе CFunctionalManager. Для маршрутизации
сообщений между компонентами КМНУ содержит физические адреса всех
компонентов данного узла.
В структуре класса CManager была заложена возможность работы
менеджера в двух режимах: на уровне узла и на уровне подсистемы.
Как видно из диаграммы, класс CManager содержит указатель на класс
CFunctionalManager – функциональную часть менеджера. Содержит определения
следующих функций:
а)
init() – разбор конфигурационных файлов и инициализация
менеджера;
б)
open_all_connections() – последовательная установка сеанса связи с
каждым компонентом в узле;
в)
run() – обеспечивает работу менеджера. Работает в бесконечном
цикле, пока не получит команду остановки.
Класс CFunctionalManager описывает следующие функции:
а)
read_config_file()
–
разбор
конфигурационных
файлов,
описывающих структуру и состав компонентов данного узла, внутреннюю
адресацию и используемые интерфейсы обмена данными. Также содержит
параметр, обозначающий режим работы менеджера: в качестве менеджера узла
или менеджера подсистемы;
б)
register_down_exc_INTF()
–
регистрация
интерфейсов обмена
данными с компонентами или с менеджерами узлов в зависимости от режима;
29
в)
register_up_exc_INTF() – регистрация интерфейса обмена данными
с менеджером подсистемы;
г)
routing()
–
основная
функция
менеджера,
обеспечивающая
маршрутизацию сообщений между компонентами узла.
Рисунок 4 – Диаграмма классов, описывающая компонент-менеджер ИУС
Класс CFunctionalManager содержит поля:
а)
mode – режим работы в качестве менеджера узла или менеджера
подсистемы;
30
б)
subsystem – интерфейс обмена данными и JAUS-адрес менеджера
подсистемы;
map_down – указатель на список интерфейсов обмена данными и адресов,
соответствующих всем компонентам узла.
2.3.1 Разработка механизма доставки сообщений
Качество и успех выполнения миссии как одиночного аппарата, так и
группы зависит от коммуникационной системы. Например, сообщения,
передаваемые между компонентами узла, определяют качество движения
аппарата. При регулярной потере части сообщений аппарат двигается с более
низкой точностью, с запаздыванием, а его скорость изменяется скачками, как
показано на рисунке 5. Потеря же сервисного сообщения, такого как команда
аварийной остановки, может привести и к потере аппарата.
Рисунок 5 – Изменение скорости движения АНПА по круговой траектории с заданной 1 м/с
скоростью при потере сообщений между компонентами ИУС
31
Таким
образом,
при
разработке
механизма
доставки
сообщений
необходимо удовлетворить следующие требования:
а) Обеспечить доставку сообщений без их потери;
б) Для сообщений с высоким приоритетом обеспечить их передачу с
подтверждением о доставке.
Рассмотрим передачу сообщений, содержащих целевую точку, от КСФТД
до КСУ. Передача данных сообщений выполняется с заданной частотой,
например 20 раз/с. Одновременно это сообщение передается и другим
компонентам, например в систему диагностики. Также, выполняется запрос к
КНС за текущим вектором состояния аппарата для оценки ошибки следования
заданной траектории. Таким образом, в менеджер нижнего уровня одновременно
поступает несколько сообщений с одного интерфейса. Также, скопление
сообщений наблюдается на уровне интерфейса компонента.
Необходимо учитывать и то, что на момент считывания сообщения КСФТД,
может прийти только часть сообщения, например, только его заголовок без самих
данных – координат целевой точки.
Для решения проблемы был применен механизм очереди сообщений,
задачей которого стал разбор (распаковка) всех приходящих сообщений, включая
неполные. Очередь сообщений распределяет все принятые сообщения по двум
спискам: один – для важных сообщений, другой – для всех остальных. Таким
образом гарантируется оперативная доставка критически важных сообщений до
получателя и своевременное реагирование на них.
Моделирование движения РТС по заданной траектории с использованием
описанной выше очереди сообщений показало значительное улучшение
изменения характеристик движения АНПА как показано на рисунке 6.
Также использование сетевого протокола UDP для обмена сообщениями
между компонентами ИУС, обеспечивающего более высокую скорость передачи
данных вместо TCP/IP сократило количество случаев задержки передачи
сообщений.
32
Рисунок 6 – Изменение скорости движения АНПА по круговой траектории с заданной 1 м/с
скоростью без потерь сообщений между компонентами ИУС
Для гарантированной доставки критически важных сообщений был
разработан и реализован механизм передачи сообщения с подтверждением
о доставке.
При передаче такого сообщения в его заголовке устанавливается флаг
о необходимости подтверждения о получении. Таким образом, сообщение будет
передаваться до тех пор, пока отправитель не получит подтверждение о доставке
от получателя.
2.3.2 Разработка компонента-менеджера верхнего уровня
За обеспечение взаимодействия между подсистемами и узлами согласно
архитектуре JAUS отвечает Коммуникатор (Менеджер подсистемы или
Компонент-менеджер верхнего уровня (КМВУ)). У каждой подсистемы есть свой
КМВУ.
КМВУ осуществляет маршрутизацию сообщений:
• между менеджерами узлов данной подсистемы;
33
• принятых от других подсистем – внутренним менеджерам узлов;
• от внутренних менеджеров узлов – другим подсистемам.
В работе [5] разработан только менеджер нижнего уровня. Поэтому для
взаимодействия между аппаратами в составе группы в рамках данной работы
поставлена задача разработки компонента-менеджера верхнего уровня.
Также, необходимо внести изменения в алгоритм маршрутизации
сообщений КМНУ для маршрутизации сообщений между группой КМНУ и
одним КМВУ.
Исходя из функциональных требований к КМВУ был разработан
следующий алгоритм маршрутизации сообщений, реализованный в функции
route класса CManager, общий для менеджеров обоих уровней (см. рисунок 7).
При наличии зарегистрированного интерфейса КМВУ (что соответствует
работе данного менеджера на нижнем уровне в составе группы) делается запрос
к данному интерфейсу на принятое сообщение. В случае получения сообщения
оно, сначала, сохраняется в журнале для дальнейшего анализа работы ИУС.
Далее, если сообщение является сервисным с командой аварийного выключения,
это сообщение незамедлительно передается всем внутренним компонентам с
подтверждением о доставке. После прекращения работы всех компонентов
КМНУ сообщает об этом КМВУ и завершает выполнение своей работы. Если
получено сообщение касательно движения в группе, то оно передается КСФТД.
Затем, производится прием сообщений от зарегистрированных «ниже»
интерфейсов: от менеджеров узлов в случае КМВУ и от компонентов узла в
случае КМНУ (см. рисунок 1). Каждое полученное сообщение сохраняется в
журнале. Если сообщение содержит команду аварийного выключения, то оно
перенаправляется всем зарегистрированным интерфейсам: другим подсистемам
в случае КМВУ и другим компонентам и КМВУ в случае КМНУ. Иначе, из
заголовка сообщения выделяется адресат, и если сообщение адресовано
менеджеру, то оно перенаправляется каждому зарегистрированному «ниже»
интерфейсу, либо КМВУ, либо конкретному компоненту в зависимости от
адресата.
34
Рисунок 7 – Блок-схема функции маршрутизации сообщений route класса CManager
Для обеспечения взаимодействия между аппаратами были реализованы
следующие команды:
а) Назначение АНПА лидером. После получения такой команды АНПА
35
становится лидером и начинает отправлять сообщения-команды АНПАведомым.
б) Назначение АНПА ведомым. При получения такой команды АНПА
ожидает сообщений от АНПА-лидера, занимает требуемое положение в строю и
поддерживает его во время движения группы.
в) Двигаться за лидером. Сообщение, направляемое от АНПА-лидера
АНПА-ведомым, содержащее положение или скорости АНПА-лидера.
г) Двигаться по траектории. С пульта оператора АНПА-лидеру
отправляется команда движения вместе с массивом путевых точек. Лидер,
построив траекторию движения, начинает ее реализовывать и, таким образом,
группа АНПА начинает двигаться заданным строем.
д)
Немедленная остановка. Сообщение передается лидеру, после чего
он передает его менеджеру-коммуникатору, а тот перенаправляет его всем
ведомым. Таким образом, все роботы прекращают работу.
2.4 Реализация алгоритма комплексирования данных
Аппаратная часть АНПА включает в себя датчики, необходимые для
обеспечения навигации. Выходные сигналы этих датчиков содержат шумы,
обусловленные наличием электромагнитных помех, вибраций и других внешних
и внутренних воздействий. Причем периоды обновления этих сигналов могут
различаться в десятки раз, а некоторые из них могут в несколько раз превышать
период выработки сигналов управления РТС, что существенно снижает точность
их управления (особенно при движении с высокими скоростями). Поэтому одна
из главных задач системы комплексирования данных, получаемых от
навигационно-пилотажных датчиков РТС заключается в формировании всех
необходимых для выработки сигнала управления данных с периодом, равным
периоду дискретизации входных сигналов его системы управления. [5]
Следует отметить, что для коррекции текущих показаний бортовых
навигационных датчиков РТС и расчета неизмеряемых параметров ее движения
36
все алгоритмы комплексирования данных используют математическую модель
движения этой РТС. Причем это можно сделать, учитывая только ее
кинематическую модель, так как она связывает все параметры движения РТС и
переменные, измеряемые ее бортовыми навигационными датчиками. Кроме того,
эта модель не содержит переменных или неопределенных коэффициентов, что
позволяет обеспечить высокую точность работы алгоритма комплексирования.
Кинематическая модель абсолютно твердого тела, движущегося в пространстве,
которая в общем виде описывает движение большинства РТС, имеет следующий
вид [18]:
(2.1)
𝜂˙ = 𝐽(𝜂)𝜐,
где 𝜂 = [𝑥, 𝑦, 𝑧, 𝜑, 𝜃, 𝜓]𝑇 – вектор положения и ориентации (φ – крен, θ –
дифферент, ψ – курс) РТС в абсолютной системе координат (АСК), 𝜐 =
𝑇
[𝜐𝑥 , 𝜐𝑦 , 𝜐𝑧 , 𝜔𝑥 , 𝜔𝑦 , 𝜔𝑧 ] – вектор проекций линейной и угловой скоростей
движения РТС на оси связанной системы координат (ССК), J(η) – матрица
перехода из ССК в АСК, которая имеет вид [18]:
( )
0 ,
𝐽(𝜂) = [𝐽1 𝜂
]
0
𝐽2 (𝜂)
(2.2)
Где
𝐽1 (𝜂) =
𝑐𝑜𝑠𝜓𝑐𝑜𝑠𝜃
[ 𝑠𝑖𝑛𝜓𝑐𝑜𝑠𝜃
−𝑠𝑖𝑛𝜃
−𝑠𝑖𝑛𝜓𝑐𝑜𝑠𝜑 + 𝑐𝑜𝑠𝜓𝑠𝑖𝑛𝜃𝑠𝑖𝑛𝜙
𝑐𝑜𝑠𝜓𝑐𝑜𝑠𝜑 + 𝑠𝑖𝑛𝜑𝑠𝑖𝑛𝜃𝑠𝑖𝑛𝜓
𝑐𝑜𝑠𝜃𝑠𝑖𝑛𝜑
37
𝑠𝑖𝑛𝜓𝑠𝑖𝑛𝜑 + 𝑐𝑜𝑠𝜓𝑐𝑜𝑠𝜑𝑠𝑖𝑛𝜃
−𝑐𝑜𝑠𝜓𝑠𝑖𝑛𝜑 + 𝑠𝑖𝑛𝜃𝑠𝑖𝑛𝜓𝑐𝑜𝑠𝜑],
𝑐𝑜𝑠𝜃𝑐𝑜𝑠𝜑
1 𝑠𝑖𝑛𝜑𝑡𝑎𝑛𝜃
𝑐𝑜𝑠𝜑
𝐽2 (𝜂) = [0
𝑠𝑖𝑛𝜑
0
𝑐𝑜𝑠𝜃
𝑐𝑜𝑠𝜑𝑡𝑎𝑛𝜃
−𝑠𝑖𝑛𝜑 ].
𝑐𝑜𝑠𝜑
𝑐𝑜𝑠𝜃
В работе [5] разработан метод комплексной обработки данных,
поступающих от ограниченного набора навигационно-пилотажных датчиков
РТС, который учитывает различную частоту обновления их сильно зашумленных
сигналов и позволяет получить полный вектор состояния этих РТС, необходимый
для реализации высококачественной ИУС.
В разработанном методе используется сигма-точечный фильтр Калмана
(СТФК) в качестве основного алгоритма комплексирования данных, но на
практике очень тяжело подобрать коэффициенты α и κ, необходимые для расчета
масштабирующего коэффициента λ [20], так, чтобы корректно настроить фильтр.
Поэтому вместо него в данной работе используется расширенный фильтр
Калмана (РФК), предполагая, что модель системы можно линеаризовать в
каждой ее точке [15].
Предложенный алгоритм комплексирования данных работает следующим
образом. На каждом шаге его работы формируется вектор измерений, состоящий
только из актуальных данных. Актуальными считаются данные, с момента
обновления которых прошло не более одного периода дискретизации входных
сигналов СУ. А так как периоды обновления данных, поступающих с датчиков,
различны, то вектор измерения, поступающий на вход фильтра, имеет
переменную размерность. На выходе фильтра на основе модели (2.1)-(2.2)
формируются оценки всех необходимых параметров движения РТС.
Рассмотрим алгоритм работы РФК при комплексировании данных,
поступающих от навигационных датчиков РТС. Фильтр работает с нелинейными
моделями динамических систем вида:
𝑋𝑘+1 = 𝐹(𝑋𝑘 ) + 𝑤𝑘 ,
38
𝑧𝑘 = 𝐻(𝑋𝑘 ) + 𝑣𝑘 ,
где Xk∈Rn – вектор состояния системы размерности n; zk∈Rm – вектор измерений
размерности m; F(Xk)∈Rn – вектор-функция перехода из состояния Xk в состояние
Xk+1; H(xk)∈Rm – вектор-функция взаимосвязи между измерениями датчиков и
элементами вектора состояния; wk и vk – векторы Гауссовских шумов системы и
измерений, соответственно.
Вектор состояния системы, содержащий параметры движения РТС, имеет
вид:
𝑎
𝑋 = [𝜐 ] ∈ 𝑅18 ,
𝜂
𝑇
где 𝑎 = [𝜐˙ , 𝜐˙ , 𝜐˙ , 𝜔˙ , 𝜔˙ , 𝜔˙ ] – вектор линейных и угловых ускорений РТС
𝑥 𝑦 𝑧
𝑥
𝑦
𝑧
в ССК.
Так как в данном алгоритме используется кинематическая модель
движения РТС (2.1)-(2.2), то вектор-функция перехода F(xk) имеет вид:
𝑎𝑘
𝑎𝑘 𝛥𝑡 + 𝜐𝑘
𝐹(𝑥𝑘 ) = ⟦
⟧,
𝐽(𝜂𝑘 )𝑎𝑘 𝛥 𝑡 2 ⁄2 + 𝐽(𝜂𝑘 )𝜐𝑘 𝛥𝑡 + 𝜂𝑘
(2.3)
где ak, υk, ηk – значения соответствующих векторов для состояния Xk; Δt – период
дискретизации входных сигналов СУ.
После формирования вектора измерений zk и соответствующей ему
матрицы 𝐻¯(𝜂) с помощью РФК можно оценить параметры движения АНПА
согласно следующему алгоритму:
а) Инициализация k=0:
𝑋̂0 = 𝐸[𝑋0 ],
39
𝑇
𝑃0 = 𝐸 [(𝑋0 − 𝑋̂0 )(𝑋0 − 𝑋̂0 ) ]
(𝑋̂𝑘 ) ∈ 𝑅𝑛 – оценка вектора состояния АНПА; Pk∈Rn∙n – ковариационная матрица
ошибок оценки вектора состояния Xk; E[∙] – функция математического ожидания.
Далее, на каждом шаге работы РФК при k = 1, 2, 3, … делается:
б) Прогноз:
𝑋̂𝑘− = 𝐹(𝑋̂𝑘−1 ),
𝑃𝑘− = 𝐴𝑘−1 𝑃𝑘−1 𝐴𝑇𝑘−1 + 𝑄,
где
𝑋̂𝑘− ∈ 𝑅𝑛 –
апостериорная
оценка
вектора
состояния;
𝑃𝑘− ∈ 𝑅𝑛×𝑛 –
апостериорная оценка ковариационной матрицы ошибки оценки вектора
состояния; Ak∈Rnxn – матрица Якоби вектор-функции перехода системы F(Xk);
Q∈Rnxn – матрица ковариаций шумов системы.
в) Коррекция:
𝐶𝑘 = 𝐻𝑘 𝑃𝑘− 𝐻𝑘𝑇 + 𝑅𝑘 ,
𝐾𝑘 = 𝑃𝑘− 𝐻𝑘𝑇 𝐿−𝑘1 ,
где Lk рассчитывается разложением Холецкого из Ck:
𝐶𝑘 = 𝐿𝑘 𝐿𝑇𝑘 ,
𝑧̂𝑘− = 𝐻(𝑋̂𝑘− ),
𝑋̂𝑘− = 𝑋̂𝑘− + 𝐾𝑘 𝑦𝑘 ,
где yk является решением уравнения:
𝐿𝑇𝑘 𝑦𝑘 = 𝑧𝑘 − 𝑧̂𝑘−
𝑃𝑘 = 𝑃𝑘− − 𝐾𝐾 𝑇 ,
40
где Hk∈RΩxn – матрица Якоби вектор-функции измерений; Rk∈RΩxΩ – матрица
ковариаций
шумов
измерений;
Ck∈RΩxΩ
–
промежуточная
матрица
с
переменными элементами; Lk∈RΩxΩ – нижняя треугольная матрица, полученная
из Ck разложением Холецкого; Kk∈RnxΩ – матрица коэффициентов усиления;
zk∈RΩ – вектор актуальных измерений; 𝑧̂𝑘− ∈RΩ – апостериорная оценка вектора
актуальных измерений, yk∈RΩ – промежуточный вектор.
Матрица Якоби G некоторой вектор-функции F(X) рассчитывается
комплексным методом:
𝐺 = [𝑋1∗ 𝑋2∗ … 𝑋𝑛∗ ],
1
𝑋𝑗∗ = ℑ (𝐹(𝑋𝑗 )),
ℎ
𝑋𝑗 (𝑘) = {
𝑋(𝑘), 𝑘 ≠ 𝑗 ,
}
𝑋(𝑘) + 𝑖ℎ, 𝑘 = 𝑗
где G∈RΩxn – матрица Якоби вектор-функции F(X); X∈Rn – вектор-аргумент
функции F; Xj*∈Rn – вектора, составляющие матрицу Якоби; ℑ(⋅) – мнимая часть
комплексного числа; h∈R – шаг приращения аргумента; Xj∈Rn – промежуточные
вектора; X(k) – k-компонента вектора X; i – мнимая единица.
В результате работы РФК на его выходе формируется оценка полного
вектора состояния 𝑋𝑘 АНПА, которая используется для формирования
управляющих сигналов. При этом, использование только актуальных измерений
позволяет снизить вычислительную сложность алгоритма комплексирования,
поскольку уменьшение размерности вектора zk приводит к уменьшению
размерности матриц Ck, Kk, Rk и Hk и, соответственно, к уменьшению количества
элементарных операций, необходимых для их вычисления.
Таким образом, обеспечивается высокая частота обновления вектора
состояния АНПА, соответствующая частоте дискретизации его СУ, независимо
от периодов обновления данных на выходах его навигационных датчиков.
Описанный
алгоритм
комплексирования
данных
с
навигационно-
пилотажных датчиков на основе РФК для нелинейных динамических систем был
41
реализован в классе CEKF.
Для проверки эффективности реализованного метода комплексирования
данных,
получаемых
от
навигационных
датчиков,
было
проведено
моделирование.
Для эксперимента использовались акселерометры, измеряющие линейные
ускорения [𝜐˙𝑥 , 𝜐˙𝑦 , 𝜐˙𝑧 ] по трем осям ССК; датчики угловых скоростей (ДУС)
[𝜔𝑥 , 𝜔𝑦 , 𝜔𝑧 ] по трем осям ССК; датчик ориентации АНПА, измеряющий углы
крена, дифферента и курса [𝜑, 𝜃, 𝜓] в АСК; гидроакустическая навигационная
система (ГАНС), измеряющая линейные координаты АНПА [x, y] в АСК и датчик
его глубины, измеряющий координату z в АСК. Таким образом, полный вектор
измерений z∈R12 имеет вид:
(2.4)
𝑧 = [𝜐˙𝑥 , 𝑥, 𝜐˙𝑦 , 𝑦, 𝜐˙𝑧 , 𝑧, 𝜔𝑥 , 𝜑, 𝜔𝑦 , 𝜃, 𝜔𝑧 , 𝜓],
однако на конкретном шаге алгоритма комплексирования размерность вектора zk
зависит от актуальности измерений. Периоды обновления навигационных
данных и их погрешности указаны в Таблице 1.
Таблица 1 – Периоды обновления и погрешности датчиков АНПА
Акселеро
Доплеровский лаг
метры
Период
обновления, с
0.1
1.5
Погрешность
измерений
0.04 м/c2
0.15 м/с
ДУС
ГАНС
Датчик
глубины
Датчик
ориентации
0.1
2
0.5
0.3
0.1 м
0.02 рад
0.02 рад/с 0.5 м
Из таблицы видно, что период обновления линейных ускорений
с акселерометров и угловых скоростей с доплеровского лага соответствует
периоду дискретизации СУ, и поэтому эти данные актуальны на каждом шаге
дискретизации СУ. Периоды обновления других датчиков значительно
превышают период дискретизации СУ, что может привести к снижению точности
42
восстановления вектора состояния.
Элементы диагональных матриц ковариаций шумов системы и измерений
R и Q, соответственно, имеют следующие значения: Q = 10-6 I12x12, R = diag(0.04,
0.5, 0.04, 0.5, 0.04, 0.5, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2) в соответствии с (2.6). Шум в
сигналах датчиков моделировался как Гауссовский с амплитудой, равной
погрешности в соответствующем датчике (см. таблицу 3.1).
Для
моделирования
движения
АНПА
была
сформирована
последовательность векторов, соответствующих измерениям датчиков с учетом
их погрешности. Период дискретизации был выбран, равным 0.1 с, время
моделирования T = 100 с. Начальное положение аппарата – в точке начала АСК,
курс был задан согласно закону ψ = sin(0.5t)/10, ускорения ax = 0.01 м/с и ay =
0.005 м/с. Для расчета последующих значений векторов измерений применялась
функция перехода F(X) (см. уравнение (2.5)).
Результаты моделирования представлены на рисунке 8.
4
2
Y, м
0
-2
-4
-6
-8
-6
-4
-2
0
2
4
6
X, м
Рисунок 8 – Заданная (красная) и рассчитанная (пунктирная синяя) траектории движения
43
2.5 Вывод
В данной главе был разработан и реализован компонент-менеджер
верхнего уровня, обеспечивающий взаимодействие между аппаратами в составе
группы. Разработан механизм доставки сообщений между компонентами ИУС,
обеспечивающий высококачественное управление движением РТС.
Был реализован расширенный фильтр Калмана и на его основе – алгоритм
комплексной обработки данных, получаемых от бортовых навигационнопилотажных датчиков и учитывающий их различную частоту обновления
показаний, для обеспечения более точного движения каждого АНПА.
Проведено
моделирование
движения
АНПА,
подтверждающее
работоспособность КМВУ, эффективность применения механизма доставки
сообщений и алгоритма комплексирования навигационных данных.
44
3 Разработка алгоритма формирования целевой точки для
АНПА-ведомых
Для обмена данными и для навигации под водой используют
гидроакустические модемы. Их канал связи ограничен по скорости и
расстоянию, содержит временную задержку на распространение сигнала. Сигнал
искажается при распространении и затухает с расстоянием. В реальных условиях
скорость передачи данных уменьшается из-за особенностей гидрологической
обстановки, например из-за наличия взвесей, в условиях мелководья [7] и
составляет десятки-сотни б/с.
Таким
образом,
важной
задачей
является
минимизация
объема
передаваемой информации между АНПА. Этого можно достигнуть за счет
применения
схем
преобразования
данных,
обеспечивающих
сжатие
передаваемых данных, либо применять такие системы управления движением
группы роботов, в которых обмен информацией между аппаратами минимален.
В случае использования схем преобразования данных обмен сообщениями
между компонентами узла останется прежним, однако при направлении
сообщений
в
другие
подсистемы
(другим
аппаратам)
необходимо
преобразовывать данные согласно схемам преобразования данных для
минимизации
объема
сообщения
и
передавать
уже
сериализованную
последовательность байтов. Таким образом, необходимо внести изменения в
существующую архитектуру ИУС.
Во втором случае подобных изменений в архитектуре ИУС делать не
нужно, однако следует применять такую систему управления, которая
обеспечивает движение группой аппаратов с требуемой точностью при
ограничениях на объем передаваемых данных между аппаратами.
Согласно второму варианту был выбран и реализован режим группового
управления по принципу «лидер-ведомый» с сохранением геометрической
формы строя в процессе движения. При данной стратегии группового
45
управления в группе АНПА выбирается один в качестве лидера. Этот АНПАлидер задает движение всего строя. Траектория движения строя известна только
ему. Задача остальных АНПА, АНПА-ведомых, – поддерживать заданную форму
строя. Для этого АНПА-лидер передает АНПА-ведомым свои навигационные
данные и те, в свою очередь, зная свое положение и заданное относительно
АНПА-лидера положение в строю, планируют свое движение, устраняя ошибку
по положению.
Пусть АНПА-лидера находится в точке (xl, yl) с ориентацией ψl. Положение
АНПА-ведомых в строю определяется относительно АНПА-лидера вектором (xfi,
yfi). Тогда желаемое положение АНПА-ведомых (xdi, ydi) в текущий момент
времени рассчитывается как:
𝑖
𝑐𝑜𝑠
[𝑥𝑑 ] = [ 𝜓𝑙
𝑠𝑖𝑛𝜓𝑙
𝑦𝑑𝑖
𝑖
−𝑠𝑖𝑛𝜓𝑙 ] [𝑥𝑓 ],
𝑐𝑜𝑠𝜓𝑙 𝑦 𝑖
𝑓
где i соответствует порядковому номеру АНПА-ведомого в группе.
Таким образом целевая точка АНПА-ведомых обновляется с периодом,
напрямую зависящим от частоты отправки сообщений АНПА-лидером.
Учитывая реальную скорость передачи данных гидроакустического канала 40400 б/с эта частота будет составлять 0,3-4 сообщений в секунду. Эти значения
значительно ниже частоты дискретизации СУ АНПА, составляющей порядка
20 Гц.
3.1 Эксперименты
Для проверки работоспособности разработанной ИУС для группы АНПА
и оценки влияния пропускной способности каналов связи на управление
движением было проведено полунатурное моделирование движения группы
АНПА в строю.
46
Рассматривался
строй
из
трех
АНПА
в виде
равностороннего
прямоугольного треугольника и из шести АНПА в форме правильного
шестиугольника со сторонами длиной в 10 м. Строй определялся в
горизонтальной плоскости, и в той же плоскости определялись траектории
движения строя.
Моделирование движения группы АНПА проводилось по двум типам
траекторий: по кругу радиусом 100 м и по гладкой кривой, заданной сплайном
третьего порядка, проходящей через семь последовательных точек (0, 0), (100, 0),
(100, 70), (0, 50), (10, 120), (50, 150), (150, 120).
Чтобы учесть ограниченную способность акустического канала связи,
устанавливалась соответствующая частота передачи сообщений от АНПАлидера к АНПА-ведомым: 1 сообщение в 3 секунды, 1 сообщение в секунду и 4
сообщения в секунду. В сообщении передавалось координаты текущего
положения АНПА-лидера (xl, yl) и его курс ψl.
Для оценки работы ИУС в режиме управления группой АНПА
рассматривались такие характеристики как реальная траектория движения
аппаратов, их взаимное расположение в каждый момент времени, минимальное
расстояние между роботами и максимальное отставание АНПА-ведомых от
АНПА-лидера в процессе движения.
На рисунке 9 представлены результаты моделирования движения группы
из 3 АНПА при ограничениях пропускной способности канала связи,
составляющим 4 сообщения в секунду. На этих рисунках синяя кривая
соответствует траектории движения АНПА-лидера, красная и желтая –
траекториям движения первого и второго АНПА-ведомых, соответственно.
Маркера соответствуют положению аппаратов в некоторый момент времени, по
которым можно оценивать точность поддержания строя во время движения.
47
а)
б)
Рисунок 9 – Движение группы из 3 АНПА при ограничениях на пропускную способность
канала связи в 4 сообщения в секунду
48
Как видно по траекториям движения АНПА-ведомых, они двигаются за
лидером и поддерживают строй. На поворотах с большой кривизной можно
заметить, что строй немного теряет форму: АНПА-ведомый, движущийся по
внешней, более длинной траектории при повороте не успевает за АНПАлидером. Но, как видно далее, строй восстанавливается при движении по
траектории с малой кривизной.
На рисунке 10 представлены диаграммы изменения расстояний между
АНПА в процессе движения по кругу (а) и кривой, определяемой сплайном (б)
при таком же ограничении пропускной способности канала связи в 4 сообщения
в секунду. Красной и синей кривой обозначены расстояния между АНПАлидером и АНПА-ведомыми, желтой – расстояние между АНПА-ведомыми.
При движении по кругу на начальном этапе (t < 100 c) наблюдается
отставание второго АНПА-ведомого от АНПА-лидера, что соответствует
движению по траектории с большой кривизной. После прохождения поворота
расстояния между АНПА становятся приблизительно равными 15 м (против
заданных 10 м).
а)
49
б)
Рисунок 10 – Диаграмма изменения расстояний между АНПА в процессе движения по кругу
(а) и по кривой, описываемой сплайном (б)
Строй немного «вытягивается», но поддерживается в установившемся
состоянии до конца движения по траектории. Такая же ситуация наблюдается и
при движении по гладкой траектории (б).
Моделирование
движения
группы
из
6
АНПА,
строй
которых
соответствует углам правильного шестиугольника со стороной 10 м, при
различных ограничениях пропускной способности канала связи показывает
аналогичные результаты. Траектории движения аппаратов по-прежнему не
пересекаются, однако при относительно крутых поворотах, строй теряет свою
форму и присутствует потенциально опасное сближение двух АНПА-ведомых,
траектории движения которых обозначены голубым и фиолетовым цветами на
рисунке 11.
50
а)
б)
Рисунок 11 – Движение группы из 6 АНПА при ограничениях на пропускную способность
канала связи в 1 сообщение в секунду
51
Сравнительные
результаты
всех
12
экспериментов
представлены
в Таблица 2. В ней приведены оценки минимальной дистанции между роботами
и максимальной величины «отставания» АНПА-ведомых от АНПА-лидера за все
время движения по каждой траектории. По данным оценкам можно судить о
качестве управления движением группы АНПА.
Таблица 2 – Оценка результатов моделирования движения группы АНПА, м
Частота
передачи
сообщений
0.3 Гц
1 Гц
Тип
Количество мин-ое макс-ое
траекроботов раст-ие отст-ие
тории
Сплайн
Круг
Из
4 Гц
мин-ое
раст-ие
макс-ое
отст-ие
мин-ое
раст-ие
макс-ое
отст-ие
3
10
12,5
10
7,5
10
5,9
6
4,9
10,8
7,1
7,8
6,9
7,6
3
10
22,1
10
18,5
10
15,6
6
2,9
25
3,9
19
3,2
16,5
результатов
видно,
что
пропускная
способность
оказывает
существенное влияние на точность управления группой роботов: чем жестче
ограничения пропускной способности канала связи, тем большие ошибки
рассогласования строя наблюдаются. Тем не менее, траектории движения
роботов
соответствуют
желаемым.
Роботы
в
процессе
движения
не
сталкиваются, однако, в некоторых случаях находятся близко к друг другу. Это
случается при прохождении резкого поворота: роботы, чья кривизна траектории
меньше, не успевают за лидером и приближаются к роботам, которые идут
позади них по более короткой траектории в окрестности поворота.
Чтобы обеспечить более точное движение группы АНПА необходимо
прогнозировать
траекторию
движения
с использованием фильтра Калмана.
52
АНПА-лидера,
например,
3.2 Применение
алгоритма
фильтрации
для
прогнозирования движения АНПА-лидера
При текущей системе управления движением группы АНПА (см. выше)
АНПА-ведомые получают данные о положении АНПА-лидера с частотой 0,34 Гц, что значительно меньше частоты дискретизации их СУ. В периоды времени
между
приемами
таких
сообщений
ввиду
отсутствия
информации
о
перемещении АНПА-лидера текущие целевые точки АНПА-ведомых не
обновляются, поэтому строй «растягивается» и наблюдаются большие
статические ошибки по положению между АНПА-лидером и АНПА-ведомыми.
Для более точного движения в строю АНПА-ведомым необходимо
прогнозировать положение АНПА-лидера при отсутствии актуальных данных,
например, с помощью фильтра Калмана. Целесообразно использовать уже
реализованный расширенный фильтр Калмана для нелинейной динамической
системы (см. подраздел 2.4 ).
РФК использует кинематическую модель АНПА (см. выражение (2.1)) и
функцию перехода (2.3). Из них видно, что использование на входе РФК только
данных о положении и курсе АНПА-лидера не позволяет прогнозировать его
положение. Поэтому предлагается преимущественно использовать данные
скорости АНПА-лидера для прогноза его перемещения, а данные положения –
для уточнения оценки его траектории движения.
Не увеличивая нагрузку на канал связи предполагается, что на каждые пять
сообщений, содержащих данные скорости АНПА-лидера, приходится одно
сообщение с данными его положения. АНПА-ведомые с помощью алгоритма
комплексирования (см. подраздел 2.4 ) оценивают реальное положение АНПАлидера и формируют целевые точки, поддерживая форму строя, с частотой,
равной частоте дискретизации их СУ.
На рисунке 12 представлена описанная система управления [12].
53
Рисунок 12 – Система управления на основе стратегии «лидер-ведомый»
Повторное моделирование движения группы из 3 АНПА по траектории
круга радиусом 100 м при ограничении пропускной способности канала связи в
1 сообщение в секунду позволяет оценить эффективность реализованной
системы управления. На рисунке 13 представлена диаграмма изменения
расстояний между АНПА-лидером и АНПА-ведомыми красной и синей кривой
и между АНПА-ведомыми зеленой кривой. Из рисунка видно, что после
некоторого переходного процесса величина установившейся ошибки составляет
менее 2 м. В данном случае величина статической ошибки уменьшилась на 3 м.
54
Рисунок 13 – Диаграмма изменения расстояний между АНПА в процессе движения по кругу
при частоте передачи сообщений 1 Гц с рпогнозом движения АНПА-лидера
3.3 Вывод
В данной главе была разработана и реализована система управления
движением группы АНПА заданным строем, учитывающая ограничения
пропускной способности гидроакустического канала связи.
Результаты проведения полунатурного моделирования движения группы
АНПА на разных траекториях, при различных ограничениях пропускной
способности канала связи и при различном количестве АНПА показали, что при
помощи разработанной системы управления можно эффективно управлять
движением группы АНПА.
55
Заключение
В результате данной работы была разработана ИУС для группы АНПА,
которая обеспечивает движение группы заданным строем, с учетом низкой
пропускной способности каналов передачи данных между роботами.
Были решены следующие основные задачи:
а)
разработан компонент-менеджер верхнего уровня, обеспечивающий
взаимодействие между аппаратами в составе группы;
б)
разработан механизм гарантированной доставки сообщений между
компонентами
ИУС,
обеспечивающий
высококачественное
управление
движением АНПА.
в)
реализован алгоритм комплексной обработки данных, получаемых от
бортовых навигационно-пилотажных датчиков и учитывающий их различную
частоту обновления показаний, который обеспечивает более точное движение как
каждого АНПА, так и группы АНПА заданным строем;
г)
разработан алгоритм формирования целевой точки для ведомых
аппаратов, который обеспечивает поддержание геометрической формы строя
между АНПА во время движения на основе стратегии «лидер-ведомый» с учетом
низкой пропускной способности канала связи;
д)
проведен ряд экспериментов, подтверждающий работоспособность и
эффективность разработанных и реализованных в работе алгоритмов. Дана
оценка влияния низкой пропускной способности на управление группой роботов
при текущей системе управления движением группы.
Таким образом, разработанная ИУС позволяет эффективно управлять
группой АНПА в условиях низкой пропускной способности каналов связи между
АНПА.
Разработанные и реализованные в ходе работы алгоритмы могут быть
использованы в ИУС других мобильных роботов.
56
Список использованных источников
1.
Автономные подводные роботы. Системы и технологии / М.Д. Агеев,
Л.В. Киселев, Ю.В. Матвиенко. и др.; под общ. ред. М.Д. Агеева – М.: Наука,
2005. – 398 с.
2.
Групповое управление подвижными объектами в неопределенных
средах / Д.А. Белоглазов, А.Р. Гайдук, Е.Ю. Косенко, М.Ю. Медведев,
В.Х. Пшихопов, В.В. Соловьев, А.Е. Титов, В.И. Финаев, И.О. Шаповалов – М.:
ФИЗМАТЛИТ, 2015. – 305 с.
3.
Капустян С.Г. Методы и алгоритмы коллективного управления
роботами при их групповом применении: дис. д-ра техн. наук. – Ростов-на-Дону.
– 2008.
4.
Модели и алгоритмы коллективного управления в группах роботов /
И.А. Каляев, А.Р. Гайдук, С.Г. Капустян. – М.: ФИЗМАТЛИТ, 2009. – 280 с.
5.
Мурсалимов Э.Ш. Разработка метода синтеза универсальной
информационно-управляющей системы для робототехнических устройств: дис.
Владивосток, 2017.
6.
Применение мультиагентных технологий для управления группой
необитаемых подводных аппаратов / А.И. Машошин, П.О. Скобелев // Известия
ЮФУ. Технические науки, Морская робототехника. – 2016. – 15 с.
7.
Развитие
системы
автономного
группового
управления
разнородными надводными и подводными необитаемыми аппаратами / И.В.
Кожемякин, Д.В. Никущенко, В.А. Рыжов, Н.Н. Семенов, М.Н. Чемоданов //
Технические
проблемы
освоения
мирового
океана:
материалы
7-ой
Всероссийской научно-технической конференции. – Владивосток, 2017, – c. 4958.
8.
Синтез и исследование системы контурного управления движением
подводного аппарата / В.Ф. Филаретов, Д.А. Юхимец, А.Ф. Щербатюк, Э.Ш.
Мурсалимов, И.Е. Туфанов // Труды всероссийского совещания по проблемам
57
управления, Москва. – 2014. – С.3338-3350.
9.
About LSTS [Электронный ресурс]: Вебсайт Лаборатории подводных
систем и технологий Университета Порто. – Электрон. дан. – 2018. – Режим
доступа: URL: https://lsts.pt/.
10.
About ROS (Robot Operating System) [Электронный ресурс]: вебсайт
содержит информацию о робототехническом промежуточном ПО ROS. – Электр.
дан. – 2018. – Режим доступа: URL: http://www.ros.org/about-ros/.
11.
An introduction to the joint architecture for unmanned systems / Rowe S,
Wagner CR. – Ann Arbor (Jaus), 2008. – 8 p.
12.
A backstepping approach for the formation control of multiple
autonomous underwater vehicles using a leader–follower strategy / R. Rout,
B. Subudhi // Journal of Marine Engineering & Technology. – 2016. – Vol. 15. –
Iss. 1. – P. 38-46.
13.
A Multi-Agent Framework for Autonomous Underwater Vehicles for
Mine Countermeasures with MOOS-IvP / L. Paull, S. Saeedi, M. Seto, H. Li //
Autonomous and Intelligent Systems. AIS 2011. Lecture Notes in Computer Science. –
Springer. – 2011, – vol 6752. – p. 41-50.
14.
A review of middleware for networked robots / N. Mohamed, J. Al-
Jaroodi, I. Jawhar. // International Journal of Computer Science and Network Security,
2009. – vol. 9. – no. 5. – p. 139–148.
15.
Cao. Y. Learning the Extended Kalman Filter [Электронный ресурс]:
вебсайт содержит информацию о РФК для нелинейных динамических систем –
Электр.
дан.
–
2018.
–
Режим
доступа:
https://www.mathworks.com/matlabcentral/fileexchange/18189-learning-theextended-kalman-filter, свободный. – Загл. с экрана.
16.
Cooperative formation control of autonomous underwater vehicles: an
overview / Das B, Subudhi B, Pati B. // Int J Autom Comput. 13. – 2016. – 199–225 с.
17.
Formation control of autonomous underwater vehicles subject to
communication delays / P. Millán, L. Orihuela, I. Jurado, F. Rubio // IEEE Transactions
on Control systems Technology. – 2014. – vol.22. – no.2, p. 770-777.
58
18.
Fossen, T.I. Guidance and control of ocean vehicles / T.I.Fossen. – John
Wiley & Sons Ltd., 1994. – 494 p.
19.
Goby3: A new open-source middleware for nested communication on
autonomous marine vehicles / Schneider, T. // Proceedings of the IEEE/OES
Autonomous Underwater Vehicles (AUV), Tokyo, Japan, 6–9 November 2016.
20.
Haykin, S. Kalman filtering and neural networks / S.Haykin. – John Wiley
and Sons, 2001. – 298 p.
21.
Implementation of a control architecture for networked vehicle systems /
Pinto J., Calado P., Braga J., Dias P., Martins R., Marques E., Sousa J. // IFAC
Workshop on Navigation, Guidance and Control of Underwater Vehicles. Porto,
Portugal. – 2012. – 6 p.
22.
JAUS Toolset (JTS) – Открытая реализация Joint Architecture for
Unmanned Systems (JAUS) [Электронный ресурс]: вебсайт содержит реализацию
стандарта JAUS на языках программирования С++, C# и Java – Электр. Дан. –
2013. – Режим доступа: http://jaustoolset.org/, свободный. – Загл. с экрана.
23.
JAUS++
– Открытая
кроссплатформенная реализация
JAUS
[Электронный ресурс]: вебсайт содержит кроссплатформенную реализацию
стандарта JAUS на языке программирования С++ – Электр. дан. – 2011. – Режим
доступа: http://active-ist.sourceforge.net/jaus++.php?menu=jaus, свободный. – Загл.
с экрана.
24.
LCM: Lightweight communications and marshalling / A. Huang, E.
Olson, and D. Moore // Intelligent Robots and Systems (IROS), 2010 IEEE/RSJ
International Conference. – 2010. – p. 4057–4062.
25.
Nested Autonomy for Unmanned Marine Vehicles with MOOS-IvP /
Benjamin M., Schmidt H., Newman P., Leonard J. //Journal of Field Robotics. – 2010.
– Vol. 27. – Iss. 6. – P. 834–875.
26.
OpenJAUS – компания, занимающаяся разработкой и внедрением
стандарта JAUS [Электронный ресурс]: вебсайт содержит реализацию стандарта
JAUS – Электр. дан. – 2015. – Режим доступа: URL: http://openjaus.com/.
59
Содержание
Аннотация .................................................................................................................... 3
Abstract ......................................................................................................................... 4
Обозначения и сокращения ........................................................................................ 5
Введение ....................................................................................................................... 6
1 Обзор и анализ существующих информационно-управляющих систем для
группы АНПА .............................................................................................................. 9
1.1 Обзор существующих методов управления движением группы АНПА 10
1.2 Обзор программных реализаций ИУС ...................................................... 18
1.3 Постановка задачи....................................................................................... 23
2 Архитектура ИУС для группы АНПА ................................................................. 24
2.1 Архитектура обмена сообщениями JAUS ................................................ 25
2.2 Структура компонента ИУС....................................................................... 26
2.3 Структура менеджера ИУС ........................................................................ 29
2.4 Реализация алгоритма комплексирования данных .................................. 36
2.5 Вывод ............................................................................................................ 44
3 Разработка алгоритма формирования целевой точки для АНПА-ведомых ..... 45
3.1 Эксперименты.............................................................................................. 46
3.2 Применение алгоритма фильтрации для прогнозирования движения
АНПА-лидера .............................................................................................. 53
3.3 Вывод ............................................................................................................ 55
Заключение................................................................................................................. 56
Список использованных источников ....................................................................... 57
60
Отзывы:
Авторизуйтесь, чтобы оставить отзыв