Одним из возможных подходов к решению проблемы планирования траектории мобильных роботов (МР) являются нейросетевые методы управления, в частности методы управления на основе «нейронных карт». Суть данных методов состоит в том, чтобы использовать рекуррентную самоорганизующуюся нейронную сеть с определенной топологией для представления дискретного рабочего пространства в удобном для построения траектории формате [5].
Целью данной работы является модификация разработанной ранее системы планирования траектории с использованием нейронных карт для группы МР, осуществляющих перемещение в общем рабочем пространстве [4]. Особенность предлагаемого подхода заключается в том, что вносимые в алгоритм изменения позволяют значительно ускорить работу системы на базе бортовых систем управления роботов, обладающих скромными вычислительными возможностями, а также избавиться от структурных ошибок при построении траекторий в присутствии динамических препятствий в рабочей зоне. Полученные результаты можно разбить на три группы:
1. Модифицирована математическая модель нейросети (НС) Хопфилда, что позволило увеличить скорость и стабильность процесса активации при работе системы в сложных рабочих пространствах.
2. На базе модифицированной математической модели была проведена оптимизация алгоритмов синтеза нейронных карт и расчета траекторий с учетом динамически меняющегося рабочего пространства.
3. Проведена отладка алгоритма построения траектории на мобильном роботе и решена проблема корректного обхода препятствий.
Модификация НС Хопфилда
На первом этапе экспериментов с системой планирования НС Хопфилда была построена без учета сигналов собственных обратных связей нейронов (selfcoupling weights) и с использованием нелинейной функции активации Ф (гиперболический тангенс) [5]:
где ui = E×W – скаляр, полученный взвешиванием вектора состояния всех нейронов сети (Е) матрицей весовых коэффициентов (W).
Используемая функция обеспечивает максимальную плавность распространения энергии активации нейронов в сети и, таким образом, позволяет формировать траектории близкие к оптимальным. В ходе экспериментальной отладки был выявлен очевидный недостаток функции – высокая вычислительная нагрузка при большом количестве нейронов в сети, т.е. при больших размерностях рабочего пространства.
В качестве альтернативы предложено применение линейной передаточной функции с насыщением:
Новая функция активации проста для аппаратной реализации, требует меньших затрат машинного времени и удовлетворяет основным требованиям для построения нейронной карты: функция активации Ф(х) должна быть равна 0 для нулевого сигнала и монотонно возрастать при положительном входном сигнале, насыщаясь к единице.
По результатам моделирования было установлено, что при использовании линейной функции с насыщением в качестве функции активации можно повысить производительность нейросети в 1,5–2,5 раза (в зависимости от размерности и конфигурации рабочего пространства) при сохранении гладкости и плавности траектории (рис. 1).
а б
Рис. 1. Синтезированные траектории и время генерации:
а – гиперболический тангенс T = 0,4014 с; б – линейная с насыщением T = 0,1672 с
В ходе моделирования было также установлено, что при использовании линейной функции с насыщением, а также при учете сигналов собственных обратных связей нейронов процесс активации сети более стабилен, что позволяет добиться значительного прироста производительности, исключая при этом возникновение локальных максимумов, которые приводят к увеличению длины траектории и появлению эффекта «рыскания» (рис. 2).
Новые алгоритмы формирования нейронных карт и расчета траектории
Значительную сложность представляет задача планирования траекторий в случае присутствия в рабочем пространстве динамических препятствий с произвольным характером перемещений. Если темп изменения состояния окружающей среды сопоставим со временем, требуемым сети для входа в состояние равновесия, тогда построенная нейросетевая система планирования способна достичь желаемого устойчивого состояния, при котором возможно использование конструктора пути для расчета следующего шага. В этом случае агент будет способен перемещаться в динамической среде [1]. Но возможно появление и более быстрых динамических препятствий, что требует от системы повышенной производительности. Поэтому также необходима модернизация алгоритмов работы конструктора пути.
а б
Рис. 2. Синтезированные траектории:
а – гиперболический тангенс; б – линейная с насыщением
Динамическая коррекция траектории. Если известны координаты цели и текущие координаты робота при недостаточном объеме информации о рабочем пространстве, тогда классический вариант системы строит траекторию робота, предполагая, что в области между роботом и целью нет препятствий при «нулевом» состоянии НС (Ein = E0 = 0). Этот вариант пути принимается за «начальную» траекторию робота, а сформированная при этом матрица состояния НС является «начальным образом» (Eout). После формирования пути робот начинает движение по полученной траектории, но при этом информация, поступающая от сенсорной системы, обрабатывается следующим образом:
– при обнаружении препятствия в общем рабочем пространстве системы выделяется содержащая его нейронная область, размеры которой зависят от разрешения нейронной сети и требуемой точности перемещения;
– на основе информации о текущем положении робота определяется расположение препятствий в общем рабочем пространстве и порядковые номера соответствующих нейронов с нулевым потенциалом в векторе состояния НС (E) (рис. 3);
– номера нейронов с нулевым потенциалом записываются в отдельный вектор (вектор «нулевых» нейронов: Obst{}), к которому в дальнейшем будут добавляться номера новых нейронов по ходу движения робота по мере выявления новых препятствий или изменения окружающей среды. Вектор записывается в общую память, что позволяет ускорить расчет траекторий для других роботов, проходящих через анализируемую область.
Если начальная траектория не проходит через найденное препятствие, то производится только запись соответствующих препятствию нулевых нейронов в образ, но при этом корректировка траектории не производится. Если начальная траектория проходит через препятствие, то есть координаты препятствия совпадают с координатами нейронов, кодирующих траекторию робота, то формируется новая нейронная карта с учетом выявленного нулевого вектора и производится коррекция траектории от текущего местоположения агента.
Коррекция траекторий происходит в процессе перемещения робота, крайне необходимо учитывать быстродействие бортовых вычислительных систем и чувствительность его сенсорных систем.
Большая часть вычислительного времени при построении траектории и ее коррекции затрачивается на формирование новой нейронной карты, что подтверждено измерениями в ходе оценки количества итераций, необходимых для входа НС в состояние равновесия, поэтому также нужна модификация базового алгоритма формирования нейронной карты.
Частичная коррекция карты. Начальный образ траектории также сохраняется в памяти, а формирование нейронной карты происходит при подаче «измененного образа» (Em) на вход нейронной сети (Ein = Em) определенное количество раз, то есть начальные значения энергии нейронов сети при корректировке являются не нулевыми, а берутся из матрицы, сохраненной в этом образе. «Измененный образ» формируется путем обнуления нейронов по номерам, сохраняемым в нулевом векторе (Obst{}) в «начальном образе» (Eout):
где n – количество входных итераций.
Рис. 3. Выделение нейронной области (дискретизация) рабочего пространства сенсорной системой и определение препятствия
Значение n зависит от того, какую «плавность» обхода препятствия нам необходимо получить (рис. 4) [2].
Предлагаемый метод коррекции значительно сокращает время расчета, т.к. для полного формирования новой нейронной карты (при нулевом начальном состоянии нейронов) в случае, рассмотренном на рис. 4, потребовалось бы около 17 итераций, но при этом был бы получен более «плавный» обход
препятствия.
а б
Рис. 4. Коррекция траектории по измененному образу:
а – одна итерация; б – пять итераций
Формирование новой карты. В этом алгоритме в памяти сохраняется только вектор нулевых нейронов. Формирование как начальной, так и корректируемой нейронной карты происходит при нулевом начальном состоянии нейронов сети, но при этом активируется не вся нейронная область, а только те участки, которые необходимы для построения траектории. Это достигается путем изменения базового принципа формирования нейронной карты: нейронная карта считается сформированной, если волновая активация достигла нейрона (Ei), находящегося на позиции агента:
Математическое моделирование показало значительное сокращение времени построения траектории (оно наиболее заметно для больших рабочих пространств) при сохранении «плавности» и корректности обхода препятствий, что подтверждает возможность использования данного принципа для коррекции траекторий в динамике.
Полученные методические и алгоритмические решения потребовали экспериментального подтверждения не только на моделях, но и на реальных прототипах роботов.
Отладка алгоритма построения траектории на мобильном роботе
Для отладки и оценки предложенных алгоритмов построения траектории были разработаны два новых программных модуля: формирования нейронной карты на базе модифицированной модели НС Хопфилда и «конструктора пути». Оба программных модуля входят в состав общего комплекса специализированного ПО, которое реализовано на языке программирования Python (CPython) версии 3.
В процессе экспериментальной отладки алгоритмов планирования в первую очередь решалась проблема корректного обхода препятствий при диагональном перемещении, а также проблема определения ориентации робота в пространстве в процессе движения.
Задача определения ориентации робота в пространстве была решена с помощью индексации всех (8-ми) возможных направлений движения с правилом обхода «по часовой стрелке» и началом на 12 часов.
Так как для динамической корректировки диагонального перемещения робота необходимо учитывать значения только ближайших 8 нейронов (Ed) по соответствующим направлениям (d), то применение алгоритмов частичной корректировки или формирования новой нейронной карты нецелесообразно. В данном случае были использованы «виртуальные препятствия». Суть данного метода состоит в том, что значение градиента в некорректном диагональном направлении принудительно устанавливается в минимальное значение (gradd = –1). Таким образом, исходя из основного условия
,
система будет считать движение в данном направлении невозможным [3], но только на текущем шаге робота. Условие блокировки диагонального перемещения имеет следующий вид:
где d – индекс диагонального направления.
Полученные результаты подтвердили работоспособность предложенных методик и алгоритмов, эффективность синтеза траекторий в условиях ограниченности ресурсов и наличия динамических препятствий в рабочей зоне. Учитывая экспериментальные данные, были сформулированы цель и задачи дальнейших исследований:
– синтез и отладка методик планирования траекторий и информационного взаимодействия в коллективе роботов на основе системы приоритетов;
– методики и алгоритмы распараллеливания информационных процессов при построении нейронных карт для каждого участника коллектива.
Выводы
1. Модификация НС Хопфилда путем введения собственных обратных связей нейронов и замены гиперболической тангенциальной функции активации на линейную функцию с насыщением дает значительный прирост производительности НС при обработке входных сигналов при сохранении корректности расчетов траектории. Также наблюдается повышение стабильности процесса активации, снижается риск возникновения локальных максимумов и, как следствие, эффекта «рыскания» при формировании траектории. С учетом того, что систему планируется применять для управления группой роботов, замена функции активации актуальна и, в первую очередь, для централизованных схем управления [4].
2. Оптимизация алгоритмов формирования нейронной карты позволила сократить время, затрачиваемое системой для построения и коррекции траектории, что снимает ограничения на ее использование в динамически меняющихся рабочих пространствах, а также повышает ее эффективность при использовании гибридной или распределенной схем управления [4].
3. Проработаны основные этапы синтеза специализированного ПО, с помощью которого были получены практические результаты: корректный обход препятствий при «диагональном» перемещении, найден способ определения ориентации робота в пространстве в процессе движения.
Авторы благодарят за финансовую и методическую помощь в проведении исследований Программу фундаментальных исследований ОЭММиПУ РАН «Научные основы робототехники и мехатроники».
Рецензенты:Мунасыпов Р.А., д.т.н., профессор, заведующий кафедрой «Мехатронные станочные системы», ФГБОУ ВПО «Уфимский государственный авиационный технический университет», г. Уфа;
Жернаков С.В., д.т.н., профессор, заведующий кафедрой «Электроника и биомедицинские технологии», ФГБОУ ВПО «Уфимский государственный авиационный технический университет», г. Уфа.
Работа поступила в редакцию 02.12.2014.