Fixes for Pointing Modes #851
@ -39,7 +39,7 @@ void PtgCtrl::ptgLaw(AcsParameters::PointingLawParameters *pointingLawParameters
|
|||||||
double qError[3] = {errorQuat[0], errorQuat[1], errorQuat[2]};
|
double qError[3] = {errorQuat[0], errorQuat[1], errorQuat[2]};
|
||||||
|
|
||||||
double cInt = 2 * om * zeta;
|
double cInt = 2 * om * zeta;
|
||||||
double kInt = 2 * pow(om, 2);
|
double kInt = 2 * om * om;
|
||||||
|
|||||||
|
|
||||||
double qErrorLaw[3] = {0, 0, 0};
|
double qErrorLaw[3] = {0, 0, 0};
|
||||||
|
|
||||||
@ -111,9 +111,13 @@ void PtgCtrl::ptgLaw(AcsParameters::PointingLawParameters *pointingLawParameters
|
|||||||
VectorOperations<double>::mulScalar(torqueRws, -1, torqueRws, 4);
|
VectorOperations<double>::mulScalar(torqueRws, -1, torqueRws, 4);
|
||||||
}
|
}
|
||||||
|
|
||||||
void PtgCtrl::ptgNullspace(AcsParameters::PointingLawParameters *pointingLawParameters,
|
void PtgCtrl::ptgNullspace(const bool allRwAvabilable,
|
||||||
|
AcsParameters::PointingLawParameters *pointingLawParameters,
|
||||||
const int32_t speedRw0, const int32_t speedRw1, const int32_t speedRw2,
|
const int32_t speedRw0, const int32_t speedRw1, const int32_t speedRw2,
|
||||||
const int32_t speedRw3, double *rwTrqNs) {
|
const int32_t speedRw3, double *rwTrqNs) {
|
||||||
|
if (not allRwAvabilable) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
// concentrate RW speeds as vector and convert to double
|
// concentrate RW speeds as vector and convert to double
|
||||||
double speedRws[4] = {static_cast<double>(speedRw0), static_cast<double>(speedRw1),
|
double speedRws[4] = {static_cast<double>(speedRw0), static_cast<double>(speedRw1),
|
||||||
static_cast<double>(speedRw2), static_cast<double>(speedRw3)};
|
static_cast<double>(speedRw2), static_cast<double>(speedRw3)};
|
||||||
|
@ -33,7 +33,8 @@ class PtgCtrl {
|
|||||||
void ptgLaw(AcsParameters::PointingLawParameters *pointingLawParameters, const double *qError,
|
void ptgLaw(AcsParameters::PointingLawParameters *pointingLawParameters, const double *qError,
|
||||||
const double *deltaRate, const double *rwPseudoInv, double *torqueRws);
|
const double *deltaRate, const double *rwPseudoInv, double *torqueRws);
|
||||||
|
|
||||||
void ptgNullspace(AcsParameters::PointingLawParameters *pointingLawParameters,
|
void ptgNullspace(const bool allRwAvabilable,
|
||||||
|
AcsParameters::PointingLawParameters *pointingLawParameters,
|
||||||
const int32_t speedRw0, const int32_t speedRw1, const int32_t speedRw2,
|
const int32_t speedRw0, const int32_t speedRw1, const int32_t speedRw2,
|
||||||
const int32_t speedRw3, double *rwTrqNs);
|
const int32_t speedRw3, double *rwTrqNs);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user
sad pow sounds