Выпуск #9/2018
Виноградов Артем Николаевич, Терентьев Алексей Игоревич, Петров Олег Владимирович
Модель нечеткого регулятора для управления движением мобильного робота
Модель нечеткого регулятора для управления движением мобильного робота
Просмотры: 3186
Построена модель системы управления движением мобильного робота на основе нечеткой логики. Выбраны входные и выходные переменные, предложены функции принадлежности. Проведено сравнение функционирования классического и нечеткого регуляторов.
УДК 681.5.017
DOI: 10.22184/1993-8578.2018.82.152.159
УДК 681.5.017
DOI: 10.22184/1993-8578.2018.82.152.159
Теги: fuzzy logic labview mamdani algorithm mobile robot алгоритм мамдани мобильный робот нечеткая логика
Одной из проблем управления мобильными роботами является построение траектории движения. Эта задача является одной из важных, поскольку построение оптимальной траектории движения позволяет повысить эффективность функционирования мобильного робота. Следует отметить, что эта задача может быть решена с использованием системы управления на основе классического регулятора [1]. Однако получаемые результаты не всегда обеспечивают высокую эффективность функционирования робота.
В то же время, в условиях автономного управления (отсутствие связи с оператором) робот не может получать корректирующее управление извне. Таким образом, задача должна решаться от начала и до конца непосредственно системой управления робота. Это решение должно происходить в условиях определенных ограничений на техническую составляющую (компактность, низкое энергопотребление), а это сказывается на используемом алгоритмическом обеспечении.
Объектом управления в данной работе является роботизированное шасси. Система управления шасси состоит из электродвигателей и приводов, а также вычислительного устройства. Обязательной частью мобильного робота являются датчики. В данной работе будет моделироваться работа навигационной системы, отвечающей за определение ориентации робота в пространстве. В модели учитывается, что навигационная система работает с погрешностью.
Рассмотрим решение задачи управления движением мобильного робота из точки А с координатами (xn, yn, αn) в точку B с координатами (xn+1, yn+1, αn+1), где x — координата робота по оси абсцисс; y — координата робота по оси ординат; α — угол ориентации робота (рис. 1). Моделируется движение робота в двухмерном пространстве без препятствий в режиме реального времени. Координаты робота определяются в декартовой системе координат, выбираемой из соображений удобства при дальнейшем отображении траектории. Особенностью решаемой задачи является учет ориентации робота в точке назначения. Под углом ориентации робота понимается разница между вектором движения робота и осью абсцисс в выбранной системе координат. Траектория движения будет строиться в зависимости от того, в каком именно положении должен оказаться робот в конце движения. Это позволит легко масштабировать систему управления для более сложных случаев движения среди препятствий, в узких проходах и коридорах.
Одним из вариантов решения этой проблемы является использование механизмов нечеткой логики. Эта концепция была предложена в 1965 году математиком Лотфи Заде и заключается в использовании нечетких множеств [2–4]. То есть таких множеств, характеристическая функция которых может принимать не только определенные значения — 0 или 1, но и любые другие в интервале [0, 1].
Предлагается использовать следующие переменные для реализации нечеткого алгоритма:
Входные переменные. Обозначим множество входных переменных V = {β1, β2}, где β1 и β2 переменные «ошибка угловой ориентации» и «сектор».
Переменная 1: β1 — ошибка угловой ориентации робота. Определяется как разница между текущим углом ориентации робота и требуемым. В отличие от задачи следования траектории [5], эта переменная должна охватывать весь спектр значений от −180 до 180. Таким образом, будут использованы следующие термы: a1 — очень сильно отрицательная; a2 — сильно отрицательная; a3 — отрицательная; a4 — слабо отрицательная; a5 — близкая к нулю; a6 — слабо положительная; a7 — положительная; a8 — сильно положительная; a9 — очень сильно положительная. График функций принадлежности µ(x) этой переменной представлен на рис. 2.
Форма функций принадлежности не оказывает серьезного влияния на результат управления, что продемонстрировано в работе [6]. Таким образом, можно использовать распространенный вариант треугольных и трапецеидальных функций принадлежности.
Переменная 2: β2 — сектор. Представим систему координат, принятую таким образом, что положение мобильного робота является началом координат. Тогда направление, в котором находится точка назначения (примем следующие термы: b1 — сзади-левее; b2 — сзади-слева; b3 — слева; b4 — спереди-слева; b5 — спереди; b6 — спереди-справа; b7 — справа; b8 — сзади-справа; b9 — сзади-правее), и будет данной нечеткой переменной. Размеры секторов примем как 30 градусов для секторов «спереди» и «сзади», 60 градусов для секторов «слева» и «справа» и 75 градусов для остальных. Эта концепция проиллюстрирована на рис. 3.
Чтобы определить значение нечеткой переменной, нужно вычислить угол между направлением движения робота и направлением на точку назначения. Для этого преобразуем координаты обеих точек в систему отсчета, связанную с местонахождением робота (1) при помощи матрицы поворота (2):
Eqn001.eps,(1)
где
Eqn002.eps.(2)
Тогда угол можно определить как (3):
Eqn003.eps.(3)
График функций принадлежности этой переменной представлен на рис. 4.
Выходные переменные. Обозначим множество входных переменных V = {w1, w2}, где w1 и w2 переменные «желаемая угловая скорость» и «желаемая скорость».
Переменная 1: w1 — желаемая угловая скорость (примем следующие термы: c1 — быстро налево, c2 — налево, c3 — плавно налево, c4 — прямо, c5 — плавно направо, c6 — направо, c7 — быстро направо). График функций принадлежности этой переменной представлен на рис. 5.
Переменная 2: w2 — желаемая линейная скорость (примем следующие термы: d1 — полный назад, d2 — назад, d3 — малый назад, d4 — стоп, d5 — малый вперед, d6 — вперед, d7 — полный вперед). График функций принадлежности этой переменной представлен на рис. 6.
Формирование базы правил нечеткой системы заключается в формировании ряда высказываний вида [7]:
ЕСЛИ «β1 есть ai» И «β2 есть bj» ТО «w1 есть cp» И «w2 есть dq»,
где a и b — термы входных переменных, c и d — термы выходных переменных, i, j, p и q — индексы соответствующих термов.
База правил должна охватывать взаимные отношения всех терм всех входных переменных и описывать реакцию системы на те или иные условия.
Для решаемой задачи база правил составила 81 правило, некоторые из которых приведены ниже:
…
11 ЕСЛИ «Ошибка угловой ориентации» есть «сильно отрицательная» И «Сектор» есть «сзади» ТО «Желаемая угловая скорость» есть «быстро направо» И «Желаемая линейная скорость» есть «назад».
…
48 ЕСЛИ «Ошибка угловой ориентации» есть «близкая к нулю» И «Сектор» есть «спереди-справа» ТО «Желаемая угловая скорость» есть «направо» И «Желаемая линейная скорость» есть «вперед».
…
71 ЕСЛИ «Ошибка угловой ориентации» есть «положительная» И «Сектор» есть «сзади-справа» ТО «Желаемая угловая скорость» есть «быстро направо» И «Желаемая линейная скорость» есть «вперед».
…
Существует несколько алгоритмов нечеткого вывода, каждый из которых имеет свои особенности. Основных алгоритмов четыре:
алгоритм Мамдани [8];
алгоритм Такаги – Сугено;
алгоритм Цукамото;
алгоритм Ларсена.
Ряд ограничений, свойственных для каждого из алгоритмов, позволяет определить наиболее подходящий для решаемой задачи [9].
В частности, алгоритм Цукамото используется только для монотонных функций принадлежности выходных переменных. Это автоматически делает его непригодным в описываемых условиях, когда одной из переменных является угловая скорость, значение которой колеблется от отрицательных до положительных значений [10].
Алгоритм Такаги – Сугено применяется, когда известны весовые коэффициенты при неизвестной форме функций принадлежности выходных переменных. Так как в нашем случае мы можем выбрать форму функций, нет необходимости использовать нечеткий вывод Сугено [11].
Алгоритмы Мамдани и Ларсена похожи по своей структуре и отличаются лишь способом выбора импликации. Рассмотрим алгоритм Мамдани подробнее (рис. 7).
Суть фаззификации заключается в приведении в соответствие четких значений, подающихся на вход нечеткой системы и термов нужной входной переменной. Таким образом, вводится ряд высказываний вида «β1 есть a1», «β1 есть a2» и т. д. Для каждого из них устанавливается истинность a*n путем подстановки значений an в функцию принадлежности µ(x). После того как все значения a*n = µ(an) для всех термов всех входных переменных найдены, этап фаззификации считается законченным.
На этапе агрегирования определяется степень истинности для каждого правила из базы. Так как правила в базе состоят из простых высказываний «β1 есть an», то при этом используются результаты фаззификации.
Активизация представляет собой процесс определения степени истинности для каждого из элементарных логических подзаключений, которые вычисляются на основе выходных переменных. Существуют различные методы активизации:
min-активизация — μ’(c) = min{fi, μ(c)}
prod-активизация — μ’(c) = fi · μ(c)
average-активизация — μ’(c) = 0.5(fi + μ(c)),
где множество F = (f1, f2, …, fq) — множество степеней истинности для каждого из правил; q — общее количество подзаключений в базе правил; μ(c) — функция принадлежности терма, который является значением некоторой выходной переменной.
В алгоритме Мамдани используется min-активизация, в алгоритме Ларсена — prod-активизация. В ряде случаев [12] алгоритм Ларсена оказывается точнее алгоритма Мамдани, но требует больше операций умножения.
Аккумуляция — это нахождение функции принадлежности для каждой из выходных переменных путем объединения всех степеней истинности подзаключений, полученных ранее.
Финальная часть любого нечеткого алгоритма — переход от функции принадлежности выходных переменных к их численным (четким) значениям. Таким образом, результаты нечеткого алгоритма можно будет использовать в последующих вычислениях.
Моделирование движения мобильного робота и нечеткой системы управления проводилось в среде графического программирования LabView. LabView по умолчанию поддерживает работу с нечеткими системами, что лишает необходимости непосредственно реализовывать нечеткие алгоритмы с нуля, при этом оставляя все возможности для модернизации этих алгоритмов.
Блок-диаграмма модели представлена на рис. 8. Помимо непосредственно нечеткой системы (рис. 9), здесь присутствуют блоки определения сектора, ошибки ориентации, ошибки положения, преобразования координат, эмуляции ошибки навигации.
Рассмотрим результаты моделирования перемещения робота от точки к точке. Функционирование нечеткого регулятора сравнивались с функционированием модели из работы [1]. Моделирование показывает (рис. 10), что робот достигает заданной точки. Можно увидеть, что во второй модели робот движется по криволинейной траектории, что усложняет управление и стабилизацию, а также приводит к более быстрому износу исполнительных механизмов. Нечеткая модель придерживается движения по прямым отрезкам на большей части пути, что является ее преимуществом.
На рис. 11 показано движение робота по прямой линии из точки с координатами (0; 0) в точку с координатами (200; 0). В данном эксперименте также было проведено сравнение с моделью из работы [1]. В обоих случаях робот достигает цели, но нечеткая система показывает меньшее отклонение (0,5 метров против 1,0 метра у классического регулятора) от прямой линии.
Рис. 12 показывает результаты моделирования разворота робота из точки (0; 0) с ориентацией 180 градусов в точку (10; 0) с ориентацией 0 градусов. Особенностью данного маневра является то, что преодолеваемые расстояния не превышают 10 метров в обоих направлениях. Таким образом, большую роль имеет погрешность навигационной системы (НС). Глобальная НС робота имеет ошибку до 5 метров. Как видно из предыдущих экспериментов, при движении на большие расстояния эта ошибка не играет существенной роли. Но в случае разворота ориентирование робота с такой ошибкой становится невозможным, поскольку реальное положение робота и положение, определяемое НС, могут отличаться настолько, что будут находиться по разные стороны от точки назначения. Это приводит к тому, что робот не может достичь цели и беспорядочно передвигается вокруг точки старта. Траектория движения робота при попытке развернуться в таких условиях изображена на графике 1 рис. 12.
Поэтому мобильный робот должен иметь также автономные средства ориентирования (например, инерциальные навигационные системы, лазерные дальномеры) с погрешностью порядка десятков сантиметров. Использование таких НС при маневрах рядом с точкой назначения позволит более точно ориентировать робота и достичь поставленной цели, что проиллюстрировано на графике 2 рис. 12.
В результате работы была построена модель системы управления (регулятор) мобильным роботом на основе нечеткой логики, выбраны входные нечеткие переменные «ошибка угловой ориентации» и «сектор». Проведено компьютерное моделирование в среде графического программирования LabView. Представлены результаты сравнения работы моделей на основе нечеткого регулятора и классического регулятора, а также различные траектории движения робота.
Авторы считают, что в данной работе новой является модель нечеткого регулятора на основе нечетких переменных «ошибка угловой ориентации» и «сектор», с помощью которой получены результаты сравнения функционирования классического регулятора и регулятора, построенного с применением нечеткой логики. Разработка модели и проведение компьютерных экспериментов проводились в среде графического программирования LabView. Полученные результаты подтвердили адекватность используемой модели и разработанного набора правил работы нечеткого регулятора.
Работа выполнена при финансовой поддержке Минобрнауки России, проект № 8.8952.2017/8.9.
ЛИТЕРАТУРА
1. Vinogradov A., Terentev A., Petrov V. and Petrov O. «Development of Mathematical Model of Moving Wheeled Robot Using Visual Programming Platform Labview», 2017 IEEE Conference of Russian Young Researchers in Electrical and Electronic Engineering (EIConRus), St. Petersburg, 2017, pp. 1056–1059.
2. Финаев В. И., Игнатьев В. В. Системы управления на основе объединения классической и нечеткой моделей объекта. — М.: Физматлит, 2013. — 158 с.
3. Ходашинский И. А. Идентификация нечетких систем: методы и алгоритмы // Проблемы управления, 2009, № 4.
4. Цюй Дуньюэ. Разработка метода планирования траектории перемещения мобильного автономного робота в трехмерной среде на основе аппарата нечеткой логики // Инженерный вестник Дона, № 4, 2015.
5. Цюй Дуньюэ. Управление мобильным роботом на основе нечетких моделей // Российская Академия Естествознания, 2007, № 6.
6. Чернов В. Г. Модификация алгоритмов управления, использующих правила нечеткого условного вывода // Информационно-управляющие системы, № 3, 2013. — С. 23–29.
7. Семенова Н. Г., Семенов А. М., Крылов И. Б. База знаний интеллектуальной обучающей системы технической дисциплины // Вестник Оренбургского государственного университета, 2013, № 9. — С. 232–239.
8. Семченко П. Н. Основанные на правилах экспертные системы // Электронное научное издание «Ученые заметки ТОГУ» 2014, Том 5, № 4. — С. 1249–1266.
9. Леденева Т. М., Кашко В. В. О различных реализациях механизма нечеткого логического вывода // Актуальные проблемы прикладной информатики, информатики и механики: сборник трудов Международной научно-технической конференции, Воронеж, 2016. — С. 391.
10. Ткач С. Н. Настройка параметров адаптивного контроллера с использованием нечеткой нейронной сети // Программные продукты и системы. 2001. № 3.
11. Семенова Н. Г., Крылов И. Б. Разработка агентно-ориентированной интеллектуальной обучающей системы на основе нечеткой нейронной сети Такаги – Сугено – Канга // Вектор науки ТГУ, 2015, № 2-1 (32-1).
12. Мелков Д. А. Сравнение алгоритмов нечеткого вывода с использованием языков стандарта МЭК // Молодой ученый, 2013, № 5. — С. 74–79.
В то же время, в условиях автономного управления (отсутствие связи с оператором) робот не может получать корректирующее управление извне. Таким образом, задача должна решаться от начала и до конца непосредственно системой управления робота. Это решение должно происходить в условиях определенных ограничений на техническую составляющую (компактность, низкое энергопотребление), а это сказывается на используемом алгоритмическом обеспечении.
Объектом управления в данной работе является роботизированное шасси. Система управления шасси состоит из электродвигателей и приводов, а также вычислительного устройства. Обязательной частью мобильного робота являются датчики. В данной работе будет моделироваться работа навигационной системы, отвечающей за определение ориентации робота в пространстве. В модели учитывается, что навигационная система работает с погрешностью.
Рассмотрим решение задачи управления движением мобильного робота из точки А с координатами (xn, yn, αn) в точку B с координатами (xn+1, yn+1, αn+1), где x — координата робота по оси абсцисс; y — координата робота по оси ординат; α — угол ориентации робота (рис. 1). Моделируется движение робота в двухмерном пространстве без препятствий в режиме реального времени. Координаты робота определяются в декартовой системе координат, выбираемой из соображений удобства при дальнейшем отображении траектории. Особенностью решаемой задачи является учет ориентации робота в точке назначения. Под углом ориентации робота понимается разница между вектором движения робота и осью абсцисс в выбранной системе координат. Траектория движения будет строиться в зависимости от того, в каком именно положении должен оказаться робот в конце движения. Это позволит легко масштабировать систему управления для более сложных случаев движения среди препятствий, в узких проходах и коридорах.
Одним из вариантов решения этой проблемы является использование механизмов нечеткой логики. Эта концепция была предложена в 1965 году математиком Лотфи Заде и заключается в использовании нечетких множеств [2–4]. То есть таких множеств, характеристическая функция которых может принимать не только определенные значения — 0 или 1, но и любые другие в интервале [0, 1].
Предлагается использовать следующие переменные для реализации нечеткого алгоритма:
Входные переменные. Обозначим множество входных переменных V = {β1, β2}, где β1 и β2 переменные «ошибка угловой ориентации» и «сектор».
Переменная 1: β1 — ошибка угловой ориентации робота. Определяется как разница между текущим углом ориентации робота и требуемым. В отличие от задачи следования траектории [5], эта переменная должна охватывать весь спектр значений от −180 до 180. Таким образом, будут использованы следующие термы: a1 — очень сильно отрицательная; a2 — сильно отрицательная; a3 — отрицательная; a4 — слабо отрицательная; a5 — близкая к нулю; a6 — слабо положительная; a7 — положительная; a8 — сильно положительная; a9 — очень сильно положительная. График функций принадлежности µ(x) этой переменной представлен на рис. 2.
Форма функций принадлежности не оказывает серьезного влияния на результат управления, что продемонстрировано в работе [6]. Таким образом, можно использовать распространенный вариант треугольных и трапецеидальных функций принадлежности.
Переменная 2: β2 — сектор. Представим систему координат, принятую таким образом, что положение мобильного робота является началом координат. Тогда направление, в котором находится точка назначения (примем следующие термы: b1 — сзади-левее; b2 — сзади-слева; b3 — слева; b4 — спереди-слева; b5 — спереди; b6 — спереди-справа; b7 — справа; b8 — сзади-справа; b9 — сзади-правее), и будет данной нечеткой переменной. Размеры секторов примем как 30 градусов для секторов «спереди» и «сзади», 60 градусов для секторов «слева» и «справа» и 75 градусов для остальных. Эта концепция проиллюстрирована на рис. 3.
Чтобы определить значение нечеткой переменной, нужно вычислить угол между направлением движения робота и направлением на точку назначения. Для этого преобразуем координаты обеих точек в систему отсчета, связанную с местонахождением робота (1) при помощи матрицы поворота (2):
Eqn001.eps,(1)
где
Eqn002.eps.(2)
Тогда угол можно определить как (3):
Eqn003.eps.(3)
График функций принадлежности этой переменной представлен на рис. 4.
Выходные переменные. Обозначим множество входных переменных V = {w1, w2}, где w1 и w2 переменные «желаемая угловая скорость» и «желаемая скорость».
Переменная 1: w1 — желаемая угловая скорость (примем следующие термы: c1 — быстро налево, c2 — налево, c3 — плавно налево, c4 — прямо, c5 — плавно направо, c6 — направо, c7 — быстро направо). График функций принадлежности этой переменной представлен на рис. 5.
Переменная 2: w2 — желаемая линейная скорость (примем следующие термы: d1 — полный назад, d2 — назад, d3 — малый назад, d4 — стоп, d5 — малый вперед, d6 — вперед, d7 — полный вперед). График функций принадлежности этой переменной представлен на рис. 6.
Формирование базы правил нечеткой системы заключается в формировании ряда высказываний вида [7]:
ЕСЛИ «β1 есть ai» И «β2 есть bj» ТО «w1 есть cp» И «w2 есть dq»,
где a и b — термы входных переменных, c и d — термы выходных переменных, i, j, p и q — индексы соответствующих термов.
База правил должна охватывать взаимные отношения всех терм всех входных переменных и описывать реакцию системы на те или иные условия.
Для решаемой задачи база правил составила 81 правило, некоторые из которых приведены ниже:
…
11 ЕСЛИ «Ошибка угловой ориентации» есть «сильно отрицательная» И «Сектор» есть «сзади» ТО «Желаемая угловая скорость» есть «быстро направо» И «Желаемая линейная скорость» есть «назад».
…
48 ЕСЛИ «Ошибка угловой ориентации» есть «близкая к нулю» И «Сектор» есть «спереди-справа» ТО «Желаемая угловая скорость» есть «направо» И «Желаемая линейная скорость» есть «вперед».
…
71 ЕСЛИ «Ошибка угловой ориентации» есть «положительная» И «Сектор» есть «сзади-справа» ТО «Желаемая угловая скорость» есть «быстро направо» И «Желаемая линейная скорость» есть «вперед».
…
Существует несколько алгоритмов нечеткого вывода, каждый из которых имеет свои особенности. Основных алгоритмов четыре:
алгоритм Мамдани [8];
алгоритм Такаги – Сугено;
алгоритм Цукамото;
алгоритм Ларсена.
Ряд ограничений, свойственных для каждого из алгоритмов, позволяет определить наиболее подходящий для решаемой задачи [9].
В частности, алгоритм Цукамото используется только для монотонных функций принадлежности выходных переменных. Это автоматически делает его непригодным в описываемых условиях, когда одной из переменных является угловая скорость, значение которой колеблется от отрицательных до положительных значений [10].
Алгоритм Такаги – Сугено применяется, когда известны весовые коэффициенты при неизвестной форме функций принадлежности выходных переменных. Так как в нашем случае мы можем выбрать форму функций, нет необходимости использовать нечеткий вывод Сугено [11].
Алгоритмы Мамдани и Ларсена похожи по своей структуре и отличаются лишь способом выбора импликации. Рассмотрим алгоритм Мамдани подробнее (рис. 7).
Суть фаззификации заключается в приведении в соответствие четких значений, подающихся на вход нечеткой системы и термов нужной входной переменной. Таким образом, вводится ряд высказываний вида «β1 есть a1», «β1 есть a2» и т. д. Для каждого из них устанавливается истинность a*n путем подстановки значений an в функцию принадлежности µ(x). После того как все значения a*n = µ(an) для всех термов всех входных переменных найдены, этап фаззификации считается законченным.
На этапе агрегирования определяется степень истинности для каждого правила из базы. Так как правила в базе состоят из простых высказываний «β1 есть an», то при этом используются результаты фаззификации.
Активизация представляет собой процесс определения степени истинности для каждого из элементарных логических подзаключений, которые вычисляются на основе выходных переменных. Существуют различные методы активизации:
min-активизация — μ’(c) = min{fi, μ(c)}
prod-активизация — μ’(c) = fi · μ(c)
average-активизация — μ’(c) = 0.5(fi + μ(c)),
где множество F = (f1, f2, …, fq) — множество степеней истинности для каждого из правил; q — общее количество подзаключений в базе правил; μ(c) — функция принадлежности терма, который является значением некоторой выходной переменной.
В алгоритме Мамдани используется min-активизация, в алгоритме Ларсена — prod-активизация. В ряде случаев [12] алгоритм Ларсена оказывается точнее алгоритма Мамдани, но требует больше операций умножения.
Аккумуляция — это нахождение функции принадлежности для каждой из выходных переменных путем объединения всех степеней истинности подзаключений, полученных ранее.
Финальная часть любого нечеткого алгоритма — переход от функции принадлежности выходных переменных к их численным (четким) значениям. Таким образом, результаты нечеткого алгоритма можно будет использовать в последующих вычислениях.
Моделирование движения мобильного робота и нечеткой системы управления проводилось в среде графического программирования LabView. LabView по умолчанию поддерживает работу с нечеткими системами, что лишает необходимости непосредственно реализовывать нечеткие алгоритмы с нуля, при этом оставляя все возможности для модернизации этих алгоритмов.
Блок-диаграмма модели представлена на рис. 8. Помимо непосредственно нечеткой системы (рис. 9), здесь присутствуют блоки определения сектора, ошибки ориентации, ошибки положения, преобразования координат, эмуляции ошибки навигации.
Рассмотрим результаты моделирования перемещения робота от точки к точке. Функционирование нечеткого регулятора сравнивались с функционированием модели из работы [1]. Моделирование показывает (рис. 10), что робот достигает заданной точки. Можно увидеть, что во второй модели робот движется по криволинейной траектории, что усложняет управление и стабилизацию, а также приводит к более быстрому износу исполнительных механизмов. Нечеткая модель придерживается движения по прямым отрезкам на большей части пути, что является ее преимуществом.
На рис. 11 показано движение робота по прямой линии из точки с координатами (0; 0) в точку с координатами (200; 0). В данном эксперименте также было проведено сравнение с моделью из работы [1]. В обоих случаях робот достигает цели, но нечеткая система показывает меньшее отклонение (0,5 метров против 1,0 метра у классического регулятора) от прямой линии.
Рис. 12 показывает результаты моделирования разворота робота из точки (0; 0) с ориентацией 180 градусов в точку (10; 0) с ориентацией 0 градусов. Особенностью данного маневра является то, что преодолеваемые расстояния не превышают 10 метров в обоих направлениях. Таким образом, большую роль имеет погрешность навигационной системы (НС). Глобальная НС робота имеет ошибку до 5 метров. Как видно из предыдущих экспериментов, при движении на большие расстояния эта ошибка не играет существенной роли. Но в случае разворота ориентирование робота с такой ошибкой становится невозможным, поскольку реальное положение робота и положение, определяемое НС, могут отличаться настолько, что будут находиться по разные стороны от точки назначения. Это приводит к тому, что робот не может достичь цели и беспорядочно передвигается вокруг точки старта. Траектория движения робота при попытке развернуться в таких условиях изображена на графике 1 рис. 12.
Поэтому мобильный робот должен иметь также автономные средства ориентирования (например, инерциальные навигационные системы, лазерные дальномеры) с погрешностью порядка десятков сантиметров. Использование таких НС при маневрах рядом с точкой назначения позволит более точно ориентировать робота и достичь поставленной цели, что проиллюстрировано на графике 2 рис. 12.
В результате работы была построена модель системы управления (регулятор) мобильным роботом на основе нечеткой логики, выбраны входные нечеткие переменные «ошибка угловой ориентации» и «сектор». Проведено компьютерное моделирование в среде графического программирования LabView. Представлены результаты сравнения работы моделей на основе нечеткого регулятора и классического регулятора, а также различные траектории движения робота.
Авторы считают, что в данной работе новой является модель нечеткого регулятора на основе нечетких переменных «ошибка угловой ориентации» и «сектор», с помощью которой получены результаты сравнения функционирования классического регулятора и регулятора, построенного с применением нечеткой логики. Разработка модели и проведение компьютерных экспериментов проводились в среде графического программирования LabView. Полученные результаты подтвердили адекватность используемой модели и разработанного набора правил работы нечеткого регулятора.
Работа выполнена при финансовой поддержке Минобрнауки России, проект № 8.8952.2017/8.9.
ЛИТЕРАТУРА
1. Vinogradov A., Terentev A., Petrov V. and Petrov O. «Development of Mathematical Model of Moving Wheeled Robot Using Visual Programming Platform Labview», 2017 IEEE Conference of Russian Young Researchers in Electrical and Electronic Engineering (EIConRus), St. Petersburg, 2017, pp. 1056–1059.
2. Финаев В. И., Игнатьев В. В. Системы управления на основе объединения классической и нечеткой моделей объекта. — М.: Физматлит, 2013. — 158 с.
3. Ходашинский И. А. Идентификация нечетких систем: методы и алгоритмы // Проблемы управления, 2009, № 4.
4. Цюй Дуньюэ. Разработка метода планирования траектории перемещения мобильного автономного робота в трехмерной среде на основе аппарата нечеткой логики // Инженерный вестник Дона, № 4, 2015.
5. Цюй Дуньюэ. Управление мобильным роботом на основе нечетких моделей // Российская Академия Естествознания, 2007, № 6.
6. Чернов В. Г. Модификация алгоритмов управления, использующих правила нечеткого условного вывода // Информационно-управляющие системы, № 3, 2013. — С. 23–29.
7. Семенова Н. Г., Семенов А. М., Крылов И. Б. База знаний интеллектуальной обучающей системы технической дисциплины // Вестник Оренбургского государственного университета, 2013, № 9. — С. 232–239.
8. Семченко П. Н. Основанные на правилах экспертные системы // Электронное научное издание «Ученые заметки ТОГУ» 2014, Том 5, № 4. — С. 1249–1266.
9. Леденева Т. М., Кашко В. В. О различных реализациях механизма нечеткого логического вывода // Актуальные проблемы прикладной информатики, информатики и механики: сборник трудов Международной научно-технической конференции, Воронеж, 2016. — С. 391.
10. Ткач С. Н. Настройка параметров адаптивного контроллера с использованием нечеткой нейронной сети // Программные продукты и системы. 2001. № 3.
11. Семенова Н. Г., Крылов И. Б. Разработка агентно-ориентированной интеллектуальной обучающей системы на основе нечеткой нейронной сети Такаги – Сугено – Канга // Вектор науки ТГУ, 2015, № 2-1 (32-1).
12. Мелков Д. А. Сравнение алгоритмов нечеткого вывода с использованием языков стандарта МЭК // Молодой ученый, 2013, № 5. — С. 74–79.
Отзывы читателей