Class SunSafePointingSoftware
- Namespace
- NominalSystems.Classes
- Assembly
- NominalSystems.Classes.dll
This module provides the attitude guidance output for a sun pointing mode. This could be used for safe mode, or a power generation mode. The input is the sun direction vector which does not have to be normalized, as well as the body rate information. The output is the standard attitude reference state message. The sun direction measurement is cross with the desired body axis that is to point at the sun to create a principle rotation vector. The dot product between these two vectors is used to extract the principal rotation angle. With these a tracking error MRP state is computer. The body rate tracking errors relative to the reference frame are set equal to the measured body rates to bring the vehicle to rest when pointing at the sun. Thus, the reference angular rate and acceleration vectors relative to the inertial frame are nominally set to zero. If the sun vector is not available, then the reference rate is set to a body-fixed value while the attitude tracking error is set to zero.
public class SunSafePointingSoftware : Software
- Inheritance
-
SunSafePointingSoftware
- Inherited Members
Constructors
SunSafePointingSoftware()
Default constructor for the software
public SunSafePointingSoftware()
Fields
In_NavAttMsg
[NavAttMsg] Input body attitude (estimation)
public NavAttMessage In_NavAttMsg
Field Value
In_SunDirectionMsg
[NavAttMsg] Input sun position (estimation)
public NavAttMessage In_SunDirectionMsg
Field Value
MinUnitMag
[-] The minimally acceptable norm of sun body vector
public double MinUnitMag
Field Value
Out_AttGuidMsg
[AttGuidFswMsg] for the outgoing body estimate message
public AttGuidMessage Out_AttGuidMsg
Field Value
Out_AttRefMsg
[AttGuidFswMsg] for the outgoing body estimate message
public AttRefMessage Out_AttRefMsg
Field Value
SmallAngle
[rad] An angle value that specifies what is near 0 or 180 degrees
public double SmallAngle
Field Value
SunAxisSpinRate
[r/s] Desired constant spin rate about sun heading vector
public double SunAxisSpinRate
Field Value
Properties
Omega_RN_B
[r/s] Desired body rate vector if no sun direction is available
public Vector3 Omega_RN_B { get; set; }
Property Value
SunBodyVector
[-] Desired body vector to point at the sun
public Vector3 SunBodyVector { get; set; }
Property Value
Methods
OnBegin(double)
Called when the 'Component' is beginning
protected override void OnBegin(double time)
Parameters
time
doublecurrent time (seconds)
OnUpdate(double, double)
Called when the 'Component' should update
protected override void OnUpdate(double time, double step)