|Top Previous Next|
The TrajectoryPhase object currently supports three control models: ballistic (no control), simple thruster, and ideal solar sail. All control models and their associated variables are formulated in the MJ2000 Earth Equator coordinate frame.
Note: Assigning a new value to ControlModel.ControlType property will erase the existing control variables in the TrajectoryPhase and replace them with default values for the chosen control type.
The ballistic control model allows users to model a trajectory segment with no control. The example below demonstrates setting up a TrajectoryPhase object using the ballistic control model:
The simple thruster control model allows users to model continuous thrust maneuvers using a thruster of constant Isp and maximum thrust. By default, the thrust level across a TrajectoryPhase that is using the simple thruster control model can vary from zero up to the maximum thrust level. The simple thruster control model allows users to have full control over thruster parameters such as DutyCycle, Isp, and Thrust through the TrajectoryPhase.SimpleThrusterOptions. The example below demonstrates setting up a TrajectoryPhase object using the simple thruster control model:
Ideal Solar Sail
The concept of solar sailing provides a unique opportunity to harness the solar radiation pressure (SRP) and leverage the dynamics to maneuver a sail-based spacecraft. Light has an extremely small mass but has a very high velocity, an with such a high velocity solar photons have momentum. A solar sail consists of a large, lightweight and highly reflective surface that relies on the momentum transferred from solar photons for passive propulsion. The ideal solar sail control model allows users to have full control over sail parameters such as Area and EfficiencyFactor through the TrajectoryPhase.IdealSolarSailOptions. The example below demonstrates setting up a TrajectoryPhase object using the ideal sail control control model for a sail with a reflective efficiency of 1.
The TrajectoryPhase object allows for shadow constraints through the use of the TrajectoryPhase.AddShadowingBody() method. When shadowing bodies are present and the TrajectoryPhase.ControlType is set to 'Simple Thruster', constraints will be applied which prevents thrust when the path of the TrajectoryPhase is shadowed by at least one shadowing body. When shadowing bodies are present and the TrajectoryPhase.ControlModel.ControlType is set to 'Ideal Solar Sail', the solar sail will produce no thrust when the path of the TrajectoryPhase is shadowed by at least one shadowing body. Once a shadowing body has been added, a buffer region for turning on/off thrust before/after the shadow event can be configured through the TrajectoryPhase.SimpleThrusterOptions. The example below demonstrates adding the Moon as a shadowing body with a shadow constraint buffer factor of 1.1 to a TrajectoryPhase:
Note: TrajectoryPhase shadow calculations use a spherical body assumption and do not account for body flattening.
To remove a shadowing body from the TrajectoryPhase, use the TrajectoryPhase.RemoveShadowingBody(). To remove all shadow constraints from the TrajectoryPhase, all bodies must be removed using the TrajectoryPhase.RemoveAllShadowingBodies() method as shown below: