Description
The Mass Storage
component is a dynamics component that is designed to handled a variable amount of mass that can model temporary or permanent storage on a spacecraft. The mass properties, such as the center of mass, moment of inertia and mass change are calculated each physics step and propagate their state across the whole spacecraft. Should the mass change, which can be configured during the simulation run-time, the properties of the flow of mass will update the attitude of the spacecraft accordingly.
Example Use Cases
- Docking Transfer: Can model the transfer of mass from one spacecraft to another, imitating the effects of docking and moving an object across the adapted. This can be handled with a Docking Adapter.
- Fuel Modelling: This can be used for a programmable container of fuel that can be changed and updated while the simulation is running. This can be handled with the Fuel Source for more complex dynamics.
Module Implementation
The mass container contains a Payload Mass
and a Dry Mass
. By default, when the simulation starts ticking, it is assumed that the Mass
of the container is only the dry mass (which can be defined by the mass of the container itself and not the contents within) and is then calculated during the simulation tick. Therefore:
where is the total mass, is the payload mass and is the dry mass. The Volume
, , can also be specified assuming that the storage device is of spherical nature. The calculations behind the mass properties make this assumption when determining the inertia tensors.
On each physics step, the Payload Mass Dot
, denoted as , is calculated based on the current payload mass and the previous mass. It is assumed the dry mass is constant.
where is the time-step in seconds and is the previous mass of the payload in the step prior. This is assumed that the delta-time between each physics step is consistent. Therefore, the derivative .
The moment of inertia can be calculated based on the storage frame relative to the body frame. The storage moment of inertia in the mass frame assumes the identity matrix in the local frame L
relative to the body frame of the spacecraft B
. Then, the local moment of inertia is defined as:
where is the directional cosine matrix from the local frame to the body frame, along with its transposed form. Once this is calculated, the moment of inertia in the body frame, , can be defined by:
where is the center of mass of the container in the body frame and is the position of the mass container in the body frame relative to the spacecraft origin. Then, the moment of inertia in the local frame , relative to the body frame, which is used for the physics calculation can undergo a transformation from the body frame to the local frame such that:
where is the skew matrix of the center of mass in the body frame, required for the parallel axis theorem.
As the center of mass prime of the container is defined to be a zero vector, the center of mass prime of the container relative to the body frame, which is the rate of change of the center of mass in the body frame over time, , is defined to be:
The Payload Velocity
is used for calculating the effects of the dynamics of the spacecraft due to movement of the mass. The radius of the container, , assuming a spherical storage, can be calculated from the volume using the spherical volume formula:
If the mass container is located at the spacecraft origin, it is assumed that the relative direction of the mass change is in the right direction. Otherwise, the velocity direction is the unit vector of the position that the container is in relative to the origin in the body frame, derived from . Then, the payload velocity can be defined by:
When computing the back substitution matrices, only the rotation vector is computed. The moment of inertia prime, is defined by:
which assumes a constant density in a spherical container. Then, the rotation vector, , is computed as:
where is the attitude rate in the body frame relative to the inertial frame.
Finally, the rotational energy contributions are also calculated. The angular momentum, , is calculated by:
and the rotational energy, , is defined as:
Assumptions/Limitations
- The center of mass, within the container itself, is assumed to be at the origin of the container. The container storing the mass itself can have a non-zero center of mass.
- The mass model assumes a spherical container when calculating the moment of inertia properties, which propagate across the system.
- The dry mass of the container, which is thought to be the container itself and not the contents of the container, should not be changed during the simulation run-time, as this is to be the constant value.
- The time-step between simulation ticks is assumed to be constant when calculating the change in mass between each physics step. A variable rate in the tick will result in a difference in the mass dot calculation if the mass is changed at the same time.
- The mass within the payload cannot be negative and will default to zero if so.
References
- Paolo Panicucci, Cody Allard, and Hanspeter Schaub. Spacecraft dynamics employing a general multi-tank and multi-thruster mass depletion formulation. In AAS Guidance, Navigation and Control Conference, Breckenridge, CO, Feb. 2–8 2017. Paper AAS 17-011.