CLAIM – научно-образовательный кластер |
|||||||||||||||
|
|||||||||||||||
Информационная система обучения нейронной сети мобильного роботаКурсовой проектРазработчик: Каверин А.С. , руководитель Филиппович А.Ю. СодержаниеИнформационная система обучения нейронной сети мобильного робота разрабатывалась с целью исследования "разумных" роботов, способных выполнять простейшие действия. В качестве основного направления исследования была выбрана проблема выбора траекторий движения мобильными роботами. Для решения поставленной задачи был разработан мобильный робот на основе микроконтроллера ATmega8 компании AVR, создана программная симуляция нейронной сети и программа обучения данной нейронной сети. Существует большое многообразие нейронных сетей: от рекурентных до сетей с применением нечеткой логики. Каждая структура имеет собственные достоинства и недостатки, но выбор необходимой и достаточной реализации сети среди этого множества является трудоемким процессом. Проблема выбора траекторий движения мобильными роботами состоит именно в определении архитектуры нейронной сети, по причине ограниченности вычислительной мощностьи микроконтроллера. Использование нейроконтроллера достаточно дорогостоющее решение, поэтому и используется программная симуляция. Любой пользователь данной информационной системы может оценить эффективность программной симуляции персептрона (одна из самых простых моделей нейронной сети), которая позволет мобильному роботу объезжать препятствия. Роботехнические системы В современном обществе большое развитие получили робототехнические системы, которые быстро стали движущей силой прогресса во многих областях, в виду наличия преимуществ по сравнению с биологическими системами. На данный момент не существует единого, всеми признаваемого определения термина «робот», поэтому под роботом будет подразумеваться аппаратно-программная система, состоящее как минимум из следующих компонентов:
Робот - механизм, управляемый центральным контроллером, который постоянно обновляет свое представление об окружающем мире и вырабатывает план поведения, исходя из этого представления. Новая информация о мире поступает от сенсоров, например, осязания, света, ультразвука и т.д. Микроконтроллер анализирует всю предоставляемую от сенсоров информацию и обновляет представление об окружающей среде, а затем принимает решение о том или ином действии. Все действия выполняются с помощью приводов и эффекторов. Приводы обычно представляют собой двигатели или компрессоры, подсоединенные к устройствам, непосредственно взаимодействующими с окружающим миром – эффекторам. Примерами эффекторов могут служить гусеничные траки или механические конечности. При этом иногда под приводами понимаются как сами приводы, так и эффекторы, например, гусеничные траки. Таким образом, традиционный робот получает данные от множества сенсоров, комбинирует эти данные в процессе обновления картины мира, затем вырабатывает план действий на основе данной картины, и наконец, приводит его в исполнение. К сожалению, данный подход сопряжен с определенными трудностями. Во-первых, он требует большого объема вычислений. Во-вторых, поддержка актуальной картины окружающего мира – задача очень сложная, т.к. мир меняется постоянно, а понятие о времени для робота дискретно и зависит от мощности микроконтроллера. При этом известно, что многие организмы, например, насекомые, благополучно существуют и без поддержки полной картины мира, более того, даже не имея памяти как таковой. Всех роботов можно условно разделить на три поколения:
В настоящее время запущены серийно только роботы первого поколения, которые успешно работают на заводах и выполняют механическую работу, такую как сварка, фрезерование, транспортировка. В развитых странах Европы, США и Японии ведутся попытки создания крупносерийных образцов роботизированных систем второго поколения. Роботы третьего поколения пока находятся только в статии разработки, и, скорее всего, мир еще не скоро увидет первые серийные образцы. Структура информационной системы В информационной системе обучения нейронной сети мобильного робота решены следующие проблемы:
Структурная схема данной информационной системы: Нейросетевое программное обеспечение для ПЭВМ Нейросетовое ПО для ПЭВМ осуществляет обучение случайно заданную нейронную сеть. Обучение проходит на 20 примерах. Количество обучающих итераций - 10 тысяч проходов. После однократного обучения пользователь может проверить работоспособность нейронной сети, после чего или, или проверить рабостоспособность на другом примере, прекратить обучение, либо продолжить обучение на этих 20 примерах. Программное обеспечение по окончанию работы генерирует файл с весовыми коэффициентами. Нейросетевое программное обеспечение для мобильного робота Полученные весовые коэффициенты необходимо вставить в программный код программного обеспечения микроконтроллера мобильного робота. После этого необходимо компилировать полученный код с помощью специального программного обеспечения (AVR Studio 4, например) и загрузить сгенерированный *.hex файл в память микроконтроллера (для этого можно использовать WinAVR, например). Фотография мобильного робота с нейросетевым ПО: Часть программного продукта для ПЭВМ реализована на языке C++ на платформе Microsoft Visual C++ как консольное приложение, поэтому может быть запущено на любой операционной системе Windows. Программа для ПЭВМ не требует предварительной установки, не модифицирует реестр Windows, не изменяет/создает файлов в системных директориях. Удаление программы осуществляется простым удалением с жесткого диска. Для скачивания доступна программа обучения нейронной сети и скомпилированный *.hex файл, который можно загрузить в собственный мобильный робот на основе микроконтроллера ATmega8. Использование других микроконтроллеров строго не рекомендуется. Соединение ИК-дальномера (рекомендуемая модель - GP2D120) осуществлять строго в порт PC0 микроконтроллера.
Ссылка для скачивания системы: |
|||||||||||||||
© НОК CLAIM. Замечания, вопросы и сведения об ошибках просим сообщать в форуме или присылать администратору сайта. |
|