Перейти на главную страницу
Конечной научно-технической целью всего проекта в целом являлась освоение методологии синтеза нейросетевого регулятора по методике «обучение через показ», применительно к задаче управления автономным мобильным объектом. Синтез нейронного регулятора в рамках методики “обучение через показ” проводится в два этапа. На первом этапе управление роботом осуществляется традиционной системой управления или оператором. При этом производится запись показаний датчиков и управляющих воздействий. Полученные таким образом данные, на втором этапе, используются для расчета коэффициентов нейронного регулятора.
В качестве объекта управления использовался двухколесный автономный робот Феникс-1, оснащенный видеокамерой и бортовой системой управления, обеспечивающей возможность реализации как стандартных, так и нейросетевых алгоритмов управления. В рамках описываемого этапа проекта поставленная задача решалась применительно к синтезу нейронного регулятора для управления перемещениями робота, который бы обеспечивал отслеживание белой полосы.
В процессе работ над проектом был решен ряд сложных технических задач по созданию аппаратно-программного комплекса. В результате была предложен, реализован и экспериментально проверен эффективный метод синтеза нейронных регуляторов по методике “обучение через показ”.
Внешний вид робота Феникс-1 представлен на рис. 1.1. Робот имеет два ведущих колеса с независимым приводом.
Структура системы управления робота приведена на рис. 1.2. Перемещения робота регулируются широтно-импульсными сигналами, вырабатываемыми контроллером ASK Lab, разработанным в СКБ ГУАП [1].
Для управления роботом применялись два независимых друг от друга канала управления, условно называемые «газ» и «поворот». Канал «газ» отвечал за величину значения подаваемого ШИМ, а канал «поворот» отвечал за рассогласование значений ШИМ для левого и правого моторов, которое в свою очередь и приводило к движению робота в нужном направлении. Значение ШИМ по условиям задачи задавалось положительным числом от 0 до 255.
Низкоуровневое программное обеспечение контроллера ASK-Lab было разработано с помощью IDE нового поколения “Конструктор А3”, базирующейся на микрооперационной системы реального времени m ОСРВ A3 [2].
Робот оснащен Web-камерой Creative (CT.6840), которая обеспечивала получение изображения размером 320х240 пикселей с частотой 30 кадров/сек, и ноутбуком Toshiba (1.2 ГГц). Получаемое изображение поверхности полигона обрабатывалось с помощью высокоуровневого программного обеспечения. На основе этой информации, а также информации с датчиков, высокоуровневое ПО ноутбука, в соответствии с реализуемым в каждом конкретном эксперименте алгоритмом управления, вырабатывало команды для контроллера ASK Lab.
При проведении экспериментов в качестве полигона использовалась обычная учебная аудитория, в которой с помощью скотча отмечалась траектория. В автономном режиме для оценки текущего положения робота Феникс-1 относительно полосы использовалось видеоизображение, получаемое с камеры робота. Эта информация обрабатывалась программным обеспечением ноутбука, который в этом случае фактически представлял собой оптический датчик.
Для обучения нейронной сети по действиям оператора потребовалось обеспечить возможность “ручного” управления. В этом случае оператор, получая видеоизображения посредством беспроводного Ethernet, управлял роботом с помощью джойстика. Во время эксперимента записывались как показания оптического датчика, так и низкоуровневые команды управления, а, именно, значения ШИМов каждого из каналов управления. Эта информация использовалась на втором этапе при синтезе нейронного регулятора.
Для реализации этой методики требовалось обеспечить передачи видеоизображения с видеокамеры робота на компьютер оператора по цифровому каналу связи. В эксперименте цифровой канал передачи видеоизображения и команд оператора был реализован с помощью стандартного оборудования для создания беспроводных сетей:
Программный комплекс для управления роботом «Феникс-1» состоял из трех приложений, построенных с использованием архитектуры клиент – сервер и представленных в таблице 1.1.
Таблица 1.1
Приложение |
Расположение |
1. Сервер манипулятора |
Компьютер оператора |
2. Клиент манипулятора/сервер видео |
Ноутбук на роботе |
3.Клиент видео |
Компьютер оператора |
ПО верхнего уровня обеспечивало возможность работы в сетях TCP/IP,поддержки стандартных игровых устройств и устройств для «захвата» видео, сжатия и передачи видеоизображения с камеры робота на компьютер оператора, передачи команд управления на объект управления, записи данных на жесткий и диск и т.п.
Одним из ключевых элементов проекта в целом являлась разработка оптического датчика, обеспечивающего возможность измерять положение робота относительно контрастной полосы. Основным критерием при синтезе датчика являлось быстродействие алгоритмов распознавания и управления, т.к. с камеры поступает интенсивный поток видеоданных (25-30 кадров в секунду). Это требование обосновано тем, что в реальном времени, при малых задержках между кадрами можно существенно точнее отслеживать положение робота на полосе и, соответственно, обеспечить большую максимальную скорость движения.
Базовая идея алгоритма выделения полосы, реализованного в ходе выполнения проекта, основана на предположении, что полоса имеет однородный цвет и достаточно контрастна по сравнению с объектами фона. Идея алгоритма проиллюстрирована рисунком 2.1, на котором схематично показан кадр изображения. Фон обозначен серым цветом, полоса – белым.
Алгоритм нахождения отклонения D был реализован методом центра масс. В соответствии с этим методом положение полосы Nc в измерительной области находится по формуле:
где Nc – номер пикселя, содержащего центр полосы; n – число пикселей в области распознавания; Li – яркость i-го пикселя.
Вычитая из положения центра изображения положение найденной полосы и выполнив нормировку, получим искомое отклонение D
D=Nc-N0 (2.2).
В алгоритме, реально использовавшемся в ходе экспериментов, использовалось не одна, а пять измерительных областей. На рис. 2.2. приведено изображение с камеры робота, на котором измерительные полосы обозначены символами D1-D5.
Как показали натурные эксперименты, при наличии внешних источников помех в виде солнечных бликов для улучшения распознавания оказалось целесообразным применение бинаризационных фильтров с регулируемым порогом срабатывания фильтра к каждой из измерительных полос.
В одной из серий проведенных экспериментов робот управлялся ПИД регулятором по параметру D, рассчитанному для полосы D1. При этом записывались данные по всем измерительным полосам D1-D5, которые в дальнейшем использовались для расчета коэффициентов нейронной сети.
Как показали проведенные эксперименты робот под управлением нейронной сети, обученной по экспериментальным данным уверенно проходил трассу испытательного полигона. При этом оказалось, что критически важно для устойчивости реализации алгоритма управления обеспечить жесткую фиксацию угла наклона WEB-камеры. Этот феномен иллюстрируется рис. 2.3. на котором схематично показана полоса и окно обзора при разных углах наклона камеры. Видно, что при разных положениях в кадр попадают различные участки полосы и, соответственно, изменяются значения D , вплоть до изменения знака.
Из полученных экспериментальных данных следует целесообразность введения в структуру системы управления датчика угла текущего положения камеры и датчика измерения положения робота относительно плоскости подстилающей поверхности.
Одной из перспективных задач, которые ставила перед собой команда разработчиков, являлось участие в робототехнических соревнованиях.
В МГУ им. Ломоносова ежегодно проводятся соревнования автономных мобильных роботов, соревнующихся на скорость прохождения трассы на своеобразном полигоне, представленном на рис.3.1. Размер полигона 6м *10 м и его создание в рамках жестких ограничений по ресурсам проекта было невозможно.
В силу этого и в силу актуальности такого рода задачи было принято решение о разработке виртуального полигона. При этом постановка задачи была существенно и разработанное ПО обеспечивало возможность:
Разработанное в рамках проекта Феникс-1 ПО обеспечивает возможность генерации цифрового видеоролика при движении виртуального робота по виртуальному полигону. Управление моделью робота осуществляется со стандартного игрового джойстика. При этом возможна реализация следующих режимов работы программы:
Отклонение джойстика по оси у позволяет определить модуль вектора скорости V, а отклонение по оси х определяет направление движения (угол αt). Модуль вектора скорости зависит только от отклонения:
где V – вектор скорости; АV – максимальное приращение модуля скорости;
Курс изменяется только при наличии отклонения по оси х::
где αt+1 – направление движения в следующий момент времени'; αt – направление движения в текущий момент времени; Аα – максимальное изменение угла;
∆х – отклонение по оси у, -1≤ ∆х ≤ 1.
Настройка движения осуществляется с помощью задания максимальных значений изменений положения и курса за одну единицу времени. Положение робота в следующий момент времени, вычисляется в соответствии с :
где Pt+1 = (x t+1, y t+1) – положение робота в следующий момент времени;Pt = (x t, y t) – положение робота в текущий момент времени; Vt – вектор скорости в текущий момент времени.
Координата z остается неизменной, так как она задает высоту, на которой расположена камера, и является постоянной величиной.
Как показало изучение инструментального ПО, пакет DarkBASIC является эффективным средством решения подобного класса задач.
В заключение авторы работы высказывают искреннюю благодарность сотрудникам СКБ ГУАП Анисимову А.Л., Касаткину А.А. за всестороннюю помощь в процессе выполнения всего проекта, а также разработчику электромеханической компоненты робота Штефану В. явившемуся инициатором начала работ по данному направлению.
2. Goncharov A. Experimental Integrated Development Environment “Constructor A3”
Ряд результатов, полученных в ходе проекта, был представлен в докладах на студенческой научно-технической конференции гуап 2006. Данная работа представляет собой обзор этих докладо
07 10 2014
1 стр.
Правительство США в конце 1940 года приступило к осуществлению проекта по управлению погодой под кодовым названием "Феникс". Теоретическая разработка и идеи в области технологии бы
02 10 2014
1 стр.
Имя робота боевой робот рра (Робот Российской Армии) защитник родины нового поколения
07 10 2014
1 стр.
Робот действует на прямоугольном клетчатом поле. Между некоторыми клетками могут быть расположены стены. Какие-то клетки могут быть закрашены. Сам Робот всегда занимает ровно одну
07 10 2014
1 стр.
Робот занимает зону старта. После команды судьи робот должен проехать по полю, так как это показано на рисунке
07 10 2014
1 стр.
Маркова А. П. Лучшие блюда к праздничному столу, Ростов н/Д: Феникс, 2004. 283с
10 09 2014
1 стр.
Модуль «Триада-Робот» предназначен для торговли по алгоритмам созданных стратегий через торговые терминалы в автоматическом режиме. На данный момент торговля доступна через следующ
07 10 2014
1 стр.
Два работника, применяя Робота-Штукатура «RoboPlaster», смогут оштукатурить за 8 часовой рабочий день 500-750м2 стены, увеличивая тем самым производительность работ в 10-20 раз. В
07 10 2014
1 стр.