Multi-Thruster Pulsewidth Solution using Linear Program Formulation. More...
Public Member Functions | |
PulseWidthLP (void) | |
Constructor. | |
void | Initialize (void) |
Initialize. | |
void | SetThrusterData (int n, ml_matrix positions, ml_matrix directions, ml_matrix coeffs) |
Set the thruster data. | |
bool | SolveMinPW (void) |
Solve for the minimum pulsewidths that achieve force and torque demands. | |
bool | SolveMaxForce (void) |
Solve for the pulsewidths that meets torque demand and maximizes force magnitude in desired direction. | |
void | UpdateForceTorqueMatrix (void) |
Update the force matrix and torque matrix. | |
void | SetForceDemand (ml_matrix force) |
Set the force demand. | |
void | SetTorqueDemand (ml_matrix torque) |
Set the torque demand. | |
void | SetThrusterPositions (ml_matrix positions) |
Set the thruster positions. | |
void | SetThrusterDirections (ml_matrix directions) |
Set the thruster directions. | |
void | SetThrusterCoefficients (ml_matrix coeffs) |
Set the thruster coefficients. | |
void | SetErrorWeights (double fW, double tW) |
Set the error weights for force and torque. | |
void | SetSlackScale (double scale) |
Set the slack variable scale. | |
void | SetSlackWeight (double weight) |
Set the slack variable weight. | |
void | SetCenterOfMass (ml_matrix cm) |
Set the center of mass. | |
void | SetTankPressure (double pressure) |
Set the tank pressure. | |
ml_matrix | GetForce (void) |
Get the achieved force. | |
ml_matrix | GetTorque (void) |
Get the achieved torque. | |
ml_matrix | GetForceDemand (void) |
Get the force demand. | |
ml_matrix | GetTorqueDemand (void) |
Get the torque demand. | |
ml_matrix | GetForceMatrix (void) |
Get the force matrix. | |
ml_matrix | GetTorqueMatrix (void) |
Get the torque matrix. | |
Public Attributes | |
ml_matrix | pulsewidth |
Pulsewidth solution. | |
int | nThrusters |
Number of thrusters. |
description...
void PulseWidthLP::Initialize | ( | void | ) |
Initialize the object.
References nThrusters.
ml_matrix PulseWidthLP::GetForceDemand | ( | void | ) |
Get the demanded force.
ml_matrix PulseWidthLP::GetTorqueDemand | ( | void | ) |
Get the demanded torque.