Синтез нейромережевої системи управління двохмасовою електромеханічною системою із зазором у кінематичних ланках передач
© 2003 Ігор Володимирович Обруч
Опис демонстраційного прикладу
Задача. Забезпечити стійку роботу двохмасової електромеханічної системи із зазором у кінематичних ланках передач, при обмеженні координат електроприводу на рівні допустимих значень. Для більш детального опису об'єкта управління дивіться статтю, що додається до прикладу демонстрації.
Розв'язання. Для вирішення поставленої задачі був використаний нейроконтролер на базі штучної нейронної мережі типу перцептрон, структури 5-10-1. Вирішення цієї задачі можна перевірити за допомогою файлів, що додаються до демонстраційного прикладу.
Опис файлів, що входять до демонстраційного прикладу
Delphi7 – Вихідний текст бібліотеки для Mendel і модулів, що використовуються нею, мовою Паскаль, для середовища Delphi 7.0.
Matlab61 – Файли Matlab 6.1 для тестування результатів:
ems2.mdl – модель об'єкта управління;
ems2test.mdl – система управління об'єктом за допомогою нейроконтролера;
RepToMfile.exe – програма перетворення файлу звіту на двійковий файл для Matlab.
NC.mat – приклад двійкового файлу з даними нейроконтролера (матриці ваги та зсувів шарів нейронної мережі) у форматі Matlab. Цей фал за допомогою команди load можна завантажувати в Matlab 4 і старших версій.
Mendel4 – Файли, отримані за допомогою Mendel:
friction.m4t – збережений файл задачі;
friction.rep – файл звіту.
NNEMS – Стаття у форматі PDF з детальним описом об'єкта регулювання та завдань, що покладаються на нейроконтроллер
Порядок роботи із демонстраційним прикладом
Розпакуйте архів у якийсь каталог. Відкрийте файл friction.dpr у Borland Delphi та відкомпілюйте його. У каталозі TASK має з'явитись файл friction.dll.
Запустіть Mendel і створіть новий проєкт, вказавши в ньому як dll-файл бібліотеку friction.dll. Налаштуйте інші параметри генетичного алгоритму. Запустіть задачу. Коли значення цільової функції наблизиться до 20, зупиніть обчислення та створіть файл звіту у формі файлу ini.
У секції [параметри] файлу звіту містяться параметри нейроконтролера, синтезованого за допомогою Mendel. По цій секції потрібно створити файл для Matlab: текстовий двійковий (приклад – NC.mat). Для створення двійкового файлу використовуйте RepToMfile.exe.
Більш детальну інформацію про формат файлів .mat дивіться в документації по Matlab. Порядок відповідності отриманих параметрів параметрам нейроконтролера можна побачити у модулі DeCodeParam.pas.
Запустіть Matlab (моделі, що додаються, створені в Matlab версії 6.1). Запустіть Simulink і відкрийте файл ems2test.mdl. Завантажте у командне вікно Matlab файл із даними нейроконтролера, отриманого на попередньому кроці. Запустіть модель ems2test.mdl на розрахунок. Ви отримаєте перехідні процеси у двомасовій електромеханічній системі з нейроконтролером. Для перевірки синтезованого нейроконтролера в інших версіях Matlab, файл із моделлю доведеться створити самостійно. Дана система детально описана в статті, що додається.