Тип работы:
Предмет:
Язык работы:


МОБИЛЬНАЯ СИСТЕМА ДЛЯ ОПТИМАЛЬНОГО ПРОХОЖДЕНИЯ ЛАБИРИНТА НА МК ARDUINO

Работа №75045

Тип работы

Дипломные работы, ВКР

Предмет

информационные системы

Объем работы67
Год сдачи2018
Стоимость4780 руб.
ПУБЛИКУЕТСЯ ВПЕРВЫЕ
Просмотрено
277
Не подходит работа?

Узнай цену на написание


ВВЕДЕНИЕ 4
ГЛАВА 1. ОБЗОР АППАРАТНОЙ ЧАСТИ И ОБЩИЕ СВЕДЕНИЯ О
МОБИЛЬНОЙ ВЫЧИСЛИТЕЛЬНОЙ СИСТЕМЕ 7
1.1. Обзор архитектуры контроллера Arduino Robot 7
1.2. Изучение беспроводной связи Bluetooth на платформе Arduino 9
1.3. Обзор существующих датчиков расстояния 11
1.4. Обзор интегрированной среды разработки Arduino 12
1.5. Обзор операционной системы Аndroid 13
1.6. Изучение взаимодействия ОС Аndroid с аппаратными модулями
носимых устройств 14
1.7. Обзор интегрированных сред разработки приложений на Android 14
1.8. Изучение особенностей программирования Аndroid-приложений 15
ГЛАВА 2. ПРОЕКТИРОВАНИЕ МАТЕМАТИЧЕСКОЙ МОДЕЛИ И
ФУНКЦИОНАЛЬНОЙ СХЕМЫ 16
2.1. Алгоритм прохождения лабиринта 16
2.2. Алгоритм нахождения оптимального пути 18
2.3. Функциональная схема взаимодействия устройства на Arduino с
устройством на Android 20
2.4. Алгоритм для робота 22
2.5. Алгоритм для смартфона 24
2.6. Проектирование базы данных 26
ГЛАВА 3. РЕАЛИЗАЦИЯ АЛГОРИТМОВ ДВИЖЕНИЯ, ПЕРЕДАЧИ
ДАННЫХ И НАХОЖДЕНИЯ КРАТЧАЙШЕГО ПУТИ 28
3.1. Реализация алгоритма на Arduino устройстве 28
3.2. Сборка прототипа системы 32
3.3. Реализация алгоритма на Arduino устройстве 34
ГЛАВА 4. ТЕСТИРОВАНИЕ РЕАЛИЗОВАННОЙ СИСТЕМЫ 40
4.1. Тестирование беспроводного соединения 40
4.2. Тестирование системы изучения лабиринта 42
4.3. Тестирование алгоритма нахождения кратчайшего пути 44
4.4. Тестирование системы в комплексе 46
ЗАКЛЮЧЕНИЕ 50
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ 52
ПРИЛОЖЕНИЕ

В настоящее время интерес к мобильным автономным системам возрастает. Активно ведутся разработки в области робототехники - изобретают новые механизмы, новые микроконтроллеры и т.д. Известные университеты мира, такие крупные компании как Бостон Дайнемикс и другие занимаются изобретением различных автономных систем. С появлением на рынке микроконтроллеров Ардуино многократно возрос интерес к созданию автономных систем среди обывателей. Их используют для обучения, для обустройства системы «умного дома», а также во многих других сферах человеческой жизни. Такие системы можно разделить на два класса: полностью автономные системы, способные принять самостоятельные решения, и системы управляемые дистанционно человеком. Второй способ требует непрерывного наблюдения за системой, а также имеет ряд других недостатков, например, необходимость организации непрерывной поддержки канала связи между человеком и роботом(кабельная связь или радиосвязь). В связи с этим, особенно востребованы мобильные системы с возможностью принятия решений. Такие системы требуют значительных вычислительных ресурсов, а также сложных математических моделей, чтобы система могла принимать решения для ситуаций в реальном времени, поэтому данная тема будет актуальной еще долгое время.
Наиболее распространенными системами принятия решений являются мобильные транспортные системы. Зачастую они применяются для изучения и получения информации о местах, которые человек неспособен изучить в силу своих физических размеров, или же в связи с неприсоболенностью среды для человека.
В общем случае, такие системы можно разделить на два класса - наземные и воздушные транспортные системы. К первому типу относят различные колесные средства передвижения, ко второму - различные виды летательных аппаратов.
Для наиболее адекватной оценки роботом среды, в которой он находится, ему необходимо анализировать данные телеметрии. Для этого используют, например, датчики расстояния, камеры и многое другое.
Для одного и другого типа систем принцип оценки окружающей среды для передвижения основан на выявлении препятствий и средств их обхода. Единственное различие в том, что данные с летательных аппаратов можно получить в трехмерном пространстве, а с наземных, основную часть, в двухмерном.
Основными являются показатели получаемые с датчиков расстояния, ведь именно они позволяют создать адаптивную систему, которая сможет перемещаться без боязни, того что робот разобъется о препятствие, а также это наиболее простой инструмент для адаптации к окружающей среде, не требующий больших вычислительных ресурсов.
В данной работе рассматриваются задачи изучения лабиринта и нахождения оптимального пути в нем. Часто необходимо исследовать комнату или же некое другое пространство, в которое человек не сможет поместиться. В общем виде данное пространство можно представить в виде лабиринта. Данное представление является наиболее удобным для решения поставленной задачи, поскольку для их изучения уже существуют методы решения, подходящие для представления его в памяти вычислительного устройства.
Решение лабиринта применяется в олимпиадных соревнованиях по скоростному прохождению лабиринта, а также для вышеупомянутой задачи. Данная задача уже давно известна и на данный момент имеет ряд решений. Однако, предложенные решения не вполне удовлетворяют условию универсальности. К примеру, в олимпиадном программировании заранее известны определенные структуры лабиринта, соответственно при малейшем изменении структуры робот теряет возможность быстро определять структуру, что сказывается на скорости прохождения. В иных случаях, используются математические модели, которые накладывают ограничения на исследуемый участок.
Предлагается изучить лабиринт и представить его в виде графа с вершинами и связями, а также применить алгоритм Дейкстры для нахождения кратчайшего пути из любой заданной точки.
В качестве прототипа будет использоваться мобильная система на базе микроконтроллера Ардуино. Это обусловлено простотой программирования данного контроллера, а также его широкой распространенностью.
Целью данной работы является создание мобильной системы для изучения лабиринта, определения оптимального алгоритма нахождения кратчайшего пути, подходящего для лабиринта, и применения его в мобильной системе, а также изучение получившейся комплексной системы.
В данной работе поставлены следующие задачи:
1. изучение существующих решений для построения карты лабиринта;
2. сравнение и определение аппаратных модулей, необходимых для сборки мобильной системы;
3. построение математической модели для построения карты и нахождения оптимального пути;
4. разработка графического интерфейса для пользователя;
5. разработка системы хранения изученного лабиринта.
Первая глава данной работы является обзором существующих аппаратных модулей для решения поставленной задачи, а также посвящена теоретическим сведениям о мобильной вычислительной системе.
Вторая глава данной работы посвящена проектированию математической модели решаемой задачи.
Третья глава содержит описание реализации алгоритмов предложенных во второй главе.
Четвертая глава посвящена комплексному тестированию реализованной системы.
Заключение содержит информацию о проделанной работе и анализе недостатков системы.


Возникли сложности?

Нужна помощь преподавателя?

Помощь студентам в написании работ!


В ходе выполнения данной работы была создана мобильная система для изучения лабиринта, реализован алгоритм нахождения оптимального пути в лабиринте, а также проведено тестирование созданной системы.
В ходе анализа реализованной мобильной системы были выявлены некоторые недостатки системы, связанные с используемой аппаратной платформой, однако построенная математическая модель может использоваться в дальнейших иссследованиях. К примеру, расширив систему локальных координат, используя Декартову систему в пространстве, а также расширив функциональность мобильной системы новыми датчиками и возможностью перемещения не только на поверхности, но и в пространстве (к примеру, используя квадрокоптер), можно применить те же методы для изучения лабиринта не только в двухмерном пространстве, но и в трехмерном.
В данной работе были выполнены следующие задачи:
1. были изучены существующие решения для построения карты лабиринта;
2. было проведено сравнение и определение необходимых аппаратных модулей;
3. была построена математическая модель для построения карты;
4. был проведен анализ решений для нахождения кратчайшего пути, а также определен алгоритм подходящий для лабиринта;
5. был собран прототип мобильной системы для тестирования математической модели;
6. ОС Android была определена в качестве вычислительного ресурса;
7. было реализовано android-приложение и база даных.
После проведения тестирования, выяснили, что для более точного построения лабиринта следует применять лазерные дальномеры, поскольку у них меньшая погрешность в показателях. Также для полной автономности можно использовать микроконтроллер с большим объемом оперативной памяти, например, Arduino Mega или одноплатный компьютер Raspberry PI, а также использовать карту памяти для хранения уже пройденных маршрутов.



1. Как работает ультразвуковой дальномер [Электронный ресурс] - URL:
http: //roboto sha.ru/electronics/how-works-ultrasound-meter.html (дата
обращения: 13.05.2018)
2. Среда разработки Arduino [Электронный ресурс] - URL: http://arduino.ru/Arduino_environment (дата обращения: 05.05.2018).
3. Arduino IDE [Электронный ресурс] - URL:
https://www.arduino.cc/en/Main/Software (дата обращения: 10.04.2018)
4. Android Studio [Электронный ресурс] - URL:
https://developer.android.com/studio/index.htmLhUi (дата обращения:
10.04.2018
5. Описание основных функций языка Arduino [Электронный ресурс] -
URL: http://www.freeduino.ru/arduino/lang.html (дата обращения:
07.05.2018).
6. Организация беспроводной связи по стандарту BLUETOOTH
[Электронный ресурс] - URL:
http://taketop.ru/articles/informatika/progobesp/besprov-set (дата
обращения: 29.04.2018
7. Алгоритм Дейкстры. Электронный ресурс. Режим доступа: https://ru.wikipedia.org/wiki/Алгоритм_Дейкстры (дата обращения: 12.06.2018)
8. Лазерные приборы для измерения высоты и расстояний: [Электронный документ] - (http://mylektsii.ru/1-87002.html) . (дата обращения: 12.06.2018)
9. Задача о кратчайшем пути. Электронный ресурс. Режим доступа: https: //ru.wikipedia. org/wiki/Задача_о_кратчайшем_пути. (дата обращения: 12.06.2018)
10. Алгоритм Флойда-Уоршелла. Электронный ресурс. Режим доступа:
https: //ru.wikipedia. огд/'№1к1/Алгоритм_Флойда-Уоршелла (дата
обращения: 12.06.2018)
11. Алгоритм Ли (Волновой алгоритм). Электронный ресурс. Режим доступа: https://ru.wikipedia.org/wiki/Алгоритм_Ли_(дата обращения: 12.06.2018)
12. Основы программирования для Android [Электронный ресурс] - URL: http://metanit.Com/java/android/2.1.php (дата обращения: 10.05.2018).
13. Разработка под Android [Электронный ресурс] - URL: http://developer.alexanderklimov.ru/android/ (дата обращения: 10.05.2018)
14. Машина-робот на базе Arduino [Электронный ресурс] - URL: https://habrahabr.ru/sandbox/82341/ (дата обращения: 09.05.2018
15. Сайт вопросов и ответов для программистов [Электронный ресурс] - URL: http://stackoverflow.com/ (дата обращения: 14.05.2018)
16. Беспроводные технологии передачи данных для создания систем управления и персональной информационной поддержки [Электронный ресурс] - URL: http://window.edu.ru/resource/177/56177/files/62331e1- st18.pdf (дата обращения: 29.04.2018)
17. BoxallLohn. Arduino Workshop / Lohn Boxall. ISBN-13: 978-1-59327-448¬1
18. Dijkstra, E. W. A note on two problems in connection with graphs / E. W. Dijkstra// Numerische Mathematik. - 1959. - 1. - C. 269-271
19. Fox, D. The Dynamic Window Approach to Collision Avoidance [Текст]/ D. Fox, W. Burgard, S.Thrun // IEEE Robotics and Automation Magazine. - 1997. - C. 23- 33.
20. Friesen Jeff. Learn Java for Android Development / Jeff Friesen. ISBN-13: 978-1-4302-5722-6
21. Kamon, I. A new Range-Sensor Based Globally Convergent Navigation
Algorithm for Mobile Robots [Текст]/ I. Kamon, E. Rivlin, E. Rimon//
Minneapolis: - Robotics and Automation. Proceedings on IEEE International
Conference - 1995.T1.-C. 429-435.
22. McRoberts Michael. Beginning Arduino / Michael McRoberts. ISBN-13: 978-1-4302-3420-7
23.SchmidtMaik. Arduino.A Quick-Start Guide / Maik Schmidt. ISBN-13: 978¬1-934356-66-1
24. Zapata Belen Cruz. Android Studio Application Development / Belen Cruz Zapata. ISBN 978-1-78328-527-3
25. Android. Программирование для профессионалов. 2-е изд / Харди Б., Филлипс Б., Стюарт К., Марсикано К. — СПб.: Питер, 2016. — 640 с.: ил. — (Серия «Для профессионалов»).
26. Дейтел П. Android для разработчиков / П. Дейтел, Х. Дейтел, А. Уолд. СПб.: Питер, 2016. — 512 с.: ил. — (Серия «Библиотека программиста»).
27. Маслов В.А., Финогеев А.А., Финогеев А.Г. Известия ВУЗов. Методика идентификации и событийного управления мобильными устройствами на основе технологии bluetooth: 2-е изд, 2008. - 65 с.
28. Петин В. А. Проекты с использованием контроллера Arduino / В.А. Петин. - СПб.: БХВ-Петербург, 2014. - 400 с.
29. Платонов, А.К. Метод потенциалов в задаче выбора пути: история и перспективы [Текст]/ А.К. Платонов, М.А. Колганов , А.А. Кирильченко. - М.: Препринты ИПМ им. М. В. Келдыша, 2001, 4 с.
30. Тусеева, И.Б. Алгоритм динамического окна для навигации автономных подводных аппаратов [Текст]/ И.Б. Тусеева, Д.Б. Тусеева, Юн-Ги Ким// Искусственный интеллект и принятие решений. - 2013. - №3. - С. 66-67


Работу высылаем на протяжении 30 минут после оплаты.




©2024 Cервис помощи студентам в выполнении работ