Компьютерная модель робота Phoenix
Симуляторы роботов и системы распознавания образов. Выбор программного и аппаратного обеспечения. Проектирование алгоритмов и интерфейсов. Система уравнений, описывающая движение робота. Структура файла для передачи экспериментальных данных в Mathсad.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 04.05.2015 |
Размер файла | 2,2 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
1
Государственный Университет Аэрокосмического Приборостроения
Дипломная работа
Компьютерная модель робота Phoenix
Руководитель: к.т.н., начальник СКБ ГУАП Астапкович А. М.
Студент: Астапкович Д. А.
Оглавление
Введение
Постановка задачи
1. Обзор симуляторов роботов и систем распознавания образов
1.1 Обзор робототехнических симуляторов
1.2 Распознавание образов. Краткий обзор
1.2.1 Введение
1.2.2 Определения
1.2.3 Методы распознавания образов
1.2.4 Общая характеристика задач распознавания образов и их типы
2. Выбор программного и аппаратного обеспечения
2.2 Выбор программного инструментария
2.2.1 Требования к инструментарию
2.2.2 Выбор среды математического моделирования
2.2.3 Выбор среды для разработки трехмерного симулятора
2.3 Выбор аппаратного обеспечения
3. Проектирование алгоритмов и интерфейсов
3.1 Общая схема работы
3.2 Математическая модель робота
3.2.1 Краткий обзор двухколесных роботов
3.2.2 Уравнения, описывающие положение колес робота
3.2.3 Уравнения, описывающие работу двигателей
3.2.4 Общая система уравнений, описывающая движение робота
3.2.5 Верификация математической модели
3.2.6 Движение по прямой
3.2.7 Вращение на месте
3.2.8 Движение по окружности
3.3 Алгоритм работы симулятора
3.4 Разработка интерфейсов
3.4.1 Структура файла для передачи экспериментальных данных в Mathсad
3.4.2 Интерфейс для чтения экспериментальных данных в Mathсad
3.4.3 Интерфейс настроек симулятора
3.4.4 Интерфейс симулятора
Заключение
Список литературы
Приложения
Листинг программы на Dark Basic
Содержание файла настроек
Плакаты к дипломной работе
программный алгоритм интерфейс робот
Введение
В настоящее время все больше значение приобретает встроенных систем управления на основе искусственного интеллекта.
Разработка фиксированных алгоритмов не позволяет создавать действительно гибкие универсальные системы, поэтому растет интерес к системам с нечеткой логикой и нейронным сетям.
Эти системы работают по принципам, заложенным в человеческую систему мышления. Способ обработки информации мозгом в корне отличаются от методов, применяемых в обычных цифровых компьютерах. Мозг представляет собой чрезвычайно сложный, нелинейный, параллельный компьтер (систему обработки информации). Он обладает способностью организовать свои структурные компоненты, называемые нейронами, так, чтобы они могли выполнять конкретные задачи (распознавание образов, обработка сигналов органов чувств, моторные функции) во много раз быстрее, чем могут позволить самые быстродействующие компьютеры.
Принципиальное отличие мозга от современных компьютеров заключается в том, что мозг можно рассматривать как параллельную вычислительную структуру (ВС), в то время как современные микропроцессоры явлются последовательными ВС. В соответствии с эмперическим законом Мура, мощность вычислительных устройств растет экспоненциально, и эта тенденция сохраняется уже около 50 лет. Так же неуклонно уменьшается их стоимость, что позволило перейти к использованию искусственных нейронных сетей (ИНС), реализуемых на последовательных ВС.
В фундаментальной монографии [1] рассматриваются основные принципы построения искусственных нейронных сетей и строгое математическое обоснование принципов, лежащих в их основе применительно к широкому спектру прикладных задач. Следует подчеркнуть, что в настоящее время ведутся исследования в области использования ИНС для обработки видеоизображений [1].
Дипломная работа посвящена разработке программно-инструментальной среды `Phonix-2', в первую очередь ориентированной на проведение исследований в области использования ИНС в качестве систем управления мобильным автономным объектом, использующим для ориентации в пространстве изображения с бортовых видеокамер. Более конкретно, разрабатываемая система ориентирована на ИНС, настраиваемых по методике “обучение с учителем”.
В силу простоты структуры систем управления на базе нейронных систем и доступности их эффективной реализации на современной элементной базе ключевым аспектом использования нейронных сетей является процесс обучения. Под процессом обучения в соответствии с определением, использованным в [1] понимается процесс, в котором свободные параметры нейронной сети настраиваются посредством моделирования среды, в которую эта сеть встроена. Тип обучения определяется способом определения этих параметров.
На рис. В.1. показана блочная диаграмма, иллюстрирующая форму обучения с учителем.
Концептуально участие учителя можно рассматривать как наличие знаний об окружащей среде, представленных в виде пар «вход-выход». При этом сама среда неизвестна обучаемой нейронной сети. Когда учителю и сети подается обучающий вектор из окружающей среды, учитель на основе своих знаний может сформировать и передать обучаемой сети желаемый отклик. Вектором, описывающим состояние среды, может быть как набор показаний датчиков, так и графическое изображение или видео ряд. Этот желаемый результат представляет собой оптимальные действия, которые должна выполнить нейронная сеть. Сеть также вырабатывает отклик, основанный на внутренних параметрах. Обучением, по сути, явялется процесс корректировки параметров сети с учетом обучаеющего вектора и сигнала ошибки. Сигнал ошибки - это разность между желаемым результатом и текущим откликом нейронной сети, который позволяет передавать знания учителя в сеть. После окончания обучения сеть может работать со средой автономно.
Размещено на http://www.allbest.ru/
1
Рис. В.1 Блочная диаграмма обучения с учителем
Конструирование нейронной сети, призванной генерировать выходной сигнал в ответ на входной пример, эквиваленто обучению сети построению гиперповерхности, т.е. многомерному отображению, определяющей выходной вектор в терминах второго. Другими словами, обучение рассматривается как задача реконструкции гиперповерхности на основе множества точек, которое может быть довольно разреженным.
Парадигма обучения с учителем применительно к системе управления автономного мобильного робота, реализованной на базе нейронной сети, исследовалась в проекте СКБ ГУАП «Феникс-1», результаты которого опубликованы в сборнике докладов [2].
Целью всего проекта в целом являлось освоение методологии синтеза нейросетевого регулятора по методике обучения через показ, применительно к задаче управления мобильным объектом, который отслеживает свое положение пространство с помощью видеокамеры. В результате реализации этого исследовательского проекта была продемонстрирована возможность создания нейросетевой системы управления обеспечивающей решение задачи распознавания образа в реальном масштабе времени.
Внешний вид робота и стуктура бортовой системы управления роботом Феникс-1 представлен на рис. В.2. Робот имеет два ведущих колеса с независимым приводом и оснащен web-камерой Creative для получения изображений размеров 320х240 пикселей с частотой 30 кадров/сек. и ноутбуком Toshiba (1.2 ГГц). Бортовая система управления обеспечивает возможность реализации как стандартных, так и нейросетевых алгоритмов управления.
В рамках проекта задача решалась применительно к синтезу нейронного регулятора для управления перемещением робота, который бы обеспечивал отслеживание контрастной полосы на полу [2]. В автономном режиме для оценки текущего положения относительно полосы использовалось изображение с камеры робота. Эта информация обрабтывалась программным обеспечением ноутбука, который фактически представлял собой оптический датчик.
Синтез нейронного регулятора в рамках методики проводится в два этапа. На первом этапе управления роботом осуществляется традиционной схемой управления или оператором. При этом производится запись показаний датчиков и управляющих воздействий. На втором этапе полученные данные использовались для расчета коэффициентов нейронного регулятора.
В процессе работ над проектом был решен рял сложных технических задач по созданию аппаратно-программного комплекса. В результате был предложен, реализован и экспериментально проверен эффективный метод синтеза нейронных регуляторов по методике обучения через показ.
Размещено на http://www.allbest.ru/
1
Рис. В.2 Внешний вид робота и стуктура системы управления роботом Феникс-1
Размещено на http://www.allbest.ru/
1
Рис. В.3 Система управления на одном нейроне
Модель нейронной сети (рис. В.3.) реализована в виде матрицы весов W, которая имеет размер m на n. Эта матрица определяет зависимость m выходов управления от n входных сигналов с сенсоров. Для времени tk отклик нейронной сети представляет собой вектор управления A(tk), который вычисляется по формуле:
где
Si (tk ) - показания i-го датчика в момент времени tk,
Ak (tk ) - сигнал управления по k-му каналу в момент времени tk,
Wi,j - вес, определяющий вклад показаний i-го датчика на сигнал управления по k-ому каналу управления.
В векторно-матричных обозначениях система В.1 компактно записывается в виде
W * S(tk ) = A ( tk ) (В.2).
Элементы матрицы W представляют собой свободные параметры, которые определяются на этапе обучения нейронной сети.
Процесс обучения происходит следующим образом - формируется вектор w, который состоит из неизвестных коэффициентов Wi,j матрицы W:
w = [W11, … W1n, W21, … W2n, …… Wm1, … Wmn ]T
Схожим образом формируется вектор a:
a = [A1(t1).. Am(t1), A1(t2).. Am(t2), ……. A1(tp).. Am(tp) ] T
Свободные параметр являются решением линейной системы уравнений S•w = a, где S представляет собой разряженную матрицу, сформированную из показаний сенсоров:
Размещено на http://www.allbest.ru/
1
Для получения корректного решения необходимо использовать регуляризацию Тихонова. В этом случае решением будет являться такой набор коэффициентов, при котором нормы ||S•w - a|| и ||w|| будут минимальны:
F(w) = IIS•w-aII + IIwII (В.3).
Аналитечески решение выражается следующим образом:
W = (ST S + E) -1 ST a (В.4).
Более подробно вопрос обучения нейронной сети рассмотрен в работе [3].
Матрица W определяется в ходе обучения, схема которого показана на рис. В.4.
Размещено на http://www.allbest.ru/
1
Рис. В.4 Схема обучения через показ
Одним из ключевых элементов проекта являлась разработка оптического датчика, обеспечивающего возможность измерять положение робота относительно контрастной полосы на полу. Основным критерием при синтезе датчика являлось быстродействие алгоритмов распознавания и управления, так как с камеры поступает большой объем видеоданных (25-30 кадров в секунду). Это обусловлено тем, что в реальном времени можно отслеживать положение робота на полосе очень точно, что обеспечивает наибольшую скорость движения.
Базовая идея выделения полосы основа на предположении, что полоса имеет однородный цвет и достаточно контрастна по сравнению с объектами фона. Идея алгоритма проиллюстрирована рис. В.5, на котором схематично показан кадр с камеры.
Размещено на http://www.allbest.ru/
1
Рис. В.5 Схематичное изображение кадра
Алгоритм нахождения отлонения D был реализован методом центра масс. В соответствии с этим методом положение полосы Nc в измерительной области находится по формуле:
(В.4),
где Nc - номер пикселя в центре области распознавания;
n - число пикселей в области распознавания;
Li - яркость i-го пикселя.
Вычитая из положения центра области распознавания положение фактического центра области и выполнив нормировку, можно получить искомое отклонение D.
Для более точного определения положения в реальном проекте использовалось пять областей распознавания. На рис. В.6. приведено изображение с камеры робота. Области распознавания обозначены символами D1-D5.
Рис. В.6 Области распознавания на реальном кадре
В одной из серий проведенных экспериментов робот управлялся ПИД-регулятором по параметру D, рассчитанному для области D1. При этом записывались данные по всем измерительным полосам D1-D5, которые в дальнейшем использовались для расчета коэффициентов нейронной сети.
Как показали проведенные эксперименты, робот под управлением неронной сети, обученной по экспериментальным данным, уверенно проходил трассу испытательного полигона.
Анализ экспозиций, представленных на военно-морских салонах, проводимых в Санкт-Петербурге (Ленэкспо), показал, что в настоящее време все более широкое применение находят виртуальные тренажеры. На них происходит обучение управлению вертолетами, кораблями, подводными лодками, роботы-саперы и т.п. Аналогичный подход с учетом конкретных особенностей широко используется при проведении опытно-конструкторских разработок сложных систем.
Еще до начала проекта было очевидно, что получение экспериментальных данных из реальной среды явлется дорогостоящим процессом. Для ежегодных международных робототехнических соревнований в МГУ им. Ломоносова по скоростному прохождению трассы используется полигон размером 6 на 10 метров со своеобразной шахматной текстурой. Создание подобного полигона в рамках ограничений проекта по ресурсам было невозможным.
Поэтому в рамках проектах было принято решение о создание виртуального полигона для получения обучающих видео последовательностей. Разработанное программное обеспечение обладало следующими характеристиками:
· размеры полигона и его текстура легко изменяемы
· широкий диапазон настроек камеры: положение, угол наклона, физические параметры
· неограниченное количество камер
· использование фото и видео материалов с обычных камер
· дешевизна и доступность программного обеспечения
На рис. 1.5 показан вид виртуального полигона, полученный с помощью разработанного программного обеспечения.
Размещено на http://www.allbest.ru/
1
Рис. 1.5 Внешний вид виртуального полигона
Накопленный в рамках студенческого-исследовательского проекта “Phoenix-1”, опыт позволил сформулировать задачи для проекта “Phoenix-2”, частью которого является настоящая дипломная работа.
Результатом дипломной работы является программно-инструментальная среда “Phoenix-2”, используемая в СКБ Государственного Университета Аэрокосмического Приборостроения в качестве инструмента для исследования систем управления на базе ИНС.
Постановка задачи
Целью дипломного проекта является разработка программно-инструментальной среды, обеспечивающей возможность решения широкого круга задач, возникающих при исследовании систем управления автономных мобильных объектов, реализуемых на базе нейронных сетей.
С учетом современных тенденций развития такого рода систем одним из главных требований к среде являлась возможность работы с видеоизображениями среды, в которой находится робот. По определению, обучение через показ базируется на использовании экспериментальных данных.
Как показал опыт, накопленный в рамках проекта Феникс-1[2], представленного во введении цели обучения могут очень сильно различаться и видоизменяться в процессе обучения. Несмотря на исследовательский характер проекта и небольшие размеры как робота, так и полигона, проведение даже одной серии экспериментов является трудоемким мероприятия.
В рамках проекта Феникс-2 было принято решение обеспечить возможность проведения экспериментов с математической моделью робота в виртуальной среде. Этот подход не отменяет необходимости проведения экспериментов с реальным объектом в реальной среде, но позволяет существенно сократить трудозатраты на проведение исследований и конструкторских работ. Следует отметить, что такой подход имеет универсальный характер и может быть использован и при решении широкого круга практических задач.
Такая постановка подразумевает решение ряда задач:
· разработка математической модели робота, обеспечивающей возможность его управления и эволюции в виртуальной среде;
· разработка модели виртуальной среды;
· сохранение получаемых экспериментальных данных;
· разработка средств обеспечения взаимодействия со средой математического моделирования, что подразумевает разработку эффективных механизмов передачи данных между программами и пользовательских интерфейсы для чтения и записи данных.
С учетом ограничений по ресурсам, которые имелись на выполнение дипломной работы, в рамках общей схемы была проведена конкретизация требований к отдельным компонентам разрабатываемой программно-инструментальной среды.
В качестве модели был выбран двухколесный робот, приводимый в движение двумя электрическими двигателями. Используется модель идеального сцепления колес робота с полигоном. Основные механические и электрические компоненты двухколесного робота должны быть описаны в параметрическом виде, что обеспечивает возможность проведения исследований с целым классом подобных систем. Такие ограничения позволяет создать относительно простую модель робота, понятную модель управления, а так же существенно сократить количество вычислений при обработке данных.
Управление задается с клавиатуры или джойстика - данные с этих контроллеров определяют напряжения на двигателях согласно математической модели.
В качестве виртуальной среды используется плоский ненаклонный полигон произвольного размера с произвольной текстурой.
Задачи экспериментов определяются расстановкой объектов по полигону, а так же описываются текстом, который выводится на экран. Контроль выполнения здания осуществляется только человеком на этапе записи или на этапе обработки данных в среде математического моделирования.
Инструмент должен визуализировать траекторию движения робота согласно математической модели в двумерном пространстве.
Программно-инструментальная среда должна обеспечивать взаимодействие со средой математического моделирования.
1. Обзор симуляторов роботов и систем распознавания рбразов
1.1 Обзор робототехнических симуляторов
Обзор проводился по материалам различных робототехнических сайтов, названия которых приведены в списке литературы. В результате удалось найти аналог, который кратко описан. В заключении описаны причины, по которым нельзя использовать существующие разработки.
Одной из первых программ такого рода был Autonomous Micro Robot Soccer Simulator, которая была больше похожа на игрушку, чем на серьезную программу, -- модель поведения робота выбиралось из нескольких вариантов без возможности редактирования.
Более серьезным программным продуктом является ARC (Autonomous Robot Controller), разработанный Ксави Маркезом. Эта программа не позволяет моделировать своего собственного робота от начала до конца, но дает возможность проверить поведение робота в определенном окружении при наличии тех или иных датчиков.
Этот симулятор обеспечивает возможность задания типа, количества и мест расположения датчиков, реакцию на их сигналы, окружение робота (стены, прозрачные объекты, линии на полу, координатные точки и т.д.). К недостаткам можно отнести двухмерность (вид сверху) и ограничение на тип робота (только два колеса). Следует отметить компактность кода, реализующего симулятор, размер которого примерно 750 Кбайт.
Eще одна программа такого рода MOBOTSIM. В сравнении с ARC этот симулятор немного удобнее из-за встроенного интерпретатора языка Sax Basic, что позволяет задавать параметры робота непосредственно в симуляторе.
Как показал анализ наиболее близким аналогом программно-инструментальной среды является программный продукт Electric Drive Train Simulator. Этот программный продукт обеспечивает возможность конструирования робота и по целому ряду свойств близок к задачам дипломного проекта.
Это мощный инструмент, который позволяет выбрать колесную схему робота, тип моторов и аккумуляторов и ряд других парметров. Результатом работы этой программы является возможность оценки определения эксплуатационных показателей заданной комбинации компонентов на ранних этапах проектирования механической части робота.
В EDTSim обеспечивает возможность выбора 12 вариантов колесных схем, которые приведены в таблице 1.1. Названия схем используются в программе как параметр, поэтому названия схем приведены без перевода.
Таблица 1.1
Варианты колесных схем
Компоненты оборудования робота определяются рядом необходимых параметров. На рис. 1.1. показана вкладка Motor, с помощью которой выбирается электродвигатель для робота. Есть возможность загрузки описаний наиболее популярных моделей электродвигателей, а так же создание собственных описаний с использованием внутренней утилиты Motor Editor. Остальные параметры настраиваются схожим образом.
Список параметров электродвигателей краткими описаниями и переводами приведен ниже:
Рис. 1.1 Вкладка Motor
· Name - название или номер электродвигателя
· Manufacturer - название компании, производителя электродвигателя
· Weight/mass - вес или масса электродвигателя
· Nominal voltage - номинальное напряжение
· Armature resistance - сопротивление обмотки
· Stall current - сила тока при номинальном напряжении
· Torque constant - вращающий момент при подаче напряжения в 1 В
· Stall torque - вращающий момент блокированного ротора при подаче номинального напряжения
· Angular-velocity constant - угловая скорость ротора при подаче напряжения в 1 В
· No-load angular velocity - угловая скорость ротора без нагрузки при номинальном напряжении
· No-load current - сила тока при номинальном напряжении
· Peak Power - максимальная генерируемая мощность, которую может выработать электродвигатель. Пик мощности обычно достигается при 50% тока при заблокированном роторе и 50% частоты вращения без нагрузки.
· Peak efficiency - коэффициент полезного действия
· Rotor Inertia - инерция вращения ротора электродвигателя
· Notes - второстепенная информация об электродвигателе (размер мотора, фирмы-поставщики)
· Motors in series - число моторов, соединённых последовательно. Предполагается, что все валы электродвигателей соединены механически.
· Motors in parallel - число моторов, подключенных параллельно. Предполагается, что все валы электродвигателей соединены механически.
После определения всех параметров, можно протестировать поведение робота на виртуальном полигоне. Управление задается с помощью клавиатуры или джойстика. На рис. 1.2. показана окно программы, в котором визуализируется трехмерная модель робота и основные показатели работы системы.
Рис. 1.2 Вкладка Test drive display
Список существующих симуляторов не исчерпывается описанными выше. Однако стоит отметить, что неупомянутые программные пакеты либо работают под опереционной системой Unix, либо представляют собой дополнения к пакетам типа Mathematica, либо являются коммерческим ПО, которое поставляется вместе с наборами деталей.
Описанные в этом разделе симуляторы могут быть использованы только как показатели качества, которое предлагается современными разработками. Однако они никоим образом не могут быть использованы для сбора информации, необходимой при создании алгоритмов обучения. Причин несколько: нет информации о физической модели, нет возможности получить все данные о системе. Так же нельзя изменять количество и положения камер, поэтому невозможно получать последовательнсти видеобразов.
1.2 Распознавание образов. Краткий обзор
Данный обзор выполнен на основании фундаментальных монографий [3], [4].
1.2.1 Введение
Достаточно долгое время задача распознавания рассматривалась человеком со стороны биологического и психологического аспектов. При этом изучению подвергались лишь качественные характеристики, которые не позволяли точно описать механизм функционирования. Получение функциональных зависимостей было, как правило, связано с исследованием рецепторов органов слуха, осязания или зрения. Однако принципы формирования решения оставались загадкой. Считается, что основным заблуждением на заре исследования было мнение о том, что мозг функционирует по определенным алгоритмам, а следовательно, выяснив эту систему правил, можно ее воссоздать с помощью постоянно развивающихся вычислительных и технических средств.
Основанная Норбертом Винером в начале XX века новая наука, получившая название кибернетика (наука об общих закономерностях процессов управления и передачи информации в машинах, живых организмах и обществе), позволила в исследование вопроса распознавания образов ввести количественные методы. Другими словами, представить процесс распознавания образов (по сути - природное явление) математическими методами.
В процессе жизнедеятельности человека число принимаемых им решений конечно, но, в то же время, количество определяющих факторов может быть бесконечным. Например, на улице может идти дождь: проливной, моросящий, другими словами, различной силы, однако человек может принять лишь два решения - брать ему зонт или нет.
Количество возможных решений зависит от жизненного опыта. Поэтому автоматизация ряда процессов предполагает под собой конструирование автоматических устройств, способных реагировать на множество изменяющихся характеристик внешней среды каким-то определенным количеством удовлетворительных для человека реакций. Это означает реализацию главных особенностей принципов распознавания, заложенных природой, обеспечение реагирования на совокупность изменений.
Создание устройств, выполняющих функции распознавания различных объектов, в большинстве случаев обеспечивает возможность замены человека специализированным автоматом. Благодаря этому, значительно расширяются возможности сложных систем, выполняющих различные информационные, логические, аналитические задачи. Следует отметить, что качество работ, выполняемых человеком на рабочем месте, зависит от многих факторов (квалификации, опыта, добросовестности и т. д.). В то же время исправный автомат действует однообразно и обеспечивает всегда одинаковое качество. Автоматический контроль сложных систем позволяет вести мониторинг и обеспечивать своевременное обслуживание, идентификацию помех и автоматическое применение соответствующих методов шумоподавления, позволяет повысить качество передачи информации. Также понятно, что использование автоматических систем в ряде задач может обеспечить невозможное для человека быстродействие.
В течение достаточно продолжительного времени проблема распознавания привлекает внимание специалистов в области прикладной математики, а затем и информатики. Так, в частности, отмечают работы Р. Фишера, выполненные в 20-х годах и приведшие к формированию дискриминантного анализа как одного из разделов теории и практики распознавания. В 40-х годах А. Н. Колмогоровым и А. Я. Хинчиным поставлена задача о разделении смеси двух распределений.
В 50-60-е годы ХХ века на основе массы работ появилась теория статистических решений. В результате этого появления найдены алгоритмы, обеспечивающие отнесение нового объекта к одному из заданных классов, что явилось началом планомерного научного поиска и практических разработок. В рамках кибернетики начало формироваться новое научное направление, связанное с разработкой теоретических основ и практической реализации устройств, а затем и систем, предназначенных для распознавания объектов, явлений, процессов. Новая научная дисциплина получила название "Распознавание образов".
Таким образом, базой для решения задач отнесения объектов к тому или иному классу послужили, как это отмечается сегодня, результаты классической теории статистических решений. В ее рамках строились алгоритмы, обеспечивающие на основе экспериментальных измерений параметров (признаков), характеризующих этот объект, а также некоторых априорных данных, описывающих классы, определение конкретного класса, к которому может быть отнесен распознаваемый объект.
В последующем математический аппарат теории распознавания расширился за счет применения:
- разделов прикладной математики; теории информации;
- методов алгебры логики;
- математического программирования и системотехники.
1.2.2 Определения
Распознавание образов (объектов) - задача идентификации объекта или определения каких-либо его свойств по его изображению (оптическое распознавание) или аудиозаписи (акустическое распознавание) и другим характеристикам.
Образ - классификационная группировка в системе классификации, объединяющая (выделяющая) определенную группу объектов по некоторому признаку. Образы обладают характерным свойством, проявляющимся в том, что ознакомление с конечным числом явлений из одного и того же множества дает возможность узнавать сколь угодно большое число его представителей. Образы обладают характерными объективными свойствами в том смысле, что разные люди, обучающиеся на различном материале наблюдений, большей частью одинаково и независимо друг от друга классифицируют одни и те же объекты. В классической постановке задачи распознавания универсальное множество разбивается на части-образы. Каждое отображение какого-либо объекта на воспринимающие органы распознающей системы, независимо от его положения относительно этих органов, принято называть изображением объекта, а множества таких изображений, объединенные какими-либо общими свойствами, представляют собой образы.
Методика отнесения элемента к какому-либо образу называется решающим правилом. Еще одно важное понятие - метрика - способ определения расстояния между элементами универсального множества. Чем меньше это расстояние, тем более похожими являются объекты (символы, звуки и др.) - то, что мы распознаем. Обычно элементы задаются в виде набора чисел, а метрика - в виде функции. От выбора представления образов и реализации метрики зависит эффективность программы, один алгоритм распознавания с разными метриками будет ошибаться с разной частотой.
Адаптация - это процесс изменения параметров и структуры системы, а возможно - и управляющих воздействий, на основе текущей информации с целью достижения определенного состояния системы при начальной неопределенности и изменяющихся условиях работы.
Обучение - это процесс, в результате которого система постепенно приобретает способность отвечать нужными реакциями на определенные совокупности внешних воздействий, а адаптация - это подстройка параметров и структуры системы с целью достижения требуемого качества управления в условиях непрерывных изменений внешних условий. Обучением обычно называют процесс выработки в некоторой системе той или иной реакции на группы внешних идентичных сигналов путем многократного воздействия на систему внешней корректировки. Такую внешнюю корректировку в обучении принято называть "поощрениями" и "наказаниями". Механизм генерации этой корректировки практически полностью определяет алгоритм обучения. Самообучение отличается от обучения тем, что здесь дополнительная информация о верности реакции системе не сообщается.
1.2.3 Методы распознавания образов
Метод перебора. В этом случае производится сравнение с базой данных, где для каждого вида объектов представлены всевозможные модификации отображения. Например, для оптического распознавания образов можно применить метод перебора вида объекта под различными углами, масштабами, смещениями, деформациями и т. д. Для букв нужно перебирать шрифт, свойства шрифта и т. д. В случае распознавания звуковых образов, соответственно, происходит сравнение с некоторыми известными шаблонами (например, слово, произнесенное несколькими людьми).
Второй подход - производится более глубокий анализ характеристик образа. В случае оптического распознавания это может быть определение различных геометрических характеристик. Звуковой образец в этом случае подвергается частотному, амплитудному анализу и т. д.
Следующий метод - использование искусственных нейронных сетей (ИНС). Этот метод требует либо большого количества примеров задачи распознавания при обучении, либо специальной структуры нейронной сети, учитывающей специфику данной задачи. Тем не менее, его отличает более высокая эффективность и производительность.
1.2.4 Общая характеристика задач распознавания образов и их типы
Общая структура системы распознавания и этапы в процессе ее разработки показаны на рис. 1.3.
Рис. 1.3 Структура системы распознавания
Задачи распознавания имеют следующие характерные этапы:
· преобразование исходных данных к виду, удобному для распознавания;
· собственно распознавание (указание принадлежности объекта определенному классу)
В этих задачах можно вводить понятие аналогии или подобия объектов и формулировать правила, на основании которых объект зачисляется в один и тот же класс или в разные классы.
Так же можно оперировать набором прецедентов-примеров, классификация которых известна и которые в виде формализованных описаний могут быть предъявлены алгоритму распознавания для настройки на задачу в процессе обучения.
Трудности решения задач распознавания связаны с невозможностью применять без модификаций классические математические методы (часто недоступна информация для точной математической модели или выигрыш от использования модели и математических методов несоизмерим с затратами).
Выделяют следующие типы задач распознавания:
· задача распознавания - отнесение предъявленного объекта по его описанию к одному из заданных классов (обучение с учителем)
· задача автоматической классификации - разбиение множества объектов, ситуаций, явлений по их описаниям на систему непересекающихся классов (таксономия, кластерный анализ, самообучение)
· задача выбора информативного набора признаков при распознавании
· задача приведения исходных данных к виду, удобному для распознавания
· динамическое распознавание и динамическая классификация
· задача прогнозирования - суть предыдущий тип, в котором решение должно относиться к некоторому моменту в будущем.
В существующих системах распознавания есть две наиболее сложные проблемы:
· проблема 1001 класса - добавление 1 класса к 1000 существующим вызывает трудности с переобучением системы и проверке данных, полученных ранее.
· проблема соотношения словаря и источников - наиболее сильно проявляется в распознавании речи. Текущие системы могут распознавать либо много слов от небольшой группы лиц, либо маленькое количество слов от большой группы лиц. Так же трудно распознавать большое количество лиц с гримом и гримасами.
Нейронные сети не решают эти задачи напрямую, однако в силу своей природы они гораздо легче адаптируются к изменениям входных последовательностей.
В рамках проекта Феникс-1 отрабатывалась возможность разработки структуры оптического датчика на основании изображений получаемых с камеры автономного робота. Под структурой оптического датчика понималось выбор количества и параметров зон анализа изображения с камеры робота для определения его положения относительно контрастной полосы.
Применительно к проекту Феникс-2 разрабатываемый инструментарий должен был оеспесить возможность исследования алгоритмов распознавания применительно к кругу задач очерченных выше для трехмерных объектов.
2. Выбор программного и аппаратного обеспечения
2.1 Выбор программного инструментария
2.1.1 Требования к инструментарию
Инструментарий, необходимый для реализации дипломной работы, можно разделить на две части - среда математического моделирования для отладки математической модели робота и среда для разработки трехмерного симулятора робота.
Отдельно стоит отметить операционную систему - для разработки была выбрана MS Windows XP как наиболее доступная и простая в использовании. Поэтому и среда математического моделирования, и среда для разработки трехмерного симулятора должны работать под управлением данной операционной системы.
2.1.2 Выбор среды математического моделирования
Математическая модель разрабатывалась в среде Mathcad. Выбор обусловлен удобством интерфейса и возможностью работы с внешними файлами. Ниже приведено краткое описание.
MathCad - среда для выполнения на компьютере разнообразных математических и технических расчетов, снабженная простым в освоении и в работе графическим интерфейсом. Она предоставляет пользователю инструменты для работы с формулами, числами, графиками и текстами. В среде Mathcad доступны более сотни операторов и логических функций, предназначенных для численного и символьного решения математических задач различной сложности.
Уникальный графический формат Mathcad и интерфейс блокнота позволяют сочетать стандартные математические обозначения, текст и графику на одном листе.
Приложение идеально подходит для обучения, вычислений и инженерных расчётов. Открытая архитектура приложения в сочетании с поддержкой технологий.NET и XML позволяют легко интегрировать Mathcad практически в любые ИТ-структуры и инженерные приложения. Программа очень популярна среди инженеров, она проста в использовании и не требует специальных навыков программирования. Документация и справочная система Mathcad позволяют быстро освоить приложение.
2.1.3 Выбор среды для разработки трехмерного симулятора
На данный момент область пакетов для простого программирования трехмерной графики переживает фазу бурного роста. Количество предложений разной стоимости (в том числе и бесплатно) растет с каждым месяцем, постоянно расширяются возможности. В основном это пакеты для быстрой разработки прототипов игр без больших временных затрат на программирование. Простота разработки, однако, оказывает серьезное влияние на эффективность кода - приложения получаются неоптимизированными, поэтому действительно результатов серьезных в плане графических технологий с их помощью добиться нельзя. Но для разработки приемлемого по качеству симулятора вполне подходят.
Программы этого типа поддерживают большое количество необходимых функций: создание примитивов, создание нескольких камер, импорт внешних графических файлов, работа с файловой системой и т.д.
Как показал анализ для решения поставленных задач и имеющихся возможностей был выбран пакет Dark Basic Professional от компании The Game Creators, опыт использования которого был накоплен при реализации проекта Феникс-1[2].
В таблице 2.1 приведен список основных возможностей программы. Многие термины не имеют корректного перевода, поэтому список приведен на английском языке.
Таблица 2.1
Возможности Dark Basic Professional
Работа в трехмерном пространстве |
Работа в двумерном пространстве |
|
Binary Space Partitioning (BSP)Potential Visibility SetPixel & vertex shadersReal time shadowsTrue reflectionsLightsMatricesAdvanced terrainMultiple camera viewsParticle systemLightning fast 2D spritesPolygon collision detectionBump mappingLight mappingEnvironment mappingMultitexturingBone based animationsCartoon shadingRainbow renderingLow level access of object dataVector and matrix manipulation |
Super-Fast 2D Sprites Mirror, Stretch and Blur Fade, Transparency and Rotate Screen-Sized sprites Fast Collision Animated Sprites Gamma Control Scale Sprites 2D Drawing Functions |
В пакет входит достаточно удобный текстовый редактор, менеджер проектов, компилятор и отладчик. Неплохо реализована справочная подсистема, которая содержит не только описание команд, но и реальные примеры использования.
На выходе можно получить выполняемый файл, который полностью совместим с операционной системой MS Windows Xp.
2.2 Выбор аппаратного обеспечения
Аппаратные требования взяты из соответствующей спецификации для Dark Basic Professinal как наиболее ресурсоемкой части программного обеспечения. Они изложены в таблицах 2.1. и 2.2.
Таблица 2.1
Минимальные аппаратные требования
Процессор: |
300 MHz Pentium II Processor |
|
Память: |
64 MB of Ram |
|
Скорость CD привода: |
4x Speed CD-Rom Drive |
|
Жесткий диск: |
400 MB of hard disk space |
|
Графическая карта: |
Fully DirectX compatible Graphics Card with 64 MB Memory or more and Hardware 3D Acceleration |
|
Звуковая карта: |
Direct X compatible Sound Card |
|
Устройства ввода: |
клавиатура и мышь |
Таблица 2.2
Рекомендуемые аппаратные требования
Процессор: |
733 MHz Pentium III Processor и выше |
|
Память: |
1024 MB |
|
Скорость CD привода: |
16x и больше |
|
Жесткий диск: |
400 MB of hard disk space |
|
Графическая карта: |
Fully DirectX compatible Graphics Card with 64 MB Memory or more and Hardware 3D Acceleration |
|
Звуковая карта: |
Direct X compatible Sound Card |
|
Устройства ввода: |
клавиатура, мышь, джойстик |
3. Проектирование илгоритмов и интерфейсов
3.1 Общая схема работы
Общая схема работы представлена на рис. 3.1. Общая математическая модель, реализованная как в Mathcad, так и в Dark Basic, является ключевым элементом всей системы. На данный момент это модель двухколесного робота, однако очевидно, что можно смоделировать любую другую систему и реализовать ее схожим образом.
Параметры экспериментов, проводимых в симуляторе робота, задаются в файла настроек. Файл содержит в себе информацию как о роботе (электрические и механические параметры), так и об окружении. Таким образом, обесепечивается гибкость системы - параметры можно менять в зависимости от целей экспериментов.
Оператор может управлять роботом, используя либо клавиатуру, либо джойстик. Информация о заезде, а так все параметры робота и окружения могут быть сохранены во внешний файл в виде матрицы. Записанную траекторию можно воспроизвести и записать видео образы, полученные с виртуальной камеры.
Полученная информация обрабатывается в среде Mathcad как обучающая оследователость для нейронной сети. Показания датчиков используются для непосредственного обучения среды. Полученные изображения могут быть использованы для синтеза оптического датчика.
Обученная сеть может автономно решать задачи. В данном случае решением будет та же матрица, описывающее поведение робота. Это решение можно визуализировать в симуляторе, чтобы получить последовательность видео образов для дальнейшего анализа.
Размещено на http://www.allbest.ru/
1
3.2 Математическая модель робота
В рамках дипломной работы использовалась математическая модель двухколесного робота, что объясняется рядом соображений. Во-первых, это колесная схема робота Феникс-2, общий вид которого приведен на рис. 3.1. Во-вторых, что эта схема достаточно широко используется на практике, о чем свидетельствует приведенный ниже обзор.
3.2.1 Краткий обзор двухколесных роботов
Фирма ActivMedia Robotics выпускает четыре серии двухколесных роботов:
· PowerBot (рис. 3.2.) - самый крупный робот, при весе 120 кг (с аккумуляторами) и габаритах 85х65х43 см может нести на себе до 100 кг оборудования
· PeopleBot - довольно высокое и не слишком устойчивое сооружение (112 см в высоту)
· Pioneer 2-DXe, Pioneer 2-AT - это небольшие роботы весом около 30 кг
· AmigoBot - вес всего 1 кг, позиционируется прежде всего как «домашний» робот для развлечений, поскольку не может быть оснащен дополнительным оборудованием в достаточном количестве.
Рис. 3.2 Робот PowerBot
Компания MrRobot предлагает Talrik Junior (TJ) (рис. 3.3.). Диаметр собранного TJ -- 7 дюймов, высота -- 3,5 дюйма. Корпус изготавливается или из пятислойной березовой фанеры, или из черного пластика. Передвигается робот на двух 2,75-дюймовых колесах и заднем опорном ролике. Два высококачественных сервомотора установлены ниже платформы, чтобы управлять каждым колесом непосредственно. В качестве контроллера используется плата MSCC11E2 на основе процессора MC68HC11 (256 байт RAM и 2 Кбайт EEPROM). Доступные языки: Imagecraft C (коммерческий транслятор C), ассемблеры MC68HC11, sBASIC, tinyFORTH, и TJ Mindstorms (все ПО свободное).
Кроме того, Talrik Junior оборудован двумя инфракрасными детекторами и двумя инфракрасными излучателями. Плата MSCC11E2A обладает достаточно широкими возможностями ввода-вывода, чтобы существенно увеличить количество датчиков TJ.
Рис. 3.3 Робот TJ Pro
Фирма K-Team предлагает недорогую модель Khepera (рис.3.4) (процессор Motorola 68331, 25 MГц, датчики, моторы).
Рис. 3.4 Робот Khepera
3.2.2 Уравнения, описывающие положение колес робота
Движение двухколесного робота зависит от оборотов левого и правого колеса. При различных скоростях колес робот начинает двигаться по окружности с центром в точке, описываемой радиус-вектором Rc. Радиус поворота - длина вектора Rr. Графически модель представлена на рис. 3.5.
Размещено на http://www.allbest.ru/
1
Рис. 3.5 Графическое представление модели робота
Дополнительные параметры робота:
Dr - диаметр колеса
l - расстояние между колесами
щ1 - угловая скорость левого колеса
щ2 - угловая скорость правого колеса
ц - угол, определяющий ориентацию робота
Сначала найдем ?ц. Длина дуги, по которой проехало правое колесо:
Зная длину дуги, нетрудно вычислить ?ц, поделив полученное выражение на длину окружности, по которой вращается колесо.
где |Rr(t)| + l/2 - радиус вращения правого колеса.
Аналогичным образом ?ц определяется для левого колеса, необходимо лишь изменить радиус вращения:
Из выражений для ?ц можно выразить |Rr|, приравняв правые части:
Подставив полученное выражение для |Rr| в любое из выражений для ?ц и произведя упрощение, получаем конечное выражения для ?ц:
Теперь перейдем к описанию положения робота. Для задания начального положения рота необходимо ввести два радиус-вектора P01 и P02, определяющие положения колес. Очевидно, что разность этих векторов дает координаты центра робота.
Так же есть необходимость введения матрицы поворота двумерного вектора на угол ц T(ц):
Поскольку время ?t мало, можно рассматривать перемещение робота как движение по дуге с постоянным радиусом |Rr|. Центр дуги задается радиус-вектором Rр. В этом случае выполняется равенство:
Из данного равенства можно выразить ?Rr(t):
На данном этапе необходимо сделать подстановку |Rr| и ?ц, а так же произвести упрощение выражения с учетом малости ?ц (sin(?ц) = ?ц, cos(?ц) =1). После этого можно разложить выражение для вектора ?Rr(t) по компонентам х и у и представить его в дифференциальной форме:
3.2.3 Уравнения, описывающие работу двигателей
В модели используются два уравнения, которые связывают количество оборотов и токи в обмотках двигателей.
Двигатель представляет собой электрическую цепь с общим сопротивлением R, в которой есть катушка с индуктивностью L. Напряжение в цепи U(t) меняется в зависимости от показаний датчиков.
Двигатели приводят колеса робота в движение, задавая их скорость вращения. Поскольку робот обладает массой Mr, у робота есть инерция.
Исходя из описания, работа двигателей описывается с помощью следующей системы уравнений:
где k1, k2 - коэффициенты, определяемые экспериментальным путем.
3.2.4 Общая система уравнений, описывающая движение робота
Выше приведены выводы четырех уравнений, которые при объединении в систему позволяют описать движение робота.
Вектор перемещения центра робота ?Rr(t) необходимо раскладывать по двум координатам. Работа двух двигателей описывается с помощью четырех уравнений - по два на токи и на обороты колес. Поэтому общее количество уравнений в модели семь:
(3.1)
Для описания эволюции робота для системы обыкновенных дифференциальных уроавнений ставилась задача Коши (3.1) [5].
Применительно к модели реализованной в Mathсad требоуется задание начальных условий, а именно:
...Подобные документы
Анализ техники ходьбы по количеству точек опоры шагающих роботов. Обзор существующих конструкций. Функциональная схема устройства. Выбор электронных компонентов. Трёхмерная модель робота и его модулей. Исследование цифровой системы на устойчивость.
дипломная работа [3,2 M], добавлен 04.08.2014Преимущества и недостатки роботизированной сварки. Характеристика видов систем управления базами данных. Информационная модель сварочного робота, системы управления роботом сварочных клещей. Критерии выбора робота и структура запроса на выборку.
курсовая работа [3,3 M], добавлен 22.12.2014Обзор схемы конструкции автоматизированного мобильного робота. Выбор компонентов конструкции. Общая классификация роботов; виды двигателей. Выбор типа микроконтроллера. Осуществление программирования на основе расчётов по математической модели робота.
курсовая работа [1,2 M], добавлен 20.05.2015Проектирование базы данных для информационной системы "Грузоперевозки". Обследование предметной области. Анализ бизнес-процессов, программного и аппаратного обеспечения. Проектирование компонентов приложения и его структуры. Выбор средств реализации.
курсовая работа [1,6 M], добавлен 21.04.2014Основные понятия теории распознавания образов и ее значение. Сущность математической теории распознавания образов. Основные задачи, возникающие при разработке систем распознавания образов. Классификация систем распознавания образов реального времени.
курсовая работа [462,2 K], добавлен 15.01.2014Информационно-измерительные системы мобильных роботов. Системы технического зрения; дескриптивный подход к обработке, анализу и распознаванию изображений. Разработка программного обеспечения для создания СТЗ мобильного робота для ориентации в комнате.
дипломная работа [5,5 M], добавлен 10.05.2014Теоретические основы распознавания образов. Функциональная схема системы распознавания. Применение байесовских методов при решении задачи распознавания образов. Байесовская сегментация изображений. Модель TAN при решении задачи классификации образов.
дипломная работа [1019,9 K], добавлен 13.10.2017История предприятия "Приднестровский Государственный Университет". Обзор аппаратного и программного обеспечения сети, используемого на предприятии. Инфологическое, логическое и физическое проектирование модели базы данных. Разработка основных алгоритмов.
отчет по практике [886,6 K], добавлен 12.09.2012Характеристика объекта компьютеризации. Выбор средств управления данными. Разработка моделей данных. Структура и функции частей программного обеспечения подсистемы. Выбор конфигурации и параметров сервера, рабочих станций, технологии передачи данных.
курсовая работа [444,6 K], добавлен 28.01.2013Проектирование программного модуля: сбор исходных материалов; описание входных и выходных данных; выбор программного обеспечения. Описание типов данных и реализация интерфейса программы. Тестирование программного модуля и разработка справочной системы.
курсовая работа [81,7 K], добавлен 18.08.2014Анализ вариантов проектных решений и выбор на его основе оптимального решения. Синтез функциональной схемы микропроцессорной системы на основе анализа исходных данных. Процесс разработки аппаратного и программного обеспечения микропроцессорной системы.
курсовая работа [469,1 K], добавлен 20.05.2014Выбор типа и структуры нейронной сети. Подбор метода распознавания, структурная схема сети Хопфилда. Обучение системы распознавания образов. Особенности работы с программой, ее достоинства и недостатки. Описание интерфейса пользователя и экранных форм.
курсовая работа [3,0 M], добавлен 14.11.2013Изучение видов роботов-жуков. Анализ платформ для управления периферийными устройствами, реализации передачи и обработки полученных данных. Основной выбор сервоприводов и дальномеров. Программирование робота через специализированную среду Arduino IDE.
курсовая работа [588,7 K], добавлен 11.08.2017Технологии высокоскоростной передачи данных в локальных сетях. Расчет информационных потоков. Выбор сетевых стандартов. Разработка структуры сети, схемы прокладки кабелей. Выбор аппаратного и программного обеспечения. Разработка системы защиты информации.
дипломная работа [555,3 K], добавлен 19.01.2017Оптико-электронная система идентификации объектов подвижного состава железнодорожного транспорта. Автоматический комплекс распознавания автомобильных номеров. Принципы и этапы работы систем оптического распознавания. Особенности реализации алгоритмов.
дипломная работа [887,3 K], добавлен 26.11.2013Порядок автоматизации расчетов себестоимости и длительности программного обеспечения производственного предприятия. Выбор языка программирования и системы управления базами данных. Разработка алгоритмов расчета себестоимости программного обеспечения.
дипломная работа [1,7 M], добавлен 13.06.2017Проектирование программного средства "Автоматизированная система контроля и учета кабельных проводок на Нововоронежской АЭС-2". Выбор инструмента для создания программного обеспечения. Технические условия работы программы. Структура базы данных ПС.
дипломная работа [4,4 M], добавлен 29.06.2012Назначение, технические характеристики промышленного робота МП20. Режимы работы робота и кинематическая схема. Приводные электродвигатели. Элементы электроавтоматики. Алгоритм управления следящим цифроаналоговым приводом. Интерфейс станочной магистрали.
курсовая работа [1,7 M], добавлен 15.04.2013Выбор программного обеспечения для разработки интерфейса информационной системы. Создание базы данных для расчета заработной платы сотрудникам средне-специальных учебных заведений, создание выходной информации в виде отчетов, установочного файла.
дипломная работа [2,4 M], добавлен 11.04.2010Составление программы для построения траектории движения захвата манипулятора робота: запись системы линейных алгебраических уравнений, получение коэффициентов. Анимация движения манипулятора. Схема направления движения точки соединения звеньев робота.
лабораторная работа [274,4 K], добавлен 01.12.2013