Если ваш корабль сделан в виде dll-модуля, использование Payload Manager SDK позволит превратить его в корабль-носитель и
обеспечить возможность конфигурирования полезного груза. В первую очередь это будет полезно при разработке моделей РН.
Концепция
Любой корабль (vessel) является классом - наследником базового класса VESSEL (или VESSEL2). SDK предоставляет
новый базовый класс VesselWithPM, который также является наследником VESSEL2, но добавляет к нему весь функционал,
связанный с моделированием полезной нагрузки. Поэтому разработчику достаточно просто отнаследоваться от класса
VesselWithPM.
Документация
 |
SDK подробно документирован. Вся документация на английском языке.
В состав пакета включен готовый пример корабля-носителя вместе с
исходным кодом. Исходный код снабжен подробными комментариями.
|
 |
Сравнение с технологией CVEL-GPDS
В CVEL-GPDS полезная нагрузка
имитируется добавлением к кораблю-носителю визуальной модели (mesh) корабля-груза. При этом визуальная модель груза
выглядит именно так, как она описана в файле .msh. То есть вся анимация, определенная в модели, будет в положении
"по умолчанию". Это приводит к некоторым проблемам. Например, DeltaGlider по умолчанию имеет выпущенные шасси и именно
в таком виде он будет присоединен к кораблю-носителю, сделанному на основе CVEL-GPDS. Представьте, что "Буран" подвешен
к "Энергии" с выпущенными шасси... Некрасиво. Возможны и другие проблемы, особенно в случае сложных кораблей, у которых
визуальная модель динамически меняется и использует несколько файлов .msh.
Есть и другие ограничения, накладываемые на модель корабля-груза, из-за которых CVEL-GPDS не совместима, например, со
знаменитым DeltaGlider-IV.
Сам корабль-груз, как объект симуляции, создается только в момент отделения от корабля-носителя. Это не дает возможности
управлять кораблем-грузом, пока он не отделится от носителя. Влияние поведения груза на носитель также
отсутствует в принципе.
Payload Manager реально присоединяет корабль-груз при помощи технологии Attachment points. Корабль-груз остается объектом
симуляции и вы можете перевести фокус управления на него. Выполняя полет вы можете действовать как от лица пилота
корабля-носителя, так и от лица пилота корабля-груза, т.е. пассажира :)
Все параметры полета носителя (скорость, высота, воздействие атмосферы и т.п.) аккуратно передаются на корабль-груз.
Воздействие от корабля-груза также передается на корабль-носитель, влияя на динамику его полета
(моменты, возникающие при включении двигателей корабля-груза, изменение его массы, площади миделя и т.п.).
Добавление технологии Payload Manager в готовый корабль - операция не сложная, требует вставки всего нескольких
строк кода. В большинстве случаев это можно сделать за считанные минуты.
Payload Manager
Конструктивно Payload Manager состоит из двух частей:
1. Модуль, обеспечивающий присоединение, сброс полезной нагрузки, а также реалистическое поведение носителя в связке с ПН (например, передача
воздействия на носитель со стороны работающих двигателей ПН).
Модуль является дальнейшим развитием тех участков кода в проектах ENERGY project, Delta Tug и Space Tugs, которые отвечали за присоединение
грузов. В основу положено использование механизма Attachment points.
На скриншоте показано воздействие на РН "Энергия" от работающих двигателей полезной нагрузки - трех кораблей Deltaglider. Обратите внимание
на вектор тяги РН, автопилот компенсирует паразитный момент от двигателей ПН.
2. Редактор размещения ПН на носителе. Представляет собой расширение редактора сценариев (Scenario Editor),
встроенного в Орбитер-2006. Payload Manager позволяет выбрать любой корабль в качестве ПН и правильно расположить его на носителе. Работа
Payload Manager производится в режиме реального времени симуляции (возможна также работа в режиме паузы).
При помощи Payload Manager можно создавать многоступенчатые конструкции, например, вот такой "поезд":
В настоящее время Payload Manager SDK проходит тестирование и используется в текущих бета-версиях проектов
ENERGY project, Space Tugs, Vulkan и TX.
На основе Payload Manager SDK создается проект Cargo Deck, цель которого - дать возможность использовать Payload Manager
в любом корабле симулятора Орбитер - без программирования.
|