diff --git a/src/simulation/dynamics/facetSRPDynamicEffector/_UnitTest/test_unitFacetSRPDynamicEffector.py b/src/simulation/dynamics/facetSRPDynamicEffector/_UnitTest/test_unitFacetSRPDynamicEffector.py index 6bbd424871..dacfe53be3 100644 --- a/src/simulation/dynamics/facetSRPDynamicEffector/_UnitTest/test_unitFacetSRPDynamicEffector.py +++ b/src/simulation/dynamics/facetSRPDynamicEffector/_UnitTest/test_unitFacetSRPDynamicEffector.py @@ -66,7 +66,7 @@ def test_facetSRPTestFunction(show_plots, facetRotAngle1, facetRotAngle2): facetRotAngle1 (double): [rad] Articulation angle for facets 7 and 8 (solar panel 1) facetRotAngle2 (double): [rad] Articulation angle for facets 9 and 10 (solar panel 2) """ - + [testResults, testMessage] = facetSRPTestFunction(show_plots, facetRotAngle1, facetRotAngle2) assert testResults < 1, testMessage @@ -121,7 +121,7 @@ def facetSRPTestFunction(show_plots, facetRotAngle1, facetRotAngle2): facetRotAngle1MessageData.theta = facetRotAngle1 facetRotAngle1MessageData.thetaDot = 0.0 facetRotAngle1Message = messaging.HingedRigidBodyMsg().write(facetRotAngle1MessageData) - + facetRotAngle2MessageData = messaging.HingedRigidBodyMsgPayload() facetRotAngle2MessageData.theta = facetRotAngle2 facetRotAngle2MessageData.thetaDot = 0.0 @@ -291,11 +291,11 @@ def checkFacetSRPForce(index, facetRotAngle1, facetRotAngle2, area, specCoeff, d # Rotate the articulated facet normal vectors if (index == 6 or index == 7): - prv_BB0 = facetRotAngle1 * facetRotAxis + prv_BB0 = -facetRotAngle1 * facetRotAxis dcm_BB0 = rbk.PRV2C(prv_BB0) facetNormal = np.matmul(dcm_BB0, facetNormal) if (index == 8 or index == 9): - prv_BB0 = facetRotAngle2 * facetRotAxis + prv_BB0 = -facetRotAngle2 * facetRotAxis dcm_BB0 = rbk.PRV2C(prv_BB0) facetNormal = np.matmul(dcm_BB0, facetNormal) diff --git a/src/simulation/dynamics/facetSRPDynamicEffector/facetSRPDynamicEffector.cpp b/src/simulation/dynamics/facetSRPDynamicEffector/facetSRPDynamicEffector.cpp index adde784def..0b758be0d6 100644 --- a/src/simulation/dynamics/facetSRPDynamicEffector/facetSRPDynamicEffector.cpp +++ b/src/simulation/dynamics/facetSRPDynamicEffector/facetSRPDynamicEffector.cpp @@ -176,9 +176,9 @@ void FacetSRPDynamicEffector::computeForceTorque(double callTime, double timeSte double articulationAngle = facetArticulationAngleList.at(articulatedIndex); // Determine the required DCM that rotates the facet normal vector through the articulation angle - double prv_BB0[3] = {articulationAngle * scGeometry.facetRotAxes_B[i][0], - articulationAngle * scGeometry.facetRotAxes_B[i][1], - articulationAngle * scGeometry.facetRotAxes_B[i][2]}; + double prv_BB0[3] = {-articulationAngle * scGeometry.facetRotAxes_B[i][0], + -articulationAngle * scGeometry.facetRotAxes_B[i][1], + -articulationAngle * scGeometry.facetRotAxes_B[i][2]}; PRV2C(prv_BB0, dcmBB0); dcm_BB0 = c2DArray2EigenMatrix3d(dcmBB0); diff --git a/src/simulation/dynamics/facetSRPDynamicEffector/facetSRPDynamicEffector.rst b/src/simulation/dynamics/facetSRPDynamicEffector/facetSRPDynamicEffector.rst index 2ddb060321..7ddbdc5ec9 100644 --- a/src/simulation/dynamics/facetSRPDynamicEffector/facetSRPDynamicEffector.rst +++ b/src/simulation/dynamics/facetSRPDynamicEffector/facetSRPDynamicEffector.rst @@ -8,9 +8,9 @@ articulating facets. The unit test for this module shows how to set up this part 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 +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. .. list-table:: Module I/O Messages @@ -48,7 +48,7 @@ required to rotate the given facet normal vector through the current facet artic principal rotation vector (PRV) transformation where: .. math:: - [\mathcal{B}_0\mathcal{B}] = \text{PRV2C}(\phi, \boldsymbol{\hat{a}}) + [\mathcal{B}\mathcal{B}_0] = \text{PRV2C}(-\phi, \boldsymbol{\hat{a}}) and