Научная статья на тему 'Компонентно-ориентированная система управления анпа ммт-2012'

Компонентно-ориентированная система управления анпа ммт-2012 Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
770
135
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
АНПА / СИСТЕМА УПРАВЛЕНИЯ / ПРОГРАММНАЯ ПЛАТФОРМА / ММТ-2012 / RCE / AUV / CONTROL SYSTEM / CONTROL SYSTEM FRAMEWORK / MMT-2012

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Боровик Алексей Игоревич, Наумов Леонид Анатольевич

Рассматриваются вопросы создания компонентно-ориентированной системы управления для автономного необитаемого подводного аппарата (АНПА) «Малый морской технолог 2012» («ММТ-2012») [1] на базе программной платформы RCE [2, 3]. Перечисляется список устройств аппарата, а также основные задачи, для которых он разработан. Предлагается архитектура системы управления гибридной модели [3, 4] с 4 вертикальными уровнями, соответствующими уровням абстракции команд. Приводится классификация компонентов системы по их функционалу. Описываются принципы работы каждого компонента, выполняемые им задачи, а также входные и выходные данные. Перечисляются некоторые алгоритмы поведения АНПА, которые должны быть включены в состав системы управления в соответствии с основными задачами, решаемыми аппаратом. Приводится алгоритм работы системы на примере решения типовой поисковой задачи. Предлагается способ размещения компонентов системы по процессам RCE и схема организации бортовой вычислительной сети. Статья завершается описанием преимуществ предложенной системы перед существующими решениями.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Боровик Алексей Игоревич, Наумов Леонид Анатольевич

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

COMPONENT-ORIENTED CONTROL SYSTEM FOR MMT-2012 AUV

Article focuses on the development of the component-oriented control system for the autonomous underwater vehicle «MMT-2012» [1], using the RCE framework [2,3]. It starts with the description of the AUV’s devices and main objectives. Article proposes hybrid-based control system architecture [3,4] with 4 vertical layers, corresponding to command’s abstraction levels. System components are classified by implemented functions. Article describes working principles, main goals and input/output data for all of the control system components. It describes some of the AUV’s behavior algorithms that should be created for AUV to achieve specific goals. Article contains description of components’ interactions during the execution of the AUV’s typical search program. It suggests the methods of placing components in RCE processes and organizing the AUV’s on-board computer network. Article concludes with list of the proposed system’s advantages.

Текст научной работы на тему «Компонентно-ориентированная система управления анпа ммт-2012»

УДК 551.46.077:629.584

А.И. Боровик, Л.А. Наумов

КОМПОНЕНТНО-ОРИЕНТИРОВАННАЯ СИСТЕМА УПРАВЛЕНИЯ

АНПА ММТ-2012

Рассматриваются вопросы создания компонентно-ориентированной системы управления для автономного необитаемого подводного аппарата (АНПА) «Малый морской технолог 2012» («ММТ-2012») [1 ] на базе программной платформы RCE [2, 3]. Перечисляется список устройств аппарата, а также основные задачи, для которых он разработан. Предлагается архитектура системы управления гибридной модели [3, 4] с 4 вертикальными уровнями, соответствующими уровням абстракции команд. Приводится классификация компонентов системы по их функционалу. Описываются принципы работы каждого компонента, выполняемые им задачи, а также входные и выходные данные. Перечисляются некоторые алгоритмы поведения АНПА, которые должны быть включены в состав системы управления в соответствии с основными задачами, решаемыми аппаратом. Приводится алгоритм работы системы на примере решения типовой поисковой задачи. Предлагается способ размещения компонентов системы по процессам RCE и схема организации бортовой вычислительной сети. Статья завершается описанием преимуществ предложенной системы перед существующими решениями.

АНПА; система управления; программная платформа; RCE; ММТ-2012.

A.I. Borovik, L.A. Naumov

COMPONENT-ORIENTED CONTROL SYSTEM FOR MMT-2012 AUV

Article focuses on the development of the component-oriented control system for the autonomous underwater vehicle «MMT-2012» [1], using the RCE framework [2,3]. It starts with the description of the AUV's devices and main objectives. Article proposes hybrid-based control system architecture [3,4] with 4 vertical layers, corresponding to command's abstraction levels. System components are classified by implemented functions. Article describes working principles, main goals and input/output data for all of the control system components. It describes some of the AUV's behavior algorithms that should be created for AUV to achieve specific goals. Article contains description of components' interactions during the execution of the AUV's typical search program. It suggests the methods of placing components in RCE processes and organizing the AUV's on-board computer network. Article concludes with list of the proposed system's advantages.

AUV; control system; control system framework; RCE; MMT-2012.

Введение. Система управления (СУ) - это совокупность программных средств, предназначенная для управления работой оборудования робота с целью выполнения поставленных перед ним задач. Для облегчения процесса проектирования, создания и эксплуатации систем управления часто используется специальное промежуточное программное обеспечение, называемое программной платформой. В ИПМТ была разработана и в настоящее время используется и дорабатывается универсальная программная платформа RCE (Robot Components Engine) [2, 3].

Платформа RCE поддерживает компонентно-ориентированную парадигму построения систем управления, согласно которой весь функционал СУ разделяется между компонентами - выделенными частями программного обеспечения. Компоненты взаимодействуют между собой, публикуя и получая сообщения - наборы взаимосвязанных данных. Сообщения, объединенные некоторым общим признаком (например, источником данных), формируют интерфейсы. На этапе разработки СУ задача RCE, как программной платформы, состоит в предоставлении эффективных и удобных средств описания компонентов и интерфейсов. На этапе

работы СУ RCE выполняет транспорт сообщений между компонентами согласно заданным правилам. В качестве особенностей RCE следует отметить поддержку синхронного и асинхронного транспорта сообщений, возможность параллельного и независимого исполнения компонентов, их арбитраж, а также возможность размещения нескольких компонентов в разных потоках одного процесса-контейнера. Платформа поддерживает различные операционные системы и допускает работу целевой СУ в гетерогенных сетях.

Цель данной статьи - представить прототип системы управления АНПА, построенный на базе программной платформы RCE.

АНПА ММТ-2012. В качестве аппаратной платформы для разрабатываемой системы управления выбран АНПА «Малый морской технолог 2012», выпущенный ИПМТ в 2012 г. [1]. Данный аппарат предназначен для решения следующих задач:

♦ Поиск и обследование затонувших объектов.

♦ Инспекция подводных сооружений и коммуникаций, в том числе трубопроводов и электрических кабелей.

♦ Геологоразведочные работы, включающие фото-, а также гидроакустическую и профилографическую съемку рельефа морского дна.

Все оборудование аппарата можно условно разделить на базовое (участвующее в управлении работой АНПА и критичное для его функционирования) и исследовательское (осуществляющее полезную работу). К базовому оборудованию относятся: навигационно-пилотажный датчик (НПД), тензометрический датчик глубины (ДГ), допле-ровский лаг (ДЛ), эхолокационная система (ЭЛС), блок управления двигателями (БУД), аккумуляторная батарея (АКБ), контроллер питания (КП), контроллер гидроакустической навигационной системы и системы связи (ГАНС и ГАСС), приемник глобальной навигационной системы (ГНС), светомаяк, система датчиков воды в плотных контейнерах (ДВ), а также различное сетевое оборудование (сетевой роутер, точка доступа Wi-Fi, радиомодем). В состав группы исследовательского оборудования включены следующие устройства: гидролокатор бокового обзора (ГБО), профилограф, электромагнитный искатель (ЭМИ) и фотокамера.

Исходя из сферы использования аппарата и перечня бортового оборудования, определим состав системы управления и опишем ее архитектуру.

Классификация компонентов СУ. Все компоненты системы управления разделим по трем категориям, соответствующим их функционалу:

1. Драйверы устройств - компоненты, осуществляющие трансляцию сообщений системы в команды для устройств и трансляцию данных устройств в сообщения системы.

2. Алгоритмы - программы, осуществляющие выполнение некоторых высокоуровневых задач на базе низкоуровневых команд, передаваемых драйверам устройств и другим алгоритмам.

3. Управляющие программы - программы, осуществляющие контроль над работой всей системы управления.

Архитектура системы управления АНПА ММТ-2012 построена по гибридной модели, которая предполагает размещение компонентов по нескольким вертикальным уровням, один из которых (участвующий в непосредственном управлении движением) подразумевает параллельную и независимую работу управляющих компонентов с последующим арбитражем генерируемых ими команд [3, 4, 5]. В соответствии с уровнями абстракции команд, компоненты системы управления размещены по 4-м вертикальным уровням: обслуживающий, исполняющий, тактический и стратегический. Рассмотрим подробнее состав каждого уровня и принципы работы размещенных на нем компонентов.

Компоненты обслуживающего уровня. На обслуживающем уровне находятся драйверы устройств и алгоритмы, напрямую работающие с ними. Основная задача компонентов обслуживающего уровня - предоставлять высокоуровневым компонентам доступ к управлению устройствами и получению от них данных с помощью универсальных (т.е. не привязанных к конкретной реализации) интерфейсов. В случае замены устройства, не потребуется вносить изменения в код высокоуровневых компонентов, поскольку универсальный интерфейс остается неизменным.

Каждому устройству аппарата соответствует отдельный драйвер. В его задачу входит публикация получаемых от устройства данных в асинхронном режиме и доставка устройству команд. Драйверы работают параллельно и независимо друг от друга. Драйверы обязаны следить за достоверностью публикуемых данных и генерировать сообщение об ошибке в случае нарушения связи с устройством. Помимо универсального интерфейса, драйверы должны предоставлять специальный интерфейс для управления специфическими возможностями конкретной реализации устройства. С помощью данного интерфейса возможно создание программ тонкой настройки устройств, как правило, разработчиками самих драйверов.

В типовом интерфейсе значения величин по возможности должны быть выражены в системе единиц СИ. Так, сонар должен публиковать расстояние до препятствия, измеренное в метрах (несмотря на то, что само устройство технически измеряет время приема-передачи сигнала). Если для получения значения в единице СИ необходимо наличие дополнительной информации (так, в приведенном примере, необходимо значение скорости звука в среде), драйвер может получить ее из конфигурационного файла или от других драйверов.

На обслуживающем уровне системы находятся следующие алгоритмы:

♦ Занесение данных в лог (логгер).

♦ Распознавание образов.

♦ Комплексированная Навигационная Система (КНС).

♦ Регулятор движения.

♦ Картографический сервер.

Алгоритм занесения данных в лог представляет собой простую программу ведения журнала, которая накапливает любые циркулирующие в системе сообщения в базе данных. Данный алгоритм также позволяет компонентам фиксировать в черном ящике любые текстовые сообщения для последующего их анализа оператором.

Алгоритм распознавания образов позволяет определить наличие заданного объекта на фотографии. Объект задается перечнем его фотографий под разным углом залегания и с разной степенью разборчивости снимка.

Комплексированная Навигационная Система определяет расположение робота в глобальной и локальной (в которой некоторая точка, обычно точка старта миссии, выбирается за ноль) системах координат. При работе КНС использует данные от ГНС (при условии нахождения аппарата на поверхности), ГАНС, а также собственное счисление, основанное на данных о скорости и направлении движения. КНС может также быть настроена на использование данных комплекса инерциальной навигационной системы (ИНС). Публикуемое КНС сообщение содержит расположение АНПА в относительной системе координат, текущую высоту аппарата над подстилающей поверхностью, курс, крен, дифферент, а также глубину. Отдельно публикуется сообщение с расчетным положением в глобальной системе координат.

Регулятор движения устанавливает параметры движительной системы в зависимости от заданной целевой скорости по осям. В его задачу входит расчет мощностей работы двигателей на основе информации о параметрах движительно-рулевого комплекса (ДРК) АНПА и заданной скорости движения. Реализация данного алгоритма уникальна для каждой модели ДРК.

Картографический сервер содержит информацию об известных глобальных препятствиях (берега, мели, запретные зоны) в районе выполнения миссии. Начальные данные заносятся оператором перед началом миссии. Карта может пополняться с учетом информации от компонентов исполняющего уровня. Компоненты высокого уровня могут запрашивать как карту целиком, так и отдельные ее участки, соответствующие интересующему их региону. Допускается обмен картографической информацией между разными АНПА при работе их в составе группы.

На рис. 1 показан состав обслуживающего уровня системы и существующие в пределах уровня связи между компонентами.

Рис. 1. Состав обслуживающего уровня системы

Компоненты исполняющего уровня. Компоненты исполняющего уровня осуществляют непосредственное управление движением аппарата. Они работают параллельно и независимо друг от друга, вырабатывая команды для регулятора движения с заданной частотой, определяющей время реакции системы. В случае, когда компонент на данном шаге управления не нуждается в регулировании, он публикует специальное сообщение «отказ от управления». На исполняющем уровне находится также специальный компонент - арбитр. Получая сообщения от компонентов, участвующих в арбитраже, он выбирает имеющее наивысший приоритет и передает его регулятору движения. Самым низким приоритетом обладает сообщение «отказ от управления», которое не передается.

Отметим, что арбитр также следит за корректностью работы системы. Если на каком-либо шаге управления один из компонентов не опубликовал сообщение, арбитр информирует о сложившейся ситуации контрольно-аварийную систему.

Для технической реализации арбитража используется механизм групп ЯСБ. Регулятор движения подписывается только на сообщения со специальной группой, генерируемые арбитром.

Рассмотрим компонентный состав исполняющего уровня в порядке увеличения приоритета.

1. Алгоритм движения. Контролирует перемещение аппарата к заданной точке (в локальных или глобальных координатах) со стабилизацией глубины или высоты, поддерживая при этом определенную скорость. Получая команду от алгоритмов высокого уровня, переходит к циклу управления, генерируя отчет по его завершению. Допускает приостановку и отмену задания. Во время работы алгоритм получает данные от КНС и управляет регулятором движения.

2. Алгоритм обхода препятствий. Служит для предотвращения столкновения АНПА с возвышенностями и придонными объектами при их обследовании. Алгоритм, кроме того, поддерживает в актуальном состоянии локальную карту препятствий, данные которой импортируются из картографического сервера при смене рабочей области и экспортируются обратно при внесении изменений. Во время работы алгоритм использует данные от гидролокаторов (сонаров) для диагностирования препятствий и генерирует необходимые сообщения регулятору в случае их обнаружения.

3. Обработчик происшествий. Данный компонент предназначен для обнаружения и исправления внештатных ситуаций, которые могут возникнуть с АНПА во время выполнения миссии. Содержит библиотеку аварийных событий, описывающую реакцию на каждое из них. Данная библиотека содержит как минимум следующие события: столкновение АНПА с препятствием; касание корпусом морского дна; выход за пределы рабочей зоны; превышение предельного времени работы; выход за пределы допустимого диапазона скорости. Во время работы получает данные согласно библиотеке событий и генерирует сообщения регулятору, имеющие наивысший приоритет.

Состав исполняющего уровня и схема взаимосвязи компонентов показаны на рис. 2.

Рис. 2. Состав исполняющего уровня системы и схема взаимодействия компонент

Компоненты тактического уровня. На тактическом уровне системы управления находятся алгоритмы, реализующие сложные действия АНПА. Алгоритмы тактического уровня обычно не работают параллельно, а запускаются по мере необходимости программами стратегического уровня. Во время работы при изменении фазы выполнения задания (начало, переход к следующему шагу, завершение) все алгоритмы публикуют соответствующие сообщения, позволяя высокоуровневым компонентам при необходимости осуществлять контроль над выполнением задания. Компоненты тактического уровня формируют траекторию с учетом известной глобальной карты местности, получаемой от картографического сервера.

Одним из наиболее простых компонентов тактического уровня является алгоритм прокладки маршрута по карте. На входе данный алгоритм получает целевую точку в глобальных координатах, а также параметры движения. С учетом карты запретных зон (полученной от картографического сервера) алгоритм разбивает участки пути на отдельные отрезки, передаваемые в качестве целей алгоритму движения. В принципе, исполняющий уровень сам может осуществить обход пре-

пятствий при помощи одноименного алгоритма, однако для известных запретных зон подобную задачу эффективнее решать при помощи предварительного планирования [4, 5].

Основная часть тактических алгоритмов описывает способы движения аппарата для обследования заданных районов донной поверхности, в соответствии с задачами, для которых создавался ММТ-2012. Каждый из указанных алгоритмов управляет алгоритмом движения и драйверами соответствующего оборудования, задавая им нужные режимы работы.

Кратко рассмотрим некоторые из алгоритмов. За более подробным описанием можно обратиться к [6, 7].

Алгоритм движения меандром задает траекторию движения в виде последовательности параллельных взаимообратных галсов, что обеспечивает эффективное покрытие больших территорий. Данный алгоритм может использоваться для обследования территории с помощью ГБО, фотокамеры или профилографа. Алгоритм самостоятельно включает нужное оборудование на рабочих галсах и выключает на переходных.

Алгоритм движения циклоидой используется для обследования небольших объектов, размеры которых сопоставимы с размерами АНПА. Движение циклоидой позволяет аппарату осуществлять смещения на очень малые дистанции (1-4 м.), тем самым обеспечивая многократный захват одной и той же области фиксирующим оборудованием. Алгоритм движения циклоидой используется совместно с фотосистемой. За счет многократного покрытия одной и той же местности, возможна сшивка полученных фотографий в автоматическом режиме для получения подробной панорамы дна.

Алгоритм движения спиралью используется для площадной фотосъемки больших районов, когда циклоиду применять нецелесообразно ввиду ее избыточности. Спираль обеспечивает хорошее покрытие заданного района, однако в силу специфики движения АНПА, не подходит для обследования малых объектов. В случае необходимости такого обследования, компонент высокого уровня может задать конечную длину и ширину галса для алгоритма спирали, а после его завершения при достижении указанных величин - запустить алгоритм движения циклоидой.

Алгоритм следования вдоль протяженного объекта предназначен для инспекции кабеля или трубопровода, чье расположение известно до запуска алгоритма. Данный алгоритм использует зигзагообразную фигуру движения для фиксирования инспектируемого объекта аппаратурой. Алгоритм может применяться с любым набором оборудования - ГБО, ЭМИ, фотокамерой или профилографом.

Все фигуры движения, задаваемые описанными алгоритмами, указаны на рис. 3.

Рис. 3. Способы обследования территории, задаваемые алгоритмами СУ

Тактический уровень может содержать и другие алгоритмы, в частности, для обследования территорий произвольной формы.

На рис. 4 показан состав тактического уровня системы и схема взаимодействия размещенных на нем компонент.

Рис. 4. Состав тактического уровня и схема взаимодействия компонент

Компоненты стратегического уровня. На самом высоком уровне находятся управляющие программы, задающие основные цели работы АНПА и контролирующие их исполнение. Программы стратегического уровня работают параллельно, но только одна из них в конкретный момент может осуществлять управление. Для синхронизации данных программ между собой используется внутренний механизм специальных сообщений, благодаря которому одна управляющая программа может приостановить работу другой. Никакого арбитража команд от данных программ не предусмотрено в силу логики их работы. В составе системы управления ММТ-2012 предусмотрено 4 управляющие программы:

1. Программа-миссия.

2. Бортовая программа телеуправления.

3. Программа телеуправления поста оператора.

4. Контрольно-аварийная система.

Рассмотрим их подробнее.

Программа-миссия составляется оператором перед запуском аппарата и задает цели работы АНПА. Миссия содержит набор команд для компонентов системы управления, а также описание реакций на происходящие события. В качестве события, согласно концепции ЯСБ, может рассматриваться получение конкретного сообщения от какого-либо компонента системы [2]. В основном миссия управляет работой аппарата через функционал компонентов тактического уровня, но может содержать и отправку низкоуровневых команд для компонентов других уровней. Для составления программы-миссии используется язык С++.

Рассмотрим алгоритм работы программы-миссии на примере типового задания для АНПА. Предположим, что поставлена цель нахождения затонувшего объекта с его последующим обследованием при помощи фотосистемы. В этом случае, задаваемая программой-миссией последовательность действий будет выглядеть следующим образом:

1. Для выхода в начальную точку поискового района задать цель алгоритму прокладки маршрута по карте. Дождаться сообщения от компонента о завершении задания.

2. Включить алгоритм распознавания образов и задать ему поисковый объект.

3. Запустить алгоритм движения спиралью с фотосъемкой поверхности дна.

4. В случае получения сообщения от алгоритма распознавания образов о нахождении объекта - остановить алгоритм движения спиралью и запустить алгоритм движения циклоидой в районе вероятного нахождения объекта. По завершению алгоритма - перейти к шагу 5.

5. Запустить алгоритм прокладки маршрута по карте для выхода в точку завершения миссии (обычно совпадает с точкой начала). Переход на данный шаг возможен в случае получения сообщения о завершении работы от алгоритма движения спиралью (что предполагает провал попытки найти объект в заданной поисковой области) или при завершении работы шага 4.

6. Всплыть на поверхность и включить проблесковый маячок для облечения нахождения аппарата сопровождающим персоналом.

Бортовая программа телеуправления предоставляет оператору возможность вмешаться в ход выполнения миссии посредством команды, переданной по гидроакустическому каналу связи (ГАСС). Данный канал позволяет передавать лишь очень незначительное количество информации, поэтому список команд телеуправления жестко задается при составлении программы. Стандартный список команд телеуправления должен содержать следующие команды:

♦ Аварийная остановка и всплытие (для этого программе-миссии и компонентам, управляющим движением, передается команда на завершение работы).

♦ Переход к следующему шагу миссии (если миссия поддерживает эту возможность).

♦ Увеличение или уменьшение скорости движения на заданную величину (для этого используется регулировка ограничений обработчика происшествий).

Программа телеуправления поста оператора отображает данные, циркулирующие в системе управления АНПА, в графическом виде и позволяет задавать команды компонентам посредством графического интерфейса. Для работы данной программы необходим устойчивый канал связи с аппаратом, что возможно лишь при его нахождении на поверхности воды или сопровождающем судне. В основном данная программа используется при тестировании аппарата и для ручного приведения его к борту носителя. В случае модификации системы управления для использования на привязном аппарате, данная программа будет единственной на стратегическом уровне.

Контрольно-аварийная система осуществляет контроль над работой всех компонентов системы управления. В частности, она анализирует сообщения об ошибках, публикуемые драйверами, и принимает решение об их перезапуске или (если речь идет о критичных для работы всего аппарата устройствах) об аварийной остановке работы. КАС содержит библиотеку аварийных ситуаций, в которой также прописаны некоторые безусловные действия, которые необходимо выполнить в случае их возникновения. КАС может останавливать и перезапускать процессы ЯСБ при помощи системных вызовов.

Размещение компонентов системы по процессам ЯСЕ. Решение о размещении описанных выше компонентов системы управления по процессам программной платформы ЯСБ необходимо выполнять, исходя из требования высокой скорости реакции и надежности системы. Для СУ АНПА ММТ-2012 предлагается следующая концепция размещения компонент.

Драйверы базового оборудования, кроме драйвера ГАНС/ГАСС, а также компоненты исполняющего уровня, логгер, алгоритм КНС и регулятор движения предлагается разместить в едином процессе RCE (назовем его основным). Таким образом, будет обеспечена максимальная скорость доставки сообщений между компонентами, осуществляющими непосредственное управление механизмом и, тем самым, наиболее критичными к скорости обмена сообщениями. На первый взгляд, при таком решении может пострадать надежность - критические ошибки в одном из модулей могут привести к остановке работы всей системы. В данном случае, однако, подобное решение является оправданным - в случае ошибки работы хотя бы одного базового драйвера нет смысла продолжать дальнейшее выполнение миссии, поскольку это может привести к компрометирующему состоянию системы (т.е. состоянию, при котором нельзя однозначно определить, работает система корректно или нет). Подобное состояние опасно тем, что может помешать контрольно-аварийной системе или оператору вовремя диагностировать ошибку и попытаться ее исправить.

Драйверы специальных устройств предлагается разместить в отдельных процессах, вместе со связанными с ними алгоритмами. Так, драйвер фотокамеры планируется разместить в одном процессе с алгоритмом распознавания образов. Подобный подход позволит избежать транспорта тяжеловесных картинок через сеть (или необходимости обмениваться данными через файл фотографии на жестком диске).

Библиотеку алгоритмов тактического уровня планируется разместить в едином процессе RCE. Процесс-контейнер в данном случае можно рассматривать как библиотеку тактических возможностей АНПА.

Картографический сервер планируется поместить в отдельный процесс, поскольку система не подразумевает интенсивного обмена связанными с ним данными.

Все стратегические программы, исходя из концепции их работы, необходимо разместить в отдельных процессах. При этом процесс с бортовой программой телеуправления должен также выполнять поток драйвера гидроакустической системы связи. Подобный подход позволит увеличить скорость реакции системы на команды оператора, а также позволит программе телеуправления перезапускать основной сервер без опасности лишиться системы связи. Кроме того, драйвер ГАНС/ГАСС работает с достаточно большой дискретностью (получая данные пример раз в 30 секунд), вследствие чего нецелесообразно его размещение в основном сервере, работающем с большой скоростью реакции.

Схема организации бортовой вычислительной сети. Бортовая вычислительная сеть АНПА ММТ-2012 состоит из трех компьютеров. Благодаря использованию общего последовательного канала связи, каждый из компьютеров имеет доступ ко всему оборудованию АНПА. Роли используемых компьютеров определены следующим образом:

1. Компьютер автопилота. Выполняет основной сервер ЯСБ, программу-миссию, бортовую программу телеуправления и картографический сервер.

2. Компьютер телевизионной системы. Обеспечивает работу сервера, содержащего драйвер фотокамеры и алгоритм распознавания образов.

3. Компьютер системы акустического зрения. Обеспечивает работу драйверов ГБО, профилографа и ЭМИ.

Каждый компьютер выполняет также сервер КАС и хранит копию основного сервера. По требованию контрольно-аварийной системы любой сервер, кроме основного, может быть остановлен. Тем самым, КАС способна в случае выхода из строя компьютера автопилота динамически назначить его роль другому компьютеру.

Схема размещения компонентов системы управления по компьютерам ММТ-2012 указана на рис. 5.

Преимущества предложенной архитектуры. Представленный прототип системы управления обладает рядом преимуществ перед применяемыми в настоящее время решениями. К сильным сторонам описанной архитектуры можно отнести ее модульность, распределенность, высокую скорость доставки сообщений между компонентами исполняющего уровня и драйверами актуаторов за счет размещения их в одном процессе, а также надежность конечной системы. Благодаря использованию программной платформы ЯСБ создаваемая система может работать в составе гетерогенных сетей. Предложенная архитектура позволяет создавать сложные программы-миссии, допускающие параллельное решение различных задач.

Одним из важнейших преимуществ предложенной системы является возможность повторного использования написанных интерфейсов и компонентов в других робототехнических проектах института. Для применения описанной системы на другом АНПА может потребоваться переписать несколько драйверов и обслуживающих алгоритмов, но наиболее сложные компоненты, размещенные на стратегическом и тактическом уровнях, будут работать без изменения.

Благодаря четкой структурированности состава системы, разработчики отдельных компонентов могут сосредоточиться только на решении экспертной задачи, не теряя времени на изучение принципа функционирования всего программного комплекса и способа взаимодействия отдельных его частей. Наличие подробного описания подсистем и способа их взаимодействия позволяет вводить в проект новых специалистов на любом этапе его жизненного цикла.

Рис. 5. Схема размещения компонентов системы управления по бортовым компьютерам ММТ-2012

В заключение авторы выражают признательность коллегам из ИПМТ ДВО РАН: Боровику И.Н., Боровику Л.В., Телешеву А.В., Сидоренко А.В., Мальцевой С.В., Павину А.М., Багницкому А.В., Инзарцеву А.В. и Баль Н.В. за неоценимый вклад в процессе создания АНПА ММТ-2012 и предложенной концепции системы управления.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1. Наумов Л.А., Боровик И.Н., Боровик А.И. Автономный необитаемый подводный аппарат ММТ-2012 // Материалы Пятой Всероссийской научно-технической конференции «Технические проблемы освоения Мирового океана» (ТПОМО-5). - М.: ИПМТ, 2013. - С. 46-48.

2. Наумов Л.А., Боровик А.И., Баль Н.В. RCE - программная платформа для системы управления АНПА // Подводные исследования и робототехника. - 2011. - № 2 (12). - С. 18-25

3. Боровик А.И., Наумов Л.А. Компонентно-ориентированная программная платформа для автономных мобильных роботов // Известия ЮФУ. Технические науки. - 2013. - № 3 (140). - С. 39-47.

4. Oreback A. A Component Framework for Autonomous Mobile Robots // PhD thesis, KTH Numerical Analysis and Computer Science, Stockholm, Sweden, 2004.

5. Arkin R.C. Behavior-Based Robotics // The MIT Press, Cambridge, Massachusetts, London, England, 1998.

6. Багницкий А.В., Инзарцев А.В. Автоматизация подготовки миссии для автономного необитаемого подводного аппарата в задачах обследования акваторий // Подводные исследования и робототехника. - 2010. - № 2 (10). - С. 17-24.

7. Агеев М.Д., Касаткин Б.А., Киселёв Л.В. и др. Автоматические подводные аппараты. - Л.: Судостроение, 1981. - 224 с.

Статью рекомендовал к опубликованию д.т.н. С.М. Бурков.

Боровик Алексей Игоревич - Институт проблем морских технологий Дальневосточного отделения Российской академии наук; e-mail: alexey@borovik.me; 690091, Владивосток, ул. Суханова, 5А; тел.: 84232215545, доб. 445; телекоммуникационный центр; младший научный сотрудник.

Наумов Леонид Анатольевич - e-mail: naumov@marine.febras.ru; тел.: 84232432651; чл.-корр. РАН.

Borovik Alexey Igorevich - Institute of Marine Technology Problems, Far Eastern Branch of Russian Academy of Science; e-mail: alexey@borovik.me; 5A, Sukhanova street, Vladivostok, 690091, Russia; phone: +74232215545, ext. 445; Center of telecommunications; junior researcher.

Naumov Leonid Analolievich - e-mail: naumov@marine.febras.ru; phone: +74232432651; corresponding member of RAS.

УДК 551.46.077:629.584

А.А. Борейко, Ю.В. Ваулин, В.В. Костенко, Ю.В. Матвиенко, Д.Н. Михайлов,

А.М. Павин

НАВИГАЦИОННОЕ И АЛГОРИТМИЧЕСКОЕ ОБЕСПЕЧЕНИЕ КОМПЛЕКСА АНПА-ТНПА ПРИ РЕШЕНИИ ЗАДАЧ МОНИТОРИНГА ДОННОЙ ПОВЕРХНОСТИ

Представлены особенности и техническая реализация навигационного и алгоритмического обеспечения подводно-технического комплекса, состоящего из автономного и телеуправляемого необитаемых подводных аппаратов. Принятые технические решения обеспечивают совместную работу АНПА и ТНПА в едином гидроакустическом навигационном поле, образованном набором маяков-ответчиков. Это дает возможность скоординированного взаимодействия аппаратов в ходе комплексного обследования донной поверхности или инспекции гидротехнических сооружений и корпусов кораблей. Комплекс АНПА-ТНПА позволяет одновременно проводить ГБО-съемку дна с идентификацией ранее выявленных гидроакустических целей по данным сканирования высокочастотным гидролокатором секторного обзора и съемки фото- и телевизионными камерами. В статье описаны алгоритмы траекторного управления, позволяющие автоматизировать движение ТНПА как под водой, так и по поверхности в целевую точку с известными географическими координатами. Предложены и реализованы технические решения, обеспечивающие динамическое

i Надоели баннеры? Вы всегда можете отключить рекламу.