rateDamp#

Executive Summary#

This module implements a feedback control law to damp the angular rates of the spacecraft until they are brought to zero.

Message Connection Descriptions#

The following table lists all the module input and output messages. The msg type contains a link to the message structure definition, while the description provides information on what this message is used for.

Module I/O Messages#

Msg Variable Name

Msg Type

Description

navAttInMsg

NavAttMsgPayload

Input navigation message

cmdTorqueOutMsg

CmdTorqueBodyMsgPayload

Output C++-wrapped message containing the rate-damping torque in Body-frame coordinates

cmdTorqueOutMsgC

CmdTorqueBodyMsgPayload

Output C-wrapped message containing the rate-damping torque in Body-frame coordinates

Detailed Module Description#

The control law implemented is the following:

\[\boldsymbol{u} = - P \boldsymbol{\omega}_\mathcal{B/N}\]

where \(P\) is a positive, user-defined scalar quantity. The control law is globally asymptotically stabilizing.

User Guide#

The required module configuration is:

attControl = rateDamp.RateDamp()
attControl.setRateGain(P)
attControl.modelTag = "rateDamp"

Class RateDamp#

class RateDamp : public SysModel#

A class to compute rate damping control.

Public Functions

void reset(uint64_t currentSimNanos)#

This method is used to reset the module.

Returns:

void

void updateState(uint64_t currentSimNanos)#

This method is the main carrier for the computation of the control torque.

Parameters:

currentSimNanos – The current simulation time for system

Returns:

void

void setRateGain(double const p)#

Set the module rate feedback gain

Parameters:

double – P

Returns:

void

double getRateGain() const#

Get the module rate feedback gain

Parameters:

double – measurementNoiseScale

Returns:

void

Public Members

ReadFunctor<NavAttMsgPayload> attNavInMsg#

input msg measured attitude

Message<CmdTorqueBodyMsgPayload> cmdTorqueOutMsg#

commanded torque output message