You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I am using the thrusterDynamicEffector module, and I was having some issues with not achieving the torque on the spacecraft I was expecting, so I dug into the code and I believe I found a bug. in thrusterDynamicEffector.cpp, in computeForceTorque(), the following is calculated: thrustLocation_B = this->bodyToHubInfo.at(index).r_FB_B + this->bodyToHubInfo.at(index).dcm_BF * it->thrLoc_B;
The torque is then calculated as SingleThrusterTorque = thrustLocation_B.cross(SingleThrusterForce) + ops->ThrustFactor * it->MaxSwirlTorque * thrustDirection_B;
This does not seem to take into account the position of the center of mass with respect to the body frame. In other words, I believe r_CB_B should be used somewhere in the calculation of thrustLocation_B. I can see that changing the center of mass location does not change the torque.
Am I misunderstanding the intended use of this module?
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
-
I am using the thrusterDynamicEffector module, and I was having some issues with not achieving the torque on the spacecraft I was expecting, so I dug into the code and I believe I found a bug. in
thrusterDynamicEffector.cpp
, incomputeForceTorque()
, the following is calculated:thrustLocation_B = this->bodyToHubInfo.at(index).r_FB_B + this->bodyToHubInfo.at(index).dcm_BF * it->thrLoc_B;
The torque is then calculated as
SingleThrusterTorque = thrustLocation_B.cross(SingleThrusterForce) + ops->ThrustFactor * it->MaxSwirlTorque * thrustDirection_B;
This does not seem to take into account the position of the center of mass with respect to the body frame. In other words, I believe
r_CB_B
should be used somewhere in the calculation ofthrustLocation_B
. I can see that changing the center of mass location does not change the torque.Am I misunderstanding the intended use of this module?
Beta Was this translation helpful? Give feedback.
All reactions