Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Программа оптимизации движения робота






Опишем каждый отдельный нейрон как запись, содержащую все необходимые части:

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

Весовой коэффициент – величина возбуждения или торможения нейрона. Каждый весовой коэффициент - действительное число: по 1 коэффициенту на нейрон предыдущего слоя.

Значение ошибки (sigma) используется только на стадии обучения, данная величина не обязательно должна быть связана с нейроном.

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

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

Для определения входов и выходов сети следует определить параметры нашего мобильного робота. Для простоты введём три относительных направления: слева, спереди и справа. А также расстояния от препятствия до транспортного средства. Для определения поля зрения робота используем круг.

Итак, в программном виде на вход подаётся массив расстояния до препятствия Logic: array of real. Расстояния до ближайшего препятствия слева, в центре и справа от транспортного средства – Logic [0], Logic [1] и Logic [2] соответственно.

Как вычислить расстояние? Нужны координаты, радиус окружности, линии для обозначения границ самого робота, так как за обозначения робота мы берём реальную модель. Каждый объект в пределах вышеуказанного круга мы должны проверять на условия для определения места нахождения относительно робота. Расстояние вычисляем и сохраняем в Vision[0]/Vision[1]/ Vision[2], но лишь при условии, что новое значение меньше предыдущего (если таковое имеется).

На выходе мы получаем указания по изменению скорости и направления (ускорение, торможение, угол поворота рулевого колеса). Следует, нам нужно 2 выхода – значение ускорения/торможения и указание на изменение направления. В зависимости от того как мы обучаем робота, он может в некоторых случаях «колебаться» и оказываться обездвиженным.

Пример обучающей выборки:

Вход:

0, 0: Объект почти касается робота

1, 0: Объект на максимальном расстоянии или нет объекта в поле зрения

Выход:

Ускорение

0, 0: Максимальное отрицательное ускорение

1, 0: Максимальное положительное ускорение

Направление

0, 0: Полный поворот влево

0, 5: Прямо

1, 0: Полный поворот вправо

Поэтапный план моделирования:

- определение местонахождения робота, разграничения в соответствии с его габаритами и препятствия на координатной плоскости

- создадим три массива (каждый соответствует тому, в каком из трёх направлений находится объект)

- расчёт расстояния до каждого объекта

- создание сети (на вход подаются массивы с расстоянием, указание числа скрытых слоёв, скорости обучения, крутизна сигмоиды, коэффициент импульса НС, доступной ошибки нейросети)

- корректировка весов

- обучение сети на экспериментальной выборке (например, моделирование будет производиться на языке Pascal в среде Delphi7)

Заключение:

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

 

Список использованной литературы:

1) Васильев И. А. Управление траекторным движением мобильных роботов разных колёсных систем. «Экстремальная робототехника». Сборник докладов международной научно – технической конференции, 22-25 ноября 2011

2) Бурдаков С. Ф., Мирошник И. В., Стельмаков Р. Э. Системы управления движением колёсных роботов. Санкт – Петербург; «Наука», 2001

3) Горбань А. Н. Обучение нейронных сетей. – М.: СП ПараГраф, 1990

4) Сидоркина И. Г. Системы искусственного интеллекта: учебное пособие – М.: КНОРУС, 2015

5) Ф. Уоссермен. Нейрокомпьютерная техника: Теория и практика. – М.: «МИР», 1992

 


Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.007 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал