Система технического зрения для мобильного робота
|
Аннотация 2
Введение 6
1 Актуальность выбранной темы 8
2 Выбор компонентов разрабатываемой системы 11
2.1 Выбор одноплатного компьютера 11
2.2 Выбор веб-камеры 12
3 Составление структурной схемы разрабатываемого устройства 14
4 Составление электрической схемы разрабатываемого устройства 17
4.1 Подключение системы охлаждения 18
4.2 Подключение Raspberry Pi к Arduino 19
4.3 Электрическая схема разрабатываемого устройства 25
5 Выбор инструментов разработки 27
5.1 Язык программирования C++ 27
5.2 Библиотека компьютерного зрения OpenCV 30
5.3 Среда разработки Code::Blocks 33
6 Алгоритм распознавания направляющей линии 37
6.1 Цветовая сегментация кадра 37
6.2 Выделение контуров 41
6.3 Моменты изображения 43
7 Обзор существующих решений 45
7.1 Решение 1 45
7.2 Решение 2 49
8 Программная реализация 52
8.1 Алгоритм работы программы 52
8.2 Подробный разбор кода программы 55
9 Возможные варианты модернизации программы 66
9.1 Модификация №1 66
9.2 Модификация №2 67
10 Экономический расчет 73
Заключение 74
Список используемой литературы 76
Приложение А Программный код основного алгоритма работы 79
Приложение Б Программный код модификации №1 основного алгоритма... 82
Приложение В Программный код модификации №2 основного алгоритма .. 87
Введение 6
1 Актуальность выбранной темы 8
2 Выбор компонентов разрабатываемой системы 11
2.1 Выбор одноплатного компьютера 11
2.2 Выбор веб-камеры 12
3 Составление структурной схемы разрабатываемого устройства 14
4 Составление электрической схемы разрабатываемого устройства 17
4.1 Подключение системы охлаждения 18
4.2 Подключение Raspberry Pi к Arduino 19
4.3 Электрическая схема разрабатываемого устройства 25
5 Выбор инструментов разработки 27
5.1 Язык программирования C++ 27
5.2 Библиотека компьютерного зрения OpenCV 30
5.3 Среда разработки Code::Blocks 33
6 Алгоритм распознавания направляющей линии 37
6.1 Цветовая сегментация кадра 37
6.2 Выделение контуров 41
6.3 Моменты изображения 43
7 Обзор существующих решений 45
7.1 Решение 1 45
7.2 Решение 2 49
8 Программная реализация 52
8.1 Алгоритм работы программы 52
8.2 Подробный разбор кода программы 55
9 Возможные варианты модернизации программы 66
9.1 Модификация №1 66
9.2 Модификация №2 67
10 Экономический расчет 73
Заключение 74
Список используемой литературы 76
Приложение А Программный код основного алгоритма работы 79
Приложение Б Программный код модификации №1 основного алгоритма... 82
Приложение В Программный код модификации №2 основного алгоритма .. 87
Развитие компьютерных технологий идет огромными темпами. Особенно это касается сфер искусственного интеллекта и робототехники. Многие вещи, которые всего несколько десятилетий назад можно было встретить лишь в научно-фантастической литературе, сегодня стали неотъемлемой частью нашей жизни. Для современного человека нет ничего удивительного в том, что на передовых автоматизированных заводах вместо рабочих трудятся роботы, по дорогам городов ездят беспилотные автомобили, а искусственные нейронные сети создают шедевры, не уступающие работам профессиональных художников.
Одним из наиболее актуальных направлений развития искусственного интеллекта в последние годы стало компьютерное зрение. Способность видеть - важнейшее свойство человека. Именно с помощью зрения мы получаем наибольшее количество информации об окружающем мире. Взглянув на какой-либо предмет, мы, почти не задумываясь, можем сказать, что это такое, каковы его приблизительные размеры, форма, цвет. Благодаря накопленному опыту и знаниям мы легко распознаем объекты и отличаем их друг от друга, ориентируемся в пространстве. Со временем возникла идея наделить зрением и искусственный интеллект. Однако несмотря на то, что современные компьютеры уже давно превзошли человека в сфере вычислений и обработки информации, анализ изображений представлял для них довольно трудную задачу. Развитие машинного обучения и искусственных нейронных сетей значительно ускорило процесс обретения роботами способности видеть. На сегодняшний день искусственный интеллект способен распознавать номерные знаки автомобилей, читать штрих-коды на товарах в супермаркете, анализировать записи с камер видеонаблюдения и производить поиск лиц на фотографиях и видеозаписях. Таким образом, компьютерное зрение представляет собой набор методов, позволяющих компьютерам извлекать информацию из изображений.
Области применения компьютерного зрения довольно обширны: от промышленных средств мониторинга технических процессов до автономных управляющих систем, принимающих решения на основе анализа полученной видеоинформации. Одним из наиболее перспективных направлений является использование систем компьютерного зрения в автоматизированных логистических системах. Ярким примером этого служит широкое использование крупными современными компаниями транспортных роботов, обеспечивающих перемещение грузов в промышленной среде без непосредственного участия оператора. Данные машины используются на предприятиях для транспортировки сырья - со склада в цеха, заготовок - между производственными этапами, готовой продукции - с производства на склад и со склада на отгрузку. Применение таких транспортных средств позволяет уменьшить расходы на перевозки, связанные с человеческим фактором и потерей времени, повысить безопасность на предприятии, ускорить производственные процессы. Составление маршрута для данных роботов осуществляется с помощью направляющих линий и маркеров. Их обнаружение и использование в качестве субъектов управления и является главной задачей систем компьютерного зрения.
В рамках данной выпускной квалификационной работы предполагается разработка программного и аппаратного обеспечения для распознавания мобильным роботом направляющей линии с помощью компьютерного зрения.
Одним из наиболее актуальных направлений развития искусственного интеллекта в последние годы стало компьютерное зрение. Способность видеть - важнейшее свойство человека. Именно с помощью зрения мы получаем наибольшее количество информации об окружающем мире. Взглянув на какой-либо предмет, мы, почти не задумываясь, можем сказать, что это такое, каковы его приблизительные размеры, форма, цвет. Благодаря накопленному опыту и знаниям мы легко распознаем объекты и отличаем их друг от друга, ориентируемся в пространстве. Со временем возникла идея наделить зрением и искусственный интеллект. Однако несмотря на то, что современные компьютеры уже давно превзошли человека в сфере вычислений и обработки информации, анализ изображений представлял для них довольно трудную задачу. Развитие машинного обучения и искусственных нейронных сетей значительно ускорило процесс обретения роботами способности видеть. На сегодняшний день искусственный интеллект способен распознавать номерные знаки автомобилей, читать штрих-коды на товарах в супермаркете, анализировать записи с камер видеонаблюдения и производить поиск лиц на фотографиях и видеозаписях. Таким образом, компьютерное зрение представляет собой набор методов, позволяющих компьютерам извлекать информацию из изображений.
Области применения компьютерного зрения довольно обширны: от промышленных средств мониторинга технических процессов до автономных управляющих систем, принимающих решения на основе анализа полученной видеоинформации. Одним из наиболее перспективных направлений является использование систем компьютерного зрения в автоматизированных логистических системах. Ярким примером этого служит широкое использование крупными современными компаниями транспортных роботов, обеспечивающих перемещение грузов в промышленной среде без непосредственного участия оператора. Данные машины используются на предприятиях для транспортировки сырья - со склада в цеха, заготовок - между производственными этапами, готовой продукции - с производства на склад и со склада на отгрузку. Применение таких транспортных средств позволяет уменьшить расходы на перевозки, связанные с человеческим фактором и потерей времени, повысить безопасность на предприятии, ускорить производственные процессы. Составление маршрута для данных роботов осуществляется с помощью направляющих линий и маркеров. Их обнаружение и использование в качестве субъектов управления и является главной задачей систем компьютерного зрения.
В рамках данной выпускной квалификационной работы предполагается разработка программного и аппаратного обеспечения для распознавания мобильным роботом направляющей линии с помощью компьютерного зрения.
В рамках выполнения данной выпускной квалификационной работы была разработана система распознавания направляющей линии мобильным роботом с помощью компьютерного зрения.
В первом разделе была подтверждена актуальность использования систем компьютерного зрения при разработке автоматически управляемых транспортных средств и автономных мобильных роботов в сфере складской логистики.
Во втором разделе был произведен выбор одноплатного компьютера и веб-камеры для разрабатываемой системы.
В третьем разделе была составлена структурная схема разрабатываемой системы и представлен перечень всех используемых в ней элементов.
В четвертом разделе была составлена схема электрическая соединений разрабатываемой системы, а также представлены программы и блок-схемы алгоритмов передачи и приема данных по последовательному порту с одноплатного компьютера Raspberry Pi на микроконтроллер Arduino.
В пятом разделе был произведен выбор языка программирования, библиотеки компьютерного зрения и среды разработки для реализации программной части выпускной квалификационной работы
В шестом разделе были подробно описаны алгоритмы и функции библиотеки компьютерного зрения OpenCV, необходимые для поэтапного преобразования получаемой с веб-камеры видеоинформации к виду, позволяющему мобильному роботу обнаружить направляющую линию.
В седьмом разделе был произведен обзор существующих методов навигации мобильных роботов с помощью компьютерного зрения, а также осуществлен разбор использовавшихся в них функций библиотеки OpenCV.
В восьмом разделе была разработана и подробно описана программа для распознавания ярко-синей направляющей линии с помощью компьютерного зрения, основанная на принципе поиска объекта по цвету через цветовое пространство HSV с дальнейшим вычислением положения мобильного робота в пространстве и формированием управляющего воздействия для коррекции траектории его движения.
В девятом разделе были разработаны возможные модификации основной программы для распознавания мобильным роботом направляющей линии с помощью компьютерного зрения, а также рассмотрены их основные достоинства и недостатки.
В десятом разделе был проведен экономический расчет
разрабатываемой системы на основе тщательного анализа рынка.
Результатом выполнения данной выпускной квалификационной работы стало внедрение разработанной системы для распознавания направляющей линии с помощью компьютерного зрения в систему управления движением реального мобильного робота в качестве основного алгоритма поиска пути.
В первом разделе была подтверждена актуальность использования систем компьютерного зрения при разработке автоматически управляемых транспортных средств и автономных мобильных роботов в сфере складской логистики.
Во втором разделе был произведен выбор одноплатного компьютера и веб-камеры для разрабатываемой системы.
В третьем разделе была составлена структурная схема разрабатываемой системы и представлен перечень всех используемых в ней элементов.
В четвертом разделе была составлена схема электрическая соединений разрабатываемой системы, а также представлены программы и блок-схемы алгоритмов передачи и приема данных по последовательному порту с одноплатного компьютера Raspberry Pi на микроконтроллер Arduino.
В пятом разделе был произведен выбор языка программирования, библиотеки компьютерного зрения и среды разработки для реализации программной части выпускной квалификационной работы
В шестом разделе были подробно описаны алгоритмы и функции библиотеки компьютерного зрения OpenCV, необходимые для поэтапного преобразования получаемой с веб-камеры видеоинформации к виду, позволяющему мобильному роботу обнаружить направляющую линию.
В седьмом разделе был произведен обзор существующих методов навигации мобильных роботов с помощью компьютерного зрения, а также осуществлен разбор использовавшихся в них функций библиотеки OpenCV.
В восьмом разделе была разработана и подробно описана программа для распознавания ярко-синей направляющей линии с помощью компьютерного зрения, основанная на принципе поиска объекта по цвету через цветовое пространство HSV с дальнейшим вычислением положения мобильного робота в пространстве и формированием управляющего воздействия для коррекции траектории его движения.
В девятом разделе были разработаны возможные модификации основной программы для распознавания мобильным роботом направляющей линии с помощью компьютерного зрения, а также рассмотрены их основные достоинства и недостатки.
В десятом разделе был проведен экономический расчет
разрабатываемой системы на основе тщательного анализа рынка.
Результатом выполнения данной выпускной квалификационной работы стало внедрение разработанной системы для распознавания направляющей линии с помощью компьютерного зрения в систему управления движением реального мобильного робота в качестве основного алгоритма поиска пути.





