ВВЕДЕНИЕ 3
Глава 1. Анализ задачи построения 2-D схемы препятствий. Обзор программных и аппаратных компонентов 6
1.1 Постановка задачи 6
1.2 Метод построения схемы препятствий в замкнутом пространстве 7
1.3 Обзор контроллера Arduino Robot 9
1.4 Беспроводное соединение с помощью Bluetooth 12
1.5 Ультразвуковой дальномер 13
Глава 2. Разработка и проектирование мобильной системы 14
2.1 Выбор программных средств 14
2.1.1 Среда разработки программного кода микроконтроллера 14
2.1.2 Среда разработки серверной части и компонент визуализации . 16
2.2 Проектирование общей схемы работы мобильной системы 17
2.2.1 Схема взаимодействия робота с удаленным сервером 17
2.2.2 Проектирование схемы работы робота и его компонентов 18
2.2.3 Проектирование схемы работы удаленного сервера 28
Глава 3. Реализация алгоритмов 30
3.1 Реализация алгоритма для серверной части 30
3.2 Реализация алгоритма для робота 37
Глава 4. Тестирование мобильной системы 44
4.1 Методика тестирования 44
4.2 Тестирование робота 45
Заключение 50
Список использованных источников 52
Приложение А. Листинг программы на Arduino Robot 53
Приложение Б. Листинг программы на Arduino UNO 57
Приложение В. Листинг программы на Windows Forms 60
В настоящее время развитие робототехники привело к активному росту интереса к мобильным роботам, предназначенным для решения широкого круга задач.
В результате популяризации робототехнических средств, задача о построении схемы замкнутого пространства с препятствиями, а также позиционирование робота в пространстве представляют большой интерес для современного мира. Задачи навигации и локализации сложны и до сих пор не решены в степени, достаточной для повсеместного использования роботов.
Наличие схем препятствий позволяет мобильным системам самостоятельно принимать решение о дальнейшем передвижении, поэтому построение схематической карты необходимо для обеспечения автономности мобильным системам.
Существуют инерциальные системы навигации и системы, основанные на использовании технологий GPS, однако такие системы не в состоянии обеспечить необходимую точность в построении карты препятствий для текущего местоположения мобильной системы, в то время как развитие способов локальной навигации на основе получения данных, получаемых с различных датчиков расстояния, позволяет с высокой степенью достоверности осуществлять оценку не только координат самого робота на местности, но и окружающих его объектов.
В рамках автономной системы навигации применяются гироскопы, цифровые компасы. Существенным недостатком таких систем является их чувствительность к неравномерностям поверхности: наклонам, кочкам и т. д. Это вносит определенные ограничения на их использование.
Локальные системы используют для позиционирования некоторую точку, обычно стартовую. Данные системы могут применяться на относительно больших локациях, например, для тактических беспилотных самолетов, работающих в рамках известной территории. Система навигации A-GPS, использующая для позиционирования сотовые сети, также является локальной. В условиях замкнутого пространства целесообразно применение локальной системы позиционирования. В настоящее время наиболее часто применяются системы, использующие дальномеры: лазерные, инфракрасные, ультразвуковые и т. д. Системы датчиков способны получать и обрабатывать информацию о среде робота, а затем передавать эту информацию системе управления для проведения расчетов и построения карты препятствий. От качества этих данных зависит возможность оперативного реагирования на изменения окружающей обстановки и, в конечном итоге, успех выполнения роботом поставленной задачи. Сложность технического процесса определения текущего местоположения и построения карты обусловлена низкой точностью приборов, участвующих в процессе вычисления расстояний до препятствий относительно местоположения робота.
Актуальность данной дипломной работы заключается в необходимости расширения методов и алгоритмов для построения схем замкнутых локальных пространств, с использованием интегрированных в мобильную систему датчиков. Актуальность также обуславливается быстрым распространением различных робототехнический устройств, поскольку робототехника приобретает все большее значение и становится общедоступной.
Актуальность данной дипломной работы заключается в необходимости расширения методов и алгоритмов для построения схем замкнутых локальных пространств в связи с быстрым распространением различных робототехнический устройств, а также необходимостью исследования труднодоступных или опасных для человека мест.
Цель работы - разработать мобильную систему, позволяющую строить схематическую двумерную карту окружающего пространства и решать задачу позиционирования модуля на ней.
Система должна уметь обрабатывать данные с датчиков, строить по этим данным карту препятствий, вычислять маршрут к ближайшей неизведанной территории, а также адекватно реагировать на изменения этой карты в процессе передвижения по построенному маршруту и корректировать его при необходимости. В ходе работы были сформулированы следующий список задач, которые необходимо решить при реализации:
- анализ проблемы построения карты препятствий и навигации на ней робота;
- выбор комплектующих и робототехнических модулей для создания мобильной системы;
- выбор инструментальных средств и технологий создания системы;
- реализация методов и алгоритмов для осуществления передвижения робота;
- реализация методов приема-передачи данных и их последующая обработка;
- тестирование мобильной системы.
В первой главе проводится анализ построения 2-D схемы препятствий и обзор программных и аппаратных компонентов.
Во второй главе описываются основные моменты разработки и проектирования мобильной системы.
Исследование основных алгоритмов и реализация основного функционала описана в третьей главе.
В главе «Апробация и тестирование системы» проводится анализ работоспособности реализованной системы, приводятся результаты работы и корректировки методов системы.
В заключении сделан вывод о степени достижения поставленных целей и задач.
Данная работа содержит 71 страницу, 4 главы, 17 рисунков, 1 таблицу.
Цель данной выпускной квалификационной работы заключалась в проектировании и разработке мобильной системы, позволяющую строить схематическую двумерную карту окружающего пространства и решать задачу позиционирования модуля на ней.
В процессе исследования были сформированы следующие задачи:
- анализ проблемы построения карты препятствий и навигации на ней робота;
- выбор комплектующих и робототехнических модулей для создания мобильной системы;
- выбор инструментальных средств и технологий создания системы;
- реализация методов и алгоритмов для осуществления передвижения робота;
- реализация методов приема-передачи данных и их последующая обработка;
- тестирование мобильной системы.
Подробное исследование проблем реализации данной системы позволило сделать следующие выводы.
Задача о построении схемы замкнутого пространства с препятствиями, а также позиционирование робота в пространстве является тривиальной, однако имеет достаточно неопределенные способы и методы в реализации.
Мобильные системы, которые создают схемы и подробные карты препятствий могут быть использованы другими системами, которые используют готовые карты препятствий на области для других целей.
Был проведен анализ задачи построения 2-D схемы препятствий, определены основные функции мобильной системы и общий процесс построения карты препятствий мобильной системой. Так же было проведено исследование существующих программных и аппаратных компонентов. На основании этого исследования был проведен их сравнительный анализ и осуществлен выбор наиболее подходящих компонентов, с учетом их стоимости и доступности.
Исследование показало, что на текущий момент задача позиционирования и построения карты описана в методе одновременной локализации и построения карты - SLAM, которые используется в мобильных и различных автоматизированных системах построения карт. Были определены основные виды плоских карт, процесс их построения и сложность технического процесса определения текущего местоположения. Так же сформированы проблемы, связанные с техническими ограничениями используемых модулей. Проведено исследование существующих методов и алгоритмов, позволяющих решать конкретные задачи в процессе исследования местности, согласно методу SLAM.
Проведена разработка мобильной системы и составление основных схем работы робота, удаленного сервера и общая схема с учетом их взаимодействия между собой. Затем была реализована программа для робота, а также для используемой в мобильной системе дополнительной платы. Так же был реализована программа для серверной части, с учетом указанных технических особенностей, с использованием выбранного алгоритма, который был модифицирован под требования текущих задач.
В конце проведено тестирование работоспособности мобильной системы и показаны результаты ее работы на каждом этапе.
По результатам тестирования было определено, что мобильная система спроектирована и реализована в полном соответствии с поставленными условиями. Работа выполнена в полном объеме, а результаты позволяют определить, что система готова к эксплуатации.
1. SLAM - URL: http://robocraft.ru/blog/technology/724.html Дата
обращения: 04.03.2018.
2. Rubin Frank. The Lee path connection algorithm // Computers, IEEE Transactions on. — 1974. — Vol. 100, no. 9. — Pp. 907-914.
3. Grisetti Giorgio et al. A tutorial on graph-based SLAM // Intelligent Transportation Systems Magazine, IEEE 2.4. — 2010. — Pp. 31-43.
4. A tutorial on graph-based SLAM / Giorgio Grisetti, Rainer Kummerle, Cyrill Stachniss, Wolfram Burgard // Intelligent Transportation Systems Magazine, IEEE. — 2010. — Vol. 2, no. 4. — Pp. 31-43.
5. Ingber L. Simulated Annealing: Practice versus theory // Mathematical and Computer Modelling. 18(11). 1993. P. 2957.
6. Jeffrey Richter CLR via C#; СИНТЕГ - Москва, 2012. - 896 c.
7. Roland Siegwart, Illah R. Nourbakhsh, and Davide Scaramuzza Introduction to Autonomous Mobile Robots. Second edition. Massachusetts Institute of Technology. 2004 С.13-50.
8. Simultaneous localization and mapping with sparse extended information filters / Sebastian Thrun, Yufeng Liu, Daphne Koller et al. // The International Journal of Robotics Research. — 2004. — Vol. 23, no. 7-8. — Pp. 693-716
9. Сергей Асмаков Интерфейс Bluetooth: разберемся с нюансами // КомпьютерПресс : журнал. — 2013. — 12 марта (№ 3 (279)). — С. 34—36. — ISSN 0868-6157.
10. Джерими Блум: Изучаем Arduino: инструметы и методы
технического волшебства. Пер. с англ. - СПб.: БХВ-Петербурц 2015. - 336 с.
11. Ник Рендольф, Дэвид Гарднер, Майкл Минутилло, Крис Андерсон Visual Studio 2010 для профессионалов.- М.,Диалектика, 2011. - 1184 с.
12. Бьёрн Страуструп. Программирование: принципы и практика использования C++, исправленное издание = Programming: Principles and Practice Using C++. — М.: Вильямс, 2011. — С. 1248. — ISBN 978-5-8459-1705-8.
13. Эндрю Троелсен. Язык программирования C# 2010 и платформа .NET 4.0. - М.,Вильямс, 2010 г. .- 1392 с.