Пример готовой дипломной работы по предмету: Программирование
Содержание
СПИСОК СОКРАЩЕНИЙ 4
ПЕРЕЧЕНЬ ИСПОЛЬЗОВАННЫХ ПРОГРАММНЫХ СРЕДСТВ И
СИСТЕМ 5
АННОТАЦИЯ 6
ВВЕДЕНИЕ 7
1. ОБЗОР АЛГОРИТМОВ И СИСТЕМ МОДЕЛИРОВАНИЯ МОБИЛЬНЫХ РОБОТОВ 10
1.1. Обзор программных средств моделирования мобильных роботов 10
1.1.1. Microsoft Robotics Developer Studio 10
1.1.2. Система моделирования Webots 14
1.1.3. Программа моделирования роботов Simbad 16
1.1.4. Среда моделирования Stage/Gazedo 19
1.1.5. ROS (Robot Operating System) 21
1.2. Обзор аппаратных средств мобильных роботов и роботов- манипуляторов 23
1.2.1. Irobot Create 23
1.2.2. Microsoft Kinect 23
1.2.3. Tirlebot 24
1.3. Обзор алгоритмов построения траекторий движения для мобильных роботов и роботов-манипуляторов 25
1.3.1. Алгоритм А* 26
1.3.2. Волновой алгоритм 33
1.3.3. Алгоритм Дейкстры 35
1.4. Выводы по аналитической части дипломной работы 40
2. ТЕХНОЛОГИЯ РАЗРАБОТКИ И МОДЕЛИРОВАНИЯ МОБИЛЬНЫХ РОБОТОВ 41
2.1. Выбор технологии и инструментария разработки MRDS 41
2.2. Выбор языка разработки Microsoft Visual Programming Language 44
2.3. Выбор среды моделирования Visual Simulation Environment 47
2.4. Выводы по технологической части дипломной работы 49
3. РАЗРАБОТКА МАТЕМАТИЧЕСКОГО И ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ДЛЯ МОДЕЛИРОВАНИЯ МОБИЛЬНОГО РОБОТА 50
3.1. Разработка модели мобильного робота в MRDS 50
3.2. Разработка тестового виртуального окружения в MRDS 54
3.3. Разработка архитектуры модуля, подключаемого к выбранной среде моделирования для обеспечения управления моделью мобильного робота 60
3.4. Подключение к модели мобильного робота внешних устройств 63
3.4.1. Лазерный дальномер SiskLRF 63
3.4.2. Камера 66
3.5. Разработка алгоритма построения траектории мобильного робота 68
3.5.1. Алгоритм расчета локальной цели 68
3.5.2. Алгоритм расчета локальной траектории 71
3.5.3. Алгоритм управления роботом 72
3.6. Реализация алгоритма построения траектории движения робота 73
3.6.1. Обзор используемых элементов VPL 73
3.6.2. Основные реализованные блоки 73
3.7. Выводы по проектной части дипломной работы 77
4. ЭКОНОМИЧЕСКИЙ РАЗДЕЛ 78
4.1. Введение 78
4.2. Исследование рынка 78
4.3. Расчёт трудоёмкости создания математического и программного обеспечения 80
4.4. Определение численности исполнителей 82
4.5. Анализ структуры затрат работы 82
4.6. Выводы по экономической части дипломной работы 85
ЗАКЛЮЧЕНИЕ 86
СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ И ЛИТЕРАТУРЫ 87
ПРИЛОЖЕНИЯ 89
Выдержка из текста
В настоящее время робототехника занимает все большее место в мировом научно-техническом развитии [1-5].
На электронном рынке появляется все больше роботов, выполняющих самые разнообразные задачи. Например, робот PR2 уже способен на многие действия для помощи в быту человека. Менее функциональные роботы, такие как icreate, Roomba нашли свое применение в быту как роботы-пылесосы. Они являются необходимыми и самыми популярными бытовыми роботами в мире. В настоящий момент уже несколько миллионов роботов Roomba iRobot во всем мире занимаются уборкой домов с момента их дебюта в 2002 году. Однако и они могут быть использованы в простейших исследовательских целях – например, решение задачи пройти по маршруту [3,6].
Также на основе роботов Roomba или Create собрана модель turtlebot, которая помимо двигающейся основы включает в себя Microsoft Kinect и другие модули. Именно эти роботы стали популярны в среде разработчиков благодаря простоте и доступности.
При управлении мобильным роботом возникают три задачи: определение текущих координат робота (относительно, например, его начального положения), построение траекторий движения (как для известной, так и для неизвестной карты) и построение (уточнение) самой карты. В данной работе рассматривается вторая задача: построение траекторий движения.
Эффективное планирование движения является ключевой проблемой при реализации многих робототехнических систем. В настоящее время существует большое количество частных решений данной задачи, однако говорить о ее общем успешном решении пока рано.
Можно выделить три группы методов планирования пути (траектории как геометрической кривой) [6-10]:
1. Методы потенциальных функций.
2. Клеточно-графовые методы.
3. Методы вероятностной дорожной карты.
Однако большинство из решений узко специализированы и не могут быть адаптированы для более широкого круга прикладных задач.
Рассматриваемый в настоящей работе мобильный робот представляет собой колёсную платформу, снабжённую лазерным сканирующим дальномером – прибором, измеряющим расстояния до непрозрачных препятствий в некотором известном сегменте с определённой дискретностью – и камерой.
Строить траекторию движения робота можно только на известной карте, а во время движения корректировать траекторию в зависимости от меняющихся условий. Поэтому кроме построения траекторий как таковых, должен быть реализован алгоритм объезда препятствий.
Разумеется, в реальной ситуации робот отрабатывает движение по траектории не идеально, и время от времени приходится корректировать его движение. В некоторых случаях даже приходится перестраивать всю траекторию, чтобы робот мог достичь цели.
Настоящая работа посвящена разработке и исследованию алгоритма построения локальных траекторий мобильного колёсного робота в среде с препятствиями. Для облегчения задач разработки робототехнического программного обеспечения используют так называемые робототехнические САПР. С помощью этих систем можно разработать и отладить модель будущего робота, не прибегая к дорогостоящей физической модели робота. После успешного проведения этапов разработки и тестирования математических моделей и алгоритмов в виртуальной среде можно приступить к производству самого робототехнического средства. Это значительно облегчает задачу построения роботов, снижает финансовые и человеческие затраты на производство.
В качестве среды моделирования роботов в настоящей работе выбрана среда Microsoft Robotics Developer Studio [11,12].
Актуальность темы обусловлена быстрым ростом аудитории пользователей мобильных роботов. Алгоритмы построения траектории движения мобильных роботов востребованы в задачах управления движением наземных роботов, используемых в охранных системах, системах доставки грузов и т.д., а также воздушных роботов, отвечающих за системы доставки, патрулирования, наблюдения.
В первом разделе приводится обзор программных средств моделирования мобильных роботов и роботов-манипуляторов с указанием их основных возможностей и особенностей, приводится обзор аппаратных средств и алгоритмов построения траекторий движения для мобильных роботов и роботов-манипуляторов.
Во втором разделе описываются выбранные технологии и инструментальные средства моделирования мобильных роботов.
В третьем разделе описывается модель колёсного робота, разработанная в среде Microsoft Robotics Developer Studio, приводится описание виртуального окружения робота и архитектуры подключаемого к среде модуля для управления моделью мобильного робота в виртуальном мире. Также приводится описание подключаемых к модели робота внешних устройств и приводится описание и программная реализация разработанного алгоритма построения траектории движения робота.
В четвертом разделе приводится экономическое обоснование эффективности разработки математического и программного обеспечения для построения траектории движения мобильного робота в среде с препятствиями.
Список использованной литературы
СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ И ЛИТЕРАТУРЫ
1. Springer handbook of robotics. // Под. ред. Bruno Siciliano, Oussama Khatib, «Springer» — 2008.
2. В. Гай. Microsoft Robotics Developer Studio. Программирование алгоритмов управления роботами. – М.: ЭКОМ Паблишерз, 2012.
3. Д. Ловин. Создаем робота-андроида своими руками – М.: Издательский дом ДМК-пресс, 2010.
4. И.М. Макаров, Ю.И. Топчеев. Робототехника. История и перспективы.- М.; Наука, 2009— 352 c.
5. E. Wise. Robotics Demystified. – McGraw-Hill, 2004
6. Latombe J. Robot Motion Planning. – Kluwer, Boston, MA,1991.
7. M. Lagoudakis. Mobile Robot Local Navigation with a Polar Neural Map – s.l.: The Center for Advanced Computer Studies University of Southwestern Louisiana, 1998.
8. Bruce J., Veloso M. Real-Time Randomized Path Planning for Robot Navigation [Электронный ресурс].
– Режим доступа: http://www.cs.cmu.edu/~15780/readings/02iros-errt.pdf
9. LaValle S.M. Planning Algorithms [Электронный ресурс]: 2004. – 859 с. – Режим доступа: http://msl.cs.uiuc.edu/planning/
10. Kavraki L. E., Latombe J.C. Probabilistic Roadmaps for Robot Path Planning, Robotics Laboratory, Department of Computer Science Stanford University. – Stanford, California CA 94305. – 1998. – 21 p.
11. Morgan S. Programming microsoft robotics studio. – Microsoft Press, 2008.
12. Jackson J. Microsoft robotics studio: A technical introduction //Robotics & Automation Magazine, IEEE. – 2007. – Т. 14. – №. 4. – С. 82-87.
13. Quigley M. et al. ROS: an open-source Robot Operating System //ICRA workshop on open source software. – 2009. – Т. 3. – №. 3.2. – С. 5.
14. Дж. Макконнелл. Анализ алгоритмов. Активный обучающий подход. – М.: Техносфера, 2011 – 416 c.
15. Вирт Н. Алгоритмы и структуры данных. – М.: Невский Диалект, 2006. – С. 352.
16. Dijkstra E.W. A note on two problems in connection with graphs // Numerische Mathematik. – 1959. – V. 1. –P. 269-271.
17. Johns K., Taylor T. Professional microsoft robotics developer studio. – John Wiley & Sons, 2009.
18. Cepeda J. S., Chaimowicz L., Soto R. Exploring Microsoft Robotics Studio as a mechanism for service-oriented robotics //Robotics Symposium and Intelligent Robotic Meeting (LARS), 2010 Latin American. – IEEE, 2010. – С. 7-12.
19. Введение в робототехнику: Накано Э. Пер. с япон. — М.; Мир, 1988. — 334 с.
20. Булгаков А.Г., Воробьев В.А. Промышленные роботы. Кинематика, динамика, контроль и управление. – М.: Солон-Пресс, 2012.
21. Сербенюк Н.С. Управление движением мобильного робота в стесненных условиях. Кандидатская диссертация. — М.: ИПМ им. М.В. Келдыша РАН, 2005.