Кинематика процесса копания грунта поворотом ковша экскаватора

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

 

V = 0,5R2lк(2j - sinj). (1)

 

 

Рис. 16. Схема копания грунта поворотным движением ковша

 

Глубина резания на начальном этапе

 

h = R[cos(j - b) - cosj], (2)

 

 

где h – глубина резания, м; R – радиус резания, м; j – половина полного угла поворота ковша в грунте, град; b – текущий угол поворота ковша, определяющий положение ковша относительно принятой системы отсчета, град.

При копании поворотом ковша R = Rк, при копании поворотом рукояти с ковшом R = Rк + lр, где Rк – радиус ковша; lр – длина рукояти.

Полагая, что весь разработанный грунт окажется в ковше: V = q, где q – вместимость ковша. Тогда угол поворота ковша j, необходимый для полного наполнения ковша определяется из формулы:

 

(2j - sinj) = .

Угол j может быть определен только приближенно. Зададим точность его определения величиной 0,0002. М-файл (если точнее, М-функция F.m) дает определение j при копании поворотом рукояти и ковша.

 

function [FIK,FIR]=F(q, lr)

lk=1.51*q^0.333-0.26;

RK=1.3*(q+0.3)^0.333;

R=lr+RK;

KNAP=1; KRAZR=1;

a2K=2*q*KNAP/(KRAZR*lk*RK^2);

a2R=2*q*KNAP/(KRAZR*lk*(RK+lr)^2); FIK=0; FIR=0;

for f=0.1: 1E-4: 1.4

a1=2*f-sin(2*f);

if abs(a2K-a1)<= 2E-4

FIK=f;

end

if abs(a2R-a1)<= 0.5E-4

FIR=f;

end

end

if FIK==0 | FIR==0

disp([' УГОЛ FI НЕ ОПРЕДЕЛЕН в бдоке FI'])

end

f=FIK; z1=2*f-sin(2*f);

f=FIR; z2=2*f-sin(2*f);

f=0.1: 0.01: 1.4;

a1=2*f-sin(2*f);

plot(f,a1, f,z1,'b:*', f,z2, 'm:+')

После вызова М-функции FI.m командой

>> q =0.4; lr = 1.6; [FIK,FIR]=F(q,lr);

будет построен график (рис. 17).

 

Рис. 17

Часть 2

Лабораторная работа 7

СОЗДАНИЕ ЭКСПЕРТНОЙ СИСТЕМЫ В MATLAB.

АЛГОРИТМ МАМДАНИ

Общие сведения

Используемый в различного рода экспертных системах механизм нечетких выводов в своей основе имеет базу знаний, формируемую специалистами предметной области в виде совокупности нечетких предикатных правил вида:

 

П1: если х есть А1, то у есть В1,

П2: если х есть А2, то у есть В2,

 

………………………………………….

 

Пn: если х есть Аn, то у есть Вn .

 

Общий логический вывод осуществляется за следующие 4 этапа:

 

1. Нечеткость.

Функции принадлежности, определенные на входных переменных, применяются к их фактическим значениям для определения степени истинности каждой предпосылки каждого правила.

2. Логический вывод.

Вычисленное значение истинности для предпосылок каждого правила применяется к заключениям каждого правила. Это приводит к одному нечеткому подмножеству, которое будет назначено каждой переменной вывода для каждого правила. В качестве правил логического вывода обычно используются только операции min (МИНИМУМ) или prod (УМНОЖЕНИЕ). В логическом выводе МИНИМУМА функция принадлежности вывода «отсекается» по высоте, соответствующей истинной степени истинности предпосылки правила (нечеткая логика «И»). В логическом выводе УМНОЖЕНИЯ функция принадлежности вывода масштабируется при помощи вычисленной степени истинности предпосылки правила.

3. Композиция.

Все нечеткие подмножества, назначенные для каждой переменной вывода, объединяются вместе, чтобы формировать одно нечеткое подмножество для каждой переменной вывода. При подобном объединении обычно используются операции max (МАКСИМУМ) или sum (СУММА). При композиции МАКСИМУМА комбинированный вывод нечеткого подмножества конструируется как поточечный максимум по всем нечетким подмножествам (нечеткая логика «ИЛИ»). При композиции СУММЫ комбинированный вывод нечеткого подмножества конструируется как поточечная сумма по всем нечетким подмножествам, назначенным переменной вывода правилами логического вывода.

4. Приведение к четности (дефазификация).

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

 

Алгоритм Мамдани.

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

 

П1: если х есть А1 и у есть В1, то z есть C1,

П2: если х есть А2 и у есть В2, то z есть C2.

 

 

1. Нечеткость: находятся степени истинности для предпосылки каждого правила А1(х0), А2(х0), В1(y0), В2(y0).

2. Нечеткий вывод: находятся уровни отсечения для предпосылок каждого из правил с использованием операции МИНИМУМ:

 

a1 = А1(х0) Ù В1(у0),

a2 = А2(х0) Ù В2(у0),

 

где через Ù обозначена операция логического минимума (min), затем находятся «усеченные» функции принадлежности

 

С1¢(z) = (a1 Ù C1(z)),

С2¢(z) = (a2 Ù C2(z)).

 

3. Композиция: с использованием операции МАКСИМУМ (max, обозначение: Ú) производится объединение найденных усеченных функций, что приводит к получению итогового нечеткого подмножества для переменной выхода с функцией принадлежности

 

mS(z) = C(z) = C1¢(z) Ú C2¢(z) = (a1 Ù C1(z)) Ú (a2 Ù C2(z)).

 

4. Приведение к четкости (для нахождения z0) проводится, например, центроидным методом (как х – координата центра тяжести функции принадлежности итогового нечеткого подмножества для переменной выхода).

Создание ЭС в MatLab

Для простоты будем считать, что базу знаний образуют два нечетких правила:

 

П1: если х есть А1 и у есть В1, то z есть C1,

П2: если х есть А2 и у есть В2, то z есть C2.

 

Создадим в MatLab экспертную систему:

 

 

В открывшемся окне выбираем Edit Þ FIS properties. Открывается окно FIS Editor:

 

 

Задаем две входные переменные x и y (EditÞAdd VariableÞInput) и одну выходную переменную z (EditÞAdd VariableÞOutput). Окно принимает вид:

 

Для переменной x, щелкнув на соответствующей иконке, задаем две гауссовых функции принадлежности (А1 и А2) (параметры выбрать произвольно):

 

 

Для переменной y, щелкнув на соответствующей иконке, задаем две гауссовых функции принадлежности (B1 и B2) (параметры выбрать произвольно).

 

Для переменной z, щелкнув на соответствующей иконке, задаем две треугольных функции принадлежности (C1 и C2) (параметры выбрать произвольно).

 

Открываем окно задания правил (Edit Þ Rules) и задаем два правила, устанавливая переключатели и нажимая кнопку Add Rule:

 

 

Для демонстрации работы экспертной системы выбираем ViewÞ Rules:

 

Задание.

1.Изменяя значения входных переменных, наблюдать за процессами композиции и дефуззификации.

2.Получить трехмерный график зависимости значений выходной переменной от значений входных переменных (View Þ Surface).

3.Получить двумерный график зависимости значений выходной переменной от значений одной входной переменной при фиксированной другой (выбрать, например, значение переменной y none).