CLAIM – научно-образовательный кластер

Информационная система обучения нейронной сети мобильного робота

Курсовой проект

Разработчик: Каверин А.С. , руководитель Филиппович А.Ю.

Содержание

Аннотация к проекту

Предметная область

Описание программы

Реализация программы

Аннотация к проекту

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

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

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

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

Предметная область

Роботехнические системы

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

На данный момент не существует единого, всеми признаваемого определения термина «робот», поэтому под роботом будет подразумеваться аппаратно-программная система, состоящее как минимум из следующих компонентов:

  • Набор сенсоров
  • Программное обеспечение, определяющей поведение робота
  • Набор приводов и эффекторов

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

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

Всех роботов можно условно разделить на три поколения:

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

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

Структура информационной системы

В информационной системе обучения нейронной сети мобильного робота решены следующие проблемы:

  • Разработан мобильный робот для иллюстрации работы алгоритма поиска траекторий движения
  • Синтезированна нейронная сеть (полносвязный четырехслойный персептрон 6-10-10-2)
  • Реализованно программная симуляция персептрона для робота
  • Создана программа обучения данной нейронной сети

Структурная схема данной информационной системы:

Описание программы

Нейросетевое программное обеспечение для ПЭВМ

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

Нейросетевое программное обеспечение для мобильного робота

Полученные весовые коэффициенты необходимо вставить в программный код программного обеспечения микроконтроллера мобильного робота. После этого необходимо компилировать полученный код с помощью специального программного обеспечения (AVR Studio 4, например) и загрузить сгенерированный *.hex файл в память микроконтроллера (для этого можно использовать WinAVR, например).

Фотография мобильного робота с нейросетевым ПО:

Реализация программы

Часть программного продукта для ПЭВМ реализована на языке C++ на платформе Microsoft Visual C++ как консольное приложение, поэтому может быть запущено на любой операционной системе Windows. Программа для ПЭВМ не требует предварительной установки, не модифицирует реестр Windows, не изменяет/создает файлов в системных директориях. Удаление программы осуществляется простым удалением с жесткого диска.

Для скачивания доступна программа обучения нейронной сети и скомпилированный *.hex файл, который можно загрузить в собственный мобильный робот на основе микроконтроллера ATmega8. Использование других микроконтроллеров строго не рекомендуется. Соединение ИК-дальномера (рекомендуемая модель - GP2D120) осуществлять строго в порт PC0 микроконтроллера.

Ссылка для скачивания системы:
"Информационная система обучения нейронной сети мобильного робота"


 


 © НОК CLAIM. Замечания, вопросы и сведения об ошибках просим сообщать в форуме или присылать администратору сайта.

Находится в каталоге Апорт OZON.ru Rambler's Top100