Телефон: 8-800-350-22-65
WhatsApp: 8-800-350-22-65
Telegram: sibac
Прием заявок круглосуточно
График работы офиса: с 9.00 до 18.00 Нск (5.00 - 14.00 Мск)

Статья опубликована в рамках: Научного журнала «Студенческий» № 8(220)

Рубрика журнала: Информационные технологии

Скачать книгу(-и): скачать журнал часть 1, скачать журнал часть 2

Библиографическое описание:
Быкова С.К. СОЗДАНИЯ СИМУЛЯТОРА ОБЪЕКТА ВЗАИМОДЕЙСТВИЯ С ОКРУЖАЮЩЕЙ СРЕДОЙ // Студенческий: электрон. научн. журн. 2023. № 8(220). URL: https://sibac.info/journal/student/220/281824 (дата обращения: 22.12.2024).

СОЗДАНИЯ СИМУЛЯТОРА ОБЪЕКТА ВЗАИМОДЕЙСТВИЯ С ОКРУЖАЮЩЕЙ СРЕДОЙ

Быкова Софья Константиновна

1 курс, группа ИЭ-61м-22, Национальный исследовательский университет «Московский энергетический институт»,

РФ, г. Москва

Крепков Игорь Михайлович

научный руководитель,

канд. техн. наук, доц. кафедры безопасности и информационных технологий, Национальный исследовательский университет «Московский энергетический институт»,

РФ, г. Москва

АННОТАЦИЯ

В статье рассматривается состав и назначение виртуального симулятора, вариант разработки архитектуры симулятора и достигаемые показатели качества.

 

Ключевые слова: 3D-модель, моделирование, программное обеспечение, симулятор, система управления.

 

На этапе проектирования архитектуры [1-4] симулятора используется следующий подход:

  • декомпозиция элементов архитектуры программного обеспечения (ПО) на более мелкие составляющие с последующим определением специальных программных интерфейсов для организации их взаимодействия (соответствует архитектурным шаблонам «Декомпозиция», «Слои» [5]);
  • реализация составляющих элементов (модулей) архитектуры ПО в виде отдельных программных потоков (соответствует архитектурному шаблону «Согласование» [5]);
  • реализация элементов модулей в виде программных классов (соответствует архитектурному шаблону «Классы»);
  • распределение задач по разработке модулей ПО между отдельными разработчиками (соответствует архитектурному шаблону «Распределение»).

В результате реализации предложенных действий по разработке архитектуры ПО симулятора достигаются такие показатели качества как производительность, доступность, модифицируемость, расширяемость, эффективность разработки. Достижение показателя тестируемости обеспечивается посредством создания специализированных модульных тестов.

Общая структурная схема симулятора состоит из трех базовых компонентов:

  • виртуального симулятора;
  • средств формирования моделей и параметров;
  • системы управления базой данных.

Виртуальный симулятор предназначен для моделирования взаимодействия виртуальных моделей с внешней средой, в свою очередь включающей различные модули и модели [4]. Он состоит из внешней среды, имитирующей её трехмерную модель, включая все свойства и характеристики подстилающей поверхности с расположенными на ней объектами, а также погодные и физические явления реального мира.

Средства формирования моделей и параметров предназначены для задания параметров процесса имитационного моделирования и конфигурирования моделей объектов на основе базы моделей и функциональных блоков.

Система управления базой данных предназначена для организации хранения моделей внешней среды, виртуальных интерактивных моделей, сцен, сценариев применения и алгоритмов функционирования объекта в различных режимах.

Логически можно выделить 3 части: базы моделей внешней среды (обстановка, погодные явления, объекты среды), базы виртуальных моделей (модели объектов) и базы сцен и сценариев.

Для реализации в полном объеме поставленных перед ним задач виртуальный симулятор выполняет следующие функции:

  • имитация функциональных систем и составных частей объекта с учётом их основных характеристик, а также параметров составных частей объекта;
  • моделирование основных физических свойств объектов и формирование 3D-модели окружающего пространства;
  • настройка свойств и параметров, моделируемых в симуляторе объектов окружающего пространства и природных явлений;
  • отображение процесса и результатов моделирования;
  • отображение диагностической информации от составных элементов объекта;
  • ввод сценариев применения объекта, ограничений и правил.

Виртуальный симулятор состоит из внешней среды, включающей 3D-модель среды, а также модули оценки параметров среды и сбора статистики, и виртуальных моделей компонентов объекта.

Взаимодействие виртуальных моделей в среде осуществляется через модели каналов передачи данных и физический движок. Каждая виртуальная модель объекта представляет собой аналог физического объекта и конфигурируется через модуль формирования моделей, позволяющий конструировать интерактивные виртуальные модели с различными параметрами и свойствами, используя базу функциональных блоков и базу моделей и отдельных систем.

В состав архитектуры ПО симулятора входят следующие функциональные модули:

  • модуль базы данных;
  • модуль статистики;
  • модуль внешней среды;
  • модуль объекта;
  • модуль сценариев применения;
  • модуль конфигурации;
  • модуль визуализации.

Лучшим выбором для создания симулятора является игровой движок Unity [6]. Он обеспечивает открытость исходного кода, большое количество модулей, расширяющих функционал, постоянную поддержку разработчиком. Предназначен для разработки как трехмерных, так и двумерных приложений, работающих на множестве платформ.

Движок поддерживает два языка программирования: C# и Javascipt. В Unity расчеты, связанные с имитацией различных динамических процессов, производятся на основе NVIDIA PhysX.

Все объекты в Unity («GameObject») состоят из множества компонентов — скриптов, текстур, анимаций, звуков, 3D-моделей и т. д. Основные компоненты это: Rigidbody, добавляющий физическое поведение для объекта, Transform, который определяет Position (положение), Rotation (вращение), и Scale (масштаб) каждого объекта в сцене, Collider определяющий форму объекта для физических столкновений.

В Unity реализованы инструменты для оптимизации — Occlusion Culling и Level Of Detail. Данные технологии позволяют снизить нагрузку на центральный процессор в готовом приложении. Occlusion Culling позволяет отключить рендеринг объектов, которые в данный момент не находятся в поле зрения камеры. Occlusion сulling, используя виртуальную камеру, проходит по сцене для построения иерархии потенциально видимых наборов объектов. Опираясь на полученную информацию, Unity обеспечивает рендеринг только видимых объектов. Это уменьшает количество обращений к процессору и увеличивает производительность.

 

Список литературы:

  1. Гагарина Л. Г., Кокорева Е. В., Виснадул Б. Д. Технология разработки программного обеспечения: учебное пособие / под ред. Л. Г Гагариной. — М: ИД «ФОРУМ»: ИНФРА-М, 2008. — 400 с: ил. — (Высшее образование).
  2. Software architecture in practice I Len Bass, Paul Clements, Rick Kazman. 3rd ed. p. em. (SEI series in software engineering), ISBN 978-0-3 2 1 -8 1 573-6.
  3. Simon Brown. Software Architecture for Developers. Technical leadership by coding, coaching, collaboration, architecture sketching and just enough up front design.
  4. Чистая архитектура. Искусство разработки программного обеспечения. — СПб.: Питер, 2018. — 352 с.: ил. — (Серия «Библиотека программиста»). ISBN 978-5-4461-0772-8.
  5. Pshikhopov, V.Kh. (Ed.), BeloglazovD., FinaevV., GuzikV., KosenkoE., KrukhmalevV., MedvedevM., PereverzevV., PyavchenkoA., SaprykinR., ShapovalovI., SolovievV. (2017). Path Planning for Vehicles Operating in Uncertain 2D Environments, Elsevier, Butterworth-Heinemann, 312p, ISBN: 9780128123058.
  6. Шапошникова, К. Ю. Разработка симулятора вождения на Unity 3D / К. Ю. Шапошникова, К. А. Фильков // Бакалавр. – 2018. – № 1-2(37-38). – С. 16-17. – EDN XVAOQX.

Оставить комментарий

Форма обратной связи о взаимодействии с сайтом
CAPTCHA
Этот вопрос задается для того, чтобы выяснить, являетесь ли Вы человеком или представляете из себя автоматическую спам-рассылку.