УПРАВЛЕНИЕ ДВИЖЕНИЕМ МОБИЛЬНОГО РОБОТА ПО РАЗЛИЧНЫМ ТРАССАМ НА ОСНОВЕ ПРИНЦИПА РЕДУКЦИИ ТЕОРИИ НЕЧЕТКОСТИ
Аннотация и ключевые слова
Аннотация (русский):
Объектом исследования выступает управление движением мобильного робота по линии. Для построения систем автоматического управления роботами применяются различные алгоритмы, например, ПИД-регуляторы, а также алгоритмы, выполненные на основе методов нечеткой логики. Методы теории нечеткости формируют один из универсальных подходов к анализу и моделированию прикладных задач, в том числе в вопросах управления роботами. При любом исследовании проблемы возникают сразу, как только события (факты) принимаются нечеткими, например, ввиду неточности измерения, нечеткости описания тому подобное. Понятие нечеткости интуитивно понятно каждому, но его формализация вызывает трудности, которые всегда носят принципиальный характер. Рассмотрение основ теории вызвано поиском возможных решений проблем в экспериментальной части исследования, которая затрагивает вопросы регуляции скорости и динамической точности движения мобильного робота. В статье выдвинута гипотеза об эффективности метода управления движением мобильного робота на основе теории нечеткости по сравнению с ПИД-регулятором. Для обоснования гипотезы приведено описание движения робота в терминах теории нечеткости, рассмотрены особенности движения робота в зависимости от вида трасс, проведен ряд экспериментов. Экспериментальная проверка показала более устойчивое и быстрое движение робота по трассам и подтвердила гипотезу исследования. Результаты экспериментов позволили скорректировать нечеткие правила вывода и программу управления движением робота.

Ключевые слова:
теория нечеткости, нечёткая логика, ПИД-регулятор, управление объектом, робототехника, программа управления, полигон
Текст
Текст произведения (PDF): Читать Скачать

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

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

Вопросам управления роботом в научных кругах уделяется значительное внимание. Анализ публикаций показал, что проблема рассмотрена в разных аспектах. Методы классической теории управления описаны, в частности, в [1]. Кроме классических, традиционных, способов управления роботом, например, с помощью ПИД-регулятора, большое количество публикаций посвящено управлению методами нечёткой логики. В работах рассматриваются фундаментальные вопросы использования нечёткой логики [2–4], прикладные вопросы её использования в системах управления [5–7], вопросы создания собственно нечётких регуляторов [8, 9], проблемы устойчивости нечётких систем [10], вопросы моделирования (в том числе компьютерного) задач [11–14], выявляются особенности применения [15].

Гипотеза: управление движением робота с использованием нечеткой логики способствует более простому решению задач управления, в вопросе скорости движения и анализа динамической точности, по сравнению с ПИД-регулятором.

Основная часть.

Описание движения робота в терминах теории нечеткости. Экспериментальная проверка гипотезы об эффективном управлении, касающегося планирования скорости движения и анализа динамической точности средствами нечеткой логики проводилась с помощью робота, созданного на основе шасси «Turtle» [16]. В качестве управляющего устройства использовался контроллер «Ардуино», среда программирования – Arduino IDE.

 

 

Рис. 1. Робот, созданный на основе шасси «Turtle»,
 с управляющим контроллером «Ардуино»

 

Кинематическая схема робота трёхточечная: два колеса ведущих с возможностью вращения в обе стороны, одно – пассивное (опорное). Напряжения на двигатели кодируется целыми числами диапазона от –255 (максимальная скорость назад) до 255 (максимальная скорость вперёд). Числу 0 соответствует отсутствие вращения вала двигателя.

Для отслеживания линии робот имеет два оптических датчика, работающих в видимом диапазоне спектра (длина волны 650 нм). Каждый датчик имеет линейную характеристику выходного напряжения в зависимости от уровня освещённости, соответствующую диапазону чисел аналого-цифрового преобразователя от 0 (чёрный) до 400 (белый).

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

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

Несмотря на то, что у робота два датчика освещенности, можно рассматривать задачу «прохождения по трассе» с одним входным параметром «ошибка отклонения от курса (нормы)», e, и двумя выходными параметрами «напряжение на левом двигателе» и «напряжение на правом двигателе»,  и .

Множество возможных значений для параметра е (универсум) –[-400,400].

Наибольшее распространение при построении функции принадлежности нечетких множеств получили прямые методы [13, 15]. В прямых методах эксперт задаёт для любого значения параметра х из множества Х значение функции принадлежности . При этом теория нечетких множеств не требует абсолютно точного задания функции принадлежности. Зачастую бывает достаточно зафиксировать наиболее характерное значение и вид (тип) функции принадлежности. Впоследствии функция принадлежности может быть уточнена экспериментальным путем на основе анализа результатов решения конкретных задач.

Представим разбиение входного пространства для лингвистических переменных следующим образом:

  • большое отрицательное,
  • среднее отрицательное,
  • нулевое,
  • среднее положительное,
  • большое положительное.

Представим функцию принадлежности нечетких множеств, описывающих значение лингвистической переменной е ─ «ошибка отклонения от курса (нормы)»:

Нечеткие множества:

EF ─ малое отклонение,

EM ─ среднее отклонение,

EB ─ большое отклонение.

Функция принадлежности имеет треугольный вид, причем при малом отклонении график функции имеет форму Z-графика, при среднем отклонении форму ˄-графика и при большом отклонении форму S-графика (рис. 2).

 

 

Рис. 2. Графики функции принадлежности переменной «ошибка отклонения от курса»

 

Рис. 3. Результирующий график функции принадлежности переменной «ошибка отклонения от курса»

 

Степень приближения первоначально характеризуется специалистом, а затем уточняется по результатам экспериментов.

Выходные параметры: ─ «напряжение на левом двигателе» и ─ «напряжение на правом двигателе».

Множество возможных значений для параметров  (универсум) ─ .

Представим функцию принадлежности нечетких множеств, описывающих значения параметра ─ «напряжение на i-двигателе».

Нечеткие множества:

UF ─ малое напряжение,

UM ─ среднее напряжение,

UB ─ большое напряжение.

Функция принадлежности имеет треугольный вид, причем при малом напряжении график функции имеет форму Z-графика, при среднем напряжении форму ˄-графика и при большом напряжении форму S-графика (рис. 4).       

 

 

Рис. 4. Графики функции принадлежности выходных параметров «напряжение на i-двигателе»

 

Рис. 5. Результирующий график функции принадлежности выходных параметров
«напряжение на
i-двигателе»

 

Степень приближения первоначально характеризуется специалистом, а затем уточняется по результатам экспериментов.

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

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

Для лингвистической переменной е ─ «ошибка отклонения от курса (нормы)»:

 ─ малое отклонение (EF),

 ─ среднее (положительное или отрицательное) отклонение (EM) ,

 ─ большое (положительное или отрицательное) отклонение (EB) .

Для каждой лингвистической переменной ─ «напряжение на i-двигателе»:

─ малое напряжение (UF),

─ среднее (положительное или отрицательное) напряжение (UM)  ,

─ большое (положительное или отрицательное) напряжение (UB) .

Правила нечеткого вывода управления колесным роботом:

: если ошибка отклонение от курса (нормы) есть малое отклонение, то напряжение на левом двигателе есть большое напряжение.

: если ошибка отклонение от курса (нормы) есть малое отклонение, то напряжение на правом двигателе есть большое напряжение.

: если ошибка отклонение от курса (нормы) есть среднее положительное отклонение, то напряжение на левом двигателе есть малое положительное напряжение.

: если ошибка отклонение от курса (нормы) есть среднее положительное отклонение, то напряжение на правом двигателе есть большое положительное напряжение.

: если ошибка отклонение от курса (нормы) есть среднее отрицательное отклонение, то напряжение на левом двигателе есть малое положительное напряжение.

: если ошибка отклонение от курса (нормы) есть среднее отрицательное отклонение, то напряжение на правом двигателе есть большое положительное напряжение.

: если ошибка отклонение от курса (нормы) есть большое положительное отклонение, то напряжение на левом двигателе есть большое отрицательное напряжение.

: если ошибка отклонение от курса (нормы) есть большое положительное отклонение, то напряжение на правом двигателе есть большое положительное напряжение.

: если ошибка отклонение от курса (нормы) есть большое отрицательное отклонение, то напряжение на левом двигателе есть большое положительное напряжение.

: если ошибка отклонение от курса (нормы) есть большое отрицательное отклонение, то напряжение на правом двигателе есть большое отрицательное напряжение.

Найдем функцию принадлежности , характеризующую входной параметр е:

 

 

Найдем функцию принадлежности , характеризующую выходные параметры :

 

 

 

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

  1. Полигон «Simple» (рис. 8а). Простой полигон, имеющий небольшую сложность прохождения. Предназначен для демонстрации принципиальной работы алгоритма.
  2. Небольшое поле «Гантеля» (рис. 8б) идеально подходит не только для тренировки роботов, но и для соревнований, в которых могут участвовать как начинающие, так и опытные робототехники.
  3. Полигон Политехнического музея (рис. 8в). На таком полигоне удобно проводить заезды с большой скоростью (более 1 метра в секунду).
  4. Поле для соревнований роботов «Зародыш» (рис. 8г). Трасса предлагаемого поля для состязания роботов напоминает по форме эмбрион (зародыш).
  5. Полигон «Истукан» (рис. 8д). Содержит участки, принципиально трудные для прохождения.

 

Рис. 8. Виды полигонов

 

 

На соревнованиях по робототехнике предлагаются трассы (полигоны) различных размеров и форм. Наиболее распространённые в нашей стране линии имеют ширину 50 мм. На европейских соревнованиях часто используются линии шириной 10 мм.

Кроме размеров, существенным фактором для робота является форма линии. Самой простой формой является линия с линейными участками и поворотами большого радиуса, то есть радиуса более чем в 2 раза большего расстояния между колесами роботами. Как правило, прохождение таких трасс на относительно небольших скоростях (до 50 см/с) не вызывает особых трудностей. Примером такой трассы является «Гантеля».

Более сложной является форма с поворотами малых радиусов, то есть радиусов не более чем в 2 раза больших расстояния между колесами роботами. Примером такой трассы является «Зародыш». Кроме того, у трассы «Зародыш» радиусы имеют разную величину, что может создавать дополнительные трудности.

Осложнять прохождение трассы могут S-образные участки («змейки») различных видов. Как показано в [17], роботы с определёнными характеристиками, начиная с определённой скорости, принципиально не могут пройти такой участок трассы.

Еще более сложными для прохождения могут оказаться «прямые змейки» – S-образные участки трассы, образованные прямыми линиями. При определённых параметрах угла поворота вероятность потери роботом трассы на таком участке становится ещё выше. Пример такой «змейки» можно видеть на полигоне «Истукан».

Логика работы программы управления движением робота. Логика работы программы довольно проста: вначале посредством вычитания из значения правого датчика значения левого вычисляется отклонение от курса. Затем, в зависимости от величины и знака отклонения, определяется режим отклонения (большое отрицательное … большое положительное). Наконец, в зависимости от режима отклонения, включается тот или иной предварительно установленный режим работы двигателей.

Фактически, в большинстве своём, программа представляет собой последовательность ветвлений.

Корректировка программы по результатам эксперимента. Проверка программы производилась на полигонах «Simple» и «Истукан». На первом полигоне средняя скорость прохождения трассы оказалась равной 36 см/с. Робот был устойчив на трассе, ни разу не потерял линию. Однако в некоторых случаях имело место «рысканье» (отклонение от курса в горизонтальной плоскости).

Изменение формы функции принадлежности путём уменьшения количества треугольников до трёх с соответствующей коррекцией правил привело к плавному движению робота, практически полному отсутствию «рысканья». Однако средняя скорость робота уменьшилась до 35 см/с.

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

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

Программа на основе П-регулятора (без учёта первой производной скорости и накопления ошибки с течением времени) не смогла справиться с «прямыми змейками» и, тем более, не смогла пройти прямые углы. Безусловно, в программу можно добавить дифференциальную и интегральную составляющие, позволяющие повысить курсовую устойчивость робота на отдельных участках, но не следует забывать, что для нахождения коэффициентов ПИД-регулятора нет чёткого алгоритма. Имеющиеся в арсенале программистов методы, в том числе наиболее известный метод Никольса – Циглера, в применении не всегда удобны, а иногда невозможны. Таким образом, подбор коэффициентов в ПИД-регуляторе может оказаться делом трудоёмким, а программная реализация поиска линии будет лежать за пределами метода ПИД-регуляции.

Регулятор на основе нечёткой логики решает задачу принципиально дискретно. Однако именно дискретность позволяет более точно (по сравнению с ПИД-регулятором) подстроить регулятор под конкретные условия.

Таким образом, метод нечёткой логики в применении более прост по сравнению с ПИД-регулятором, что подтверждает проведенная экспериментальная проверка.

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

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

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

Список литературы

1. Пупков К.А., Егупов Н.Д. Методы классической и современной теории автоматического управления: Учебник в 5-и тт.; 2-е изд., перераб. и доп. Т5. Методы современной теории автоматического управления. М.: Изд-во МГТУ им. Н.Э. Баумана, 2004. 782 с.

2. Заде Л.А. Понятие лингвистической переменной и его применение к принятию приближенных решений. М.: Изд-во Мир, 1976. 166 с.

3. Нечеткая логика - математические основы [Электронный ресурс]. URL: https://loginom.ru/blog/fuzzy-logic (дата обращения 21.09.2023).

4. Штовба С.Д. "Введение в теорию нечетких множеств и нечеткую логику», [Электронный ресурс]. URL: http://matlab.exponenta.ru/fuzzylogic/book1/1.php (дата обращения 21.09.2023).

5. Алтунин А.Е., Семухин М.В. Модели и алгоритмы принятия решений в нечетких условиях: Монография. Тюмень: Издательство Тюменского государственного университета, 2000. 352 с.

6. Пивкин В.Я., Бакулин Е.П., Кореньков Д.И. Нечеткие множества в системах управления. Изд-во Новосиб. гос. ун-т, Физич.фак-т. 1997. 42 с.

7. Яхъяева Г.Э. Нечеткие множества и нейронные сети: учебное пособие. М.: Изд-во Интернет-Ун-т Информ. Технологий: Бином. Лаборатория знаний, 2012. 315 с.

8. Гостев В.И. Проектирование нечетких регуляторов для систем автоматического управления. СПб: Изд-во БХВ-Петербург, 2011. 416 с.

9. Демидова Г.Л., Лукичев Д.В. Регуляторы на основе нечеткой логики в системах управления техническими объектами. СПб: Изд-во Университет ИТМО, 2017. 81 с.

10. Горюшкин В.А. Об устойчивости нечетких систем управления. // Вестник КРАУНЦ. Физ.-мат. науки. 2011. Выпуск 1(2) C. 17-25.

11. Круглов В.В., Дли М.И. Интеллектуальные информационные системы: компьютерная поддержка систем нечеткой логики и нечеткого вывода. М.: Изд-во Физматлит, 2002. 198 с.

12. Круглов В.В., Дли М.И., Голунов Р.Ю. Нечеткая логика и искусственные нейронные сети. М.: Изд-во Физматлит, 2001. 221 с.

13. Усков А.А. Системы с нечеткими моделями объектов управления. Монография. Смоленск: Изд-во СФРУК, 2013. 153 с.

14. Флегонтов А.В., Вилков В.Б., Черных А.К. Моделирование задач принятия решений при нечетких исходных данных. СПб: Изд-во ЭБС Лань, 2020. 332 с.

15. Демидова Г.Л., Лукичев Д.В., Кузин А.Ю. Особенности применения нечетких регуляторов на примере управления скоростью электродвигателя постоянного тока. // Научно-технический вестник информационных технологий, механики и оптики. 2016. Т. 16. № 5. С. 872-878.

16. Двухколёсная платформа Turtle [Электронный ресурс]. URL: https://amperka.ru/product/turtle-chassis (дата обращения 21.09.2023).

17. Мартыненко Ю.Г. Динамика мобильных роботов. // Соросовский образовательный журнал. 2000. Том 6. № 5. С. 110-116.


Войти или Создать
* Забыли пароль?