Содержание 2
Обозначения и сокращения 4
Введение 5
1 Исследование существующих решений 7
1.1 Обзор симуляторов 7
1.1.1 Breve 7
1.1.2 Gazebo 9
1.1.3 Simbad 3D Robot Simulator 11
1.1.4 LpzRobots 12
1.1.5 MORSE (the Modular OpenRobots Simulation Engine) 14
1.2 Выводы по анализу симуляторов 15
2 Исследование и анализ подключаемых движков 16
1.3 DART (Dynamic Animation and Robotics T oolkit) 16
1.3.1 Типы соединений элементов в DART 17
1.4 ODE (Open Dynamics Engine) 18
1.4.1 Типы соединений элементов в ODE 21
1.5 Simbody 22
1.5.1 Типы соединений элементов в Simbody 23
1.6 Bullet 24
1.6.1 Типы соединений элементов в Bullet 25
1.7 Настраиваемые параметры датчиков 27
3 Разработка дизайна приложения и создание пользовательского интерфейса 33
4 Разработка логики программного обеспечения конструирования объектов
4.1 Назначение и возможности программы 40
4.2 Системные требования 40
4.3 Реализация программы 41
4.4 Структура программы 44
4.5 Входные и выходные данные 45
Заключение 47
Список использованных источников 48
На данный момент идёт активное развитие робототехники, а в связи с этим растет и необходимость обучать людей программированию для того, чтобы они могли создавать роботов.
Роботы - помощники для людей в реальном мире, чтобы создать робота, который будет максимально похож на то, что будет спроектировано за пределами виртуальной реальности, нужен такой программный комплекс, который сможет обеспечить реализацию трехмерной модели. При этом робот должен находиться в такой среде, где эмуляция физики была бы очень близка с физикой из реального мира. Помимо этого, при выборе симулятора, который смог бы выполнить поставленную задачу, возникают проблемы: какие библиотеки использовать, как реализовать модель робота, каким образом будет осуществляться взаимодействие робота с симулятором. Для решения этих задач необходимо выбрать наиболее подходящее программное обеспечения для отображения трехмерной графики, исследовать его возможности, исследовать библиотеки, которые могут обеспечить достоверную физику. Одним из таких симуляторов на сегодняшний день является Gazebo.
Существует очень важная и не решенная на данный момент проблема - отсутствие удобной графической среды разработки управляемых интерактивных объектов в Gazebo. На данный момент создание сложных технических платформ для Gazebo сводится к описанию программистом робота «вручную» - описание самого робота, его настроек, джойнтов, соединяющих суставы, разнообразных типов датчиков, устанавливаемых на робототехнической платформе через стандартный текстовый редактор [14]. Такой подход не соответствует современным тенденциям разработки и увеличивает время разработки и тестирования роботов для Gazebo[9].
Цель работы: разработка графического программного обеспечения программиста для конструирования технических платформ для среды Gazebo.
Для осуществления этой цели нужно решить следующие задачи:
1) Исследования современных симуляторов робототехники (на 2017 год) с целью доказательства актуальности работы с Gazebo;
2) Исследования физических движков, используемых в Gazebocупором на выявление специфичности работы с техническими платформами каждого из движков (типов джойнтов, датчиков и т.д.)[13];
3) Разработка удобного графического интерфейса приложения конструирования робототехнических платформ для Gazebo;
4) Разработка графического программного обеспечения программиста для конструирования технических платформ для среды Gazebo на основании проведенных исследований и разработанного интерфейса.
Все поставленные задачи были выполнены. Цель выпускной квалификационной работы достигнута.
В ходе выполнения задачи исследованы современные средства разработки моделей роботов для различных операционных систем. В результате исследований самым актуальным был определен симулятор Gazebo.
Исследованы физические движки, с которыми работает Gazebo, выявлены основные принципы специфичности работы с джойнтами и датчиками каждого из них.
Был достигнут важный практический результат - создано удобное графическое программное обеспечение программиста для конструирования технических платформ для среды Gazebo
Результаты, полученные в ходе выполнения данной выпускной квалификационной работы, были внедрены в практическую деятельность ООО «Р-Визионер».
Планируется продолжение работы по разработке приложения с дополнением приложения 3Д сценой для интерактивного размещения датчиков и просмотра текущего состояния соединений.
1. Michael Sherman. SimTKSimbody 3.1 Theory Manual. - Standford University, 2013;
2. Carol A.Ziegler. Programming System Methodologies. - Prentice-Hall, Englewood Cliffs, NJ, ISBN 0-13-729905-2, 1983;
3. Russel Smith. Open Dynamics Engine v0.5 User Guide. - 2006;
4. Erwin Coumans. Bullet 2.83 Physics SDK Manual. - 2015;
5. Michael A. Sherman, Ajay Seth, Scott L. Delp. Simbody: multibody dynamics for biomedical research. - Procedia IUTAM 2 (2011) 241-261.: Bioengineering and Mechanical Engineering, Standford University, Standford, CA, USA, 2011;
6. Erwin Coumans. Exploring MLCP solvers and Featherstone;
7. CamDynamic Animation and Robotics Toolkit
[электронный ресурс].Режим доступа http://dartsim.github.io/ свободный. Дата обращения 20.04.2017;
8. Сайт компании TheQtCompany [электронный ресурс]. Режим доступа http://www.qt.io/ свободный. Дата обращения 21.04.2017;
9. Сайт Gazebo Simulator [электронный ресурс]. Режим
доступа http://gazebosim.org/ свободный. Дата обращения 15.05.2017;
10. Сайт OSubuntu [электронный ресурс] Режим
доступа http://www.ubuntu.com/ свободный. Дата обращения 24.03.2017;
11. Сайт BulletPhysics [электронный ресурс]. Режим доступа http://www.buhetphysics.org/ свободный. Дата обращения 09.05.2017;
12. Сайт SimTK [электронный ресурс]. Режим
доступа http://www.simtk.org/ свободный. Дата обращения 01.05.2017;
13. Сайт Gamedev [электронный ресурс]. Режим доступа http://gamedev.ru/ свободный. Дата обращения 25.04.2017;
14. Сайт SDFformat [электронный ресурс]. Режим доступа http://sdformat.org/свободный. Дата обращения 13.03.2017;