Table of Contents

Class MRPFeedbackControlSoftware

Namespace
NominalSystems.Classes
Assembly
NominalSystems.Classes.dll

[Nominal] This module provides a general MRP feedback control law. This 3-axis control can asymptotically track a general reference attitude trajectory. The module is setup to work with or without N reaction wheels with general orientation. If the reaction wheel states are fed into this module, then the resulting RW gyroscopic terms are compensated for. If the wheel information is not present, then these terms are ignored.


public class MRPFeedbackControlSoftware : Software
Inheritance
MRPFeedbackControlSoftware

Constructors

MRPFeedbackControlSoftware()

Default constructor

protected MRPFeedbackControlSoftware()

Fields

In_AttitudeErrorMsg

Attitude guidance input message

public AttitudeErrorMessage? In_AttitudeErrorMsg

Field Value

AttitudeErrorMessage

In_BodyMassMsg

Vehicle configuration input message from the body

public MassMessage? In_BodyMassMsg

Field Value

MassMessage

In_RWArrayAvailabilityMsg

RW availability input message [OPTIONAL]

public RWArrayAvailabilityMessage? In_RWArrayAvailabilityMsg

Field Value

RWArrayAvailabilityMessage

In_RWArrayConfigMsg

RW parameter input message [OPTIONAL]

public RWArrayConfigMessage? In_RWArrayConfigMsg

Field Value

RWArrayConfigMessage

In_RWArraySpeedMsg

RW speed input message [OPTIONAL]

public RWArraySpeedMessage? In_RWArraySpeedMsg

Field Value

RWArraySpeedMessage

IntegralLimit

[Nm] Integration limit to avoid wind-up issue

[Unit(UnitType.NEWTON_METRE)]
public double IntegralLimit

Field Value

double

K

[rad/s] Proportional gain applied to MRP errors

[Unit(UnitType.RADIAN_PER_SECOND)]
public double K

Field Value

double

Ki

[Nm] Integration feedback error on rate error

[Unit(UnitType.NEWTON_METRE)]
public double Ki

Field Value

double

KnownTorque_B

[Nm] known external torque in body frame vector components on the body frame

[Unit(UnitType.NEWTON_METRE)]
public Vector3 KnownTorque_B

Field Value

Vector3

Out_CommandTorqueMsg

Commanded spacecraft external control torque output message

public CommandTorqueMessage? Out_CommandTorqueMsg

Field Value

CommandTorqueMessage

P

Rate error feedback gain applied

[Unit(UnitType.NEWTON_METRE_SECOND)]
public double P

Field Value

double

SigmaIntegral

[s] Integral of the known MRP attitude error measurement that will change over time

[Unit(UnitType.SECOND)]
[ReadOnly]
public Vector3 SigmaIntegral

Field Value

Vector3

Methods

OnCreate()

Called when the object is created from the controller and has been attached to the parent object. By this point, it has been registered to the simulation and will run after the constructor.

protected override void OnCreate()

OnUpdate(double, double)

Called when the object should update from the simulation tick. This will take in a time and a step, where the time is the time of the clock before updating the object.

protected override void OnUpdate(double time, double step)

Parameters

time double

[s] Current time of the simulation before the update

step double

[s] The time-step to update during this tick