- Joined
- Jan 13, 2008
- Messages
- 2,303
- Reaction score
- 6
- Points
- 38
- Location
- Atlanta, GA, USA, North America
In building a simple autopilot for my launcher, I've [somehow] been able to figure out Proportional Derivative control which has worked well for the single-axis roll program, and single-axis pitch commands. However, when I pitch back from 90 degrees there's a slight heading offset from my target. During manual flight, it's a simple matter to add some yaw and get spot-on, but I've been unable to tune the yaw-controller using PD. So I'm wondering if an integral term would help? Just throwing it in there would be fairly trivial at this point, but I'm a bit unsure on a few things.
This is the reference I'm using: [EDIT] link no longer works
[/EDIT]
When it explains the Integral term, it talks about iMin and iMax. What exactly do these do? Since I'm concerned about heading, would these be 0 and 360 respectively? Or 180 and -180 becasuse the error of a heading can never be more than 180 degrees?
Also, it mentions that integral control is sensitive to sampling rate (derivative too, but since Orbiter spits it out nice and clean with getAngularVelocity, it doesn't seem to hurt too much). Just how sensitive? It'd be pretty impossible to guarantee an even sampling rate for the end-user unless they ran Orbiter in fixed time-steps.
And finally, would I tune this controller the same as the PD controller? I've gotten the hang of altering one gain value one way, then if that didn't work, go the other way and keep going until I got the desired results, then go back to the other gain, then come back to the first one etc. until it worked well enough for me. Will this just be a matter of the same thing? Alter one, alter next one, alter third, then come back to first until it works?
Thanks for any help,
Zatman
P.S. if you're wondering why I skipped over Integral in the first place, it was because I didn't understand the terms, but had seen PD controllers elsewhere and started there which has worked well so far.
This is the reference I'm using: [EDIT] link no longer works
When it explains the Integral term, it talks about iMin and iMax. What exactly do these do? Since I'm concerned about heading, would these be 0 and 360 respectively? Or 180 and -180 becasuse the error of a heading can never be more than 180 degrees?
Also, it mentions that integral control is sensitive to sampling rate (derivative too, but since Orbiter spits it out nice and clean with getAngularVelocity, it doesn't seem to hurt too much). Just how sensitive? It'd be pretty impossible to guarantee an even sampling rate for the end-user unless they ran Orbiter in fixed time-steps.
And finally, would I tune this controller the same as the PD controller? I've gotten the hang of altering one gain value one way, then if that didn't work, go the other way and keep going until I got the desired results, then go back to the other gain, then come back to the first one etc. until it worked well enough for me. Will this just be a matter of the same thing? Alter one, alter next one, alter third, then come back to first until it works?
Thanks for any help,
Zatman
P.S. if you're wondering why I skipped over Integral in the first place, it was because I didn't understand the terms, but had seen PD controllers elsewhere and started there which has worked well so far.
Last edited: