- •Разработка интеллектуальных систем
- •Введение
- •Постановка решаемой задачи
- •Анализ задачи
- •Описание входных и выходных лингвистических переменных
- •Система правил нечёткой продукции
- •Разработка интеллектуальной системы
- •Тестирование разработанной интеллектуальной системы на базе нечёткой логики
- •Заключение
- •Список используемой литературы
Федеральное агентство морского и речного транспорта
Федеральное бюджетное образовательное учреждение
высшего профессионального образования
«Морской государственный университет им. адм. Г.И. Невельского»
Кафедра автоматических и информационных систем
Разработка интеллектуальных систем
НА БАЗЕ НЕЧЁТКОЙ ЛОГИКИ В MATLAB
Лабораторная работа по дисциплине
«Системы искусственного интеллекта»
Тема: «Разработать нечёткий авторулевой»
Выполнил студент группы 14.51: Белогривая К.С.
Проверил преподаватель: Седова Н. А.
Владивосток
2012
Оглавление
Список обозначений 3
Введение 5
Постановка решаемой задачи 6
Анализ задачи 8
Описание входных и выходных лингвистических переменных 9
Система правил нечёткой продукции 11
Разработка интеллектуальной системы 13
Тестирование разработанной интеллектуальной системы на базе нечёткой логики 24
Заключение 26
Список используемой литературы 27
Список обозначений
АР – авторулевой;
БПМ – блок программ маневров авторулевого;
ГК – гирокомпас;
ДП – диаметральная плоскость судна;
ДСП – датчик скорости поворота;
ИСНЛ – интеллектуальная система нечёткой логики;
К – курс;
ЛП – лингвистические переменные;
РМ – рулевая машина;
РП – рулевой привод;
САУ – система автоматического управления;
САУк - систему автоматического управления движением судна по курсу;
NB - Negative big(Большая со знаком «-»);
NM - Negative medium(Средняя со знаком «-»);
NS - Negative small(Малая со знаком «-»);
ZE - Zero(Нулевая);
PS - Positive small(Малая со знаком «+»);
PS - Positive medium(Средняя со знаком «+»);
PS - Positive big(Большая со знаком «+»);
(t) - задающая курс судна функция;
, ,– степень принадлежности;
- масштабированное значение выходной величины;
- величина перекладки руля:
β – угол перекладки руля;
, - выходная величина;
- масштабного коэффициента;
- масштабированные значения входных величин;
, -логические переменные;
ψ – отклонение текущего курса судна от заданного;
ω – скорость поворота судна относительно вертикальной оси;
(t) - задающая угловую скорость функция;
ε – угловая скорость.
Введение
Авторулевой - прибор, предназначенный для автоматического управления судовым рулевым приводом и, следовательно, автоматически, без участия рулевого матроса, удерживающий судно на заданном курсе. Авторулевой также производит повороты и изменения курса на заданную величину. В соответствии с полученным от датчика авторулевого сигналом рулевой привод совершает перекладку руля на определенный угол в сторону, противоположную уходу судна с курса. Как только судно начнет возвращаться на заданный курс, авторулевой отведёт руль, затем, удерживая его, переложит руль в противоположную сторону. Основной режим работы авторулевого – автоматический [№1].
Постановка решаемой задачи
Необходимо разработать интеллектуальную систему на базе нечёткой логики авторулевого.
Стабилизация курса заключается в поддержании текущих значений угловой скорости и курса равными этим значениям путем компенсации рулем отклонений от них, вызванных случайными воздействиями. при решении этой задачи должна[№2]:
измерять и поддерживать с требуемой точностью заданное значение курса на маневренных скоростях;
производить минимально возможное количество включений РМ;
обеспечивать минимальное отклонение руля по амплитуде;
работать устойчиво без автоколебаний [№2].
При стабилизации курса используется принцип управления по отклонению, который состоит в формировании величины перекладки руля для удержания судна на курсе в зависимости от ошибок управления ε и ψ [№2].
Масштабирование Фазификатор БПМ Масштабирование Дефазификатор (t),(t)
Нечеткий
логический вывод
РП Судно Ѱ,
ε , β К
ГК, ДСП
Блок-схема №1. Блок-схема САУк с нечетким АР
При использовании такой схемы оператором масштабирования ошибки управления ψ и ε приводятся к диапазону [-3, 3]. Затем фаззификатор преобразует масштабированные значения в логические переменные с 7 термами[№2].
Согласно правилу логического вывода в зависимости от термов входных величин находятся 49 значений выходной величины (обозначим их ) в лингвистической форме. Степень принадлежности к ним действительного значения выходной величины определяется по правилу = min{, }[№2].
Затем как средневзвешенное вычисляется масштабированное значение выходной величины [№2]:
=
По с помощью масштабного коэффициентанаходится величина перекладки руля:=* [№2].
ω = (t) K = (t)
Управление курсом состоит в регулировании курса и скорости поворота судна. Соответственно ошибка этого управления включает ошибку курса (ψ) и угловой скорости (ε) [№2]:
ε = (t) - ω(t) Ѱ = (t) – К(t)
Цель управления курсом состоит в сведении этих ошибок к нулю [№2].