Module: dvAttEffect

Executive Summary

This module implements a DV attitude effector management algorithm. This algorithm is used to control both the RCS and DV thrusters when executing a trajectory adjustment.

Message Connection Descriptions

The following table lists all the module input and output messages. The module msg connection is set by the user from python. 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

cmdTorqueBodyInMsg

CmdTorqueBodyMsgPayload

attitude reference output message

thrOnTimeOutMsg

THRArrayOnTimeCmdMsgPayload

thruster on-time output message for each thruster group


Defines

MAX_NUM_THR_GROUPS

Functions

void SelfInit_dvAttEffect(dvAttEffectConfig *configData, int64_t moduleID)

This method initializes the configData for the sun safe ACS control. It checks to ensure that the inputs are sane and then creates the output message

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

  • moduleID – The ID associated with the configData

Returns

void

void Update_dvAttEffect(dvAttEffectConfig *configData, uint64_t callTime, int64_t moduleID)

This method takes the estimated body-observed sun vector and computes the current attitude/attitude rate errors to pass on to control.

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

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

  • moduleID – The ID associated with the configData

Returns

void

void Reset_dvAttEffect(dvAttEffectConfig *configData, uint64_t callTime, int64_t moduleID)

This method resets the module.

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

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

  • moduleID – The ID associated with the configData

Returns

void

void effectorVSort(effPairs *Input, effPairs *Output, size_t dim)
void computeSingleThrustBlock(ThrustGroupData *thrData, uint64_t callTime, CmdTorqueBodyMsgPayload *contrReq, int64_t moduleID)
struct effPairs
#include <dvAttEffect.h>

effective thruster pair structure

Public Members

double onTime

s The requested on time for this thruster

uint32_t thrustIndex

  • The actual thruster index associated with on-time

struct dvAttEffectConfig
#include <dvAttEffect.h>

module configuration message

Public Members

CmdTorqueBodyMsg_C cmdTorqueBodyInMsg

  • The name of the Input message

uint32_t numThrGroups

  • Count on the number of thrusters groups available

ThrustGroupData thrGroups[MAX_NUM_THR_GROUPS]

  • Thruster grouping container

BSKLogger *bskLogger

BSK Logging.