На правах рекламы:
ISSN 0236-235X (P)
ISSN 2311-2735 (E)

Авторитетность издания

ВАК - К1
RSCI, ядро РИНЦ

Добавить в закладки

Следующий номер на сайте

2
Ожидается:
17 Июня 2024

Учебная распределенная система управления мобильной колесной платформой с использованием видео- и сенсорной информации

Educational distributed control system for a wheeled mobile platform using video and sensor information
Дата подачи статьи: 20.08.2015
УДК: 004.932
Статья опубликована в выпуске журнала № 1 за 2016 год. [ на стр. 146-151 ]
Аннотация:Все более широкое распространение получают автономные системы, предназначенные для патрулирования, разведки местности, взятия образцов, выполнения аварийно-спасательных работ. Отсюда повышенный спрос на специалистов, разрабатывающих подобные системы. Существует проблема обучения студентов в данной области, связанная с тем, что выпускник должен обладать не только теоретическими знаниями, но и практическими навыками работы с подобными системами. Основными областями знаний, владеть которыми должен выпускник, являются нейронные сети, распознавание и обработка изображений, системы нечеткой логики. Для получения практических навыков в данных и смежных областях авторами была разработана автономная колесная платформа, оснащенная набором датчиков и сенсоров, а также манипулятором для сбора образцов. Она представляет собой шасси в виде пластины из пенополистирола, приводимой в движение четырьмя мотор-редукторами постоянного тока (12 вольт), оснащенными колесами. Платформа оснащена компьютером Raspberry Pi под управлением ОС Raspbian, непосредственно управление мотор-редукторами осуществляется микроконтроллером Arduino Uno с установленной платой расширения, предназначенной для управления сильноточной нагрузкой (motor-shield), а также платой для прототипирования, на которой установлен набор датчиков, включающих в себя магнитометр и акселерометр. Кроме того, Arduino связан с установленными в передней части платформы ультразвуковыми датчиками расстояния. В передней части платформы расположена IP-камера, соединенная с бортовым микрокомпьютером Raspberry Pi, предназначенная для получения видеоинформации об окружении платформы. В процессе работы бортовой микрокомпьютер создает точку доступа, подключившись к которой, можно управлять работой платформы, а также получать видеоизображение с IP-камеры. ПО платформы включает в себя программный комплекс, обмен информацией внутри которого осуществляется посредством сетевых соединений на основе технологии клиент-сервер. Комплекс включает в себя сервер получения информации с IP-камеры, серверы нейронной сети, нечеткой логики, управления платформой. Разработанная платформа и ее программное обеспечение были использованы при проведении международных летних технических школ на базе Сибирского государственного аэрокосмического университета имени академика М.Ф. Решетнева. Разработанный комплекс может найти применение при выполнении опытно-конструкторских работ, связанных с разработкой автономных мобильных систем.
Abstract:Autonomous systems for exploration, guarding, reconnaissance and taking probes are widely spread nowadays. Thus, a lot of well educated specialists are required in corresponding areas. There is a problem educating such specialists. It is connected with the necessity of practical experience in developing this kind of systems and interacting with them. The main fields of knowledge the graduated specialists have to deal with are neural networks, image recognition systems, image handling systems, fuzzy logic systems. To make students experienced in such kind of field, the authors have developed an autonomous four-wheeled platform. The platform is equipped with a set of sensors and a special arm for taking samples. The chassis of the platform is a four-wheeled plate made of styrofoam. The platform is driven by 12V motors with built-in gearbox. The platform is equipped with on-board Raspberry Pi computer with Raspbian as an operating system. The motors are controlled by the Aruduino Uno board connected to the Raspberry Pi through USB. There is a motorshield mounted on the Arduino that controls the motors of the platform. The prototyping shield with the set of sensors (magnetometer + accelerometer) is also mounted on the Arduino. The Arduino board is connected to the ultrasonic distance sensors to detect obstacles in front of the platform. There is an IP-camera in front part of the platform to get video information of the platform's environment. While working, the on-board computer creates a WiFi access point. One can control the platform or get its videostream using this WiFi network. The software of the platform consists of a set of programs that are connected to each other via network protocols using client-server technology. The set of the programs includes video server to get information from the IP-camera, the neural network server, the fuzzy logic server and the server to control the motors of the platform. The platform and its software were used during international technical summer schools provided by Siberian State Aerospace University named after M. F. Reshetnev. This system can also be used during the autonomous system development process.
Авторы: Зотин А.Г. (zotinkrs@gmail.com) - Сибирский государственный аэрокосмический университет им. акад. М.Ф. Решетнева, г. Красноярск (доцент), г. Красноярск, Россия, кандидат технических наук, Саяпин А.В. (alstutor@gmail.com) - Сибирский государственный аэрокосмический университет им. академика М.Ф. Решетнева (доцент), Красноярск, Россия, кандидат технических наук
Ключевые слова: автономные системы, нечеткая логика, нейронные сети, обработка данных, анализ изображений, обработка изображений
Keywords: autonomous systems, fuzzy logic, neural network, data processing, image analysis, image processing
Количество просмотров: 8704
Версия для печати
Выпуск в формате PDF (8.31Мб)
Скачать обложку в формате PDF (1.24Мб)

Размер шрифта:       Шрифт:

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

В связи с этим возрастает потребность в специалистах, способных решать задачи по проектированию подобных систем. Зарубежные универси- теты предлагают курсы по подготовке специали- стов, способных пилотировать и разрабатывать беспилотные летательные аппараты [2], а также наземные автономные системы [3, 4]. Довольно часто подобные системы строятся на основе нейронных сетей [5, 6]. Важную роль в системах управления аппаратами такого типа имеют также системы нечеткой логики [7–9]. При этом следует отметить, что при изучении предметов в этой области знаний возникает довольно специфическая проблема: для выполнения полноценных практических или лабораторных работ студент должен владеть не только теорией, но и навыками программирования. Однако для различных специальностей и направлений подготовки уровень знаний и навыков в этой области может существенно отличаться, что затрудняет полноценное выполнение работ по этим дисциплинам. Также студенты должны понимать, какое влияние один из компонентов будет оказывать на другой в реальных условиях функционирования разрабатываемой мобильной платформы.

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

Описание мобильной платформы

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

Аппаратная платформа (рис. 1) представляет собой полиуретановое шасси в виде пластины размером 280´500´20 мм. Выбор материала обусловлен высокими прочностными и массовыми характеристиками, что позволяет увеличить полезную нагрузку системы. В качестве движетеля используются четыре колеса диаметром 115 мм, независимо приводимые в движение электрическими мотор-редукторами номинальным напряжением 12 вольт, номинальной частотой вращения 100 об./мин. и крутящим моментом 9,2 кг×см.

На платформе размещено оборудование, предназначенное для ориентирования на местности, и дополнительное оборудование для проведения исследований на местности, в частности, отбора проб грунта.

Для определения направления на точку назначения на платформе размещена IP-камера.

Управление платформой осуществляет микрокомпьютер Raspberry Pi B+ [11] в связке с мик- роконтроллером Arduino Duemilanove [12]. Для управления работой двигателей предназначен силовой модуль расширения. Связь Raspberry Pi и Arduino осуществляется через интерфейс USB. На модуле расширения для дополнительного прототипирования установлен модуль датчиков, оборудованный магнетометром и акселерометром. Кроме того, к этому модулю подключены ультразвуковые датчики расстояния, оценивающие расстояние до препятствий перед платформой слева и справа по направлению движения. В центре передней части платформы расположен инфракрасный датчик препятствий, выдающий сигнал в случае, если препятствие находится прямо перед платформой на расстоянии 800 мм и менее.

Операционной системой бортового компьютера является Raspbian (Debian Wheezy) [13].

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

Питание оборудования платформы обеспечивается свинцово-кислотным аккумулятором напряжением 12 вольт, номинальной емкостью 4,5 Ач.

К разъему USB бортового компьютера подключен USB-WiFi адаптер. В процессе работы бор- товой компьютер создает программную точку доступа, что позволяет получать изображение с бортовой камеры и управлять ею, а также получать доступ к телеметрии и управлять движением платформы непосредственно, путем посылки команд Arduino с отдельного компьютера или смартфона, оснащенного модулем WiFi.

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

Одной из целей при разработке системы было обеспечение ее высокой гибкости. Так, каждый из программных продуктов может работать независимо, а непосредственное взаимодействие компонентов системы осуществляется с помощью сетевых протоколов, в частности, через сетевые сокеты и с использованием Windows Communication Foun­dation-технологий. Это позволяет легко заменить любой из компонентов системы, например, для определения направления движения платформы может быть применен программный модуль, использующий данные от магнетометра (компаса).

Типичное функционирование распределенной системы управления платформой (рис. 2) можно представить в виде следующих шагов.

Шаг 1. Получение изображения с IP-камеры и локализация в кадре объекта интереса.

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

Шаг 3. Расчет параметров движения на основе выходов нейронной сети и показаний датчиков с использованием нечеткой логики.

Шаг 4. Формирование команд управления мобильной платформой.

Обработка графической информации и локализация в кадре объекта интереса

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

В связи с тем, что получаемое с камеры изображение не является идеальным (может содержать разнообразные шумы, а также иметь нарушенный цветовой баланс), в сервере обработки изображения реализованы основные фильтры, позволяющие ознакомиться с методами шумоподавления и цветовой коррекции [14]. Так, для изучения студентам доступны механизмы изменения яркости, контрастности и гаммы с возможностью применения их к выбранным компонентам цветовой модели, а также основные методы цветовой коррекции. Для шумоподавления предложены фильтр Гаусса, медианный фильтр и группа линейных фильтров с возможностью задания произвольного ядра. При добавлении фильтров в цепочку обработки в программе предусмотрена возможность настройки параметров, включая выбор цветовой модели, в которой будет осуществляться обработка (RGB, HSV, YUV). Таким образом, студенту будет проще понять различия между цветовыми моделями и их влияние на результат обработки.

Для непосредственной локализации объекта предложены набор методов бинаризации и пороговая сегментация [15,16] в цветовых моделях RGB, HSV, YUV. При реализации данных методов предусмотрена возможность настройки отображаемого результата. Так, например, результат сегментации можно задать следующим образом: фоновую часть изображения (значения, не соответствующие условию определения объекта) можно закрасить указанным цветом, в то время как сам объект будет иметь оригинальный вид.

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

Поиск объекта интереса

Для выделения в кадре объекта интереса была использована полносвязная трехслойная нейронная сеть типа персептрон. Размер входного слоя сети был выбран равным 8 100 нейронам. Это соответствует размеру изображения 60´45 пикселей, причем цвет каждого пикселя кодируется тремя 1-байтными значениями (RGB-изображение). Задачей студентов при выполнении практических работ являлось определение числа нейронов во втором слое сети и числа нейронов в выходном слое в зависимости от входных данных следующего модуля (системы нечеткой логики). Поскольку бортовой компьютер платформы не обладает достаточной вычислительной мощностью, обучение нейронной сети производилось на отдельно установленном персональном компьютере с дальнейшей передачей файла уже обученной нейронной сети в бортовой компьютер платформы. Передача осуществлялась через локальную сеть, а точнее, через точку доступа, созданную бортовым компьютером платформы.

Обучение нейронной сети производилось мето- дом роя частиц [17].

Для обеспечения переносимости кода между разными платформами (поскольку бортовой компьютер использует ветку Linux, а персональные компьютеры в учебной аудитории оснащены Windows 7) ПО нейронной сети было разработано с использованием платформы Microsoft .Net (язык разработки C#). В среде Linux приложение запускалось с использованием фреймворка Mono [18]. Разработка структуры сети (выбор количества слоев и нейронов в слое) выполнялась на персональном компьютере аудитории в графической оболочке, после чего производилось обучение нейронной сети путем предъявления ей обучающего множества. Это множество формировалось из изображений, полученных с IP-камеры платфор­мы, и желательных значений выходов нейронной сети, заданных пользователем (студентом).

Предполагалось, что студенты используют от 2 до 3 выходов нейронной сети, что будет соответствовать ситуациям «маркер цели присутствует в кадре слева»–«маркер цели присутствует в кадре справа» или «маркер цели присутствует в кадре слева»–«маркер цели присутствует в кадре по центру»–«маркер цели присутствует в кадре справа». Значения выходов нейронной сети передавались далее в модуль нечеткой логики при помощи сетевого интерфейса между соответствующими приложениями.

Формирование команд управления

Для определения направления, в котором должна двигаться мобильная платформа в данный момент времени, использовалась система нечеткой логики. Данный модуль был реализован также на платформе Microsoft .Net на языке C#. Фактически данный модуль состоял из двух независимых приложений, использующих общую библиотеку.

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

Приложение для бортового компьютера получало данные из двух источников – от нейронной сети и телеметрию от микроконтроллера Arduino, в частности, дистанцию до препятствий, информацию об ускорениях платформы от акселерометра, а также данные о векторе магнитного поля, в котором находится платформа (на основании которых можно было определить направление движения платформы относительно магнитного поля Земли).

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

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

При движении платформы использовался следующий алгоритм.

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

2.     Модуль нечеткой логики посылает запрос на получение данных нейронной сети.

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

4.     Полученный отклик передается модулю нечеткой логики.

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

6.     На основе данных, полученных от модуля нечеткой логики, управляющий модуль формирует команды для микроконтроллера Arduino, которые и посылает ему.

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

На основании изложенного сделаем следующие выводы. Предложенная структура ПО обеспечивает высокую гибкость системы. В частности, каждый из программных продуктов способен работать независимо, с использованием универсальных сетевых протоколов. Это позволяет как создавать распределенную систему (например, для повышения общего быстродействия системы), где каждый программный продукт работает на специально выделенном компьютере, так и легко заменять любой из ее компонентов. Например, при решении ряда задач нейронная сеть, визуально определяющая необходимое направление движения, может быть заменена на модуль, определяющий направление движения с использованием GPS-технологий и сигналов от магнетометра (компаса). Также система управления на основе нечеткой логики может быть заменена на любую другую систему, например, на основе конечных автоматов.

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

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

Литература

1.     Зотин А.Г., Саяпин А.В. Разработка полуавтономной исследовательской системы с использованием видеоданных и сенсорных устройств // Решетневские чтения. 2013. Т. 2. № 17. С. 203–204.

2.     Lewis University: Unmanned Aircraft Systems, B.S. URL: http://www.lewisu.edu/academics/unmanned-aircraft-systems/ (да­та обращения: 18.08.2015).

3.     Bonn-Rhein-Sieg University of Applied Science: Master of Autonomous Systems. URL: http://www.inf.fh-bonn-rhein-sieg.de/ informatik/en/MAS.html (дата обращения: 18.08.2015).

4.     Oxford: Autonomous Intelligent Machines and Systems. URL: http://www.ox.ac.uk/admissions/graduate/courses/autono mous-intelligent-machines-and-systems (дата обращения: 18.08.2015).

5.     Karim A., Haider N.G. Neural Network Based Low Cost Autonomous Vehicle. The 1st Intern. Conf. on Comp., Control & Communication, 2007. URL: http://citeseerx.ist.psu.edu/viewdoc/ download?rep=rep1&type=pdf&doi=10.1.1.135.661 (дата обращения: 17.08.2015).

6.     Nikam D.S., Gandhe S.T., Phasale J.N. Development of MBP for AVR Based Controlled Autonomous Vehicle. Intern. Journ. of Emerging Trends & Technology in Comp. Sc., 2014, vol. 3, iss. 6, pp. 162–166.

7.     Tahboub K.K., Al-Din Munaf S.N. A Neuro-Fuzzy Reasoning System for Mobile Robot Navigation. Jordan Journ. of Mechanical and Industrial Eng., 2009, vol. 3 (1), pp. 77–88.

8.     Smith J.F. III, Nguyen T.H. Autonomous and cooperative robotic behavior based on fuzzy logic and genetic programming. Journ. Integrated Computer-Aided Eng., 2007, vol. 14, iss. 2, pp. 141–159.

9.     Faisal M., Hedjar R., Al Sulaiman M., Al-Mutib K. Fuzzy Logic Navigation and Obstacle Avoidance by a Mobile Robot in an Unknown Dynamic Environment. Intern. Journ. of Advanced Robotic Systems, 2012. URL: http://cdn.intechopen.com/pdfs-wm/41967.pdf (дата обращения: 27.05.2015).

10.   Саяпин А.В., Зотин А.Г. Автономная колесная платформа и ее использование для изучения основ обработки изображений, нейронных сетей и систем нечеткой логики // Евразийский союз ученых. 2015. № 2 (11). Ч. 3. С. 38–40.

11.  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 Comp. Sc. and Electronic Eng. Conf., 2013, pp. 103–108

12.   Mellis D., Buechley L. Collaboration in open-source hardware: third-party variations on the arduino duemilanove. Proc. of the ACM 2012 Conf. on Comp. Supported Cooperative Work (CSCW‘12), 2012, pp. 1175–1178.

13.  Raspberry Pi Operating systems. URL: http://en.wikipe­dia.org/wiki/Raspberry_Pi#Operating_systems (дата обращения: 20.05.2015).

14.   Зотин А.Г., Пахирка А.И., Буряченко В.В. Система видеонаблюдения c возможностью улучшения визуального качества видеопотока // Программные продукты и системы. 2013. № 2. С. 191–197.

15.   Al-Amri S.S., Kalyankar N.V., Khamitkar S.D. Image Segmentation by Using Thershod Techniques. Journ. of Comp., 2010, vol. 2, iss. 5, pp. 83–86.

16.  Зотин А.Г., Носов А.В., Бузаев Д.В. Анализ пригодности методов сегментации для локализации объектов на основе цветовых и структурных признаков // Вестн. СибГАУ. 2012. № 1 (41). С. 23–28.

17.   McCaffrey J.D. Neural Network Training Using Particle Swarm Optimizationю (2013). URL: http://visualstudiomagazine. com/articles/2013/12/01/neural-network-training-using-particle-swarm-optimization.aspx (дата обращения: 22.05.2015).

18.  Mono. URL: https://ru.wikipedia.org/wiki/Mono (дата обращения: 22.05.2015).


Постоянный адрес статьи:
http://swsys.ru/index.php?page=article&id=4124&lang=
Версия для печати
Выпуск в формате PDF (8.31Мб)
Скачать обложку в формате PDF (1.24Мб)
Статья опубликована в выпуске журнала № 1 за 2016 год. [ на стр. 146-151 ]

Возможно, Вас заинтересуют следующие статьи схожих тематик: