297

Симулятор космического корабля1

Всем привет! Мы - команда Soyuz Developer Team - команда разработчиков симулятора космического корабля Союз-ТМА.

Мы занимаемся этим проектом довольно давно, но более-менее какие-то результаты стали получать только недавно (в связи с довольно большим порогом вхождения в системы корабля).

Наш проект - полноценный симулятор космического корабля Союз-ТМА 200й серии летавшего с  2003 по 2012 год. В симуляторе будут реализованы все алгоритмы вычислительной системы корабля, идентичные штатному вычислительному комплексу "Аргон-16" и спец.-вычислителю "КС-020". Так же будет реализована штатная логика работы других систем (напр. управление двигателями и др.).

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

На первом этапе разработки мы (так как не имели опыта в области gamedev) стали делать 3d модели, текстуры и т.д, но через определенное время поняли, что в первую очередь надо было реализовать сами алгоритмы, поэтому было решено описать вначале сами алгоритмы, циклограммы и т.д. Так как мы планируем в симуляторе моделировать все режимы полета (предстартовая подготовка, выведение на орбиту, орбитальный полет, сближение и стыковка, расстыковка и спуск), это ставило определенные сложности в реализации штатного набора алгоритмов, поэтому мы решили сделать отдельное программное обеспечение, моделирующее полет по заданным Начальным Условиям и посылающее в Систему Компьютерной Генерации Изображения (среду, где будет происходить формирование 3D моделей и их расположение на сцене согласно параметрам поступающим из ПО управления) параметры текущего положения и ориентации каждого объекта на сцене - корабля, станции и других небесных тел в виде структур массивов. Обмен между ПО и СКГИ происходит по TCP\IP.

Главному ПО мы дали название (которое может некоторым покажется смешным) - СПО "МиУ", что обозначает Специальное Программное Обеспечение "Моделирование и Управление". В нем будут пока что происходить все операции - ввод и отработка начальных условий, организация взаимодействия с математической моделью движения корабля и с моделью Интегрированного Пульта Управления (ИнПУ) являющегося основным инструментом взаимодействия оператора с моделью корабля. Пока что все это - отдельное ПО, обмен с которым происходит так же по TCP\IP, но в планах перенести все это в dll-библиотеки, подгружаемые в "МиУ".

Получается, что в данный момент СПО "МиУ" и его компоненты (ИнПУ и Блок Математического Моделирования) являются самим симулятором. Пока что все это без вывода в 3д - только цифры текущего положения двух объектов (корабля и станции) и их параметры.

Теперь подробнее про "МиУ".

СПО "Моделирование и Управление"

На фото выше представлен скриншот текущего состояния "МиУ".

Данное СПО вряд ли будет публиковаться как симулятор, оно скорее всего только для отработки алгоритмов вычислительной системы и не более. Написано на С++ в среде C++ Builder 6. Пользовательский интерфейс реализован по подобию UI тренажера подготовки космонавтов "ДОН-СОЮЗ ТМА-М" в ЦПК.

Возможности пока ничтожны, зато успехи велики.

По запуску СПО пользователю предлагается провести процесс инициализации, в котором будет проведена проверка сопутствующий файлов программы (файлы конфигурации, файлы моделей и т.д.), а так же попытка установки связи с моделью Блока Управления Моделированием и моделью ИнПУ. Ход процесса инициализации можно проконтролировать в журнале:

При успешной инициализации загорятся иконки моделей,

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

После чего пользователю необходимо будет ввести Начальные Условия текущего положения космического корабля Союз и МКС. Делается это в несколько этапов:

1 - Выбор режима полета

- Посадка экипажа в корабль за два часа до команды Пуск (Контакт Подъема) ( Ткп - 02:: ) - в этом режиме происходит предстартовая проверка систем корабля экипажем совместно с специалистами пуска ( в симуляторе - выставка согласно бортовой документации (чеклисту) параметров корабля и подготовка к пуску);

- Выведение - процесс от момента пуска (Ткп  - Время Контакта Подъема) до Контакта Отделения; 

- Орбитальный полет - этап от момента КО (Контакта Отделения) до начала режима дальнего сближения. О процедурах входящих в состав этого режима напишу отдельно;

- Сближение и стыковка  - этап начиная от дальнего сближения до касания корабля и станции.

- Расстыковка - начинается за час до расчетного времени расстыковки Союз-ТМА и МКС, за это время экипаж должен произвести ряд стандартных операция входящих в состав подготовки к расстыковки. Заканчивается разделением корабля на отсеки перед входом в плотные слои атмосферы.

- Спуск - этап от разделения до ввода двигателей мягкой посадки.

Переходим к следующему этапу. Исходя из выбранного режима пользователь вводит остальные параметры начальных условий -
Параметр ориентации:

Параметры орбиты:

И дополнительные характеристики корабля и МКС

И напоследок необходимо ввести время и дату начала режима.


После чего на главной форме нажимается кнопка "Отработка НУ" которая отрабатывает введенные пользователем Начальные Условия (или загруженные из файла) и выставляет начальное состояние признаков для модели Вычислительной системы и БУМ.


Остается только выдать команду "ПУСК" и начнется процесс моделирования.

По запуску процесса моделирования начинается движение КА и происходит запуск таймера обработки текущего состояния моделей (обработка команд от ИнПУ выдаваемых оператором и квитанций факта исполнения команд в ИнПУ , обработка признаков для моделей атмосферы и др.).
Пока что эта команда не работает, т.к. происходит наладка операций на такт таймера. Таймер будет не один, так же будет таймер БЦВК, который будет имитировать такт вычислительной системы "Аргон-16".


Так же в данный момент занимаемся моделью атмосферы в которую входит модель Системы Обеспечения Теплового Режима и Системы Обеспечения Жизнедеятельности. Модель атмосферы должна в основном моделировать температуру и давление в отсеках корабля.


Формат СОТР выглядит следующим образом:

Дополнительно ввели графики для отслеживания изменения параметров:

Ну а теперь перейдем к самой интересной части...

Система Имитации Визуальной Обстановки

В тренажере стыковки "Дон-Союз ТМА" для решения задачи 3-х мерной визуализации используется Система Компьютерной Генерации Изображений «Ариус-СТ»


Назначение системы согласно сайту компании Бликс www.bliks.ru

формирование цветных, управляемых в реальном масштабе времени по командам от вычислительной системы тренажера изображений трехмерных динамических сюжетов внешней визуальной обстановки, наблюдаемых одновременно в шести средствах наблюдения рабочего места операторов «РМО ТМА» тренажера «Дон-Союз ТМА» (визир ВСК-4Т, левый иллюминатор №3, правый иллюминатор №6, ИнПУ-1,2, «Блистер объект», «Блистер фон»), моделирования совместно с другими системами тренажера отдельных режимов работы бортовой телевизионной системы «КЛ-100-01М» и форматов системы «Символ» для рабочего места «РМО ТМА».

У нас же задачи проще:
Программа должна генерировать 3-д модели и изменять их положение и ориентацию на сцене согласно параметрам от СПО "МиУ".

Требования к графике - реалистичные текстуры, хорошее и правильное освещение, отсутствие пластмассовости. 

Вывод картинки должен быть в девяти режимах, из которых 8 статических (неподвижная точная с неподвижным связанным с некоторым объектом вектором направленности) - визир ВСК-4Т, левый иллюминатор №3, правый иллюминатор №6, ИнПУ-1,2, «Блистер объект», «Блистер фон» и один режим отображения динамический - вид от "лица командира корабля" имитирующий глаза космонавта.

Управление планируется от первого лица.

Вот приблизительно что видит командир корабля на своем штатном месте:

Ну и то что мы сделали - вид от первого лица.

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

Еще несколько скриншотов 3д которые мы разработали для нашего симулятора.

Моделирование большинства деталей делалось по чертежам корабля :

В следующем посту расскажу еще что-нибудь.
Планируем конечно публикацию в Steam.

Оставляйте ваши комментарии и предложения, как только реализуем динамику, опубликуем на GitHub.

P.S.

У нас не хватает людей и если кто желает поучаствовать в проекте на свободных началах (денег нет, но интересное путешествие в мир космоса гарантируем) - пишите Soyuz.developer@gmail.com

Правила сообщества

ОБЩИЕ ПРАВИЛА:

- Уважайте чужой труд и используйте конструктивную критику

- Не занимайтесь саморекламой, пишите качественные и интересные посты

- Никакой политики


СТОИТ ПУБЛИКОВАТЬ:

- Посты о Вашей игре с историей её разработки и описанием полученного опыта

- Обучающие материалы, туториалы

- Интервью с опытными разработчиками

- Анонсы бесплатных мероприятий для разработчиков и истории их посещения;
- Ваши работы, если Вы художник/композитор и хотите поделиться ими на безвозмездной основе

НЕ СТОИТ ПУБЛИКОВАТЬ:

- Посты, содержащие только вопрос или просьбу помочь
- Посты, содержащие только идею игры

- Посты, единственная цель которых - набор команды для разработки игры

- Посты, не относящиеся к тематике сообщества

Подобные посты по решению администрации могут быть перемещены из сообщества в общую ленту.

ЗАПРЕЩЕНО:

- Публиковать бессодержательные посты с рекламой Вашего проекта (см. следующий пункт), а также все прочие посты, содержащие рекламу/рекламные интеграции

- Выдавать чужой труд за свой

Подобные посты будут перемещены из сообщества в общую ленту, а их авторы по решению администрации могут быть внесены в игнор-лист сообщества.


О РАЗМЕЩЕНИИ ССЫЛОК:

Ссылка на сторонний ресурс, связанный с игрой, допускается только при следующих условиях:

- Пост должен быть содержательным и интересным для пользователей, нести пользу для сообщества

- Ссылка должна размещаться непосредственно в начале или конце поста и только один раз

- Cсылка размещается в формате: "Страница игры в Steam: URL"

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества