Разработка имитационно-обучающего тренажера по...
DESCRIPTION
Министерство образования и науки Российской Федерации Московский Государственный Технический Университет им. Н.Э. Баумана. Разработка имитационно-обучающего тренажера по демонтажу блоков АЭС. Студент Научный руководитель. Гуляев О.В. к.т.н., доцент Домрачева А.Б. - PowerPoint PPT PresentationTRANSCRIPT
Разработка имитационно-обучающего тренажера по демонтажу блоков АЭС
Министерство образования и науки Российской ФедерацииМосковский Государственный Технический Университет им. Н.Э. Баумана
СтудентНаучный руководитель
Гуляев О.В.к.т.н., доцент
Домрачева А.Б.
Целью данной работы является разработка программного комплекса, моделирующего работу оператора робота Brokk для:•обучения персонала работе по демонтажу кладки реактора;•проверки выполнимости операций технологического процесса демонтажа кладки реактора;•разработки оптимального алгоритма демонтажа кладки реактора
Функциональные возможности тренажера:•Моделирование физики протекающих процессов, основанное на геометрии объектов, их массах, соединениях друг с другом
• Моделирование движения компонент робота Brokk и функционирования его насадок
• Моделирования взаимодействия насадок с окружающими объектами•Управление роботами Brokk, осуществляемое при помощи геймпадов и клавиатуры, соответствующее функционированию реального пульта управления Brokk.•Дополнительные функции, предоставляемые графическим интерфейсом – управления камерами, отображение пользовательского ввода, редактор блоков и т.д.
Обзор средств моделирования
OGRE Microsoft XNA Irrlicht OpenSceneGraph
Графические платформы Direct3D, OpenGL Direct3D Direct3D, OpenGL OpenGL
Операционные системы Windows, Linux, Mac OS X Windows Windows, Linux, Mac OS X
Windows, Linux, Mac OS X
Форматы графических моделей
.mesh, существуют инструменты для перевода из других форматов
.fbx, .dae, .3ds .obj, .3ds, .dae .obj, .3ds
Совместимые физические движки
PhysX, Newton Game Dynamics, Bullet, Open Dynamics Engine
PhysX, Newton Game Dynamics, Bullet, Open Dynamics Engine
Newton Game Dynamics, Havok
Bullet
Языки программирования
C++. Существуют порты для C#, Java, Python, Ruby
С#, Visual Basic .NET C++. Существуют порты для C#, Visual Basic .NET, Java, Python, Ruby
C++. Существуют порты для Java, Python, Lua
Таблица 1 - Сравнение возможностей графических движков
Таблица 2 - Сравнение возможностей интегрированных сред разработки
Unreal Development Kit Unity3D CryEngine
Операционные системы Windows, Mac OS X, iOS, Android Windows, Mac OS X, iOS, Android Windows, iOS, Android
Форматы графических моделей
.max, .fbx, .obj, .dae, .blend .fbx, .dae, .blend .cgf, .chr, .ginfo, есть порты для форматов .max, .fbx, .blend
Редактор сцены Присутствует Присутствует Присутствует
Физический движок PhysX PhysX CryEngine Physics
Языки программирования
C++, Java C++, JavaScript, Boo Lua
Unity3D
Unity3D – интегрированная среда для разработки игрового ПО, объединяющая в себе графический и физический движки.
Рисунок 1 – Графический интерфейс Unity3D
Робот Brokk
Рисунок 2 – Структура робота Brokk
Пульт робота Brokk
Рисунок 3 – Схема пульта робота Brokk
Конструкция шахты реактора
Рисунок 4 – Конструкция шахты реактора
Аварийные состояния графитовых блоков
Рисунок 5 – «Трещиноватость» блока (слева – до разрушения, справа – после разрушения)
Рисунок 6 – Слипание блоков
- «Трещиноватость» блока- Слипание блоков
Артефакты моделирования
Отсутствие рельефного текстурирования
Низкая полигональность моделей
Пружинность соединения твердых телвидео
Взаимное проникновение сталкивающихся друг с другом твердых телРаскачивание плит настила карусели при движении по нимвидео
Проблемы моделирования гусениц робота колесамивидео
Рисунок 7
Рисунок 8
Рисунок 9
Описание Проблема Пути устранения Примечание
Графические артефактыНизкая полигональность модели
В ряде случаев низкая точность 3D-модели
Триангуляция, сгущение полигональной сети
Снижается быстродействие
Отсутствие текстур Снижает качество восприятия За счет возможностей графического интерфейса
Отсутствие теней Снижает возможности управления
За счет возможностей графического интерфейса
Физические артефакты
«Пружинность» соединений твердых тел
При взаимодействии объектов заметны затухающие колебания
Установка параметров соединений и соединяемых твердых тел, минимизирующих эффект «пружинности»
Робот «подпрыгивает» при падении набок
Взаимное проникновение сталкивающихся друг с другом твердых тел
Скорость при отталкивании движущихся тел значительно увеличивается
Установка параметров твердых тел, минимизирующих проникновение друг в друга
Раскачивание плит настила при движении по ним
Раскачивание плит малой массы при движении по ним, невозможность захвата плит большой массы
Уменьшение массы плиты при захвате
Масса плиты после ее освобождения восстанавливается с временной задержкой
Проблема моделирования гусениц робота колесами
Визуализируется попадание фрагмента гусеницы в препятствие
Увеличение количества колес Колеса не визуализируются
Заваливание робота на неровной поверхности
Таблица 3 – Артефакты моделирования
Применение Mediator в слоевой архитектуре симулятора
cmp Class Model
Domain Feature
Mediator
Brokk
IBrokk
IBrokk
BrokkMediator
IBrokk
BlockGraphite
IBlockGraphite
IBlockGraphite
BlockGraphiteMediator
IBlockGraphite
Console
IConsole
IConsole
ConsoleMediator
IConsole
CameraPlacing
ICameraPlacing
ICameraPlacing
CameraPlacingMediator
ICameraPlacing
Application
ApplicationSettings
IApplicationSettings
IApplicationSettings
ApplicationSettingsMediator
IApplicationSettings
Рисунок 10 – Диаграмма компонентов паттерна Mediator
Применение Publisher, Subscriber и Singleton для реализации шины обмена событиями class Class Model
Ev entBus
- mInstance: EventBus- mPublishers: List<IEventPublisher>- mStartEvent: StartEvent- mSubscribers: List<IEventSubscriber>
+ AddPublisher(IEventPublisher) : void+ AddSubscriber(IEventSubscriber) : void- EventBus()+ GetInstance() : EventBus+ RemovePublisher(IEventPublisher) : void+ RemoveSubscriber(IEventSubscriber) : void+ Run() : void
«interface»IEventPublisher
+ GetEvents() : List<IEvent>
«interface»IEventSubscriber
+ OnEvent(IEvent) : void
class Class Model
«interface»IEvent
InputEvent
- mControls: List<BrokkControls>
+ GetControls() : List<BrokkControls>+ InputEvent(List<BrokkControls>)+ ToString() : string
StartEvent
+ StartEvent()
Рисунок 11 – Диаграмма классов шины событий
Рисунок 12 – Диаграмма классов событий
Применение State в диаграмме состояний пульта Brokk stm Диаграмма состояний пульта Brokk
Initial
Пульт включен
Управление манипулятором
Инструмент двойного действия
Инструмент одинарного действия
Инструмент одинарного действия,
режим Extra
Управление ходовой частью
Инструмент двойного действия, режим Extra
Управление ходовой частью и манипулятором
RL деактивирован RL активирован
Final
S5.ArmAndChassis
S4.Double
Extra on
[S4.Single, Extra off]
S5.Chassis
S5.Chassis
S5.ArmAndChassis
S4.Single
[S5.Chassis]
RL on
S5.Arm
[S5.ArmAndChassis]
[S5.Arm]Run engine
S5.Arm
Extra off
Panel off
Panel off
Panel off
[RL on][RL off]
[S4.Double, Extra on]
S4.Double
S4.Single Extra on
[S4.Single, Extra on]
RL off
Extra off
Panel off
[S4.Double, Extra off]
Рисунок 13 – Диаграмма состояний пульта управления роботом Brokk
Рисунок 14 – Окно симулятора
Рисунок 15 – Окно графического интерфейса
Описание программных решений
Рисунок 16 – Движение компонент робота Brokk Рисунок 17 – Моделирование работы захватов
Рисунок 18 – Структура коллайдеров динамических тел
Организационно-экономическая частьКалендарный план выполнения проекта описан диаграммой Ганта. Количество календарных дней, необходимых на выполнение проекта равно 44.
Был произведен расчет затрат на выполнение проекта. Суммарные затраты на реализацию проекта составляют 246 тыс. руб. Структура затрат на выполнение проекта приведена в виде таблицы и круговой диаграммы.
Рисунок 19 – Календарный план
Таблица 4 – Структура затрат
Рисунок 20 – Структура затрат
- Проведен сравнительный анализ средств моделирования- Построены модели объектов, участвующих в демонтаже- Проанализированы артефакты моделирования- Предложены и реализованы компенсирующие программные
решения- Разработано двухоконное приложение для проведения
вычислительного эксперимента- Разработана сопровождающая программная документация- Проведено организационно-экономическое обоснование проекта
Программный комплекс ИОТ был использован для верификации технологии демонтажа блока Белоярской АЭС АМБ-100. В перспективе планируется применять его для оптимизации предлагаемых технологий демонтажа.
Материалы дипломного проекта обсуждались на смотрах дипломных проектов кафедры ИУ-9 и опубликованы в материалах конференции «Инновационные информационные технологии», проходившей в Праге с 23 по 27 апреля текущего года.
Результаты работы
Пружинность соединения твердых тел (назад)
Раскачивание плит настила (назад)
Проблема моделирования гусениц колесами (назад)