УДК 004.4.4 Дата подачи статьи: 03.05.18
DOI: 10.15827/0236-235X.031.4.728-733 2018. Т. 31. № 4. С. 728-733
Транслятор тактической задачи в сеть Петри для группы наземных робототехнических комплексов
А.А. Танков 1, к.т.н., начальник отдела «Автоматизированные транспортные системы», tachko v@bmstu. ru
А.В. Козов 1, инженер, [email protected]
С.Е. Панков 2, к.т.н.., старший научный сотрудник, начальник управления
1 НУЦ«Робототехника» МГТУ им.. Н.Э. Баумана, 105037, г. Москва, Россия
2 Минобороны России, Управление перспективных межвидовых исследований и специальных проектов, г. Москва, 119160, Россия
В работе сделан анализ основных подходов к формированию тактической задачи для группы робототехнических комплексов военного назначения. Выделен подход, основанный на использовании электронной карты в качестве графической основы для формирования задачи с помощью условных тактических знаков.
Показано, что решение оператора может быть представлено ориентированным мультиграфом с конечным числом вершин и дуг. Для данного представления разработан транслятор тактической задачи, позволяющий преобразовать исходное решение оператора в виде условных тактических знаков в эквивалентную сеть Петри для управления группой наземных робототехнических комплексов военного назначения. Приведены формальная постановка задачи проектирования транслятора, его структура, основные блоки и типовые правила трансляции элементов решения оператора в сеть Петри.
Разработанный транслятор базируется на применении геоинформационной системы и специального классификатора условных тактических знаков, кодирующих групповые действия робототехнических комплексов. Описана программная реализация транслятора на языке С++ в виде DLL-библиотеки для геоинформационной системы «Панорама», представлена диаграмма классов.
Работа транслятора пояснена примером: рассмотрена типовая групповая задача, включающая такие групповые действия, как разбиение исходной группы наземных робототехнических комплексов на подгруппы, их параллельное перемещение к рубежам регулирования, перераспределение комплексов между подгруппами, выход на рубеж действия. Показаны исходное решение оператора в виде условных тактических знаков и получившаяся в результате трансляции эквивалентная сеть Петри.
Применение разработанного транслятора совместно с технологией электронных карт позволило автоматизировать процесс формирования тактической задачи для группы наземных робототехнических комплексов военного назначения.
Ключевые слова: наземный робототехнический комплекс военного назначения, НРТКВН, сеть Петри, транслятор, геоинформационная система, цифровой классификатор, групповое управление.
Одним из приоритетных направлений в области проектирования новых образцов вооружения и военной техники на основе современных достижений науки и техники является создание наземных робототехнических комплексов военного назначения (НРТК ВН), предназначенных для решения широкого спектра боевых (тактических) и обеспечивающих задач. Результаты теоретических исследований и практического применения НРТК ВН свидетельствуют о высокой степени готовности отдельных образцов к использованию в составе групп [1]. Групповое применение рассматривается в качестве следующего эволюционного этапа повышения возможностей робототехнических комплексов, в ходе которого планируется согласовать совместные действия машин и объединить их в группы под управлением операторов. При этом одной из центральных проблем группового управления остается формирование тактической задачи оператором и доведение ее до группы.
Как правило, формирование тактической задачи для группы роботов осуществляется с использованием специального языка программирования
текстового типа MCL (Mission Control Language) [2] или BML (Battle Management Language) [3]. Сформированная таким образом задача затем транслируется в сеть Петри, являющуюся удобным формальным представлением управляющего алгоритма при групповом взаимодействии роботов [2, 4-6]. Недостатками такого подхода к способу формирования тактической задачи являются необходимость наличия у оператора навыков программирования и отсутствие автоматизированного ввода координат маршрутов, рубежей, районов действия и т.п., то есть привязки задачи к карте. Отличным от указанного способа является предложенный в работе [7] подход к формализации тактической задачи для группы НРТК ВН, заключающийся в использовании геоинформационной системы (ГИС) [8] в качестве графической основы для формирования задачи с помощью условных тактических знаков и ее дальнейшей трансляции в эквивалентную сеть Петри. В настоящей работе описан разработанный транслятор, который позволяет преобразовать тактическую задачу, заданную с помощью нанесенных на электронную карту
условных тактических знаков, в эквивалентную сеть Петри.
Задача проектирования транслятора тактической задачи в сеть Петри
Тактическую задачу, формируемую оператором на карте для группы НРТК ВН, можно представить в виде ориентированного мультиграфа G = (V, A) c конечным числом вершин V и дуг A, где A с V х V. Орграф состоит из рубежей (исходных, регулирования, действия) и условных тактических знаков, кодирующих групповые действия. Исходные рубежи служат для определения начального состава подгрупп и являются условными знаками, инициализирующими начало выполнения задачи. Исходных рубежей может быть несколько. До выполнения тактической задачи у оператора в распоряжении имеется только одна группа, состоящая из N единиц НРТК ВН.
Рубежи регулирования предназначены для синхронизации действий отдельных подгрупп - перераспределения НРТК между ними. Каждый рубеж
vi в задаче является вершиной (vieV, i = 1, n , n = | V |), а групповое действие aj - дугой (aj e A, j = 1, m, m = IA |). Дуги могут быть кратными: при выполнении одного и того же действия между двумя рубежами несколькими разными подгруппами. Каждый из рубежей имеет свой номер, указываемый в соответствующей семантической характеристике (атрибуте знака в ГИС) и отображаемый на электронной карте. Нумерация начинается с исходных рубежей и для исключения неоднозначности ведется оператором на карте слева направо в направлении действия группы.
Задача транслятора заключается в преобразовании исходного мультиграфа G в сеть Петри С = (P, T, I, O), где P - конечное множество позиций, T -конечное множество переходов, P n T = 0, I -входная функция, I: T^ P, О - выходная функция, О: T ^ P.
Описание транслятора тактической задачи
В соответствии с приведенной постановкой далее дано описание транслятора, который позволяет получить сеть Петри для представленной на электронной карте в виде условных знаков тактической задачи.
Транслятор состоит из трех основных блоков: лексического анализатора, синтаксического анализатора и генератора сети Петри. В качестве формата хранения сети Петри выбран PNML (Petri Net Markup Language) [9], являющийся разновидностью XML-языка разметки. Транслятор построен по многопроходной схеме взаимодействия блоков [10], то есть лексический анализатор полно-
стью обрабатывает исходные данные - нанесенное на электронную карту решение оператора, формируя на выходе цепочку лексем. Анализатором осуществляются поиск всех условных тактических знаков, нанесенных на заданную в настройках транслятора электронную карту, считывание их метрик и семантических характеристик, разделение условных тактических знаков на вершины V и дуги А. Затем производится сортировка вершин в порядке возрастания их нумерации. На выходе лексического анализатора формируются два массива: один содержит вершины, другой - дуги. Только после этого управление передается синтаксическому анализатору.
Синтаксический анализатор получает сформированную цепочку лексем и на ее основе формирует промежуточное представление сети Петри. Для этого в синтаксическом анализаторе выполняются следующие действия:
- инициализация дуг путем сравнения координат первой и последней точек метрик тактических знаков, кодирующих групповые действия, с областями метрик рубежей: = (у,-, у), где I - кратность дуги между ,-й и /-й вершинами;
- синтаксический разбор лексем, включающий в себя проверку на дублирование нумераций рубежей, корректность введенных оператором семантических характеристик, непротиворечивость количества входных и выходных дуг и т.п.;
- ведение журнала событий процесса трансляции;
- формирование промежуточного представления сети Петри в виде двудольного графа с назначением его элементам экранных координат для последующей визуализации.
Формирование промежуточного представления сети Петри осуществляется в соответствии со следующими правилами:
- до начала выполнения задачи группа только одна, поэтому в сети Петри это условие соответствует начальному состоянию р0;
- задача разбиения группы на подгруппы представляется макрос-переходом и позициями, количество которых равно количеству исходных рубежей к (рис. 1а), а каждая позиция соответствует условию успешной инициализации подгруппы;
- каждой подгруппе по умолчанию назначается групповое действие - выход на установленный рубеж;
- каждая дуга а/ (групповое действие) заменяется макрос-переходом и позицией (рис. 1б);
- каждая вершина у, замещается связкой макрос-переходов и позиций (рис. 1г), количество входных дуг в макрос-переход определяется количеством подходящих к рубежу подгрупп и типом рубежа Ь (0 - исходный рубеж, 1 - рубеж регулирования, 2 - рубеж действия), количество выходных позиций - количеством покидающих рубеж подгрупп г;
- аналогично начальному моменту времени этап завершения задачи заменяется макрос-переходом, количество входных дуг которого определяется конечным числом подгрупп (рис. 1в).
Макрос-переход имеет структуру, сходную с описанной в работе [7]. К каждому макрос-переходу осуществляется привязка определенного группового действия. Нумерация позиций и макрос-переходов в пределах одной сети уникальна и задается таким образом, что позволяет однозначно определить их принадлежность к конкретному типу и индексу рубежа или к групповому действию.
Конечный формат представления тактической задачи (PNML) предполагает представление сети Петри в виде перечня объектов, основанное на расширяемом языке разметки XML: узлов (переходов и позиций) и соединяющих их дуг. К объектам привязаны их атрибуты, например, идентификаторы, семантические характеристики (порядок построения, порядок следования, скорость, время и т.п.), а также координаты экранного представления.
Программная реализация транслятора
Традиционный подход к построению трансляторов предполагает работу исключительно со стро-
ковыми данными. При таком подходе было бы необходимо представить данные ГИС в виде последовательности символов, после чего передать полученную последовательность на вход транслятору. Недостатком существующих программных инструментов для автоматической генерации лексических и синтаксических анализаторов, например Lex и Yacc, является то, что сгенерированный таким образом анализатор представляет собой «черный ящик». Альтернативой описанному подходу является построение транслятора на основе объектно-ориентированного подхода, при котором полученная из ГИС информация и средства ее обработки представлены некоторыми классами с необходимым набором полей и методов. В качестве языка программирования для разработки транслятора был выбран язык С++ - кроссплатформенный компилируемый язык с поддержкой объектно-ориентированного подхода.
Набор доступных оператору условных графических обозначений на электронных картах определяется классификатором карты. Для транслятора был разработан специальный классификатор для карт ГИС «Панорама», выполненный по аналогии с классификатором, описанным в работе [11]. Разработанный классификатор включает в себя условные тактические знаки, кодирующие групповые действия НРТК ВН, и семантические характеристики, кодирующие параметры этих действий. Классификатор также содержит идентификаторы объектов карты, обеспечивающие доступ к последним через программный интерфейс приложения ГИС «Панорама».
Для работы транслятора, помимо идентификаторов тактических знаков и семантик, необходимо задать название пользовательской карты, на которой оператор наносит решение тактической задачи, рабочую систему координат, имя и путь к выходному файлу, хранящему описание сети Петри и другие вспомогательные параметры. Учитывая, что разрабатываемый транслятор можно рассматривать как один из видов системы автоматизированного проектирования, оператору предоставлена возможность указания перечисленных параметров. Для этого в начале работы транслятора осуществляются чтение конфигурационного файла настроек и проверка корректности считанных параметров.
Также были разработаны структуры данных, взаимосвязи между которыми представлены на диаграмме классов (рис. 2). Для хранения считанных с ГИС данных служит класс MapObject (объект карты), имеющий двух наследников: MarkObject (объекты рубежей) и TaskObject (объекты групповых действий).
Орграф тактической задачи представлен контейнером типа «словарь» (std::map), который позволяет хранить данные в виде пар «ключ-значение». В качестве ключей выступают строковые уникальные идентификаторы позиций и переходов
Рис. 2. Диаграмма классов приложения-транслятора (Logger - класс ведения журнала трансляции;
Translator - класс, реализующий операции лексического, синтаксического, семантического разбора и генерации конечного представления задачи в виде сети Петри; Wrapper - класс управления процессом трансляции; MapObject - класс, описывающий объект электронной карты; MarkObject - класс, описывающий условный тактический знак типа «рубеж»; TaskObject - класс, описывающий условный
тактический знак типа «групповое действие»; Graph - класс, описывающий исходный мультиграф;
Node - класс, описывающий элемент сети Петри)
Fig. 2. Class diagram of the translator application
сети Петри (вершин орграфа), значениями являются сами позиции и переходы (класс Node) и указатели на смежные вершины. В классе Node указаны тип вершины, ее идентификатор и указатель на соответствующий объект карты (MapObject). Работу по трансляции реализуют два основных класса - Translator и Wrapper. В классе Translator реализованы необходимые операции лексического, синтаксического, семантического разбора и генерации конечного представления задачи в виде сети Петри. Перечисленные основные фазы работы транслятора разбиты на отдельные шаги, реализованные в методах класса Translator. Класс Wrapper хранит все необходимые для трансляции данные и выполняет запуск методов класса Translator в нужной последовательности, при этом происходит сохранение информации о выполняемых операциях при помощи экземпляра класса Logger. При возникновении на любом шаге трансляции неустрани-
мых ошибок работа транслятора завершается с уведомлением оператора об ошибке.
Поскольку используемый для конечного представления сети Петри формат PNML предполагает графическое представление сети, на одном из этапов работы приложения происходит инициализация координат вершин двудольного графа. Для масштабирования экранного представления сети Петри под указанное пользователем разрешение необходимо определить максимальную длину простого пути (наибольшее число последовательных групповых действий) и количество параллельных путей. Данная операция выполняется при помощи модифицированного метода поиска в ширину. Результатом поиска является объект класса std::muШmap<std::string, std::vector< std::string>> («мультисловарь»), который хранит идентификаторы вершин с исходящими параллельными дугами и массивы с последовательностью вершин в этих путях. Далее происходит рекурсивное присваивание координат позициям и переходам графа сети Петри, начиная с пути, имеющего максимальную длину.
В конце работы транслятора происходит перевод полученного промежуточного представления сети Петри в формат PNML при помощи специализированной библиотеки. В результате успешного процесса трансляции создается файл с заданным именем, содержащий PNML-описание сети Петри, соответствующей орграфу тактической задачи.
Транслятор реализован в виде DLL-библиотеки translator.dll, динамически подключаемой к ГИС «Панорама». Запуск транслятора осуществляется через меню «Запуск приложений» ГИС. В качестве примера на рисунке 3 а приведен результат работы транслятора для примера тактической задачи (рис. 3б). Здесь по замыслу оператора с исходных рубежей 1 и 2 начинают выполнять движение в колонне три подгруппы: первая, состоящая из одного НРТК ВН № 1 со скоростью 15 км/ч с рубежа 1, вторая - из двух НРТК ВН № 2 и № 3 со скоростью 15 км/ч с рубежа 2, третья - из двух НРТК ВН № 4 и № 5 со скоростью 10 км/ч. Первая и вторая подгруппы объединяются на рубеже регулирования 3 и продолжают движение до встречи и объединения на рубеже 4 с третьей подгруппой.
Из рисунка 3а видно, что вначале группа одна (состояние ро), далее происходят инициализация двух подгрупп и их выход на исходные рубежи (дао), затем инициализация подгрупп перед исходными рубежами (дао|1|1 и дао|2|0, перераспределение НРТК ВН между тремя подгруппами на исходных рубежах (дао|112 и даорр), перемещение двух подгрупп к рубежу регулирования (даэ|1|э|1 и даз|2|з|0, а третьей - к конечному рубежу (дазрир). Первые две подгруппы перед рубежом 3 объединяются в одну подгруппу (да1|з|1), производят инициализацию после рубежа (да1|зр) и в составе объединенной подгруппы совершают движение к конечному рубежу (даз|з|4|1), где объединяются с третьей подгруппой (дазд и да2|4|2) и завершают выполнение тактической задачи (да5). Сравнение полученной сети Петри (рис. 3б) с композицией элементов, составляющих ее (рис. 1б), подтверждает корректность работы транслятора.
Заключение
Применение разработанного транслятора совместно с ГИС позволило автоматизировать процесс формирования тактической задачи для группы НРТК ВН: во-первых, была достигнута наглядность тактического решения за счет его графического представления на карте, во-вторых, с помощью электронной карты осуществлена привязка решения к местности, в-третьих, получено преобразование решения оператора в эквивалентную сеть Петри. Таким образом, достигнутые результаты делают предложенный в работе [7] подход к формализации тактической задачи пригодным для его практического применения операторами при групповом управлении наземными робототехниче-скими комплексами и позволяют разработчикам групповых алгоритмов не только анализировать последовательность действий групп НРТК ВН, но
и наглядно представлять состояние последних в ходе выполнения задачи.
Литература
1. Ветлугин Р., Васильков А. Робототехнические комплексы сухопутных войск США и взгляды военных специалистов на их применение // Зарубежное военное обозрение. 2016. № 6. С. 55-59.
2. Palomeras N., Ridao P., Carreras M. Using Petri nets to specify and execute missions for autonomous underwater vechicles. Proc. IEEE/RSJ Intern. Conf. of Intelligent Robots and Systems, Louis, USA, 2009, pp. 4439-4444. DOI: 10.1109/IROS.2009. 5354045.
3. Remmersmann T., Schade U., Tiderko A. Commanding heterogeneous multi-robot teams. Proc. 19th ICCRTS, Alexandria, the USA, 2014, p. 32. DOI: 10.1007/978-3-319-66471-2_25.
4. Palomeras N., Ridao P., Silvestre C., El-Fakdi A. Multiple vehicles mission coordination using Petri nets. Proc. IEEE Intern. Conf. on Robotics and Automation Convention, Anchorage, Alaska, USA, 2010, pp. 3531-3536. DOI: 10.1109/R0B0T.2010.5509552.
5. Yasuda G. Implementation of distributed control architecture for multiple robot systems using Petri nets: Petri Nets - Manufacturing and Computer Science. InTech Publ., 2012, pp. 75-94. DOI: 10.5772/50577.
6. Jianhong Ye, Zhiwu Li. Decentralized supervision of Petri nets with coordinator. IEEE Transactions on Systems, Man, and Cybernetics: Systems, 2015, vol. 45, iss. 6, pp. 955-966. DOI: 10.1109/TSMC.2013.2244208.
7. Максимов А.А., Тачков А.А., Малыхин А.Ю., Рудиа-нов Н.А. Подход к формализации тактической задачи для группы наземных робототехнических комплексов военного назначения // Вопросы оборонной техники: Сер. 16. 2017. № 7-8.С. 88-96.
8. Демиденко Р.А. Опыт реализации сетецентрической системы управления с использованием ГИС «Оператор» // Геопрофи. 2013. № 1. С. 8-11.
9. PNML reference site. URL: http://www.pnml.org/ (дата обращения: 02.05.2018).
10. Новичкова М.И., Трофимов Ю.А. Разработка транслятора языка программирования высокого уровня // Образование и наука в современных условиях: матер. IV Междунар. науч.-практич. конф. 2015. № 3. С. 213-214.
11. Войцеховский С.В., Девяткин А.М., Котенок А.А., Обухов А.В. Особенности создания пользовательского классификатора для отображения обстановки на электронной карте // Программные продукты и системы. 2014. № 3. С. 44-47. DOI: 10.15827/0236-235X.107.044-047.
Software & Systems Received 03.05.18
DOI: 10.15827/0236-235X.031.4.728-733 2018, vol. 31, no. 4, pp. 728-733
A translator of a tactical task to a Petri net for a group of unmanned ground vehicles
A.A. Tachkov 1, Ph.D. (Engineering), Head of the Department "Automated transport systems", [email protected]
A. V. Kozov 1, Engineer, [email protected]
S.E. Pankov 2, Ph.D. (Engineering), Senior Researcher, Head of Office
1 Research and Training Centre "Robotics"Bauman Moscow State Technical University, Moscow, 105037, Russian Federation
2 Office of Advanced Inter-Specific Research and Special Projects of the Russian Ministry of Defense, Moscow, 119160, Russian Federation
Abstract. This paper represents analytics of main existing approaches to forming a tactical task for a group of unmanned military robotic vehicles. The selected approach uses an electronic map as a graphic basis to form a task using military symbols.
The paper shows that operator's decision might be represented as an oriented multigraph with finite numbers of vertices and arcs. Within this representation, the developed task translator allows converting an initial operator's decision (defined with
military symbols) into an equivalent Petri net to control a group of military robotic vehicles. The paper defines target formalities for translator design, structure, basic blocks and standard translation rules.
The developed translator uses a geoinformation system and a military symbol classifier for coding group actions of robotic systems. The software for the translator is in C++ as a DLL library for Panorama geoinformational system. There is also a class diagram.
The paper presents an example to show how the translator works. There is a typical task for a group of robotic vehicles. It includes division into sub-groups, parallel moving onto firing line, reallocation of complexes among subgroups, reaching the objective. The initial operator's decision is represented by military symbols. The paper also shows an equivalent Petri net.
The proposed translator with an electronic map technology allows automating tactical task formation for a group of robotic military unmanned vehicles.
Keywords: unmanned ground military robot, Petri net, translator, geoinformation system, digital classifier, group control.
References
1. Vetlugin R., Vasilkov A. Robotic complexes of the US Army and the views of military specialists on their use. Foreign Military Review. 2016, no. 6, pp. 55-59 (in Russ.).
2. Palomeras N., Ridao P., Carreras M. Using Petri nets to specify and execute missions for autonomous underwater vehicles. Proc. IEEE/RSJ Intern. Conf. of Intelligent Robots and Systems. Louis, USA, 2009, pp. 4439-4444. DOI: 10.1109/IROS.2009.5354045.
3. Remmersmann T., Schade U., Tiderko A. Commanding heterogeneous multi-robot teams. Proc. 19th Intern. Command and Control Research and Technology Symp. (ICCRTS). 2014, Alexandria, USA, p. 32. DOI: 10.1007/978-3-319-66471-2_25.
4. Palomeras N., Ridao P., Silvestre C., El-Fakdi A. Multiple vehicles mission coordination using Petri nets. Proc. IEEE Intern. Conf. on Robotics and Automation Convention. Anchorage, Alaska, USA, 2010, pp. 3531-3536. DOI: 10.1109/R0B0T.2010.5509552.
5. Yasuda G. Implementation of distributed control architecture for multiple robot systems using Petri nets. Petri Nets -Manufacturing and Computer Science. InTech Publ., 2012, pp. 75-94. DOI: 10.5772/50577.
6. Jianhong Ye, Zhiwu Li. Decentralized supervision of Petri nets with coordinator. IEEE Trans. on Systems, Man, and Cybernetics: Systems. 2015, vol. 45, iss. 6, pp. 955-966. DOI: 10.1109/TSMC.2013.2244208.
7. Maksimov A.A., Tachkov A.A., Malykhin A.Yu., Rudianov N.A. An approach to formalization of mission plan for group of military unmanned ground vehicles. Military Enginery. Iss. 16. 2017, no. 7-8, pp. 88-96 (in Russ.).
8. Demidenko R.A. Experience in implementing a network-centric control system using GIS Operator. Geoprofi. 2013, no. 1, pp. 8-11 (in Russ.).
9. PNML reference site. Available at: http://www.pnml.org/ (accessed May 2, 2018).
10. Novichkova M.I., Trofimov Yu.A. Development of a high-level programming language translator. Education and Science in Modern Conditions: Proc. 4th Intern. Sci. andPract. Conf. 2015, no. 3, pp. 213-214 (in Russ.).
11. Voytsekhovsky S.V., Devyatkin A.M., Kotenok A.A., Obukhov A.V. Features of creating a custom classifier to display the situation on an electronic map. Software & Systems. 2014, no. 3, pp. 44-47 (in Russ.). DOI: 10.15827/0236-235X.107.044-047.
Примеры библиографического описания статьи
1. Тачков А.А., Козов А.В., Панков С.Е. Транслятор тактической задачи в сеть Петри для группы наземных робототехнических комплексов // Программные продукты и системы. 2018. Т. 31. № 4. С. 728-733. DOI: 10.15827/0236-235X.031.4.728-733.
2. Tachkov A.A., Kozov A.V., Pankov S.E. A translator of a tactical task to a Petri net for a group of unmanned ground vehicles. Software & Systems. 2018, vol. 31, no. 4, pp. 728-733 (in Russ.). DOI: 10.15827/0236-235X.031.4.728-733.