The article discusses an algorithm for assessing qualitative changes in the geological site of a geotechnical system using the example of information processing of data on the water level in the Oka River and the number of sinkholes. The article presents the dependence of the change in the number of sinkholes on the water level in the river, determines the values of the bifurcation parameters. The article also provides an algorithm for preliminary processing of data on the water level. The results of spline interpolation of the data of the dependence of the number of dips on the dynamics of the water level in the river for the current and the previous year are presented.
Key words: information processing, surface water level, karst sinkholes, transformation, geotechnical system, bifurcations.
Dorofeev Nikolai Viktorovich, doctor of technical sciences, docent, head of the department, dorofeevnv@yandex. ru, Russia, Vladimir, Vladimir State University,
Pankina Ekaterina Sergeevna, researcher, pankina@,bsu. edu. ru, Russia, Vladimir, Vladimir State University,
Grecheneva Anastasia Vladimirovna, candidate of technical sciences, docent, gre-cheneva@yandex. ru, Russia, Vladimir, Vladimir State University
УДК 621.865.8
СИСТЕМА УПРАВЛЕНИЯ ШАГАЮЩИМ МОБИЛЬНЫМ РОБОТОМ С ИСПОЛЬЗОВАНИЕМ ГЕНЕТИЧЕСКОГО АЛГОРИТМА
А.С. Самойлова, П.А. Груничев, С.А. Воротников
Рассмотрена система управления шагающим мобильным роботом (ШМР), построенная на основе генетического алгоритма и автомата Мили. Показаны основные аспекты реализации данной системы управления для модели ШМР с шестью опорными конечностями (гексапода) в программе V-REP. Представлены результаты моделирования перемещения ШМР по разным типам поверхностей. Показано преимущество предложенного подхода для случаев частичного повреждения кинематической схемы ШМР. Выполнено сравнение результатов работы генетического алгоритма с базовым алгоритмом управления ШМР.
Ключевые слова: ШМР, гексапод, штатный режим, аварийный режим, походка тройками, генетический алгоритм, автомат Мили.
Основным требованием при разработке систем управления шагающими мобильными роботами (ШМР), является обеспечение высокой производительности и надежности алгоритмов движения. Роботы данного типа, как правило, предназначены для перемещения в частично - или полностью недетерминированных средах [1]. При этом система управления должна оставаться робастной, как при изменении рельефа и свойств грунта, так и при более серьезных проблемах, в частности, связанных с повреждениями конструкции опорных конечностей [2]. Отметим, что эти проблемы также могут иметь различный уровень фатальности - от потери работоспособности отдельного привода конечности, до потери управления всей опорной конечностью или даже несколькими конечностями.
Существует ряд публикаций по указанной тематике. Так в работе [3] приведены результаты экспериментов для ШМР с шестью конечностями, в которых рассматривается возможность быстрого восстановления после повреждения конструкции. Предлагаемое решение заключается в выборе типа походки из ряда априорно-заданных, без анализа изменения топологии ШМР при повреждении. Такой подход неэффективен при значительном повреждении конструкции, а также при наличии труднопроходимых препятствий на пути движения.
Достаточно очевидным подходом к решению подобного типа задач является использование методов искусственного интеллекта и машинного обучения. Так, в статье [4] приведены результаты синтеза алгоритма движения ШМР на основе нейронной сети, параметры которой настраиваются с помощью генетического алгоритма. Авторы доказали способность генетического алгоритма в процессе эволюции обучить систему управления ШМР наиболее эффективному способу передвижения. Однако реализация нейросетевого регулятора не рассматривает возможность изменения топологии ШМР. При этом длительность настройки алгоритма составляет порядка 1000 - 2000 единиц времени (количества итераций при моделировании), что является недопустимым для осуществления качественного управления ШМР в условиях недетерминированной среды. Так же для обучения нейросети необходима большая база данных с экспериментами для определенного вида ШМР при различных его повреждениях.
Целью данной статьи является разработка системы управления ШМР, способной формировать устойчивое движение робота при существенном изменении рельефа поверхности и условий движения, а также при частичном нарушении топологии ШМР, связанным с локальным разрушением конструкции. Предполагается, что управление построено по иерархическому принципу, и ШМР содержит комплекс датчиков, позволяющих обнаружить изменения, как в собственной топологии, так и непосредственно в какой-либо опорной конечности (рис.1).
Центральный процессор
Рис. 1. Структура системы управления ШМР
В качестве базовой кинематической схемы выбрана топология гексапода -ШМР с шестью опорными конечностями. Как известно, для обеспечения движения данному типу ШМР необходимо как минимум 3 ноги, что позволяет успешно перемещаться, используя половину конечностей, если оставшиеся будут повреждены.
154
Для определения параметров внешней среды, в том числе - рельефа и препятствий, в ШМР используются сигналы с многоосных инерциальных датчиков (гироскоп и акселерометр). На основе данных, получаемых от этих датчиков, определяется угол наклона корпуса робота, и как следствие - угол наклона опорной поверхности относительно горизонтальной плоскости. Для детектирования препятствий на пути движения ШМР используются лидар и телевизионная камера [5]. Положение ШМР в пространстве определяется на основе данных, получаемых от GPS-приемника [6]. Контакт каждой опорной конечности с поверхностью контролируется с помощью концевого тактильного датчика, отсутствие сигнала с которого свидетельствует о наличии повреждения соответствующей конечности ШМР [7].
Среда и схема моделирования. В качестве среды разработки используется программа V-REP [8]. Данная программа позволяет генерировать измерения датчиков, встроенных в модель, и с помощью обратных связей, управлять ШМР на виртуальной сцене (рис. 2, а). Выбранная среда также позволяет учитывать основные физические характеристики объектов, включая их массо-скоростные параметры и силу трения между отдельными элементами схемы.
Каждая нога ШМР состоит из трех составных частей (link), соединенных тремя шарнирами (joint), как друг с другом, так и с корпусом. В программе V-REP можно изменять количество ног ШМР (рис. 2, б), и эти изменения качественно отобразятся на динамике модели.
Рис. 2. Модель ШМР-гексапода в программе У-КБР: а — исходная модель; б — модель с изменённым количеством ног
В рамках моделирования использовались следующие допущения в отношении рабочей поверхности, по которой осуществляется движение ШМР:
1) по механическим свойствам - поверхность твердая, без вязкого трения, свойственного песчаным грунтам;
2) по геометрическим параметрам рассматривались три варианта поверхности:
а) горизонтально-ровная;
б) неровная с малым углом наклона;
в) неровная с большим углом наклона (такую ШМР не может преодолеть в силу конструкционных особенностей).
В полностью работоспособном состоянии ШМР содержит 18 исправных приводов, однако в случае повреждения конструкции их число может быть меньше. Для определения исправных приводов ШМР используется команда vrep.simx GetObject GroupData(), которая возвращает состояние робота на виртуальной сцене, как список параметров [9]. С целью проверки работы отдельного привода можно подать на его вход тестовое воздействие и сравнить его начальное и текущее состояния.
При моделировании движения ШМР рассматривались два основных режима: штатный, соответствующий исправной кинематической схеме, и аварийный режим, при котором какие-либо из опорных конечностей являются частично - или полностью неработоспособными, что приводит к нарушению топологии ШМР. Способы движения первого режима гексапода хорошо известны: походка тройками, волновая и пульсирующая походки [10].
Недостатки способов управления ШМР при нарушении топологии с помощью априорно заданных походок, а так же использования нейронных сетей были приведены выше. Поэтому, в рамках данной статьи предлагается использовать принципы эволюционного (генетического) программирования [11]. Генетический алгоритм не требует наличия экспериментальной базы данных и сильных вычислительных мощностей, а так же генетическое программирование позволяет эффективно решать задачи оптимизации, для которых неэффективны стандартные градиентные методы [12].
Для формирования управляющих сигналов при выборе способа перемещения и переключения между режимами движения предлагается использовать управляющий конечный автомат Мили (рис. 3).
Рис. 3. Конечный автомат Мили для выбора походки ШМР
Рассмотрим работу автомата подробнее. В начальном положении х0 выполняется проверка целости топологии робота с помощью управляющего сигнала и1. По выходному сигналу автомат переходит в положение х1, соответствующее штатному режиму, а в противном случае по сигналу г2- в положение х2, свидетельствующее об аварийном способе управления. Далее проверяется тип опорной поверхности по управляющему сигналу и2. Если поверхность гладкая или имеет небольшой угол наклона, который ШМР способен преодолеть, то по выходному сигналу г3 автомат переходит в состояние х3 в штатном режиме, и в состояние х5 в аварийном. При этом если поверхность имеет большой угол наклона, и ШМР не в состоянии его преодолеть, то по сигналу и2 происходит переход в состояние х4 с выходным сигналом . В данном случае необходимо обойти это препятствие (по управляющему сигналу и5 и выходному сигналу ¿7) и в дальнейшем вернуться к первоначальному курсу. В базовом и аварийном режимах выполняется проверка возможности передвижения робота с помощью стандартной походки тройками. При незначительных повреждениях ШМР сохраняет способность эффективно перемещаться с помощью исходной базовой походки. В этом случае по управляющему сигналу и3 осуществляется попытка движения походкой
тройками (состояние х6) с выходным сигналом 2Ъ. Далее если попытка использования базовой походки была успешной, то автомат остается в состоянии х6 до тех пор, пока
топология робота не будет нарушена, или пока не изменится характер опорной поверхности. Однако при неудачной попытке использования базовой походки по управляющему сигналу и4 включается модуль генетического алгоритма, и система переходит в состояние х7 с выходным сигналом г6, где реализуется процесс поиска наилучшего способа передвижения для ШМР.
После завершения работы генетического алгоритма, робот пытается передвигаться полученным способом и, если данная попытка является неудачной, то алгоритм запускается повторно. В процессе движения результаты генетического алгоритма используются до тех пор, пока вновь не изменится топология робота или не поменяется характер опорной поверхности.
Управление ШМР с помощью генетического алгоритма. Как отмечалось выше, генетический алгоритм в системе управления используется при аварийном режиме, если нарушена топология ШМР. В общем случае, генетический алгоритм представляет собой алгоритм поиска, основанный на принципах генетики и естественного отбора [11]. Для ШМР задачей алгоритма является нахождение минимума целевой
функции f (р) = —, где р - расстояние между начальным и конечным положением ро-Р
бота. Пусть в начальный момент времени робот находился в точке с координатами (х1,у1,г1), а после перемещения в момент времени г2 - в точке (х2,у2,22). Тогда расстояние р находится по следующей формуле:
Р = л/(Х - Х1 )2 + (У2 - У1 )2 + (г2 - 21 )2 .
Координаты ШМР определяются в глобальной мировой системе координат (СК). Положению робота соответствует положение его локальной СК Х0, У0, Z0 относительно мировой СК ХУХ (рис. 4).
Рис. 4. Положение ШМР относительно глобальной СК
В генетическом алгоритме используется популяция генов. При этом каждый ген состоит из равного количества хромосом (компонент вектора гена). Рассмотрим ген в виде тройки чисел G = q2,q3]. Данный ген состоит из трех хромосом: q1, q2 и q3 определяющих углы поворота приводов ноги.
В общем случае можно рассматривать любое количество генов Gf = [q'i,q2,q1 з]. Для упрощения выберем популяцию из пяти генов: G1,G2,G3,G4,G5 [13]. Для каждого из них можно определить значение целевой функции f (р) . На вход приводов каждой ноги робота будут подаваться сигналы q1 , q2 и q3 , а после отработки этих сигналов измеряться относительное перемещение робота р.
В результате работу генетического алгоритма можно представить как последовательность следующих действий.
Создается популяцию из пяти генов случайным образом.
Генерируются значения для Ог = [д\,(2,(3], г = 0...5 . Причем значения углов
поворота шарниров должны лежать в пределах, допустимых конструкцией робота.
Гены упорядочиваются в порядке возрастания их значений в целевой функции. Для нашей системы рассматриваются гены в2,в3,в4,в5. Каждый из этих генов подается на вход системы управления приводами и определяется перемещение робота р . После этого гены упорядочиваются в порядке возрастания функции /(р) . В результате чего получается последовательность 0\, в'2, в'3, 0\, в'5 .
Вычисляется новое поколение генов, как комбинации значений хромосом в\, в'2,в'3. В создании нового поколения участвуют хромосомы только генов с наилучшим значением функции /(р), полученных на предыдущем шаге. Гены О'4 и в'5 отбрасываем, как самые неподходящие, т.е. с худшим значением функции /(р).
Комбинации хромосом могут быть произвольными. Например, новое поколение может иметь следующий набор генов:
в" = [^1'((1), ^'((2), ^2'((3)]; О2" = ^'Ы, £/((2), ^'((3)]; о3"=[в^о,в^Ш,£х'((3)]; °4" = [£х'((х),в3((2\^2'((3)];
°5М = [в2'((х). в1'((2),в3'((3)]
Для трех последних генов в"3, в"4, в"5 выполняется мутация. Она состоит в том, что добавляются случайные значения к хромосомам. При этом третий ген О"3 му-тируется меньше, чем четвертый в'\, а четвертый меньше чем пятый. Это необходимо для добавления к поколениям значений, которых до этого не было, тем самым осуществляется обновление генов. С помощью мутации исключается попадание решения в локальный минимум. Далее решение возвращается ко второму шагу.
Данный алгоритм может быть завершен при достижении заданного значения целевой функции /(р) или после выполнения определенного количества итераций.
Представленный выше алгоритм выполняется одновременно для всех 6 ног ШМР. И в результате определяются необходимые углы поворота для всех приводов. Алгоритм показан на примере создания популяции из 5 генов. Число генов в популяции не является фиксированным значением и может выбираться в зависимости от сложности системы.
Результаты моделирования. С целью проверки корректности работы генетического алгоритма в программе У-ЯЕР проводилось моделирование движения ШМР по двум основным типам рабочей поверхности: идеально гладкой и неровной (рис. 5).
а б
Рис. 5. Рабочая поверхность робота: а — гладкая; б — неровная
158
При моделировании движения ШМР рассмотрены следующие случаи.
1) Робот не имеет повреждений, используется походка тройками. В данном случае ШМР перемещается на виртуальной сцене, следуя четкому алгоритму, который формализован в виде кода на языке Python. Ниже представлен график перемещения робота за один цикл механизма шагания (рис. 6).
0.100
0.098
г 0.096 s
S 0,094 ^
§. 0,092 0.090 0.0КН
400 000
Количество циклоп шагания
1» Л ш f *
1,1_ 1! J v\
■ Ш fww и1 '■pyi г 1
1 1
200 400 600 800 1000
0.08 0.07 0.06
б
Рис. 6. Перемещение робота за один цикл механизма шагания: а — по идеально гладкой поверхности; б — по неровной поверхности
а
При движении по идеально гладкой поверхности (рис. 5, а) средняя величина перемещения (рис. 6, а) изменяется незначительно. Перемещение в данном случае не является фиксированной величиной, вследствие наличия переменной задержки при отработке приводами входных воздействий. Иная картина наблюдается при движении гексапода по неровной поверхности (рис. 5, б), где средняя величина перемещения (рис. 6, б) является переменной.
Робот имеет повреждения (рис. 2, б) и перемещается на основе данных, полученных в результате работы генетического алгоритма.
Моделирование работы генетического алгоритма выполнено при движении ШМР по идеально ровной поверхности для простоты интерпретирования полученных результатов. Построенный график целевой функции f (р) в зависимости от числа итераций алгоритма приведен на рис. 7.
Данный график показывает результат обучения за 1000 итераций работы генетического алгоритма. При первичной настройке алгоритм проверяет предварительные значения углов поворота сочленений ШМР. Поэтому в начале графика (рис. 7) заметен процесс поиска оптимальных значений. С помощью настройки параметров генетического алгоритма (таких как: количество генов в популяции, количество итераций, вид целевой функции) можно улучшить обучаемость алгоритма.
Из графика (рис. 7) следует, что алгоритм успешно реализовал поиск оптимальной походки ШМР, несмотря на наличие у него повреждений. Выбросы на графике свидетельствуют о том, что на стадии мутации были подобраны некорректные значения и на следующем шаге данный эффект компенсируется.
Количество итераций
Рис. 7. График целевой функции при повреждении робота
После завершения работы генетического алгоритма получены значения управляющих воздействий приводов, которые далее использовались для моделирования походки ШМР. В результате получен следующий график перемещения робота за один цикл шагания (рис. 8).
008
40 60 SO 100 120 140 160 180 200 Количество циклов шагания
Рис. 8. График перемещение за один цикл механизма шагания
По графику перемещения (рис. 8) можно судить о том, что походка, полученная при работе генетического алгоритма, является менее устойчивой, чем при походке тройками. Диапазон изменения величины перемещения стал больше по сравнению с тем, который получен при работе базового алгоритма. Этот эффект объясняется уменьшением устойчивости походки робота при наличии у него повреждений.
Заключение. Проведенное в статье моделирование движения ШМР по различным рабочим поверхностям в двух режимах - штатном и аварийном показало эффективность управления во втором режиме с помощью генетического алгоритма, а для переключения между режимами целесообразность использования автомата Мили. Полученный график целевой функции имеет характерный вид и сходится к нулю. Использование генетического алгоритма совместно с алгоритмом базовой походки повышает робастность системы управления ШМР для экстремальных режимов эксплуатации. Результаты исследования подтвердили способность генетического алгоритма адаптироваться к заранее неизвестным параметрам системы управления ШМР и формировать адекватные способы передвижения робота с частично разрушенной кинематической схемой.
Список литературы
1. Накано Э. Введение в робототехнику. М.: Мир, 1988. 335 с.
160
2. Bongard J., Zykov V., Lipson H. Resilient machines through continuous self-modeling // ScienceRobotics. V. 314. 2006 [Электронный ресурс] URL: www. science-mag.org (дата обращения: 09.10.2020).
3. Cully A. Clune J. Robots that can adapt like animals // Nature. 2015. V. 521. P.503-507.
4. Мунасыпов Р.А., Москвичев С.С. Методика синтеза стратегии движения автономного мобильного робота на основе эволюционных процессов // Вестник УГАТУ. 2012. Т. 16, № 3. С. 56-62.
5. Гречишкин М.Н. Система технического зрения для обнаружения движения в видеопотоке // Известия Тульскоого государственного университета. 2015. Вып. 9. С. 66 - 70.
6. Бакитько Р.В., Болденков Е.Н. Глонасс. Принципы построения и функционирования / под ред. А.И. Перова, В.Н. Харисова. М.: Радиотехника. 2010. 800 с.
7. Антонов А.В., Воротников С.А., Выборнов Н.А. Система управления тре-хопорным колесно-шагающим роботом. Прикаспийский журнал: управление и высокие технологии. 2016. № 2 (34). С. 58-69.
8. Бжихатлов И. А. Моделирование робототехнических систем в программе V-REP: учеб. пособие. СПб.: Университет ИТМО. 2018. 59 с.
9. Eric Rohmer, Surya P. N. CoppeliaSim (formerly V-REP): a versatile and scalable robot simulation framework [Электронный ресурс] URL: http://www.coppeliarobotics.com (дата обращения: 09.10.2020).
10. Mohiuddin A., Raisuddin K. A novel navigation algorithm for hexagonal hexa-pod robot // American J. of Engineering and Applied Sciences. 2010. V. 3 (2). P. 320 - 327.
11. Бураков М. В. Генетический алгоритм: теория и практика: учеб. пособие СПб.: ГУАП. 2008. 164 с.
12. Гасников А. В. Современные численные методы оптимизации. Метод универсального градиентного спуска: учеб. пособие. М.: МФТИ. 2018. 291 с.
13. Шамин Р.В. Практическое руководство по машинному обучению. М.: Научный канал Lector.ru. 2019. 93 с.
Самойлова Арина Сергеевна, студент, sasI5m206a,student.bmstu.ru, Россия, Москва, Московский государственный технический университет имени Н.Э. Баумана,
Груничев Павел Александрович, студент, gpaI5m009a,student. bmstu.ru, Россия, Москва, Московский государственный технический университет имени Н.Э. Баумана,
Воротников Сергей Анатольевич, канд. техн. наук, доцент, [email protected], Россия, Москва, Московский государственный технический университет имени Н. Э. Баумана
THE CONTROL SYSTEM OF THE LEGGED MOBILE ROBOT USING
GENETIC ALGORITHM
A.S. Samoylova, P.A. Grunichev, S.A. Vorotnikov
This article discusses a legged mobile robot (LMR) control system, based on the genetic algorithm and the Mealy machine. The main aspects of this control system operation for the LMR model with six-legged walking robot (hexapod) are implemented in the V-REP program. The results of modeling the movement of LMR on different types of surfaces are also presented. We demonstrate the advantage of the approach for different cases of the LMR kinematic structure partial damage. We also compare the genetic algorithm operational efficiency with the basic LMR control algorithm
Key words: legged mobile robot (LMR), hexapod, normal operation mode, emergency state, tripod gait, genetic algorithm, Mealy machine.
161
Samoylova Arina Sergeevna, student, sas15m206@student. bmstu.ru, Russia, Moscow, Bauman Moscow State Technical University,
Grunichev Paul Alexandrovich, student, [email protected], Russia, Moscow, Bauman Moscow State Technical University,
Vorotnikov Sergey Anatolyevich, candidate of technical sciences, docent, vorotn@bmstu. ru, Russia, Moscow, Bauman Moscow State Technical University
УДК 519.876.5
МОДЕЛИРОВАНИЕ ПРОЦЕССА ДОСТИЖЕНИЯ КОНСЕНСУСА МЕТОДОМ ЛОКАЛЬНОГО ГОЛОСОВАНИЯ МНОГОАГЕНТНОЙ СИСТЕМЫ
Э.А. Гейс
Разработана среда моделирования процесса достижения консенсуса методом локального голосования многоагентной системы, с учетом особенностей функционирования модулей Wi-Fi, а также сравниваются результаты моделирования МАС с её работой на встраиваемых системах.
Ключевые слова: многоагентная система, консенсус, локальное голосование,
Wi-Fi.
При решении широкого круга практических задач, возникающих при распределенных вычислениях, распределенное управление роботизированными сетями, обмене информацией в многопроцессорных сетях, оптимальном распределении заданий в группах БПЛА, распределении заданий в транспортных сетях и т. д. встает задача достижения консенсуса [1-4].
Для решения задачи достижения консенсуса группой взаимодействующих агентов, обменивающихся информацией, часто применяются алгоритмы типа стохастической аппроксимации с уменьшающимся размером шага. При динамических внешних изменениях состояний агентов с течением времени (поступлении новых заданий и т.п.) алгоритмы стохастической аппроксимации с уменьшающимся до нуля размером шага неработоспособны. Поэтому, при исследовании взаимодействия агентов в условиях случайно изменяющейся структуры связей в сети и наблюдениях со случайными задержками и помехами используют алгоритм типа стохастической аппроксимации при малом постоянном или неуменьшающемся до нуля размере шага [5,6,7]. Однако, в большинстве работ не учитываются особенности работы систем связи между агентами.
Цель и задачи. Целью данной работы является разработка инструментария, позволяющего с достаточной степенью достоверности моделировать взаимодействие агентов в сети Wi-Fi и выполнять расчет внутренних параметров арбитров сети для достижения консенсуса методом локального голосования.
Для достижения поставленной цели необходимо решить следующие задачи:
1. Исследовать существующие методы достижения консенсуса и выбрать наиболее подходящий для построения МАС;
2. Разработать среду моделирования МАС (MASPlatform), учитывающую особенности обмена данными в сети Wi-Fi;
3. Настроить параметры компонента MASPlatform, выполняющего моделирование передачи данных по сети Wi-Fi, на основе результатов моделирования с использованием модулей Wi-Fi;