|Top Previous Next|
The FiniteBurn object, when used with the Maneuver command or WhileManeuvering command, models the effect of a finite-thrust maneuver on a Spacecraft orbit. The maneuver is modeled using all active Thrusters on the Spacecraft. The FiniteBurn specifies the number of seconds that the active Thrusters are supplying accelerations. The effective magnitude of the force generated by the thrusters is added to the Force Model of the Spacecraft for the duration of the maneuver. Tank and Thruster objects must be created and attached before using the FiniteBurn object, as shown in the examples below.
Note: When maneuvering with a FiniteBurn, FreeFlyer propagates the Spacecraft object forward in time by an amount of time specified in the FiniteBurn.BurnDuration property. It is not necessary to also use a Step command while maneuvering the Spacecraft with a FiniteBurn.
For a finite burn, the mass remaining in the Tanks that feed the active Thrusters is calculated by integrating the mass depletion equation. Tank pressure is adjusted as the mass is depleted using the ideal gas law. The Thrust and Specific Impulse, which are considered to be functions of the TankPressure, change as the pressure changes. See also the Scale Factors section on the Thrusters page.
The accuracy obtained when propagating through a Finite Burn Maneuver depends on the propagation step size. If the step size of the Runge-Kutta propagator is too large, FreeFlyer will take actions in fixed-step mode to reduce the step size during the maneuver. These methods may not always work (especially when the acceleration due to thrust is not low) and the step size may have to be manually adjusted.
Attitude During a FiniteBurn
During a Finite Burn, the Spacecraft will hold its attitude in the reference frame of the burn. If the burn is specified in the LVLH frame, the Spacecraft will rotate with respect to the inertial MJ2000 frame during the burn. If you specify the burn in the MJ2000 frame, the Spacecraft's thrust vector will retain its inertial attitude during the burn. If you wish to hold the attitude in a reference frame that is different than the attitude frame of the burn, AttitudeConvert can be used to convert the inputs to the desired frame.
If you are using linear tangent steering the constants that define the burn will be applied in the reference frame of the burn. The VNB frame is the most common frame for defining the linear tangent steering constants.
There are two thrust steering methods available for the FiniteBurn object. The default setting is to apply no special algorithms when steering the FiniteBurn. The other option is linear tangent steering, which uses the tangent of the thrust angle with respect to the local horizontal to steer the thrust direction of the Spacecraft over a defined maneuver burn time and yield the minimum thrusting time and fuel consumption. To change the thrust steering mode for a spacecraft, use the syntax below:
Settings specific to the linear tangent steering mode can be accessed under the FiniteBurn.LinearTangentSteering object.
Note: When using linear tangent steering the FiniteBurn.BurnDirection array is overridden by the linear tangent steering constants set using the FiniteBurn.LinearTangentSteering object. The user is responsible for determining the constants for the burn they want to model.
The direction of the maneuver can be specified in any of the following attitude reference frames.
In the above descriptions, the orbit normal is aligned with the angular momentum vector, the negative orbit normal is aligned with the negative angular momentum vector, and Nadir points to the center of the Earth. The X-components of the VNB and LVLH coordinate systems, velocity and co-velocity, differ by a rotation about the flight path angle.
Note: When the attitude system is "Spacecraft Attitude", the Spacecraft's attitude is rotated to the Euler angles specified by the FiniteBurn.BurnDirection Array for the duration of the maneuver, and individual Thruster orientations are used for directing delta-V.
Selecting a CoordinateSystem
For all of the FiniteBurn coordinate systems except "Spacecraft Attitude", the applied thrust direction is set using a user-specified unit vector referenced to the FiniteBurn object's attitude system (Mean of J2000 (MJ2000), Velocity-Normal-BiNormal (VNB), Local Vertical-Local Horizontal (LVLH), Geodetic, or UVW). For example, a unit vector with the components (1, 0, 0) in the VNB frame will direct the thrust supplied by all active Thrusters along the Spacecraft’s velocity direction.
For the "Attitude" system, the Spacecraft attitude is rotated to the Euler angles specified by the FiniteBurn, and the individual Thruster orientations are used for directing delta-V. Therefore, if it is desired to model canted thrusters, set each Thruster's pointing direction using their respective orientation properties, and model the maneuver using the "Attitude" attitude system. The FiniteBurn object uses the Euler Sequence as defined by the Spacecraft to apply the Euler angles.
The following examples demonstrate some core concepts of maneuvering in FreeFlyer using the FiniteBurn object.
Note: As of FreeFlyer 7.3, the default timing precision mode is nanosecond precision mode. For older Mission Plans that have not yet been converted from millisecond precision mode, the syntax for working with epochs and calendar date/time strings is different. See the timing precision mode page for more information.
Maneuver a Spacecraft Once
This example models a finite burn of 300 seconds in the forward velocity direction. The FiniteBurn attitude is input as LVLH (X-component in the orbit co-velocity direction). The thrust is specified as 5 lb (22.241 N) and the specific impulse is specified as 220 seconds, typical of hydrazine propellant. The Maneuver Command can also generate a maneuver report. This report includes the pre- and post-maneuver states of the Spacecraft as well as burn durations, vector deltas, and Tank and Thruster data. When the Maneuver command is used within a targeting loop, the report will only be generated if the targeting loop converges to a solution. Only the report for the solution will be generated. All executions of the loop for perturbation of the inputs and all nominal executions of the loop before convergence will not generate a report.
Maneuver a Spacecraft Continuously
This example shows a Spacecraft being maneuvered continuously over a two-hour While loop. A Step command is not necessary because the FiniteBurn has a duration of 10 seconds, which is applied during each iteration of the loop. The burn is in the velocity direction of an initially circular orbit, and the Spacecraft has already been configured with a Tank and Thruster through the Object Editor. The Mission Plan also includes a PlotWindow that graphs the Spacecraft Height vs Time, as shown below.
Maneuver a Spacecraft using Linear Tangent Steering
This example shows a Spacecraft being maneuvered using the Linear Tangent Steering guidance mode. The Spacecraft has been configured with a Tank and Thruster and the FiniteBurn will be in the tangential velocity direction of the initial orbit.
Calculate Fuel Used
This example demonstrates how you would calculate the mass of fuel used by a FiniteBurn object after calling the Maneuver command.
Output Report Excerpt: