От того, насколько увлечен студент изучением своей специальности, зависит эффективность процесса обучения. Не секрет, что в условиях, когда студент понимает практическую значимость дисциплины, ее реальные приложения, процесс обучения становится гораздо более эффективным. Важным так же является понимание студентом места, которое занимает дисциплина в учебном процессе. Эти цели могут быть достигнуты в случае использования полученных в учебном процессе знаний на практике, для решения реальных, пусть и учебных задач, в частности, при работе с реальными аппаратными устройствами.
Особенно это важно при изучении таких дисциплин, как основы нейронных сетей, основы нечеткой логики, основы обработки изображений, где открывается широкий простор для использования теоретических знаний при работе с реальными устройствами.
Для использования в рамках летней международной технической школы «Мобильные системы для исследования космических объектов», проходившей на базе Сибирского государственного аэрокосмического университета летом 2014 года, был разработан комплект учебных материалов, включающий в себя теоретический материал по курсам «Основы обработки изображений», «Основы нейронных сетей» и «Основы нечеткой логики», а так же комплекс лабораторных работ. Ключевой особенностью данного курса является то, что лабораторные работы по трем указанным курсам образуют единый комплекс и предполагают использование специальной аппаратной платформы, представляющей собой автономное колесное шасси, оснащенное управляющим компьютером и специальными сенсорами. В качестве основы для разработки платформы была использована аналогичная по назначению платформа, разработанная авторами в 2013 году [4]. В результате выполнения комплекса лабораторных работ студенты должны реализовать систему управления автономным исследовательским аппаратом.
Основной задачей, для решения которой предназначен данный аппаратный комплекс, является движение к заданной точке. Целью движения является специальный визуальный элемент, в роли которого может выступать объект специфической формы либо специфического цвета. В процессе движения модуль должен избегать препятствий, образованных рельефом. Помимо этого, платформа так же оборудована ковшом для отбора проб грунта. Данный ковш может управляться удаленно.
Для решения этих задач была разработана система управления, способная к ориентированию на местности, следованию заданному маршруту, а так же уклонению от препятствий.
С технической точки зрения модуль представляет собой полиуретановое шасси в виде пластины размером 280х500х20 мм. Выбор материала обусловлен высокими прочностными и массовыми характеристиками, что позволяет увеличить полезную нагрузку системы. В качестве движетеля используются четыре колеса диаметром 115 мм, независимо приводимые в движение электрическими мотор-редукторами номинальным напряжением 12 вольт, номинальной частотой вращения 100 об/мин и крутящим моментом 9,2 кг*см.
Так как задачей колесного модуля является движение к заданной цели, на платформе размещена IP-камера.
Платформой управляет микрокомпьютер Raspberry Pi B+ [1] в связке с микроконтроллером Arduino Duemilanove [3].
На Raspberry Pi установлен wi-fi модуль для создания точки доступа. На микрокомпьютере установлена специализированная версия Linux (Raspbian). Arduino связан с микрокомпьютером по интерфейсу USB. Мощности выходных каскадов микроконтроллера недостаточно для непосредственного управления работой двигателей, поэтому на arduino установлен силовой модуль расширения, управляющий подачей питания непосредственно на двигатели. Кроме того, на arduino установлен модуль расширения, оснащенный магнетометром и акселерометром. Так же к этому модулю подключены ультразвуковые датчики расстояния, оценивающие расстояние до препятствий перед платформой слева и справа по направлению движения. По центру платформы в передней части расположен инфракрасный датчик препятствий, выдающий сигнал в случае, если препятствие находится прямо перед платформой на расстоянии 800 мм и менее.
Данные с этих датчиков передаются на Raspberry Pi и используются при выборе маршрута движения.
Для микроконтроллера была разработана прошивка, обрабатывающая информацию от всех датчиков платформы и передающая ее на базовый управляющий компьютер. Помимо этого, прошивка воспринимает команды от компьютера и управляет работой ведущих двигателей в соответствии с этими командами. В случае, если присутствует сигнал о наличии препятствия перед модулем, движение платформы вперед блокируется независимо от команд, подаваемых бортовым компьютером.
Питание всего оборудования платформы обеспечивается свинцово-кислотным аккумулятором напряжением 12 вольт, номинальной емкостью 4.5 Ампер-часа.
Управляет работой модуля программный комплекс, включающий в себя сервер обработки изображения, поступающего от набортной IP-камеры, нейронную сеть, определяющую направление на целевую точку, и систему нечеткой логики, управляющую перемещениями модуля на основе информации от сенсоров и нейронной сети.
Взаимодействие программных продуктов на бортовом управляющем компьютере осуществляется с использованием сетевых протоколов, в частности, через сетевые сокеты и с использованием Windows Communication Foundation технологий.
Одной из целей при разработке вышеописанной системы было обеспечение высокой гибкости системы. Так, каждый из программных продуктов способен работать независимо, с использованием универсальных сетевых протоколов. Это позволяет легко заменить любой из компонентов системы, например, для определения направления движения платформы может быть использован программный модуль, использующий данные от магнетометра (компаса).
Поскольку разработка всего программного комплекса, управляющего движение платформы, является весьма сложной задачей, требующей существенных временных затрат, было принято решение разработать программное обеспечение, не требующее от студентов навыков программирования и работы со сложными математическими пакетами.
Так, сервер обработки изображений реализует обработку изображений фильтрами, при этом основной задачей студентов является настройка цепочки фильтров для обработки изображения и их параметров с целью локализации объекта, к которому необходимо выполнять движение.
В системе реализованы основные фильтры, позволяющие студентам ознакомиться с методами цветовой коррекции, шумоподавления, бинаризации и пороговой сегментации. При работе с фильтрами в интерфейсе программы предоставляется возможность настройки параметров, включающей выбор цветовых моделей для обработки (RGB, HSV, YUV). Таким образом, студенту становится проще понять различия между цветовыми моделями и их влияние на выполнения фильтрации.
Для изучения студентам в системе доступны такие основные методы цветовой коррекции как «Серый мир», «
В системе для формируемой последовательности фильтров возможен просмотр промежуточного этапа обработки и при необходимости изменения параметров, что позволяет выбрать наиболее оптимальную конфигурацию цепочки фильтров для локализации объектов.
Нейронная сеть [2] представляет собой многослойный персептрон, содержащий 1 входной слой,1 выходной слой и 1 скрытый слой. В качестве активационной функции использована сигмоида для скрытого слоя и softmax для выходного. Совместное использование этих функций позволяет добиться того, что сумма выходов нейронной сети близка к единице. Каждый вход сети соответствует одному из цветовых каналов одного из пикселей изображения. Поскольку ресурсы Raspberry Pi весьма ограниченны, изображение масштабируется до разрешения 60х45 пикселей, чего вполне достаточно для достижения поставленных целей. Разработанное авторами приложение успешно скрывает от студента низкоуровневые особенности реализации, позволяя сосредоточиться на выборе адекватного количества нейронов в каждом из слоев нейронной сети, а так же на процессе обучения нейронной сети.
Таким образом, студент сосредотачивается на способах формализации задачи распознавания изображений, выборе необходимых параметров нейронной сети (в том числе необходимого количества нейронов в слоях сети), а так же может проводить сравнительный анализ эффективности работы сети при различных ее параметрах. Так же студент имеет возможность оценивать эффективность процесса обучения сети, выбирая различные параметры обучения. Обучение нейронной сети ведется на персональном компьютере с последующей передачей файла обученной нейронной сети на бортовой компьютер платформы. Разработанное приложение позволяет сохранять в файл как параметры нейронной сети для дальнейшего ее использования или дальнейшего обучения, а так же сохранять и загружать из файла обучающее множество. Возможна оценка эффективности обучения путем оценивания ответа сети на образы, ранее помещенные в обучающее множество, либо вновь полученные с камеры и добавленные в него.
Система нечеткой логики [5] реализована в виде отдельного приложения, причем обеспечивается работа приложения в режиме сервера. Приложение получает информацию от нейронной сети, а так же от датчиков, размещенных на колесном модуле. Кроме того, данное приложение является сервером для программного модуля, непосредственно передающего команды на колесную платформу. Модуль нечеткой логики дает возможность студенту:
— описать лингвистические переменные, соответствующие данным от датчиков и нейронной сети, задав их название и значения в виде нечетких множеств;
— составить правила, описывающие поведение колесной платформы;
— оценить внешний вид функций принадлежности нечетких множеств;
— оценивать значения выходных лингвистических переменных, причем как в виде нечетких множеств, так и в дефаззифицированном виде.
Процесс обучения нейронной сети, формирования правил нечеткой логики, настройки сервера обработки изображений осуществляется на обычном персональном компьютере в связи с недостаточной мощностью Raspberry Pi.
В процессе использования комплекса Raspberry Pi создает беспроводную точку доступа для возможности ручного управления платформой, просмотра изображения с IP-камеры в ходе движения, запуска и остановки управляющего программного обеспечения, а так же копирования файлов с параметрами обученной нейронной сети и правилами системы нечеткой логики.
На управляющем микрокомпьютере программное обеспечение запускается с использованием среды Mono.
Данный аппаратно-программный комплекс был реализован в период февраля-августа 2014 года, в рамках проведения международной летней технической школы «Мобильные системы для исследования космических объектов». Комплекс был использован для обучения студентов по дисциплинам «Основы обработки изображений», «Нейронные сети» и «Нечеткая логика». Использование данного программно-аппаратного комплекса продемонстрировало высокую заинтересованность студентов в процессе обучения. Таким образом, задачи, поставленные при разработке комплекса, были выполнены в полном объеме.
В дальнейшем предполагается реализация программных задержек в цепи управления с целью имитации управления удаленным аппаратом, расположенным на поверхности другой планеты. Так же планируется расширение спектра дисциплин, при изучении которых может быть использована данная платформа, таких как теория кодирования информации, физика (в части спектрального анализа образцов), и некоторых других.
Библиографический список
- Ali M., Valaskamp J., Eddin N., Falcorner B, Oram C. Technical development and socioeconomic implications of the Raspberry Pi as a learning tool in developing countries // 5th Computer Science and Electronic Engineering Conference. – 2013.
- Ben Krose, Patrick van der Smagt An introduction to Neural networks. – University of Amsterdam, 1996.
- Mellis, D and Buechley, L. Collaboration in open-source hardware: third-party variations on the arduino duemilanove // Proceedings of the ACM 2012 conference on Computer Supported Cooperative Work (CSCW ‘12). – New York : ACM, 2012, pp 1175-1178.
- Зотин А. Г., Саяпин А. В. Разработка полуавтономной исследовательской системы с использованием видеоданных и сенсорных устройств // Решетневские чтения: материалы XVII Междунар. науч. конф. посвящ. памяти генер. констру-ктора ракет.-космич. систем акад. М.Ф. Решетнева (12-14 нояб. 2013г., Красноярск) : в 2 ч. / под общ. Ред. Ю.Ю. Логинова; Сиб. Гос. Аэрокосмич. ун-т. – Красноярск, 2013. – Ч. 2. – С. 203-204
- Новак В., Перфильева И., Мочкрож И. Математические принципы нечёткой логики = Mathematical Principles of Fuzzy Logic. – Физматлит, 2006. – 352 с.[schema type=»book» name=»АВТОНОМНАЯ КОЛЕСНАЯ ПЛАТФОРМА ДЛЯ ИЗУЧЕНИЯ ОСНОВ ОБРАБОТКИ ИЗОБРАЖЕНИЙ, НЕЙРОННЫХ СЕТЕЙ И СИСТЕМ НЕЧЕТКОЙ ЛОГИКИ» author=»Саяпин Александр Владимирович, Зотин Александр Геннадьевич» publisher=»БАСАРАНОВИЧ ЕКАТЕРИНА» pubdate=»2017-05-09″ edition=»ЕВРАЗИЙСКИЙ СОЮЗ УЧЕНЫХ_ 28.02.2015_02(11)» ebook=»yes» ]