зворотного поширення помилки). Використовуються також інші методи пошуку мінімуму, в тому числі генетичні алгоритми, метод моделювання відпалу, метод найменших квадратів. Процес «навчання» нейронної мережі виглядає наступним чином (малюнок 2.9). Експертові надають можливість підлаштовувати параметри регулятора K, Ti, Td в замкнутій системі автоматичного регулювання при різних вхідних впливах r (t).
Передбачається, що експерт вміє це робити з достатнім для практики якістю. Тимчасові діаграми (осцилограми) змінних r *, e *, u *, y *, отримані в подстраиваемой експертом системі (малюнок 2.9а), записуються в архів і потім подаються на нейронну мережу, підключену до ПІД - регулятору (малюнок 2.9б). Нейронна мережа налаштовується таким чином, щоб мінімізувати похибку? =(U * - u) 2 між сигналом u *, отриманим за участю експерта, і сигналом u, отриманим в процесі" навчання" нейронної мережі.
Малюнок 2.9 - Схема «навчання» нейронної мережі в блоці авто налаштування:
а - система управління, Підлаштовуємося експертом;
б - нейронна мережа, «навчати» за допомогою сигналів, які отримані в представленої на малюнку 2.9а системі [7]
Після виконання процедури «навчання» параметри нейронної мережі заносяться в блок авто настройки. У відповідності з теорією нейронних мереж «навчена» нейронна мережа повинна вести себе так само, як і експерт, причому навіть при тих вхідних впливах, які не були включені в набір сигналів, використаних при «навчанні». Тривалість процесу «навчання» є основною перепоною на шляху широкого використання методів нейронних мереж в ПІД - регуляторах [7].
3. ПОСТАНОВКА ЗАВДАННЯ
Метою даної роботи є дослідження і розробка нейронної мережі для регулювання коефіцієнтів ПІД - регулятора, керуючого рухомим об'єктом.
Потрібно побудувати нейронну мережу, здатну підрахувати коефіцієнти ПІД - регулятора (Kp - пропорційний, Ki - інтегральний, Kd - диференціальний) грунтуючись на результатах попередніх експериментів, для мінімального часу заїзду робота.
Структуру побудованої нейронної мережі необхідно оптимізувати: для заданої задачі знайти оптимальне число шарів нейронів, оптимальну функцію активації і вид навчання.
Дії, які необхідно провести для вирішення вище зазначеної задачі:
Написання програми руху робота в середовищі програмування BrixcCC, використовуючи ПІД - регулятор.
Налагодження програми, проведення експериментів з ручною коригуванням коефіцієнтів ПІД - регулятора.
Визначити вид нейронної мережі, кількість шарів і нейронів, вибір навчання мережі.
Написання нейронної мережі. Навчання її, грунтуючись на результатах проведених раніше експериментів.
Перевірка роботи навченої нейронної мережі.
4. ПРАКТИЧНА ЧАСТИНА
. 1 розробки й налагодження програм РУХУ МОБІЛЬНОГО РОБОТА
Дану програму зручніше написати в середовищі програмування BricxCC.
Рух по лінії можна здійснювати декількома способами, один з найпростіших - рух по межі чорної лінії і поля з використанням одного колірного датчика в режимі фіксації відбитого світла. Сенсор містить світло- та фотодіод. Світлодіод висвітлює ділянку поверхні, а фото-діод приймає відбите світло. За інтенсивністю отриманого світла можна судити про те, на якій ділянці контрастною лінії робот знаходиться. Завдання полягає в тому, щоб, керуючи швидкостями двох коліс, переміщати робота вздовж лінії. Одним із способів вирішення цієї задачі є утримування сенсора світла на кромці лінії. Для цього необхідно заміряти значення рівня освітленості на кордоні лінії, цей рівень буде прийнятий еталонним. Всяке відхилення від цього рівня (помилку) потрібно компенсувати прискоренням одного з коліс і гальмуванням іншого [6].
Основний код програми для руху мобільного робота наведений у додатку А. У даному розділі розглянемо основні використовувані в програмі функціі.main () - це точка входу в программу.- цілочисельний тип даних діапазон значень: 0 ... 65535.- речовинний тип даних, діапазон значень: 3.4? 10-38 ... 3.4? 1038offset=28 - експериментально виміряний рівень освітлення, прийнятий надалі за еталон., ki, kd - коефіцієнти ПІД - регулятора, пропорційний, інтегральний і диференціальний відповідно. ( S1) - ініціалізація датчика кольору в якості датчика освітленості з використанням червоної подсветкі.light=SENSOR_1 - зчитування поточного значення освітленості в змінну light. (10, 5, light) - функція виводить на дисплей число у зазначеній координаті дисплея.