Не отобразилась форма расчета стоимости? Переходи по ссылке

Не отобразилась форма расчета стоимости? Переходи по ссылке

Отчёт по практике на тему «Исследование и разработка нейронной сети для настройки коэффициентов ПИД-регулятора»

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

Написание отчета за 5 дней

РЕФЕРАТ

Отчет по производственной практике составляет 40 страниц, 13 иллюстраций, 9 источников, 3 приложения, 3 таблицы.

НЕЙРОННАЯ СЕТЬ, ПИД — РЕГУЛЯТОР, LEGO MINDSTORMS NXT, МЕТОД ОБУЧЕНИЯ С ОБРАТНЫМ РАСПРОСТРОНЕНИЕМ ОШИБКИ, НАСТРОЙКА КОЭФФИЦИЕНТОВ ПИД — РЕГУЛЯТОРА.

Объектом производственной практики является исследование и разработка нейронной сети для настройки коэффициентов ПИД — регулятора мобильного робота Lego Mindstorms NXT.

Цель работы — создание нейронной сети для регулировки параметров ПИД — регулятора.

В процессе работы были исследованы виды нейронных сетей, методы их обучения. В практической части описано создание нейронной сети для регулировки коэффициентов ПИД -регулятора, с методом обучения обратного распространения ошибки.

Уровень математического аппарата — интегральный.

Работа выполнена в текстовом редакторе Microsoft Word 2010, программирование проводилось в среде BrixcCC на языке NXC, в среде математического моделирования MATlab.

ABSTRACT

on a field trip is 40 pages, 12 figures, 9 sources, 3 applications, 3 tables. neural network PID — REGULATOR, LEGO MINDSTORMS NXT, teaching method with reverse proliferation errors, set the coefficients of the PID — REGULATOR.object of industrial practice is to research and development of the neural network to adjust the coefficients of the PID — controller of the mobile robot Lego Mindstorms NXT.

Purpose — to create a neural network to adjust the parameters of PID — controller.

In the process, were investigated types of neural networks, methods of learning. In the practical part describes how to create a neural network to adjust PID control adjusts the coefficients, with the method of teaching Levenberg — Marquardt. level of mathematical apparatus — integral. is done in a text editor, Microsoft Word 2010, programming was carried out in an environment BrixcCC language NXC, among mathematical modeling MATlab.

АННОТАЦИЯ

Исследование и разработка нейронной сети для настройки коэффициентов ПИД — регулятора мобильного робота LEGO Mindstorms NXT.

Автор Ример Дмитрий Игоревич, ТУСУР, факультет электронной техники (ФЭТ), кафедра электронных приборов (ЭП), 4 курс, 2014 г.

Научный руководитель Евгений Евгеньевич Слядников, доктор технических наук, профессор кафедры ЭП.

В работе рассмотрены основные виды нейронных сетей, методы их обучения. Так же рассмотрен мобильный робот Lego Mindstorms NXT, используемый в нем ПИД — регулятор.

Создана программа для управления мобильным роботом. Так же написана искусственная нейронная сеть, в среде математического моделирования Matlab, для корректировки коэффициентов ПИД — регулятора.

Обученная нейронная сеть с достаточной точностью способна подбирать коэффициенты ПИД — регулятора мобильного робота. Для более точной работы нейронной сети необходимо интегрировать её в память мобильного робота, увеличить количество экспериментов необходимых для обучения нейронной сети.

Данная работа направлена на дальнейшее исследование нейронных сетей, для упрощения человеческого труда при настройке ПИД — регулятора.

СОДЕРЖАНИЕ

1. Введение

. Литературный обзор

.1 Нейронная сеть

.2 Модель искусственного нейрона

.3 Активационные функции

.4 Однослойный персептрон

.5 Многослойный персептрон

.6 Обучение нейронных сетей

.7 Правило коррекции по ошибке

.8 Комплект “LEGO Mindstorms NXT

Нужна помощь в написании отчета?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Наша система гарантирует сдачу работы к сроку без плагиата. Поможем с характеристой и презентацией. Правки внесем бесплатно.

Заказать отчет

.9 Нейронная сеть в ПИД — регуляторах

. Постановка задачи

. Практическая часть

.1 Разработка и отладка программы движения мобильного робота

.2 Разработка нейронной сети

.3 Результаты работы

Заключение

Список литературы

Приложение А. Листинг программы движения мобильного робота

Приложение Б. Экспериментальные данные

Приложение В. Листинг нейронной сети

нейронный сеть робот регулятор

1. ВВЕДЕНИЕ

В данной работе рассматривается двуслойная нейронная сеть прямого распространения с обратным распространением ошибки, способная подбирать коэффициенты ПИД-регулятора, для управления движения робота.

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

Искусственные нейронные сети, (Artificial Neural Networks, ANN), -далее ИНС — созданы по аналогии с биологической нейронной сетью человеческого мозга. Они состоят из элементов, функциональные возможности которых подобны элементарным функциям биологических нейронов, и чья организация соответствует анатомии человеческого мозга.

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

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

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

ИНС применяются в следующих областях: анализ и обработка сигналов, распознавание изображений, управление технологическими процессами, фильтрация шумов, робототехника, язык обработки, медицинская диагностика, контекстная реклама в интернете, системы видеонаблюдения и др. [1].

 

2. ЛИТЕРАТУРНЫЙ ОБЗОР

.1 НЕЙРОННОЯ СЕТЬ

В 1943 году американским ученым Уорреном Маккалоком (W. McCulloch) и его учеником Уолтером Питтсом (W. Pitts) была создана первая математическая модель нейрона (базового элемента мозга). Также они сформулировали основные положения теории деятельности головного мозга.

Ими было сделано следующее:

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

предложена конструкция сети таких элементов для выполнения логических и арифметических операций;

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

За последнее время развитие теории нейронных сетей ушло далеко вперед, но по-прежнему многие утверждения У. Маккаллока остаются актуальными. В частности, при большом разнообразии моделей нейронов принцип их действия, заложенный У. Маккаллоком и У. Питтсом, остается неизменным. Недостатком модели У. Маккаллока является то, что эта модель использует пороговый вид активационной функции нейрона, который не дает нейронной сети достаточную гибкость при обучении и настройке для решения поставленной задачи.

Нужна помощь в написании отчета?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Наша система гарантирует сдачу работы к сроку без плагиата. Поможем с характеристой и презентацией. Правки внесем бесплатно.

Цена отчета

Дальнейшее развитие теория нейронных сетей получила в работах американского нейрофизиолога Френсиса Розенблатта (Rosenblatt F.).

В 1958 году Ф. Розенблат создал собственную модель нейронной сети, путем введения в модель У. Маккаллока и У. Питтса способность связей к модификации, что сделало ее обучаемой. Эта модель была названа персептроном.

Первоначально персептрон представлял собой однослойную структуру с жесткой пороговой функцией процессорного элемента и бинарными или многозначными входами, в дальнейшем эта модель была значительно усовершенствована [2].

Любая нейронная сеть предполагает большой объем вычислений (обучение сети обычно является итерационным процессом). Поэтому только с ростом вычислительной мощности компьютеров появилась возможность практического применения нейронных сетей, что дало мощный толчок к широкому распространению программ, использующих принципы нейро-сетевой обработки данных.

.2 МОДЕЛЬ ИСКУСТВЕННОГО НЕЙРОНА

Искусственный нейрон (базовый процессорный элемент) — является основой любой искусственной нейронной сети.

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

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

На рисунке 2.1 представлена модель, реализующая эту идею.

Рисунок 2.1 — Искусственный нейрон [3]

Хотя сетевые парадигмы весьма разнообразны, в основе почти всех их лежит эта конфигурация. Здесь множество входных сигналов, обозначенных x1, x2,…, xn, поступает на искусственный нейрон. Эти входные сигналы, в совокупности обозначаемые вектором X, соответствуют сигналам, приходящим в синапсы биологического нейрона. Каждый сигнал умножается на соответствующий вес w1, w2,…, wn, и поступает на суммирующий блок, обозначенный Σ. Каждый вес соответствует «силе» одной биологической синаптической связи. (Множество весов в совокупности обозначается вектором W.) Суммирующий блок, соответствующий телу биологического элемента, складывает взвешенные входы алгебраически, создавая выход, который мы будем называть NET [3]. В векторных обозначениях это может быть компактно записано следующим образом:

= X∙W.(2.1)

.3 АКТИВАЦИОННЫЕ ФУНКЦИИ

Сигнал NET далее, как правило, преобразуется активационной функцией F и дает выходной нейронный сигнал OUT. Активационная функция может быть обычной линейной функцией:

= K(NET),(2.2)

где К — постоянная, пороговой функции.

= 1, если NET > T,

= 0 в остальных случаях,

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

На рисунке 2.2 блок, обозначенный F, принимает сигнал NET и выдает сигнал OUT. Если блок F сужает диапазон изменения величины NET так, что при любых значениях NET значения OUT принадлежат некоторому конечному интервалу, то F называется «сжимающей» функцией. В качестве «сжимающей» функции часто используется логистическая или «сигмоидальная» (S-образная) функция, показанная на рис. 2.3. Эта функция математически выражается как F(x) = 1/(1 + е-x).

Рисунок 2.2 Искусственный нейрон с активационной функцией [3]

Таким образом,

.(2.3)

По аналогии с электронными системами активационную функцию можно считать нелинейной усилительной характеристикой искусственного нейрона. Коэффициент усиления вычисляется как отношение приращения величины OUT к вызвавшему его небольшому приращению величины NET. Он выражается наклоном кривой при определенном уровне возбуждения и изменяется от малых значений при больших отрицательных возбуждениях (кривая почти горизонтальна) до максимального значения при нулевом возбуждении и снова уменьшается, когда возбуждение становится большим положительным. Гроссберг (1973) обнаружил, что подобная нелинейная характеристика решает поставленную им дилемму шумового насыщения. Каким образом одна и та же сеть может обрабатывать как слабые, так и сильные сигналы? Слабые сигналы нуждаются в большом сетевом усилении, чтобы дать пригодный к использованию выходной сигнал. Однако усилительные каскады с большими коэффициентами усиления могут привести к насыщению выхода шумами усилителей (случайными флуктуациями), которые присутствуют в любой физически реализованной сети. Сильные входные сигналы в свою очередь также будут приводить к насыщению усилительных каскадов, исключая возможность полезного использования выхода. Центральная область логистической функции, имеющая большой коэффициент усиления, решает проблему обработки слабых сигналов, в то время как области с падающим усилением на положительном и отрицательном концах подходят для больших возбуждений. Таким образом, нейрон функционирует с большим усилением в широком диапазоне уровня входного сигнала.

.(2.4)

Рис. 2.3 Сигмоидальная логистическая функция [3]

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

= th(x).(2.5)

Рис. 2.4 Функция гиперболического тангенса [3]

Подобно логистической функции гиперболический тангенс является S-образной функцией, но он симметричен относительно начала координат, и в точке NET = 0 значение выходного сигнала OUT равно нулю (рисунок 2.4).

Нужна помощь в написании отчета?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Наша система гарантирует сдачу работы к сроку без плагиата. Поможем с характеристой и презентацией. Правки внесем бесплатно.

Подробнее

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

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

Несмотря на эти ограничения, сети, построенные из этих нейронов, обнаруживают свойства, сильно напоминающие биологическую систему. Только время и исследования смогут ответить на вопрос, являются ли подобные совпадения случайными или следствием того, что в модели верно схвачены важнейшие черты биологического нейрона [3].

.4 ОДНОСЛОЙНЫЙ ПЕРСЕПТРОН

На вход поступает только двоичный сигнал, т.е. либо 0 либо 1. Элемент ∑ (сумматор) складывает входные сигналы, взвешенные относительно соответствующих синапсов нейрона. Если эта сумма больше заданного порогового значения, выход равен 1, если меньше — нулю. Т.к. выходной сигнал принимает значения «0» или «1», поэтому персептрон — это нейрон бинарного типа. При функционировании персептрона различают два режима его работы:

режим обучения;

режим функционирования;

Модель персептрона, представленная на рисунке 2.5, состоит из одного слоя (т.е. количество слоев нейронов между входом  и выходом  равно единице) искусственных нейронов, соединенных с помощью весовых коэффициентов с множеством входов.

Рисунок 2.5 Структура однослойного персептрона [4]

.5 МНОГОСЛОЙНЫЙ ПЕСЕПТРОН

Многослойная сеть состоит из нейронов, которые расположены на разных уровнях. Помимо входного и выходного слоёв имеется как минимум ещё один слой — скрытый. При задании функции активации сигмоидального типа будем иметь многослойный персептрон (рисунок 2.6).

Рисунок 2.6 Структура многослойного персептрона [4]

В многослойном персептроне каждый нейрон на данном уровне иерархии принимает и обрабатывает сигналы от каждого нейрона более низкого уровня.

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

Многослойные персептроны оказались весьма эффективными для решения разнообразных задач управления [4].

.6 ОБУЧЕНИЕ НЕЙРОННЫХ СЕТЕЙ

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

Сеть должна настроить веса по обучающим примерам. Именно эта особенность обучения на примерах и выделяет нейронные.

Существует два класса обучения:

детерминированный метод обучения

стохастический метод обучения

Детерминированный метод

Параметры сети изменяются по шагам (итерациям), основываясь на текущих параметрах входов и желаемых выходов. Наиболее популярным примером детерминированного метода является алгоритм «обратного распространения ошибки»

Стохастический метод

Параметры сети изменяются случайным образом. Но сохраняются только те изменения, которые привели к улучшениям [5].

Обучение с учителем

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

Рисунок 2.7 Схема обучения сети с учителем [4]

Концептуально участие учителя можно рассматривать как наличие знаний об окружающей среде, представленных в виде пар вход-выход. При этом сама среда неизвестна обучаемой нейронной сети. Теперь предположим, что учителю и обучаемой сети подается обучающий вектор из окружающей среды.

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

Нужна помощь в написании отчета?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Наша система гарантирует сдачу работы к сроку без плагиата. Поможем с характеристой и презентацией. Правки внесем бесплатно.

Подробнее

Параметры сети корректируются с учетом обучающего вектора и сигнала ошибки. Сигнал ошибки — это разность между желаемым сигналом и текущим откликом нейронной сети. Корректировка параметров выполняется пошагово с целью имитации нейронной сетью поведения учителя. Эта эмуляция в некотором статистическом смысле должна быть оптимальной. Таким образом, в процессе обучения знания учителя передаются в сеть в максимально полном объеме. После окончания обучения учителя можно отключить и позволить нейронной сети работать со средой самостоятельно [4].

.7 ПРАВИЛО КОРРЕКЦИИ ПО ОШИБКЕ

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

Алгоритм коррекции по ошибки состоит в следующем: имеется входной пример, для него задается желаемый выход  и если текущий выход нейронной сети не соответствует желаемому, то весовые параметры корректируются. Это делается до тех пор, пока реакция не станет правильной. Разница коррекции вычисляется по формуле  (желаемый-текущий выход).

Принцип состоит в постепенном уменьшении ошибки.

.8 КОМПЛЕКТ “LEGO Mindstorms NXT”Mindstorms — это конструктор для создания программируемого робота. Впервые представлен компанией LEGO в 1998 году. Через 8 лет (2006) в свет вышла модель LEGO Mindstorms NXT, а в 2009 — LEGO Mindstorms NXT 2.0.

Наборы LEGO Mindstorms комплектуются набором стандартных деталей LEGO (балки, оси, колеса, шестерни) и набором, состоящим из сенсоров, двигателей и программируемого блока.

Для программирования робота Mindstorms можно использовать среду визуального программирования NXT-G, созданную компанией National Instrumensts (создатель LabView). Кроме этого, независимыми разработчиками созданы десятки средств и языков для программирования робота. Одним из наиболее популярных таких средств является язык NXC.

Для написания программ используется язык NXC — это язык программирования. Для написания программ существует среда программирования Bricx Command Center (BricxCC). С помощью неѐ можно писать программы, загружать их в робота, запускать и останавливать их и многое другое. BricxCC работает по большей части как текстовый редактор, но с некоторыми дополнительными возможностями [6].

2.9 НЕЙРОННАЯ СЕТЬ В ПИД — РЕГУЛЯТОРАХ

Пропорционально-интегрально-дифференциальный (ПИД) регулятор используется в системах автоматического управления для формирования управляющего сигнала с целью получения необходимых точности и качества переходного процесса. ПИД — регулятор формирует управляющий сигнал, являющийся суммой трех слагаемых, первое из которых пропорционально разности входного сигнала и сигнала обратной связи (сигнал рассогласования), второе — интеграл сигнала рассогласования, третье — производная сигнала рассогласования. Если какие-то из составляющих не используются, то регулятор называют пропорционально-интегральным, пропорционально-дифференциальным, пропорциональным и т. п. [6].

Нейронные сети используются в ПИД — регуляторах двумя путями: для построения самого регулятора и для построения блока настройки его коэффициентов. Особенностью нейронной сети является способность к «обучению», что позволяет передать нейронной сети опыт эксперта. Регулятор с нейронной сетью похож на регулятор с табличным управлением, однако отличается специальными методами настройки (обучение), разработанными для нейронных сетей, и методами интерполяции данных. В отличие от нечёткого регулятора, где эксперт должен сформулировать правила настройки в лингвистических переменных, при использовании нейронной сети от эксперта не требуется формулировки правил — достаточно, чтобы он несколько раз сам настроил регулятор в процессе «обучения» нейронной сети.

Типовая структура системы автоматического регулирования с ПИД — регулятором и нейронной сетью в качестве блока авто настройки показана на рисунке 2.8. Нейронная сеть NN в данной структуре играет роль функционального преобразователя, который для каждого набора сигналов r, e, u, y вырабатывает коэффициенты ПИД — регулятора K, Ti, Td.

Самой сложной частью в проектировании регуляторов с нейронной сетью является процедура «обучения» сети. «Обучение» заключается в идентификации неизвестных параметров нейронов wi, b и a. Для «обучения» нейронной сети обычно используют методы градиентного поиска минимума критериальной функции ε = (u* — u)2, зависящей от параметров нейронов [7].

Рисунок 2.8 Структура ПИД — регулятора с блоком авто настройки на основе нейронной сети NN [7]

Процесс поиска является итерационным, на каждой итерации находят все коэффициенты сети, сначала для выходного слоя нейронов, затем предыдущего и так до первого слоя (метод обратного распространения ошибки). Используются также другие методы поиска минимума, в том числе генетические алгоритмы, метод моделирования отжига, метод наименьших квадратов. Процесс «обучения» нейронной сети выглядит следующим образом (рисунок 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) — функция выводит на дисплей число в указанной координате дисплея.

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

error = offset — light;= Isum * 8/10 + error;

Draz = error — Draz;

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

u = kp * error + ki * Isum + kd * Draz;= speed + u;= speed — u;

OnFwd(OUT_A, left) — функция заставляет вращаться двигатели, в зависимости от указанной мощности.

Далее необходимо определить оптимальные коэффициенты ПИД — регулятора для максимально быстрого прохождения мобильным роботом трассы, без выезда с нее. Для этого изменяем сначала пропорциональный коэффициент в пределах от 1 до 100, затем интегральный от 10-4 до 1, и дифференциальный в промежутке от 1 до 100. Определив оптимальный набор коэффициентов, проводим серию опытов для дальнейшей обработки их нейронной сетью [7].

4.2 РАЗРАБОТКА НЕЙРОННОЙ СЕТИ

Для решения задачи был выбран двуслойный персептрон прямого распределения, обучение происходит по алгоритму Levenberg-Marquardt обратного распространения ошибки [8]. Вид нейронной сети представлен на рисунке 4.1.

Рисунок 4.1 Вид нейронной сети

Оптимальное количество нейронов в каждом скрытом слое определенно в 3 нейрона. В первом скрытом слое функцией активации является сигмоидальная функция (в данном случае гиперболический тангенс), она описывается формулой

Нужна помощь в написании отчета?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Наша система гарантирует сдачу работы к сроку без плагиата. Поможем с характеристой и презентацией. Правки внесем бесплатно.

Заказать отчет

(4.1)

где,  параметр, влияющий на наклон сигмоидальной функции.

Во втором скрытом слое функция активации — логистическая функция.

Входные данные представляют собой время прохождения трассы, и произошел ли вылет с нее. Выходные данные — коэффициенты ПИД — регулятора [9].

 

4.3 РЕЗУЛЬТАТЫ РАБОТЫ

На графиках (рисунки 4.2 и 4.3) показаны результаты обучения сети.(рисунок 4.2) — функция производительности сети. Она показывает производительность, в соответствии со средней квадратичной ошибкой.

На (рисунке 4.3) видно, как изменялся градиент и коэффициент обучения сети (mu) в процессе обучения сети.

Рисунок 4.2 Зависимость средней квадратичной ошибки от количества итераций

Рисунок 4.3 График изменения градиента и коэффициента обучения сети в процессе обучения

Для проверки работоспособности обученной нейронной сети подавалось на вход данные значительно меньше минимально полученных (минимальное полученное время, при нахождении коэффициентов в ручную, составило ~30.5 секунды), вылет с трассы — «0» (1 — произошел выход с трассы, 0 — трасса полностью пройдена). Полученные коэффициенты подставляем в программу движения мобильного робота. Фиксируем истинное время прохода трассы роботом. В таблице 4.1 представлены некоторые результаты определения коэффициентов ПИД-регулятора нейронной сетью.

Таблица 4.1 — Результаты работы нейронной сети

Полная таблица проведенных экспериментов представлена в приложении Б, таблица Б.2.

Экспериментальные данные, указанные в таблице, наиболее четко показывают работоспособность нейронной с

Средняя оценка 0 / 5. Количество оценок: 0

Поставьте оценку первым.

Сожалеем, что вы поставили низкую оценку!

Позвольте нам стать лучше!

Расскажите, как нам стать лучше?

748

Закажите такую же работу

Не отобразилась форма расчета стоимости? Переходи по ссылке

Не отобразилась форма расчета стоимости? Переходи по ссылке