УДК 681.325.5:621
DOI: 10.24412/2071-6168-2021-9-243-250
СИСТЕМА УПРАВЛЕНИЯ СКОРОСТЬЮ РОБОКАРА С ЭЛЕМЕНТАМИ ИСКУССТВЕННОГО ИНТЕЛЛЕКТА
Я.Л. Либерман, Л.Н. Горбунова
Рассмотрена задача по разработке системы управления скоростью робокара с применением математического аппарата нечеткой логики.
Ключевые слова: система управления, робокар, фаззи-регулятор, нечеткая логика, искусственный интеллект.
Как известно [1, 2], в ГПС типа гибкого производственного цеха или участка используются безрельсовые робокары, траектория движения которых задается управляющей микроЭВМ, работающей совместно с устройством маршрутослежения оптоэлектронного (излучатель - светоотражающая полоса) или индуктивного типа (пара индуктивных датчиков, включенных по дифференциальной схеме, - низкочастотный кабель). Таковы, в частности, робокары на базе автоматических тележек типа «Электроника», МП-12Т, тележки, разработанной в ИАЭ им. И. В. Курчатова и др. [3]. Движение подобных робокаров, как правило, происходит с постоянной скоростью, обеспечивающей безопасность транспортирования грузов. Вместе с тем, движение с постоянной скоростью не всегда позволяет минимизировать время доставки по назначению и обеспечить требуемую производительность робокара. С этой точки зрения представляется целесообразной разработка системы управления скоростью робокара, дополняющей систему управления траекторией его движения. Такая система, разработанная в УрФУ, и описывается в настоящей статье. Построена она применительно к робокару со следующими техническими характеристиками: максимальная масса транспортируемого груза - 500 кг, габаритные размеры робокара - 1850х850 мм, а расстояние между осями колес - 100 см.
В связи с трудностью расчета сил сцепления колес робокара с поверхностью пола цеха, при различных нагрузках, и определения центробежных сил, действующих на робокар при поворотах, по-видимому, имеет смысл обратиться к опыту квалифицированных водителей электрокаров, широко распространенных в настоящее время в промышленности, и строить нужную систему управления скоростью, используя указанный опыт. Осуществить это можно, применяя элементы искусственного интеллекта, базирующиеся на математическом аппарате нечеткой логики или фаззи-логики.
Главным звеном всякой системы управления, базирующейся на фаззи-логике, является фаззи-регулятор, действие которого основано на знаниях экспертов, способных сформулировать базу правил в форме [4]
ЕСЛИ (предпосылка), ТО (вывод).
На этих знаниях строится база данных с функциями принадлежности для предпосылок (входных переменных) и выводов (выходной переменной). В нашем случае функциями принадлежности для предпосылок могут быть /(т) и /(Я), а для выводов - /(У), где т -масса груза, перевозимого робокаром, Я - текущий радиус поворота, V - текущая скорость робокара.
Как известно [5], функция принадлежности, в общем случае, - это функция, показывающая, в какой степени (насколько) элементы некоторого множества обладают характеристическим свойством, используемым для задания этого множества. Одной из самых простых является треугольная функция принадлежности вида
/(х, а, Ь) = 1х - а\/Ь, (1)
где х - переменная; а, Ь - параметры.
Наряду с простотой, она обладает достаточной адаптационной способностью, а потому в качестве /(т), /(Я) и/(V) при разработке требуемой системы управления приняли именно ее. Для конкретизации параметров кривой (1) применительно к лингвистическим переменным т («масса»), Я («радиус»), V («скорость») и их интервалам, обозначенным, как это принято в нечеткой логике, символическими именами - термами, вначале потребовалось описать знания экспертов в виде эвристических постулатов:
1. Движение по прямой, т. е. радиус очень-очень большой (ОЧ ОЧ Б), следует производить с максимальной (М) скоростью, независимо от массы груза.
243
2. Если масса очень малая (ОЧ М) и радиус очень малый (ОЧ М), то робокар должен двигаться с малой рабочей (МР) скоростью.
3. Если масса очень малая (ОЧ М) и радиус малый (МАЛ), то робокар должен двигаться со средней рабочей (СР) скоростью.
4. Если масса очень малая (ОЧ М) и радиус средний (СР), то робокар должен двигаться с большой рабочей (БР) скоростью.
5. Если масса очень малая (ОЧ М) и радиус большой (БОЛ), то робокар должен двигаться с наибольшей рабочей (НБР) скоростью.
6. Если масса очень малая (ОЧ М) и радиус очень большой (ОЧ Б), то робокар должен двигаться с максимальной (М) скоростью.
7. Если масса малая (МАЛ) и радиус очень малый (ОЧ М), то робокар должен двигаться с малой рабочей (МР) скоростью.
8. Если масса малая (МАЛ) и радиус малый (МАЛ), то робокар должен двигаться со средней рабочей (СР) скоростью.
9. Если масса малая (МАЛ) и радиус средний (СР), то робокар должен двигаться со средней рабочей (СР) скоростью.
10.Если масса малая (МАЛ) и радиус большой (БОЛ), то робокар должен двигаться с большой рабочей (СР) скоростью.
11.Если масса малая (МАЛ) и радиус очень большой (ОЧ Б), то робокар должен двигаться с наибольшей рабочей (НБР) скоростью.
12.Если масса средняя (СР) и радиус очень малый (ОЧ М), то робокар должен двигаться с наименьшей рабочей (НМР) скоростью.
13.Если масса средняя (СР) и радиус малый (МАЛ), то робокар должен двигаться с малой рабочей (МР) скоростью.
14.Если масса средняя (СР) и радиус средний (СР), то робокар должен двигаться со средней рабочей (СР) скоростью.
15.Если масса средняя (СР) и радиус большой (БОЛ), то робокар должен двигаться с большой рабочей (БР) скоростью.
16.Если масса средняя (СР) и радиус очень большой (ОЧ Б), то робокар должен двигаться с наибольшей рабочей (НБР) скоростью.
17.Если масса большая (БОЛ) и радиус очень малый (ОЧ М), то робокар должен двигаться с ползучей (П) скоростью.
18.Если масса большая (БОЛ) и радиус малый (МАЛ), то робокар должен двигаться с наименьшей рабочей (НМР) скоростью.
19.Если масса большая (БОЛ) и радиус средний (СР), то робокар должен двигаться с малой рабочей (МР) скоростью.
20.Если масса большая (БОЛ) и радиус большой (БОЛ), то робокар должен двигаться со средней рабочей (СР) скоростью.
21.Если масса большая (БОЛ) и радиус очень большой (ОЧ Б), то робокар должен двигаться с большой рабочей (БР) скоростью.
22.Если масса очень большая (ОЧ Б) и радиус очень малый (ОЧ М), то робокар должен двигаться с ползучей (П) скоростью.
23.Если масса очень большая (ОЧ Б) и радиус малый (МАЛ), то робокар должен двигаться с ползучей (П) скоростью.
24.Если масса очень большая (ОЧ Б) и радиус средний (СР), то робокар должен двигаться с наименьшей рабочей (НМР) скоростью.
25.Если масса очень большая (БОЛ) и радиус большой (БОЛ), то робокар должен двигаться с малой рабочей (МР) скоростью.
26.Если масса очень большая (ОЧ Б) и радиус очень большой (ОЧ Б), то робокар должен двигаться со средней рабочей (СР) скоростью.
Максимальное значение всякой функции принадлежности, по определению, равно 1. Согласно [4], правомерно полагать, что значения функций, соответствующих двум соседним термам, в точке их пересечения равны 0,5. Учитывая это и, исходя из типичных условий эксплуатации робокаров, далее были получены интерпретации функции принадлежности типа треугольной для пяти термов лингвистических переменных т, шести термов лингвистической переменной Я и семи термов лингвистической переменной V (табл. 1, рис.1).
Таблица 1
Интерпретации функции принадлежности (1)_
Лингвистическая переменная Обозначение терма Интервал, соответствующий терму Функции принадлежности, соответствующие терму
m ОЧ М [0; 501 f 1(m) = 1
[50; 1501 f 1(m) = (150 - m)/100
МАЛ [50; 1501 f 2(m) = (m - 50)/100
[150; 2501 f 2(m) = (250 - m)/100
СР [150; 2501 f 3(m) = (m - 150)/100
[250; 3501 f 3(m) = (350 - m)/100
БОЛ [250; 3501 f 4(m) = (m - 250)/100
[350; 4501 f 4(m) = (450 - m)/100
ОЧ Б [350; 4501 f 5(m) = (m - 350)/100
[450; 5001 f 5(m) = 1
R ОЧ М [140; 1561 f 1(R) = (156 - R)/16
МАЛ [140; 1561 f 2(R) = (R - 140)/16
[156; 1751 f 2(R) = (175 - R)/19
СР [156; 1751 f 3(R) = (R - 156)/19
[175; 2001 f 3(R) = (200 - R)/25
БОЛ [175; 2001 f 4(R) = (R - 175 )/25
[200; 2401 f 4(R) = (240 - R)/40
ОЧ Б [200; 2401 f 5(R) = (R - 200 )/40
ОЧ ОЧ Б > 240 f 6(R) = 1
V П [0,1; 0,21 f 1(V) = (0,2 - V)/0,1
НМР [0,1; 0,21 f 2(V) = (V - 0,1)/0,1
[0,2; 0,31 f 2(V) = (0,3 - V)/0,1
МР [0,2; 0,31 f 3(V) = (V - 0,2)/0,1
[0,3; 0,41 f 3(V) = (0,4 - V)/0,1
СР [0,3; 0,41 f (V) = (V - 0,3)/0,1
[0,4; 0,51 f 4(V) = (0,5 - V)/0,1
БР [0,4; 0,51 f 5(V) = (V - 0,4)/0,1
[0,5; 0,61 f 5(V) = (0,6 - V)/0,1
НБР [0,5; 0,61 f 6(V) = (V - 0,5)/0,1
[0,6; 0,71 f 6(V) = (0,7 - V)/0,1
М [0,6; 0,71 f 7(V) = (V - 0,6)/0,1
Это позволило организовать сформулированные правила в виде матрицы (табл. 2). С помощью этой матрицы нетрудно производить операцию фаззификации - установление соответствия между конкретным значением отдельной входной переменной и значением функции принадлежности соответствующего ей терма переменной.
в
Рис. 1. Графики функций принадлежности: а - для лингвистической переменной т, кг; б - для лингвистической переменной Я, см; в - для лингвистической переменной V, м/с
Поскольку нечеткая логика предполагает возможность частичного наложения термов, поэтому в процессе фаззификации принципиально не исключено получение нескольких значений функции принадлежности, соответствующих одному значению лингвистической переменной. Для того, чтобы остановиться на одном из полученных значений, после фаззификации обычно производят агрегирование [6]. Эта операция представляет собой процедуру определе-
245
ния степени истинности найденных значений функций принадлежности, и установление связи между ними, описываемой, чаще всего, либо логическим «и», либо логическим «или». В нашем случае указанная связь описана как «и».
Таблица 2
Матрица правил_
Радиус Масса
ОЧ М МАЛ СР БОЛ ОЧ Б
ОЧ М МР МР НМР П П
МАЛ СР СР МР НМР П
СР БР СР СР МР НМР
БОЛ НБР БР БР СР МР
ОЧ Б М НБР НБР БР СР
ОЧ ОЧ Б М М М М М
После агрегирования всякий фаззи-регулятор должен выполнять активирование - операцию, направленную на расширение агрегирования на все правила, описанные матрицей. Эта операция аналогична композиции нечетких отношений и была выполнена простейшим образом - по условию минимума. Это дало возможность далее достаточно легко (по правилу максимума) осуществить операцию аккумулирования - процедуру отыскания значения функции принадлежности входного параметра регулятора.
Операции агрегирования, активирования и аккумулирования в совокупности представляют собой механизм нечетких выводов, в результате которых переменной т присваивается значение входной переменной т', переменной Я присваивается значение входной переменной Я', обусловленные этим /(т) = /(т') и /(Я) = /(Я') дают вполне определенную функцию /(т!, Я', V). Если теперь произвести операцию дефаззификации - отыскание по/(т', Я', V) величины V (удобнее всего для этого применить метод центра тяжести), то нетрудно получить значение требуемой скорости движения робокара, отвечающее исходной базе знаний:
V' = / (V) VI +/2 (V) V2 + /з (V) Vз + /4 (V) ^ + /5 (V) ¥5 + /б (V) ^ +/? (V) V?]/
/[/1 (V) + /2 (V) + /з (V) +/4 (V) +/5 (V) +/6 (V) + /7 (V)]. Построенный на основе описанных принципов фаззи-регулятор формирует выходной сигнал, задающий скорость движения роботележки в процессе ее движения.
Функциональная схема предлагаемой системы управления приведена на рис. 2. Она включает в себя датчики массы и угла поворота рулевых колес тележки, аналого-цифровой преобразователь, преобразователь код-код, фаззи-регулятор, цифро-аналоговый преобразователь и регулируемый привод перемещения.
т т
Функции принадлежности входа ; Функция принадлежности выхода
База данных
Фаззи-регулятор
Экспертные знания
База правил
ЕСЛИ ... ТО ...
ЕСЛИ... ТО ...
Фаззификация
/м
/гю
Агрегирование Активирование |
Аккумулирование
Механизм нечетких логических выводов
АЦП
ПКК
/?т', Я', V)
Дефаззификация
Датчик массы
Датчик угла поворота рулевых колес тележки
ЦАП
т
Привод перемещения
Рис. 2. Схема системы управления
Алгоритм работы фаззи-регулятора представлен на рис. 3, где 1 - начало; 2 - ввод массы груза и радиуса поворота робокара; 3 - проверка: Я' > 240; 4 - проверка: «значения массы груза и радиуса принадлежат заданному интервалу?»; 5 - фаззификация входных перемен-
246
ных (массы груза и радиуса); 6, 9, 12, . . . , 78 - проверка:/(т) > 0 ИДЛ') > 0 И/(т) >ДЛ')?; 7, 10, 13, . . . , 79 - присвоение переменной/(т', Л', V) значения/д(Л'); 8, 11, 14, . . . , 80 - присвоение переменной /(т', Л', V) значения /(т); 81 - аккумулирование (выбор наибольшего значения) функций принадлежности /(т', Л', V); 82 - деффазификация выходной переменной «скорость» V по формуле; 83 - присвоение V значения 0,7 при Л' > 240; 84 - присвоение V значения 0 при ошибке ввода; 85 - вывод значения V; 86 - конец.
Как уже отмечалось, фаззи-регулятор - главное звено предлагаемой системы управления. Однако, наряду с ним в указанной системе применен еще один оригинальный блок - преобразователь код-код, с помощью которого осуществляется связь датчика угла поворота рулевых колес тележки робокара в с фаззи-регулятором. Его применение обусловлено тем, что датчик угла поворота колес робокара представляет собой преобразователь угол - код Грея (рис. 4) [6], а код Грея (КГ) перед вводом в фаззи-регулятор необходимо преобразовать в естественный двоичный код (ЕКД), отображающий именно радиус Л поворота тележки робокара.
Рациональнее всего такое преобразование производить с помощью соответствий, приведенных в табл. 3. На основе табл. 3 требуемый преобразователь код-код был построен двухступенчатым. Первая ступень выполнена аппаратно на базе сумматоров по модулю 2 (рис. 5, а) и осуществляет преобразование n-разрядных комбинаций ana n-i . . . ai кода Грея в n-разрядные комбинации anan-i . . . ai естественного двоичного кода (при дискретности датчика угла 1 градус и диапазоне его работы ±45 градусов n = 6). Вторая ступень реализована программно с помощью отдельного вычислителя, действующего согласно алгоритму, показанному на рис. 5, б.
Этот алгоритм базируется на принципе отыскания выходной кодовой комбинации, являющейся результатом преобразования, по «весу» входной кодовой комбинации, определяемому как
N = Ца • ki),
где ai - символ 0 или 1 в i-ом разряде комбинации естественного двоичного кода; ki - весовой коэффициент i-го разряда этого кода (ki = 1, k2 = 2, кз = 4, k4 = 8, . . .).
а б
Рис. 4. Шкала датчика угла поворота р колес робокара (а) и схема взаимосвязи угла р с радиусом Я поворота тележки робокара (б)
Таблица
Таблица 3
соответствии
Угол КГ ЕДК «Вес» Радиус ЕДК
в угла в угла р ЕДК угла в Я, см радиуса Я
45 000001 000001 1 141 0000010001101
44 000011 000010 2 144 0000010010000
43 000010 000011 3 147 0000010010011
42 000110 000100 4 149 0000010010101
41 000111 000101 5 152 0000010011000
40 000101 000110 6 156 0000010011100
39 000100 000111 7 159 0000010011111
38 001100 001000 8 162 0000010100010
37 001101 001001 9 166 0000010100110
36 001111 001010 10 170 0000010101010
35 001110 001011 11 174 0000010101110
34 001010 001100 12 179 0000010110011
33 001011 001101 13 184 0000010111000
32 001001 001110 14 189 0000010111101
31 001000 001111 15 194 0000011000010
30 011000 010000 16 200 0000011001000
29 011001 010001 17 206 0000011001110
28 011011 010010 18 213 0000011010101
27 011010 010011 19 220 0000011011100
26 011110 010100 20 228 0000011100100
25 011111 010100 21 237 0000011101101
24 011101 010101 22 246 0000011110110
23 011100 010110 23 256 0000100000000
22 010100 010111 24 267 0000100001011
21 010101 011991 25 279 0000100010111
20 010111 011010 26 292 0000100100100
19 010110 011011 27 307 0000100110011
18 010010 011100 28 324 0000101000100
17 010011 011101 29 342 0000101010110
16 010001 011110 30 363 0000101101011
15 010000 011111 31 386 0000110000010
14 110000 100000 32 413 0000110011101
13 110001 100001 33 445 0000110111101
12 110011 100010 34 481 0000111100001
11 110010 100011 35 524 0001000001100
10 110110 100100 36 576 0001001000000
9 110111 100101 37 639 0001001111111
8 110101 100110 38 719 0001011001111
7 110100 100111 39 821 0001100110101
6 111100 101000 40 957 0001110111101
5 111101 101001 41 1147 0010001111011
4 111111 101010 42 1434 0010110011010
3 111110 101011 43 1911 0011011110111
2 111010 101100 44 2865 0101100110001
1 111011 101101 45 5730 1011001100010
Величина N используется как номер кодовой комбинации (строки) в специальной таблице, куда заранее записаны выходные комбинации (в нашем случае двоичные эквиваленты значений радиусов R, соответствующие значениям углов в). Алгоритм весьма прост. Он включает в себя 1 - оператор начала; 2 - оператор ввода преобразуемой комбинации апа п—1 . . . а1; 3 - вычисление N 4 - присвоение некоторой промежуточной переменной j значения 0; 5 - уве-
личение j на единицу; 6 - проверка равенства j и N 7 - оператор выбора результата из j-ой строки таблицы; 8 - вывод результата и ввод его в фаззи-регулятор; 9 - конец преобразования. Остальные блоки системы построены общеизвестным образом, в частности, так, как описано, например, в работе [7] и др.
к5-
а2-
■Q?
а б
Рис. 5. Преобразователь код-код: а - схема первой ступени; б - алгоритм действия второй ступени
Поскольку разработанная система управления скоростью робокара достаточно проста, затраты на ее изготовление невелики. Между тем, в сочетании с системой управления траекторией движения робокара, она может повысить его производительность до двух раз.
Поскольку разработанная система управления скоростью робокара достаточно проста, затраты на ее изготовление невелики. Между тем, в сочетании с системой управления траекторией движения робокара, она может повысить его производительность до двух раз.
Список литературы
1. Гибкие производственные комплексы / Под ред. П.Н. Белянина, В.А. Лещенко. М.: Машиностроение, 1984. 384 с.
2. Волчкевич Л.И., Усов Б.А. Транспортно-накопительные системы ГПС. М.: Высшая школа, 1989. 112 с.
3. Гибкое автоматическое производство / Азбель В.О., Егоров В.А., Звоницкий А.Ю. и др. Л.: Машиностроение, 1985. 376 с.
4. Белов М.П., Новиков В.А., Рассудов Л.Н. Автоматизированный электропривод типовых производственных механизмов и технологических комплексов. М.: Изд. Центр «Академия», 2004. 576 с.
5. Леоненков А.В. Нечеткое моделирование в среде MATLAB и fuzzy TECH. СПб.: БХВ-Петербург, 2005. 736 с.
6. Анисимов Б.В., Четвериков В.Н. Преобразование информации для ЭЦВМ. М.: Высшая школа, 1968. 335 с.
7. Шляндин В.М. Цифровые измерительные преобразователи и приборы. М.: Высшая школа, 1973. 280 с.
Либерман Яков Львович, канд. техн. наук, доцент, Yakov_ [email protected], Россия, Екатеринбург, Уральский федеральный университет,
Горбунова Любовь Николаевна, канд. техн. наук, доцент, [email protected], Россия, Красноярск, Сибирский федеральный университет
ROBOCAR SPEED CONTROL SYSTEM WITH ARTIFICAL INTELLIGENCE ELEMENTS
Y.L. Liberman, L.N. Gorbunova 249
The problem of developing a robocar speed control system with elements of the fuzzy logic apparatus is considered.
Key words: control system, robocar, fuzzy controller, fuzzy logic, artificial intelligence.
Lieberman Yakov Lvovich, candidate of technical sciences, docent, [email protected], Russia, Yekaterinburg, Ural Federal University,
Gorbunova Lyubov Nikolaevna, candidate of technical sciences, docent, [email protected], Russia, Krasnoyarsk, Siberian Federal University
УДК 004.94; 331.45
DOI: 10.24412/2071-6168-2021-9-250-252
СРАВНИТЕЛЬНЫЙ АНАЛИЗ ДАННЫХ ДЛЯ УЛУЧШЕНИЯ УСЛОВИЙ ТРУДА
А.А. Шишкина
Представлены результаты математического моделирования и последующего анализа полученных данных о влиянии открытых окон на помещение и безопасность труда в рассматриваемой комнате. Получены и приведены распределения скоростей ветра, полученные с помощью компьютерного моделирования.
Ключевые слова: сравнительный анализ, обработка информации, программное обеспечение, математическое моделирование, условия труда, охрана труда.
Вопрос перемещения воздушных масс является весьма актуальным, особенно если речь идет о сохранении жизни, здоровья и материальных ресурсов. Так, открытое окно способно не только привести к болезням, но и навредить имуществу. Сам по себе ветер не является возбудителем болезни, однако понижение температуры тела снижает иммунитет, что дает вирусам, бактериям и грибкам преимущество. Помимо этого, ветер способен принести разрушительные последствия, как для зданий, так и для имущества внутри него, если, например, не закрыть окно.
В ряде случаев, например, при высокой температуре окружающей среды, при нахождении в замкнутом помещении без притока свежего воздуха, при неработающем кондиционирующем оборудовании возникает необходимость в проветривании помещения. Проветривание зачастую осуществляется с помощью открытого окна, но если за окном скорость ветра значительна, то в этом случае снижение температуры тела человека может произойти за короткий промежуток времени (в зависимости от скорости ветра, влажности воздуха, индивидуальных особенностей организма, степени попадания ветра на кожу), что может привести к различным последствиям, а в конечном счете и к нарушению условий охраны труда. Поэтому встает вопрос о влиянии открытого окна на микроклимат в помещении. В данном случае будет рассмотрен вариант воздействия ветра на помещение в зависимости от полного или частичного открытия окна.
Материалы и методы. Ранее было проведено моделирование климатического оборудования и установлено его влияние на условия труда [1-3]. В настоящей работе с помощью программного обеспечения Ansys [4-6] было промоделировано воздействие ветра на помещение через полностью открытое окно, и через окно, открытое наполовину. Данный анализ позволит не только узнать какой из вариантов более предпочтительный для различных ситуаций, но и позволит повысить безопасность труда за счет правильной расстановки мебели.
Анализ результатов. На рис. 1 и 2 представлена скорость движения воздуха в помещении с открытым окном (рис. 1, а) и с частично открытым окном (рис. 1, б).
250