Содержание 2
Обозначения и сокращения 5
Введение 7
1 Исследование выбранной платформы разработки 10
1.1 Описание платформы 10
1.2 Общие принципы создания моделей 10
1.3 Общие принципы создания плагинов для управления моделями 13
2 Исследование и анализ физических движков 15
2.1 Open Dynamics Engine 15
2.2 Bullet Physics Library 19
2.3 Simbody 20
2.4 Dynamic Animation and Robotics Toolkit 23
2.5 Сравнительный анализ физических движков 25
2.6 Вывод по результатам исследования 36
3 Реализация работы физических процессов интерактивных объектов 37
3.1 Описание задачи 37
3.2 Исследование свойств интерактивных моделей 38
3.3 Определение сил, воздействующих на огнетушитель 43
3.4 Реализация алгоритма работы модели огнетушителя 45
4 Физическая модель направленного быстродвижущегося воздушного потока 47
4.1 Обзор существующих решений 47
4.2 Предлагаемая методика решения проблемы 47
4.2.1 Размещение unit-линка в геометрическом центре каждого линка каждой модели 49
4.2.2 Получение габаритов ограничивающего параллелепипеда 55
4.2.3 Вычисление координат вершин ограничивающего параллелепипеда в
локальной системе координат unit-линка 56
4.2.4 Сохранение или обновление позиции unit-линка в глобальной системе
координат 58
4.2.5 Вычисление координат вершин ограничивающего параллелепипеда в
глобальной системе координат 58
4.2.6 Вычисление координат вектора внешней нормали к каждой грани
ограничивающего параллелепипеда 60
4.2.7 Определение граней для последующего воздействия внешней силы .. 62
4.2.8 Определение точек воздействия внешней силы для каждой грани 64
4.2.9 Поворот объектов виртуального мира для достижения определённого
направления направляющего вектора ветра 68
4.2.10 Определение точек воздействия, не перекрываемых ни одной гранью
ограничивающего параллелепипеда объекта виртуального мира 73
4.2.11 Приложение внешней силы в точках воздействия 76
4.3 Реализация и визуализация работы алгоритма 76
4.3.1 Общее описание 76
4.3.2 Архитектура и принципы функционирования 78
4.3.3 Методика разработки 78
4.3.4 Схема потоков данных между ПО оператора и ПО симуляции 79
4.3.5 Описание ПО оператора 80
4.3.6 Описание ПО симуляции 82
4.3.7 Технические и системные требования 86
4.4 Практическое применение 87
Заключение 88
Список использованных источников 91
Рассматриваемое исследование и программное обеспечение представляет теоретический и практический интересы. В данный момент существует множество робототехнических симуляторов, позволяющих эмулировать движения роботов различного назначения и конструкции, тестировать алгоритмы движения, способы и процессы управления робототехническими системами всех уровней сложности, но ни один из них не предоставляет функционал проверки работы робота в условиях окружающей среды, идентичных тем, в которых ему предстоит функционировать в его физической реализации.
Проведение подобных испытаний на виртуальных моделях роботов, полностью соответствующих по физическим свойствам их реальным аналогам, поможет выявлять алгоритмические ошибки и ошибки конструирования на этапе тестирования виртуальной модели, что в свою очередь будет способствовать существенному сокращению финансовых и временных затрат на ремонт и замену дорогостоящих деталей при проведении испытаний в различных средах. Учёт влияния на виртуальную модель робота физических параметров окружающей среды таких как атмосферное давление, температура воздуха, влажность, направление и скорость ветра позволит более точно предсказывать возможные сценарии поведения настоящего робота при его функционировании в реальных условиях. Таким образом, роботы одной модели могут поставляться в разные страны в различных комплектациях, сконструированные из подходящих материалов, учитывающих климатические особенности местности, в которой будет функционировать данный робот.
Эмуляция поведения и физических свойств объектов реального мира открывает широкие возможности для конструирования антропоморфных роботов для бытовой, строительной и военной сфер деятельности. Примером могут служить управление транспортными средствами, обращение со строительными инструментами, приспособлениями аварийно-спасательных служб и оружием.
Цель работы:
Разработка методики моделирования воздействия, направленного быстродвижущегося воздушного потока на объекты достоверной виртуальной интерактивной среды, учитывающей как минимум воздействие сил инерции, гравитации, трения, соблюдение законов Ньютона, с последующей программной реализацией данной методики и проведением испытаний с использованием сложного интерактивного объекта - огнетушителя, с реализованными физическими свойствами и функциональными возможностями.
Для достижения поставленной цели, необходимо выполнить следующие задачи:
1) исследование физических движков, направленных на эмуляцию физики робототехнических платформ;
2) анализ полученных результатов и выбор наиболее подходящего физического движка для достижения поставленной цели;
3) программная разработка стенда - виртуальной обстановки;
4) выявление и анализ сил, действующих на огнетушитель во всех состояниях;
5) написание программы эмуляции физических свойств и функциональных возможностей интерактивного объекта - «огнетушитель»;
6) исследование существующих решений программного
моделирования направленных воздушных потоков;
7) разработка методики программного и визуального моделирования поведения интерактивных объектов при воздействии быстродействующего направленного потока воздуха;
8) программная реализация разработанной методики в условиях созданной интерактивной среды.
Исследования, проведненные в рамках данной дипломной работы внесли существенный вклад в развитие программных средств для моделирования поведения робототехнических платформ, интерактивных объектов и других объектов виртуального мира, а программное обеспечение, реализованное на основе данных исследований может с успехом применяться компаниями, университетами и отдельными исследователями для разработки и тестирования алгоритмов взаимодействия роботов с предметами достоверной виртуальной окружающей среды, учитывающей воздействие направленного воздушного потока, сил трения, гравитации, инерции и соблюдение законов Ньютона.
В ходе выполнения задач исследования и анализа физических движков, направленных на эмуляцию физики робототехнических платформ, был проведён сравнительный анализ четырёх наиболее порулярных в среде разработчиков робототехнических систем физических движков: ODE, Bullet, Simbody и DART. Были проанализированы основные параметры, характеризующие точность и скорость процессов интегрирования и определения столкновений между объектами виртуального мира, доступные типы соединений атомарных частей одного объекта - джойнты, механизмы корректирующего воздействия для устранения ошибок интегрирования и многие другие характеристики данных физических движков. Также были проведены сравнительные испытания, в ходе которых проверялась достоверность симуляции точных математических моделей: механическое движение двойного маятника, поведение генератора колебаний, свободное парение тел с заданной угловой скоростью, сохранение равновесия системы тел и хождение андроидного робота. В результате проведенного исследования движок DART был выбран как наиболее устойчивый и достоверный для достижения поставленной в рамках данной дипломной работы цели.
Для создания виртуальной обстановки в графических редакторах были отредактированы или созданы с нуля 3 D-модели андроидного робота, огнетушителя, открытого огня и передвижной платформы для огнетушителя. Для интегрирования данных моделей в симулятор Gazebo на их основе были созданы файлы описания моделей в формате SDF, хранящие информацию о свойствах данных моделей и их составных частей, таких как позиция в модели, масса, центр масс и геометрический центр, матрица инерции, коэффициенты трения и упругости поверхности. Данные и другие объекты были размещены на виртуальном полигоне - «мире» Gazebo, характеристики которого также были заданы в соответствующем файле описания.
Для достоверной симуляции поведения, физических процессов и свойств огнетушителя было проведено исследование направленное на выявление сил, действующих на огнетушитель во всех состояниях. Было проведено сравнение различных типов и моделей огнетушителей и изучены их технические паспорта.
Для решения задачи разработки практической методики программного и визуального моделирования поведения интерактивных объектов при воздействии быстродействующего направленного потока воздуха был произведён обзор существующих решений и исследований в данном направлении. В результате данного обзора было обнаружено отсутствие достоверных материалов, посвящённых решению поставленной задачи, а немногочисленные найденные решения предлагали реализацию тривиальных моделей ветра. Вследствие этого была построена универсальная математическая модель поведения объекта при воздействии направленного потока воздуха, а затем произведена её реализация для симулятора Gazebo с использованием физического движка DART.
При реализации ПО эмуляции физических свойств и функциональных возможностей огнетушителя и методики воздействия ветра на объекты окружающей виртуальной обстановки были подробно изучены возможности интерфейсов разработчика симулятора (Gazebo API) и физического движка (DART API).
Таким образом, все задачи, сформулированные во введении данной дипломной работы были выполнены в полном объеме, поставленная перед автором цель достигнута.
Результаты, полученные в ходе выполнения данной дипломной работы, нашли практическое применение в НИР «Разработка интерактивной SD-модели полигона для SD-модели АРТС», в работе над которой автор принимал непосредственное участие (приложение А). Основной задачей данной работы являлось создание комплексной виртуальной испытательной площадки (полигона) для проведения различных видов виртуальных испытаний 3D- модели АРТС. На основании разработанной методики воздействия направленного быстродвижущегося воздушного потока на виртуальные объекты готовится к публикации статья. На основании реализованного программного обеспечения планируется регистрация РИД.
В заключении автор хочет отметить, что считает проделанную работу в высшей степени полезной как для его личного профессионального развития, так и для практического применения и планирует продолжение работы по реализации программного обеспечения моделирования природных эффектов для среды Gazebo с использованием физического движка DART.
1) Военный энциклопедический словарь ракетных войск стратегического назначения / Министерство обороны РФ.; Гл.ред.: И. Д.Сергеев, В. Н. Яковлев, Н. Е. Соловцов. — Москва: Большая Российская энциклопедия, 1999. — С. 456,476-477;
2) Зубов В.Г. Механика. М.: Наука, 1978. - 352 с.,203-205;
3) Ласло М. Вычислительная геометрия и компьютерная графика на С++. М.: Бином, 1997. - 301 с., 142-146;
4) Deepak Tolani, Ambarish Goswami, Norman I. Badler. Real-Time Inverse Kinematics Techniques for Anthropomorphic Limbs. - Philadelphia, Pennsylvania 19104-6389.: Computer and Information Science Department, University of Pennsylvania, 2000;
5) Erwin Coumans. Bullet 2.83 Physics SDK Manual. - 2015;
6) Erwin Coumans. Exploring MLCP solvers and Featherstone;
7) 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;
8) Michael Sherman. SimTK Simbody 3.1 Theory Manual. - Standford University, 2013;
9) Russel Smith. Open Dynamics Engine v0.5 User Guide. - 2006;
10) Steven Peters, John Hsu. Comparison of Rigid Body Dynamic Simulators for Robotic Simulation in Gazebo. - Open Source Robotics Foundation, 2013;
11) Сайт Bullet Physics [электронный ресурс]. Режим доступа http://www.bulletphysics.org/свободный. Дата обращения 09.06.2016;
12) Сайт Dynamic Animation and Robotics Toolkit [электронный ресурс]. Режим доступа http://dartsim.github.io/свободный. Дата обращения 09.06.2016;
13) Сайт Gamedev [электронный ресурс]. Режим
доступа http://gamedev.ru/свободный. Дата обращения 09.06.2016;
14) Сайт Gazebo Simulator [электронный ресурс]. Режим доступа http://gazebosim.org/свободный. Дата обращения 09.06.2016;
15) Сайт SDFormat [электронный ресурс]. Режим
доступа http://sdformat.org/свободный. Дата обращения 09.06.2016;
16) Сайт SimTK [электронный ресурс]. Режим
доступа http://www.simtk.org/свободный. Дата обращения 09.06.2016;
17) Сайт компании The Qt Company [электронный ресурс]. Режим доступаhttp://www.qt.io/ свободный. Дата обращения 10.12.2015;
18) Сайт Wikipedia [электронный ресурс]. Режим
доступа http://wikipedia.org/свободный. Дата обращения 09.06.2016.