Nah #891
@ -16,6 +16,10 @@ will consitute of a breaking change warranting a new major release:
|
|||||||
|
|
||||||
# [unreleased]
|
# [unreleased]
|
||||||
|
|
||||||
|
# [v7.8.1] 2024-04-11
|
||||||
|
|
||||||
|
- Reverted fix for wrong order in quaternion multiplication for computation of the error quaternion.
|
||||||
|
|
||||||
# [v7.8.0] 2024-04-10
|
# [v7.8.0] 2024-04-10
|
||||||
|
|
||||||
## Changed
|
## Changed
|
||||||
|
@ -11,7 +11,7 @@ cmake_minimum_required(VERSION 3.13)
|
|||||||
|
|
||||||
set(OBSW_VERSION_MAJOR 7)
|
set(OBSW_VERSION_MAJOR 7)
|
||||||
set(OBSW_VERSION_MINOR 8)
|
set(OBSW_VERSION_MINOR 8)
|
||||||
set(OBSW_VERSION_REVISION 0)
|
set(OBSW_VERSION_REVISION 1)
|
||||||
|
|
||||||
# set(CMAKE_VERBOSE TRUE)
|
# set(CMAKE_VERBOSE TRUE)
|
||||||
|
|
||||||
|
@ -303,9 +303,9 @@ void Guidance::comparePtg(double currentQuat[4], double currentSatRotRate[3], do
|
|||||||
// First calculate error quaternion between current and target orientation without reference
|
// First calculate error quaternion between current and target orientation without reference
|
||||||
// quaternion
|
// quaternion
|
||||||
double errorQuatWoRef[4] = {0, 0, 0, 0};
|
double errorQuatWoRef[4] = {0, 0, 0, 0};
|
||||||
QuaternionOperations::multiply(targetQuat, currentQuat, errorQuatWoRef);
|
QuaternionOperations::multiply(currentQuat, targetQuat, errorQuatWoRef);
|
||||||
// Then add rotation from reference quaternion
|
// Then add rotation from reference quaternion
|
||||||
QuaternionOperations::multiply(errorQuatWoRef, refQuat, errorQuat);
|
QuaternionOperations::multiply(refQuat, errorQuatWoRef, errorQuat);
|
||||||
// Keep scalar part of quaternion positive
|
// Keep scalar part of quaternion positive
|
||||||
if (errorQuat[3] < 0) {
|
if (errorQuat[3] < 0) {
|
||||||
VectorOperations<double>::mulScalar(errorQuat, -1, errorQuat, 4);
|
VectorOperations<double>::mulScalar(errorQuat, -1, errorQuat, 4);
|
||||||
|
Loading…
Reference in New Issue
Block a user