MOBILE ROBOT MOTION CONTROL FOR DIFFERENT PATHS ON THE BASIS OF THE PRINCIPLE OF REDUCTION OF THE THEORY OF FUZZER
Abstract and keywords
Abstract (English):
The object of the study is the control of the movement of a mobile robot along a line. To build automatic control systems for robots, various algorithms are used, for example, PID controllers, as well as algorithms based on fuzzy logic methods. Methods of the fuzzy theory form one of the universal approaches to the analysis and modeling of applied problems, including in matters of robot control. In any study, problems arise immediately as soon as events (facts) are accepted as fuzzy, for example, due to inaccurate measurement, fuzzy description, etc. The concept of fuzziness is intuitively clear to everyone, but its formalization causes difficulties, which are always of a fundamental nature. Consideration of the foundations of the theory is caused by the search for possible solutions to problems in the experimental part of the study, which addresses the issues of speed regulation and dynamic accuracy of the movement of a mobile robot. The article puts forward a hypothesis about the effectiveness of the method of controlling the movement of a mobile robot based on the fuzzy theory in comparison with the PID controller. To substantiate the hypothesis, a description of the movement of the robot in terms of fuzzy theory is given, the features of the movement of the robot depending on the type of tracks are considered, a fragment of the program for implementing a controller based on fuzzy logic is presented, and a number of experiments are carried out. Experimental verification showed a more stable and faster movement of the robot along the tracks and confirmed the hypothesis of the study. The results of the experiments made it possible to correct the fuzzy inference rules and the robot motion control program. The results obtained open up new possibilities for the wide application of fuzzy theory in robotics.

Keywords:
fuzzy theory, fuzzy logic, PID controller, object control, robotics, control program, polygon
Text
Publication text (PDF): Read Download

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

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

Вопросам управления роботом в научных кругах уделяется значительное внимание. Анализ публикаций показал, что проблема рассмотрена в разных аспектах. Методы классической теории управления описаны, в частности, в [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 см/с.

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

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

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

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

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

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

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

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

References

1. Pupkov K.A., Egupov N.D. Methods of classical and modern theory of automatic control: Textbook in 5th edition; 2nd ed., reprint. and add. T5. Methods of modern theory of automatic control. [Metody klassicheskoj i sovremennoj teorii avtomaticheskogo upravleniya: Uchebnik v 5-i tt.; 2-e izd., pererab. i dop. T5. Metody sovremennoj teorii avtomaticheskogo upravleniya]. M.: Publishing House of Bauman Moscow State Technical University, 2004. 782 p. (rus)

2. Zadeh L.A. The concept of a linguistic variable and its application to making approximate decisions. [Ponyatie lingvisticheskoj peremennoj i ego primenenie k prinyatiyu priblizhennyh reshenij]. Moscow: Mir Publishing House, 1976. 166 p. (rus)

3. Fuzzy logic - mathematical foundations. URL: https://loginom.ru/blog/fuzzy-logic (accessed 21.09.2023).

4. Shtovba S.D. Introduction to the theory of fuzzy sets and fuzzy logic. URL: http://matlab.exponenta.ru/fuzzylogic/book1/1.php (accessed 21.09.2023).

5. Altunin A.E., Semukhin M.V. Models and algorithms of decision-making in fuzzy conditions: Monograph. [Modeli i algoritmy prinyatiya reshenij v nechetkih usloviyah: Monografiya]. Tyumen: Tyumen State University Publishing House, 2000. 352 p. (rus)

6. Pivkin V.Ya., Bakulin E.P., Korenkov D.I. Fuzzy sets in control systems. [Nechetkie mnozhestva v sistemah upravleniya]. Publishing house of Novosibirsk State University, Physics. fac-t. 1997. 42 p. (rus)

7. Yakhyaeva G.E. Fuzzy sets and neural networks: textbook. [Nechetkie mnozhestva i nejronnye seti: uchebnoe posobie]. M.: Publishing house of Internet-Un-t Inform. Technology: Binom. Laboratory of Knowledge, 2012. 315 p. (rus)

8. Gostev V.I. Design of fuzzy controllers for automatic control systems. [Proektirovanie nechetkih regulyatorov dlya sistem avtomaticheskogo upravleniya]. St. Petersburg: Publishing House of BHV-Petersburg, 2011. 416 p. (rus)

9. Demidova G.L., Lukichev D.V. Regulators based on fuzzy logic in control systems of technical objects. [Regulyatory na osnove nechetkoj logiki v sistemah upravleniya tekhnicheskimi ob"ektami]. St. Petersburg: ITMO University Publishing House, 2017. 81 p. (rus)

10. Goryushkin V.A. On the stability of fuzzy control systems. [Ob ustojchivosti nechetkih sistem upravleniya]. Bulletin of KRAUNTS. Phys.-math. science. 2011. Issue 1(2). Pp. 17-25. (rus)

11. Kruglov V.V., Dli M.I. Intelligent information systems: computer support for fuzzy logic and fuzzy inference systems. [Intellektual'nye informacionnye sistemy: komp'yuternaya podderzhka sistem nechetkoj logiki i nechetkogo vyvoda]. Moscow: Fizmatlit Publishing House, 2002. 198 p. (rus)

12. Kruglov V.V., Dli M.I., Golunov R.Yu. Fuzzy logic and artificial neural networks. [Nechetkaya logika i iskusstvennye nejronnye seti]. Moscow: Fizmatlit Publishing House, 2001. 221p. (rus)

13. Uskov A.A. Systems with fuzzy models of control objects. Monograph. [Sistemy s nechetkimi modelyami ob"ektov upravleniya. Monografiya]. Smolensk: SFRUK Publishing House, 2013. 153 p. (rus)

14. Flegontov A.V., Vilkov V.B., Chernykh A.K. Modeling of decision-making problems with fuzzy source data. [Modelirovanie zadach prinyatiya reshenij pri nechetkih iskhodnyh dannyh]. St. Petersburg: Publishing House of EBS Lan, 2020. 332 p. (rus)

15. Demidova G.L., Lukichev D.V., Kuzin A.Yu. Features of the use of fuzzy controllers on the example of speed control of a DC motor. [Osobennosti primeneniya nechetkih regulyatorov na primere upravleniya skorost'yu elektrodvigatelya postoyannogo toka]. Scientific and Technical Bulletin of Information Technologies, Mechanics and Optics. 2016. Vol. 16. No. 5. Pp. 872-878. (rus)

16. Two-wheeled Turtle platform. URL: https://amperka.ru/product/turtle-chassis (accessed 21.09.2023).

17. Martynenko Yu.G. Dynamics of mobile robots. [Dinamika mobil'nyh robotov]. Soros Educational Journal. 2000. Vol. 6. No. 5. Pp. 110-116. (rus)


Login or Create
* Forgot password?