скачать рефераты

скачать рефераты

 
 
скачать рефераты скачать рефераты

Меню

Сенсоры для навигации мобильного робота скачать рефераты

p align="left">Наибольшее распространение получили СТЗ, в которых видеодатчиками служат матрицы или линейки чувствительных элементов, а также электронно-лучевые трубки. Источником информации о состоянии поля зрения СТЗ служит световое поле, в общем случае неоднородное и нестационарное. С позиций зрительного восприятия световое поле в каждой точке пространства характеризуется яркостью, цветовым тоном и насыщенностью, которые могут меняться во времени. Световое поле можно описать также спектральной функцией потока излучения в направлении наблюдателя или распределением освещенности в плоскости чувствительного элемента видеодатчика. В подавляющем большинстве случаев на практике используются одноцветные (ахроматические) изображения, которые можно представить некоторой функцией в пространстве и времени, характеризующей яркость, освещенность, степень почернения фотопленки и т. д.

Для определенности будем рассматривать функции изображения В (х, у, t), характеризующие распределение яркости в поле зрения. С такими изображениями, обычно, работают промышленные СТЗ, снабженные телекамерами черно-белого монокулярного телевидения. На выходе телекамеры образуется видеосигнал, соответствующий распределению яркости в поле зрения D в дискретные моменты времени, синхронизируемые, например, с интервалом стандартной развертки. На базе значений видеосигнала формируется последовательность отсчетов, которые соответствуют значениям яркости, получаемой усреднением (сверткой) видеосигнала по некоторой окрестности (апертуре) точки (х, у). Максимально возможное число отсчетов при заданной апертуре образует растр поля зрения.

Использование цифровых методов обработки изображений предполагает в качестве необходимого этапа пространственную и яркостную дискретизацию непрерывного изображения В (х, у), т. е. замену координат его элементов дискретными значениями и квантование яркости этих элементов на определенное число уровней. В память вычислителя СТЗ информация об изображении обычно вводится в виде матрицы значений, заданной на целочисленной прямоугольной решетке, покрывающей область поля зрения D.

Входные изображения могут быть подвержены различного рода помехам, которые можно разделить на случайные и локальные. Случайные помехи называют также шумами. Они возникают на изображениях в результате нестабильности и сбоев в работе различных блоков СТЗ на отдельных этапах формирования и преобразования изображений. Шумы, искажают реальное изображение в отдельных, в основном разрозненных, точках области D. Локальные помехи связаны с тем, что в поле зрения видеодатчика имеются некоторые небольшие области, которые не интерпретируются ни как объекты, ни как фон. Это, в первую очередь, загрязнения, блики, сколки, пятна.

Наличие помех заставляет в ряде случаев начать с их подавления - сглаживания шумов и устранения локальных помех. Задача подавления помех входит, с одной стороны, в задачу улучшения изображений, а с другой - ее можно рассматривать как часть задачи сегментации. В задачах, связанных с СТЗ роботов, актуален именно второй аспект.

Конечной целью сегментации изображений является разбиение поля зрения D на области объектов Dі,..., D8 и область фона . Сегментация путем построения отображения называется методом разметки точек. Если же целью является построение отображения, то говорят о сегментации путем выделения границ.

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

- число объектов s;

- некоторые характеристики распределения яркости в областях объектов или фона, например экстремальные значения яркости, количество перепадов яркости;

- оценки яркостного перепада при переходе из области фона в область объектов;

- форма объектов;

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

2.5 Пороговое ограничение

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

Наиболее просто пороговая обработка осуществляется в случае, когда заранее известно, что изображение состоит из одного объекта (s = 1) и фона, причем яркость точек объекта находится в пределах [Т1, Т2], а яркость точек фона либо меньше Т1 либо больше Т2. В этом случае каждой точке (i, j) D сопоставляется метка 1, если В (і, j) [Т1, Т2], и метка 0 в противном случае. Произведенная таким образом грубая сегментация является окончательной вследствие условия s = 1.

В ряде задач робототехники пороги яркости объектов и фона неизвестны, поэтому метод порогового ограничения следует дополнить способом определения порогов. Определение порогов обычно связано с анализом гистограмм. Гистограмма - это отображение из множества {а,..., в} значений яркости в множество натуральных чисел, каждому b {а,..., в} сопоставляется число точек (m, n) D, для которых (m,n) = b.

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

2.6 Центроидное связывание

Гистограмма изображения является его глобальной характеристикой - при ее формировании не используется понятие близости элементов изображения. Поэтому методы, рассмотренные выше, являются глобальными. Перейдем к локальным методам сегментации, получившим название наращивание областей. Алгоритмы наращивания областей используют информацию о связности объектов и основаны на рекуррентном способе разметки точек. На шаге с номером k размечаются те и только те точки, которые имеют соседей из числа размеченных на предыдущем шаге (k - 1). Разметка точек осуществляется согласно некоторому критерию однородности. Конкретные алгоритмы различаются выбором критерия однородности, способом просмотра точек и выбором начальных «стартовых» точек, размечаемых на нулевом шаге.

В литературе известно два основных подхода к стратегии выбора стартовых точек и порядка просмотра остальных: центроидное связывание и слияние - расщепление областей.

Выбор стартовых точек и их меток в алгоритмах центроидного связывания должен быть, осуществлен так, чтобы никакие две точки с различными метками не были соединены.

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

- точки с различными метками должны соответствовать областям различных объектов;

- точки с одной меткой должны соответствовать одному и тому же объекту.

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

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

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

2.7 Реализация программы системы навигации ИМР в Visual C++

Реализация системы навигации робота способами Visual C++ имеет некоторые особенности. Во-первых: пролог-программа, базирующаяся исключительно на базе данных в С++, что требует реализации специальных способов преподнесения. Во-вторых: разработку С++ программ будет невозможно представить без реализации системы выполнения рабочих планов.

Конечно, решение заданий по разработке планов, исключительно зависит от начального состояния системы. Каждый объект мира ИМР должен быть однозначно описан в базе данных программы (рис. 2.3)

Рисунок 2.3 - Начальное расположение объектов в системе планирования

Таким образом мир робота состоит из пяти комнат, соединенных дверями. В комнате находятся коробки. Робот, как действующий объект такого ограниченного мира, может выполнять такие действия:

- перемещаться к дверям или коробкам;

- перемещаться в конкретную комнату;

- открывать или закрывать двери;

- загружаться коробкой или освобождаться от неё.

Опишем основные моменты разработки планов робота в ограниченном пространстве.

1. Для описания начального, текущего и конечного состояния системы планирования объявим класс CRoboPlan.

Пример 4.1 - Главный класс системы разработки планов робота

class CRobotPlan

{public: char *relname,*agent,*sobj1,*sobj2;

CRobotPlan *next;

CRobotPlan();

CRobotPlan(char *,char *,char *,char *,CRobotPlan *);

CRobotPlan(char *,char *,char *,CRobotPlan *);

void print();

CRobotPlan *dataformer();

CRobotPlan *addfact(char *,char *,char *,char *);

CRobotPlan *delfact(char *,char *,char *,char *);

CRobotPlan *delfact(char *,char *,int,char *);

CRobotPlan * delfactall(char *rel, char *n);

int dbtest(char*,char*,char*);

int dbtest(char*,char*,char*,char*);

int dbtest(char*,int,char*,char*);

int dbtest(char*,int,char*,int);

CRobotPlan *findfact(char *,char *);

CRobotPlan *findfact(char *,char *,char *);

CRobotPlan *findfact(char *,char *,char *,char *);

CRobotPlan *findfact(char *,int,char *,char *);

CRobotPlan *findfact(char *,int,char *,int);

CRobotPlan *findfact(char *,char *,char *,int);

CRobotPlan* Revers(CRobotPlan *);

void deciser();

char *find_action();

void support_action(char*);

void old_cleaner(char*);

void new_adder(char*);

};

Как видно класс состоит с трех переменных членов и ряда функций. Поля *relname, *agent, *sobj1 и *sobj2 означают: имя отношения, что входит в состав базы данных; программный субъект, который выполняет действия; два объекта на которые направлено действие.

2. В программе генерации планов робота, факты про состояние объектов системы подаются связным списком и инициализируются функцией dataforme().

3. Для решения заданий системы реализуем функцию решения - deciser(), что структурирует последовательность принятия решений:

void CRobotPlan::deciser()

{if(!evil->dbtest(relname,agent,sobj1,sobj2))

{char *action=find_action();

if (action){ support_action(action);

old_cleaner(action);

new_adder(action);

}}}

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

Если, например, перед системой возникает задание, в программе создается объект типа CRobotPlan, для которого возникает функция - решение например:

goal=new CRobotPlan(“is_in”,”robot”,”room1”,NULL); // tested

goal->deciser();

В данном случае задается целевой факт нахождения робота в комнате «room1».

4. Установление начальной цели системы планирования легко реализовать при помощи специального диалогового окна с комбинированными списками (рис. 2.4).

Рисунок 2.4 - Вид диалогового окна формирования цели робота

При помощи комбинированных списков «Агент» (содержит значение «робот», «коробка1», «коробка2»), действие («перейти к», «толкать до», «открыть», «закрыть») и «Объект действия» (все двери, комнаты и коробки) можно сформировать задания робота. Нажатие кнопки «Подтвердить» означает окончание выбора проверки корректности задания и запуск системы планирования. Перечисление действий, что в результате, запланирует система принятия решений - выводится списком в правой часте диалогового окна.

Нажатие кнопки «Показать» - запускает функции графического отображения разработанного плана действий робота.

Выводы

Разработка ИМР для различных производственных и исследовательских целей является весьма важной и актуальной задачей.

Системы навигации для ИМР состоят из модели внешней среды, содержащей в себе целевой объект, подвижные и стационарные препятствия. Информация о внешней среде воспринимается моделью сенсорной подсистемы и передается в систему искусственного интеллекта (ИИ) мобильного робота. На основе этой информации, с помощью подсистемы построения модели внешней среды, формируется план среды, по которому нейросетевой планировщик определяет оптимальный путь достижения цели. Контурный регулятор синергетического типа на основании найденной траектории движения и информации от внутренних датчиков вырабатывает управляющие воздействия для эффекторной подсистемы с учетом динамической и кинематической моделей мобильного робота.

В процессе выполнения квалификационной работы бакалавра, была достигнута цель работы, посредством выполнения следующих этапов:

- Рассмотрены существующие навигационные системы, а именно:

Системы измерения угловых координат:

Телевизионная угломерная система;

Оптическая угломерная система со сканированием луча;

Индукционная угломерная система;

Радиационная угломерная система;

Системы измерения дальности и скорости:

Акустическая дальномерная система;

Лазерная дальномерная система;

Радиационная дальномерная система;

Системы поиска и обнаружения:

Оптическая система поиска по угловым координатам;

Акустическая система поиска по дальности;

- Разработана система навигации ИМР, включающая подсистемы:

Планирования и задания;

Сегментации изображений;

Порогового ограничения;

Центроидного связывания;

- Реализована программная система навигации ИМР в Visual C++

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

Что же касается недостатков разработанной системы, то к ним следует отнести следующие:

- достоверность получаемых результатов существенно зависит от точности моделирования сенсорной и эффекторной подсистем робота;

- качество моделирования существенно зависит от точности воспроизведения внешней среды (для повышения этой точности желательно использовать саму среду);

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

Перечень литературы

1. Фу К., Гонсалес Р., Ли К. Робототехника: Пер. с англ. - М.: Мир, 1989. - 624 с.

2. Шикин А.В., Боресков А.В. Компьютерная графика. Полигональные модели. - М.: ДИАЛОГ-МИФИ, 2000. - 464 с.

3. Романовский П.И. Ряды Фурье. Теория поля. Аналитические и специальные функции. Преобразование Лапласа. - М.: Наука. Гл. ред. физ.-мат. л-ры, 1980. - 336 с.

4. Gonzalez R.C., Wintz P. Digital Image Processing. Addison - Wesley: Reading, Mass., 1977. - 96 р.

5. Theodoris S., Koutroumbas K. Pattern Recognition. - Academic Press, 1999. - 124 р.

6. Master Thesis LiTH-ISY-3132 Computer Vision Classification of Leaves from Swedish Trees Oskar J.O. Sхderkvist September 20, 2001. - р. 45 - 48.

7. Васильев В.И. Распознающие системы. Справочник. - К.: Наук. думка», 1983. - 422 с.

8. Nevludov I., Andrusevith А., Bondarenko А. Charkov-Rybachie, Proceedings x international conference "New leading technologies in machine building", September 2-6, 2001, р. 49 - 53.

9. Путятин Е.П., Аверин С.И. Обработка изображений в робототехнике. - М.: Машиностроение, 1990. - 320 с.

10. Баклицкий В.К., Бочкарёв А.М., Мусьяков М.П. Методы фильтрации сигналов в корреляционно-экстремальных системах навигации. - М.: Радио и связь, 1986. - 216 с.

11. Хорн Б.К. Зрение роботов: Пер. с англ. - М.: Мир, 1989. - 487 с.

12. Жлуктенко В.І., Наконечний С.І. Теорія ймовірностей і математична статистика: навч.-метод. посіб. у 2-х частинах. Ч. 1: Теорія ймовірностей. - К.: КНЕУ, 2000. - 304 с.

13. Кугушев Е.И., Толстоусова В.Г. Константность восприятия в системах технического зрения роботов. - Предпринт ИПМ АН СССР, №45, 1985. - 24 c.

14. Власов В.Г. Конспект лекций по высшей математике. - М.: АЙРИС, 1996. - 289 с.

15. Айзерман М.А., Браверман Э.М., Розоноэр Л.И., и др. Метод потенциальных функций в теории обучения машин. - М.: Наука, 1970 - 384 с.

16. Microsoft Developer Network. MSDN Library - April 2001

17. Грегори К. Использование Visual C++ 6. Спец. издание.: Пер. с англ. - СПб.: Изд. дом «Вильямс», 2000. - 864 с.

18. Архангельский А.Я. Программирование в С++ Builder 4 - М.: БИНОМ, 1999. - 928 с.

19. Артемиев В. М. Навигационные системы робототов. - М.: Машиностроение, 1988. - 396 с.

20. Цимбал А. М. Технологии програмирования: Visual C++. - М.: Харьков: ХНУРЭ, 2006. - 336 с.

21. Методические указания к дипломному проекту для студентов специальности 8.091402 «Гибкие компъютерные системы и робототехника» Упоряд. В.В. Токарев, О.М. Цимбал. - Харьков: ХНУРЭ, 2003. - 40 с.

22. Державний стандарт України. ДСТУ 3008-95. Документація. Звіти у сфері науки і техніки. Структура і правила оформлення. Чинний від 01.01.96. - К.:Держстантдарт, 1995. - 60 с.

23. ГОСТ 2.105-2001. Единая система конструкторской документации. Общие требования к текстовым документам. - М.: Из-во стантдартов, 2001. - 76 с.

24. Единая система конструкторской документации: Справ. пособ. / С.С. Борушек А.А. Волков, М.М. Ефимова и др. - 2-е изд., перераб. и доп. - М.: Изд-во стандартов, 1989. - 352 с.

Страницы: 1, 2, 3