Module: rwNullSpace

This module uses the Reaction Wheel (RW) null space to slow down the wheels. The resulting motor torques are super imposed on top of the attitude feedback control RW motor torques. More information can be found in the PDF Description.


Functions

void SelfInit_rwNullSpace(rwNullSpaceConfig *configData, int64_t moduleID)

This method creates the module output message of type RWArrayTorqueIntMsg.

Return

void

Parameters
  • configData: The configuration data associated with RW null space model

void CrossInit_rwNullSpace(rwNullSpaceConfig *configData, int64_t moduleID)

This method performs the second stage of initialization for the RW null space control interface. It’s primary function is to link the input messages that were created elsewhere.

Return

void

Parameters
  • configData: The configuration data associated with the sun safe ACS control

void Update_rwNullSpace(rwNullSpaceConfig *configData, uint64_t callTime, int64_t moduleID)

This method takes the input reaction wheel commands as well as the observed reaction wheel speeds and balances the commands so that the overall vehicle momentum is minimized.

Return

void

Parameters
  • configData: The configuration data associated with the null space control

  • callTime: The clock time at which the function was called (nanoseconds)

  • moduleID: The ID associated with the configData

void Reset_rwNullSpace(rwNullSpaceConfig *configData, uint64_t callTime, int64_t moduleID)

This resets the module to original states by reading in the RW configuration messages and recreating any module specific variables. The output message is reset to zero.

Return

void

Parameters
  • configData: The configuration data associated with the null space control

  • callTime: The clock time at which the function was called (nanoseconds)

  • moduleID: The ID associated with the configData

struct rwNullSpaceConfig
#include <rwNullSpace.h>

The configuration structure for the rwNullSpace module.

Public Members

char inputRWCommands[MAX_STAT_MSG_LENGTH]

[-] The name of the Input message

char inputRWSpeeds[MAX_STAT_MSG_LENGTH]

[-] The name of the input RW speeds

char inputRWConfigData[MAX_STAT_MSG_LENGTH]

[-] The name of the RWA configuration message

char outputControlName[MAX_STAT_MSG_LENGTH]

[-] The name of the output message

double tau[MAX_EFF_CNT * MAX_EFF_CNT]

[-] RW nullspace project matrix

double OmegaGain

[-] The gain factor applied to the RW speeds

uint32_t numWheels

[-] The number of reaction wheels we have

int32_t inputRWCmdsID

[-] ID for the incoming RW commands

int32_t inputSpeedsID

[-] ID for the incoming RW speed measure

int32_t inputRWConfID

[-] ID for the incoming RWA configuration data

int32_t outputMsgID

[-] ID for the outgoing RW commands

BSKLogger *bskLogger

BSK Logging.