Аннотация 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
Развитие компьютерных технологий идет огромными темпами. Особенно это касается сфер искусственного интеллекта и робототехники. Многие вещи, которые всего несколько десятилетий назад можно было встретить лишь в научно-фантастической литературе, сегодня стали неотъемлемой частью нашей жизни. Для современного человека нет ничего удивительного в том, что на передовых автоматизированных заводах вместо рабочих трудятся роботы, по дорогам городов ездят беспилотные автомобили, а искусственные нейронные сети создают шедевры, не уступающие работам профессиональных художников.
Одним из наиболее актуальных направлений развития искусственного интеллекта в последние годы стало компьютерное зрение. Способность видеть - важнейшее свойство человека. Именно с помощью зрения мы получаем наибольшее количество информации об окружающем мире. Взглянув на какой-либо предмет, мы, почти не задумываясь, можем сказать, что это такое, каковы его приблизительные размеры, форма, цвет. Благодаря накопленному опыту и знаниям мы легко распознаем объекты и отличаем их друг от друга, ориентируемся в пространстве. Со временем возникла идея наделить зрением и искусственный интеллект. Однако несмотря на то, что современные компьютеры уже давно превзошли человека в сфере вычислений и обработки информации, анализ изображений представлял для них довольно трудную задачу. Развитие машинного обучения и искусственных нейронных сетей значительно ускорило процесс обретения роботами способности видеть. На сегодняшний день искусственный интеллект способен распознавать номерные знаки автомобилей, читать штрих-коды на товарах в супермаркете, анализировать записи с камер видеонаблюдения и производить поиск лиц на фотографиях и видеозаписях. Таким образом, компьютерное зрение представляет собой набор методов, позволяющих компьютерам извлекать информацию из изображений.
Области применения компьютерного зрения довольно обширны: от промышленных средств мониторинга технических процессов до автономных управляющих систем, принимающих решения на основе анализа полученной видеоинформации. Одним из наиболее перспективных направлений является использование систем компьютерного зрения в автоматизированных логистических системах. Ярким примером этого служит широкое использование крупными современными компаниями транспортных роботов, обеспечивающих перемещение грузов в промышленной среде без непосредственного участия оператора. Данные машины используются на предприятиях для транспортировки сырья - со склада в цеха, заготовок - между производственными этапами, готовой продукции - с производства на склад и со склада на отгрузку. Применение таких транспортных средств позволяет уменьшить расходы на перевозки, связанные с человеческим фактором и потерей времени, повысить безопасность на предприятии, ускорить производственные процессы. Составление маршрута для данных роботов осуществляется с помощью направляющих линий и маркеров. Их обнаружение и использование в качестве субъектов управления и является главной задачей систем компьютерного зрения.
В рамках данной выпускной квалификационной работы предполагается разработка программного и аппаратного обеспечения для распознавания мобильным роботом направляющей линии с помощью компьютерного зрения.
В рамках выполнения данной выпускной квалификационной работы была разработана система распознавания направляющей линии мобильным роботом с помощью компьютерного зрения.
В первом разделе была подтверждена актуальность использования систем компьютерного зрения при разработке автоматически управляемых транспортных средств и автономных мобильных роботов в сфере складской логистики.
Во втором разделе был произведен выбор одноплатного компьютера и веб-камеры для разрабатываемой системы.
В третьем разделе была составлена структурная схема разрабатываемой системы и представлен перечень всех используемых в ней элементов.
В четвертом разделе была составлена схема электрическая соединений разрабатываемой системы, а также представлены программы и блок-схемы алгоритмов передачи и приема данных по последовательному порту с одноплатного компьютера Raspberry Pi на микроконтроллер Arduino.
В пятом разделе был произведен выбор языка программирования, библиотеки компьютерного зрения и среды разработки для реализации программной части выпускной квалификационной работы
В шестом разделе были подробно описаны алгоритмы и функции библиотеки компьютерного зрения OpenCV, необходимые для поэтапного преобразования получаемой с веб-камеры видеоинформации к виду, позволяющему мобильному роботу обнаружить направляющую линию.
В седьмом разделе был произведен обзор существующих методов навигации мобильных роботов с помощью компьютерного зрения, а также осуществлен разбор использовавшихся в них функций библиотеки OpenCV.
В восьмом разделе была разработана и подробно описана программа для распознавания ярко-синей направляющей линии с помощью компьютерного зрения, основанная на принципе поиска объекта по цвету через цветовое пространство HSV с дальнейшим вычислением положения мобильного робота в пространстве и формированием управляющего воздействия для коррекции траектории его движения.
В девятом разделе были разработаны возможные модификации основной программы для распознавания мобильным роботом направляющей линии с помощью компьютерного зрения, а также рассмотрены их основные достоинства и недостатки.
В десятом разделе был проведен экономический расчет
разрабатываемой системы на основе тщательного анализа рынка.
Результатом выполнения данной выпускной квалификационной работы стало внедрение разработанной системы для распознавания направляющей линии с помощью компьютерного зрения в систему управления движением реального мобильного робота в качестве основного алгоритма поиска пути.
1. 33. OpenCV шаг за шагом. Сравнение контуров через суммарные
характеристики - моменты [Электронный ресурс]. URL:
https://robocraft.ru/computervision/867 (дата обращения: 23.04.2023).
2. Автоматизация складов с помощью роботов [Электронный ресурс]. URL: https://top3dshop.ru/blog/warehouse-and-logistics-robots-review.html (дата обращения: 21.03.2023).
3. Булатников, Е. В. Сравнение библиотек компьютерного зрения для применения в приложении, использующем технологию распознавания плоских изображений / Е. В. Булатников, А. А. Гоева. // Вестник МГУП имени Ивана Федорова - 2015. - №6 - С. 85-91. - ISSN 2409-6652.
4. Волков, К. А. Алгоритмы и программные библиотеки обработки мультимедийной информации : учеб.-метод. пособие / К. А. Волков, В. Ю. Цветков, В. К. Конопелько. - Минск : БГУИР, 2017. - 99 с. : ил. - ISBN 978985-543-246-4.
5. Кэлер, А. Изучаем OpenCV 3. Разработка программ компьютерного зрения на C++ с применением библиотеки OpenCV / А. Кэлер, Г. Брэдски ; пер. с англ. - Москва : ДМК Пресс, 2017. - 826 с. : ил. - ISBN 978-5-97060471-7.
6. Лекция 4: Начало работы с библиотекой OpenCV [Электронный ресурс]. URL: https://intuit.ru/studies/courses/10621/1105/lecture/17985 (дата обращения: 11.04.2023).
7. Обзор роботов AGV и AMR [Электронный ресурс]. URL:
https://top3dshop.ru/blog/agv-amr-robots-review.html (дата обращения:
14.03.2023).
8. Обнаружение контуров с использованием OpenCV [Электронный
ресурс]. URL: https://waksoft.susu.ru/2021/11/30/obnaruzhenie-kongurov-s-
ispolzovaniem-opencv/ (дата обращения: 26.04.2023).
9. Потапов, А. С. Системы компьютерного зрения : учебное пособие / А. С. Потапов. - Санкт-Петербург : Университет ИТМО, 2016. - 161 с.
10. Работа через GPIO в Raspberry Pi 3 [Электронный ресурс]. URL:
https: //vashumnyidom. ru/upravlenie/ustroj stva/gpio-raspberry-pi-3. html (дата
обращения: 26.03.2023).
11. Следование линии на основе OpenCV [Электронный ресурс]. URL: https://habr.com/ru/articles/426675/ (дата обращения: 08.03.2023).
12. Форсайт, Д. Компьютерное зрение. Современный подход / Д. Форсайт, Ж. Понс ; пер. с англ. - Москва : Издательский дом “Вильямс”, 2004. - 928 с. : ил. - ISBN 5-8459-0542-7.
13. Шапиро, Л. Компьютерное зрение / Л. Шапиро, Д. Стокман ; пер. с англ. - Москва : БИНОМ. Лаборатория знаний, 2006. - 752 с. - ISBN 5-94774384-1.
14. Bradski, G. Learning OpenCV / G. Bradski, A. Kaehler - Sebastopol : O'Reilly Media, 2008. - ISBN: 9780596516130.
15. Chang-Ho Hyun, A Vision-Based Automated Guided Vehicle System with Marker Recognition for Indoor Use / Hyun Chang-Ho, Lee Jeisung, Park Mignon // Sensors - 2013. - №13 - ISSN 1424-8220.
...всего 22 истчоника