Progress-servis55.ru

Новости из мира ПК
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Нечеткое моделирование в среде matlab

4 Моделирование нечеткой системы в matlab

4.1 Описание среды моделирования

MATLAB – это высокоуровневый язык технических расчетов, интерактивная среда разработки алгоритмов и современный инструмент анализа данных. MATLAB по сравнению с традиционными языками программирования (C/C++, Java, Pascal, FORTRAN) позволяет на порядок сократить время решения типовых задач и значительно упрощает разработку новых алгоритмов. MATLAB представляет собой основу всего семейства продуктов MathWorks и является главным инструментом для решения широкого спектра научных и прикладных задач, в таких областях как:

– моделирование объектов и разработка систем управления,

– проектирование коммуникационных систем,

– обработка сигналов и изображений,

– измерение сигналов и тестирование,

– финансовое моделирование, вычислительная биология и др.

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

Все встроенные функции ядра MATLAB разработаны и оптимизированы специалистами и работают быстрее или так же, как их эквивалент на C/C++.

Ключевые возможности и компоненты MATLAB:

– Платформонезависимый, высокоуровневый язык программирования ориентированный на матричные вычисления и разработку алгоритмов;

– Интерактивная среда для разработки кода, управления файлами и данными;

– Функции линейной алгебры, статистики, анализ Фурье, решение дифференциальных уравнений и др.;

– Богатые средства визуализации, 2-D и 3-D графика;

– Встроенные средства разработки пользовательского интерфейса для создания законченных приложений на MATLAB;

– Средства интеграции с C/C++, наследование кода, ActiveX технологии;

– Доступ к функциям .NET.

Одним из ключевых компонентов MATLAB является Simulink. Simulink — интерактивный инструмент для моделирования, имитации и анализа динамических систем. Он дает возможность строить графические блок-диаграммы, имитировать динамические системы, исследовать работоспособность систем и совершенствовать проекты. Simulink полностью интегрирован с MATLAB, обеспечивая немедленным доступом к широкому спектру инструментов анализа и проектирования. Simulink позволяет производить проверку результатов в режиме реального времени. Возможность задания в блоках любых математических выражений позволяет решать как типовые задачи, так и пробовать новые решения и находить наиболее эффективные компромиссы. Благодаря использованию этого продукта уменьшается потребность в покупке опытных образцов и сокращается стоимость тестирования. Пакет содержит обширную библиотеку компонентов блок-схемы, а также удобный редактор компонентов. Эти преимущества делают Simulink наиболее популярным инструментом для проектирования систем управления и коммуникации, цифровой обработки и других приложений моделирования.

Читать еще:  Объединение матриц matlab

Пакет «Matlab» c расширением «Fuzzy Logic Toolbox» позволяет создавать экспертные системы на основе нечеткой логики, проводить кластеризацию нечеткими алгоритмами, а также проектировать нечеткие нейросети. Пакет включает графический интерфейс для интерактивного пошагового проектирования нечетких систем, функции командной строки для разработки программ, а также специальные блоки для построения систем нечеткой логики в Simulink.

4.2 Моделирование нечеткого регулятора

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

В случае с мобильным роботом, входами нечеткой системы служат 5 инфракрасных датчиков, выходами – двигатели.

Рисунок 4.1 – Архитектура нечеткой системы

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

Как было сказано ранее, входами системы служат датчики, состоящие из пар инфракрасный светодиод – фототранзистор. При отсутствии поверхности под датчиком, либо наличии неотражающих поверхностей напряжение на фототранзисторе близко либо равно нулю. Чем больше отражательная способность поверхности, тем больше напряжение на фототранзисторе. Информация с датчиков поступает на АЦП микроконтроллера, который сопоставляет уровень полученного сигнала значениям [0;255].

Таким образом, при задании входным переменным функций принадлежности, выбран диапазон [0;255].

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

Для лингвистической оценки входных переменных используются два терма с именами «black» и «white», что соответствует белому и черному полю под датчиком робота

Рисунок 4.2 – Функции принадлежности входных переменных

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

Рисунок 4.3 – Функции принадлежности выходных переменных

При задании выходным переменным функций принадлежности выбран диапазон [-64;255]. Диапазон имеет отрицательные значения, так как в некоторых случаях роботу необходимо двигаться задним ходом.

Читать еще:  Комментарии в matlab

Для лингвистической оценки выходных переменных используются шесть термов с именами «back», «min», «slow», «med», «fast» и «max». Термы «min», «slow», «med», «fast» и «max» соответствуют случаям, когда колесо робот вращается вперед. Терм «back» соответствует вращению колеса в обратную сторону.

На рисунке 4.4 показано расположение датчиков робота, обозначенных как D1-D5. В реальных условиях линия, по которой едет робот может перекрывать от одного до трех датчиков.

Рисунок 4.4 – Расположение робота на линии

В зависимости от положения на линии возможны следующие основные реакции робота:

‒ робот разворачивается на месте;

­‒ робот резко поворачивает;

‒ робот плавно поворачивает;

‒ робот едет прямо с максимальной скоростью.

В таблице 4.1 описаны правила базы знаний робота. При этом 0 на датчике означает черный цвет, 1 – белый.

Ссылка на основную публикацию
Adblock
detector