- Joined
- Mar 30, 2008
- Messages
- 450
- Reaction score
- 1
- Points
- 18
Hi all,
I'm working on an atmospheric autopilot, and I need to be able to somewhat accurately predict the induced moments on a vessel from control surface deflections so I can tune the autopilot.
I'm working with the as-included Delta Glider. For sum of forces and moments with no control surface inputs, I'm able to predict the lift, drag, and moment in the vessel body frame with pretty good accuracy.
The problem arises when I try to predict the moments from control surface inputs. I would think that the moment from, say, an elevator deflection would be (in the Orbiter left-handed coordinate frame):
M = F x R
Above, the magnitude of F is (qinf * elevatorArea * cLFull * elevatorPos), per the SDK documentation. For the Delta Glider, this would be (qinf * 1.4 * 1.7 * elevatorPos), from DeltaGlider.cpp line 1026, where elevatorPos is between -1 and 1.
The direction of the for F for our elevator example is presumably <0,cos(aoa),sin(aoa)>, such that the elevator lift force acts perpendicular to the freestream (same direction as the lift vector).
The vector R is the moment arm for the elevator, <0,0,-7.2> for the Delta Glider, from DeltaGlider.cpp line 1026.
However, my calculations aren't matching up what Orbiter is returning for the pitching moment. The mismatch seems to be exacerbated with elevator deflections at higher angles of attack (and rudder deflections at higher sideslip angles), which has me thinking I have the force vector direction wrong. Even at high angles of attack and sideslip, when all control surfaces are at zero, my calculations match what Orbiter returns, so I'm confident my issue has to do with how I'm calculating moment from the control surfaces.
The above control surface moment equation & calculation method works quite well for predicting the roll moment from aileron deflections, but it's pitch and yaw that I'm having trouble matching up.
Any ideas here would be much appreciated.
I'm working on an atmospheric autopilot, and I need to be able to somewhat accurately predict the induced moments on a vessel from control surface deflections so I can tune the autopilot.
I'm working with the as-included Delta Glider. For sum of forces and moments with no control surface inputs, I'm able to predict the lift, drag, and moment in the vessel body frame with pretty good accuracy.
The problem arises when I try to predict the moments from control surface inputs. I would think that the moment from, say, an elevator deflection would be (in the Orbiter left-handed coordinate frame):
M = F x R
Above, the magnitude of F is (qinf * elevatorArea * cLFull * elevatorPos), per the SDK documentation. For the Delta Glider, this would be (qinf * 1.4 * 1.7 * elevatorPos), from DeltaGlider.cpp line 1026, where elevatorPos is between -1 and 1.
The direction of the for F for our elevator example is presumably <0,cos(aoa),sin(aoa)>, such that the elevator lift force acts perpendicular to the freestream (same direction as the lift vector).
The vector R is the moment arm for the elevator, <0,0,-7.2> for the Delta Glider, from DeltaGlider.cpp line 1026.
However, my calculations aren't matching up what Orbiter is returning for the pitching moment. The mismatch seems to be exacerbated with elevator deflections at higher angles of attack (and rudder deflections at higher sideslip angles), which has me thinking I have the force vector direction wrong. Even at high angles of attack and sideslip, when all control surfaces are at zero, my calculations match what Orbiter returns, so I'm confident my issue has to do with how I'm calculating moment from the control surfaces.
The above control surface moment equation & calculation method works quite well for predicting the roll moment from aileron deflections, but it's pitch and yaw that I'm having trouble matching up.
Any ideas here would be much appreciated.
Last edited: