You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
411 lines
18 KiB
411 lines
18 KiB
Tuning Overview |
|
--------------- |
|
|
|
The following instruction assume that: |
|
|
|
a) your model is trimmed correctly in manual mode |
|
b) you have done your radio calibration |
|
c) you have calibrated your airspeed sensor |
|
d) you have set your APM and transmitter to be able to select FBW-A mode |
|
e) You have checked your pitch roll and yaw angle on the HUD and |
|
verified that they match the rotation of the model |
|
|
|
Ground checks |
|
------------- |
|
|
|
1) On the ground select FBW-A mode |
|
|
|
2) Rotate your model nose up - you should see the elevators/elevons deflect down |
|
|
|
3) Rotate your model nose down - you should see the elevators/elevons deflect up |
|
|
|
4) roll the model to the right - you should see the LH aileron/elevon |
|
go up and the RH aileron/elevon go down. |
|
|
|
5) roll the model to the left - you should see the LH aileron/elevon |
|
go down and the RH aileron/elevon go up. |
|
|
|
6) level the model - the control surfaces should be close to |
|
neutral. There will be a little bit of offset, but any more than |
|
10% of your maximum throw indicates that the APM has not been |
|
leveled or the radio calibration needs to be repeated. |
|
|
|
7) With the model level apply LH and RH roll stick inputs on your |
|
transmitter - the controls should deflect in the same direction that |
|
they would in manual mode. |
|
|
|
8) With the model level apply up and down pitch stick inputs on your |
|
transmitter the controls should deflect in the same direction that |
|
they would in manual mode. |
|
|
|
6) If you have an airspeed sensor enabled then blow air towards the |
|
front of the pitot tube and watch the HUD. You should see the |
|
airspeed reading increase |
|
|
|
Flight testing |
|
-------------- |
|
|
|
Ideally you will need a second person to do this - one person to fly |
|
the plane and one person to adjust the parameters. To follow the |
|
manual parts of this procedure you need to be a proficient RC pilot |
|
and have the skills to be able to recover from an unusual attitude. If |
|
not, then get someone who can to help you. |
|
|
|
Initial assessment |
|
------------------ |
|
|
|
1) Takeoff in manual and adjust the trims and throttle to a cruise |
|
position so that the plane flies straight and level at a speed that |
|
you are comfortable with. This will normally be somewhere between |
|
30 and 60% throttle depending on how overpowered your model is. |
|
|
|
2) With the plane flying away from you switch to FBW-A. It should |
|
continue to fly wings level and at a fairly constant height (it |
|
will climb or descend slowly). If it wants to roll or pitch more |
|
than a small amount then there is a problem with the models trim or |
|
radio calibration and you need to solve that first before |
|
proceeding further. |
|
|
|
3) If the model starts to wag its wings, then the autopilot default |
|
gain is too high for your model (this is unlikely but could happen) |
|
and you need to switch back to manual immediately and ask your |
|
assistant to halve the CTL_RLL_K_P parameter before switching back |
|
into FBW-A |
|
|
|
4) If the model starts to porpoise, the default autopilot gain is too |
|
high (this is unlikely but could happen) and you need to switch |
|
back to manual immediately and ask your assistant to halve the |
|
CTL_PTCH_K_P parameter before switching back into FBW-A |
|
|
|
Roll control tuning |
|
------------------- |
|
|
|
Method 1: |
|
|
|
This method is the simplest, but won't give the best result. For those |
|
users familiar with tuning the old PID controller gains, the K_P, K_I |
|
and K_D gains in this controller have the same effect, but there are some |
|
additional values that can be set by more advanced users. |
|
|
|
1) With the model in FBW-A mode, put in a rapid bank angle demand, |
|
hold it and release. Do the same in the other direction. You want |
|
the model to roll quickly and smoothly to the new bank angle and |
|
back again without overshoot or any wing 'waggle'. If the roll |
|
response is too slow, then progressively increase the CTL_RLL_K_P |
|
gain in increments of 0.1 until you are happy with the response. |
|
|
|
2) If during 1) the wings start to 'waggle' and you are not happy with |
|
the speed of the response, then CTL_RLL_K_D can be increased in small |
|
increments of 0.01 until the wing waggle goes away and step 1 can be |
|
repeated. Do not go above 0.1 for CTL_RLL_K_D without checking the |
|
temperature of your servos when you land as in extreme cases turning |
|
up this gain can cause rapid servo movement and overheat the servos |
|
leading to premature failure. |
|
|
|
Method 2: |
|
|
|
This method can give a better result, but requires more caution because |
|
step 2) can produce a high frequency instability that unless reversion |
|
back to manual is done quickly, could overstress the plane. |
|
|
|
1) Follow basic method 1) first |
|
|
|
2) Increase CTL_RLL_K_D in increments of 0.01 until it it starts to |
|
oscillate, then halve it. |
|
|
|
3) Reduce CTL_RLL_TAU from the default value of 0.7 for a more rapid |
|
response if desired and if your aircraft is capable of doing so. |
|
If the bank angle starts to overshoot or you see wing 'waggle', |
|
you have gone too far. |
|
|
|
Advanced: |
|
|
|
1) Select the tuning box on the bottom of the Mission planers Flight |
|
Data page. You should get a scrolling black window above the |
|
map. Double click in the black window and you should get a list of |
|
parameters to plot. Change the selection until you have the roll |
|
and nav_roll plotted. Nav_roll is the demand and roll is the |
|
response. You can use this to look for overshoot and other behavior |
|
that isn't so obvious from the ground looking at the model. |
|
|
|
2) Check for any steady offset between nav-roll and roll. If there is |
|
one you can set the CTL_RLL_K_I to a small value (say 0.01) which |
|
will allow the control loop to slowly trim the aileron demand to |
|
remove the steady error. If you want it to trim faster, you can |
|
increase the value for this gain. |
|
|
|
3) If you can slow down the rate of roll and make the model bank more |
|
smoothly by setting the roll rate limit CTL_RLL_RMAX parameter to a |
|
non zero value. A value of 60 deg/sec works weel for most models. |
|
The default is 0 which turns the rate limiter off and makes the |
|
effect of tuning easier to see. |
|
|
|
|
|
Pitch Control Tuning |
|
-------------------- |
|
|
|
Method 1: |
|
|
|
This method is the simplest and but won't give the best result. For those |
|
users familiar with tuning the old PID controller gains, the K_P, K_I |
|
and K_D gains in this controller have the same effect, but there are some |
|
additional values that anbe set by more advanced users. |
|
|
|
1) With the model in FBW-A mode and the throttle at the cruise |
|
position, put in a pitch angle demand, hold it and release. Do the |
|
same in the other direction. You want the model to pitch smoothly |
|
to the new pitch angle and back again without overshoot or |
|
proposing. If the pitch response is too slow, then progressively |
|
increase the CTL_PTCH_K_P parameter in increments of 0.1 you are happy |
|
with the speed of the response or it starts to porpoise a little. If |
|
you are happy with the response after this step, you can skip step 2) |
|
|
|
2) If you get porposising and the response is still too sluggish, increase |
|
the CTL_RLL_K_D gain in small increments of 0.01 until the overshoot or |
|
porpoise goes away. If it hasn't worked by the time you have reached a |
|
value of 0.1 for CTL_PTCH_K_D, DON'T go any further until you have checked |
|
your servo temperatures immediately after landing as in extreme |
|
cases turning up this gain can cause rapid servo movement and overheat |
|
the servos leading to premature failure. |
|
|
|
3) Now roll the model to maximum bank in each direction. The nose |
|
should stay fairly level during the turns without significant gain |
|
or loss of altitude. Some loss of altitude during sustained turns |
|
at constant throttle is expected, because the extra drag of turning |
|
slows the model down which will cause a mild descent. If the model |
|
gains height during the turns then you need to reduce the |
|
CTL_PTCH_K_RLL by small increments of 0.01 from the default value |
|
of 1.0. If the model descends immediately when the model banks (a |
|
mild descent later in the turn when the model slows down is normal |
|
as explained earlier) then increase the CTL_PTCH_K_RLL by small |
|
increments of 0.01 from the default value of 1.0. If you need to |
|
change the CTL_PTCH_K_RLL parameter outside the range from 0.7 to |
|
1.4 then something is likely wrong with either the earlier tuning |
|
of your pitch loop, your airspeed calibration or you APM's bank |
|
angle estimate. |
|
|
|
Method 2: |
|
|
|
This method can give a better result, but requires more caution because |
|
step 2) can produce a high frequency instability that unless reversion |
|
back to manual is done quickly, could overstress the plane. |
|
|
|
1) Follow Basic Method 1) first |
|
|
|
2) Increase CTL_PTCH_K_D in increments of 0.01 until it it starts to |
|
oscillate, then halve it. |
|
|
|
1) Reduce CTL_PTCH_TAU from the default value of 0.7 for a more rapid |
|
response if required and if your aircraft is capable of doing so. |
|
If the pitch response starts to overshoot, you have gone too far. |
|
|
|
Advanced Options: |
|
|
|
3) Increase CTL_PTCH_K_I from the default value to more rapidly trim |
|
out errors in pitch angle (you will need to monitor the nav_pitch |
|
and pitch in the tuning graphs window to do this). |
|
|
|
2) The maximum nose down and nose up pitch rate in degrees/second can |
|
be constrained by setting the CTL_PTCH_RMAX_D and CTL_PTCH_RMAX_U |
|
parameters to a value other than 0. These parameters can be |
|
used to limit the amount of g produced during a pull-up or push |
|
down. |
|
|
|
Yaw Control Tuning |
|
------------------ |
|
|
|
The yaw control loop can be configured either as a simple yaw damper |
|
(good for models with inadequate fin area) or as a combined yaw damper |
|
and sideslip controller. Because control of sideslip uses measured |
|
lateral acceleration, it will only work for those models that have |
|
enough fuselage side area to produce a measureable lateral |
|
acceleration when they sideslip (an extreme example of this is an |
|
aerobatic model flying a knife-edge maneuver where all of the lift is |
|
produced by the fuselage). Gliders with very skinny fuselages and |
|
flying wings cannot use this feature, but can still benefit from the |
|
yaw damper provided they have a yaw control of some sort of yaw |
|
control (rudder, differential airbrakes, etc) |
|
|
|
Tuning the yaw damper: |
|
|
|
1) Verify that the CTL_YAW_K_A and CTL_YAW_K_I gain terms are set to |
|
zero, the CTL_YAW_K_RLL gain term is set to 1.0 and the CTL_YAW_K_D |
|
gain term is set to zero |
|
|
|
2) Roll into and out of turns in both directions and observe the |
|
yawing motion as it rolls into the turn. If the nose yaws away from |
|
the direction of roll, you need to increase the KFF_RDDRMIX gain |
|
until the yaw goes away. |
|
|
|
3) Increase CTL_YAW_K_D in small increments of 0.05 until the tail |
|
starts to 'wag'. Halve the gain from value at which you start to |
|
see the tail 'wag'. |
|
|
|
4) Now roll the model into and out of turns in both directions. If the |
|
model has a tendency to yaw the nose to the outside of the turn, |
|
then increase the CTL_YAW_K_RLL gain term in increments of 0.01 |
|
from its default value of 1.0. Conversely if the model has the |
|
tendency to yaw the nose to the inside of the turn on turn entry, |
|
then reduce the CTL_YAW_K_RLL gain term in increments of 0.01 from |
|
its default value of 1.0. If you have to go outside the range from |
|
0.8 to 1.2, then there is something else that needs to be sorted |
|
and you should check step 2), the airspeed calibration and accuracy |
|
of the bank angle measurement. |
|
|
|
Tuning the sideslip controller (advanced): |
|
|
|
1) Tune the yaw damper first |
|
|
|
2) Set the CTL_YAW_K_I gain term to 1.0. If this causes the tail to |
|
'wag' then reduce this gain until the wag stops |
|
|
|
3) Bring up the tuning graph window in the mission planner and plot |
|
the lateral acceleration ay. |
|
|
|
4) Roll the model rapidly from full bank in each direction and observe |
|
the lateral acceleration ay. If the lateral acceleration sits |
|
around zero and doesn't change when you roll into or out of turns |
|
then your model is very well trimmed and no sideslip control is |
|
required. You can change the CTL_YAW_K_I gain term back to zero. |
|
|
|
5) IF you see that the y acceleration is offset or spikes up during |
|
turns, then progressively increase the CTL_YAW_K_A gain in steps of |
|
0.5 until the error goes away or the tail starts to wag. If the |
|
tail starts to wag, then halve the gain from the value at which the |
|
wag appeared. |
|
|
|
|
|
Control Parameter Descriptions |
|
------------------------------ |
|
|
|
The default values for each parameter are shown. |
|
|
|
Pitch control parameters: |
|
|
|
Main Parameters: |
|
|
|
CTL_PTCH_K_P = 0.4 |
|
This is the gain from demanded pitch rate to demanded |
|
elevator. Provided CTL_PTCH_OMEGA is set to 1.0, then this gain works |
|
the same way as the P term in the old PID and can be set to the same |
|
value. |
|
|
|
CTL_PTCH_K_I = 0.0 |
|
This is the gain for integration of the pitch rate error. It has |
|
essentially the same effect as the I term in the old PID. This can be |
|
set to 0 as a default, however users can increment this to make the |
|
pitch angle tracking more accurate. |
|
|
|
CTL_PTCH_K_D = 0.0 |
|
This is the gain from pitch rate error to demanded elevator. This |
|
adjusts the damping of the pitch control loop. It has the same effect |
|
as the D term in the old PID but without the large spikes in servo |
|
demands. this will be set to 0 as a default. Some airframes such as |
|
flying wings that have poor pitch damping can benefit from a small |
|
value of up to 0.1 on this gain term. This should be increased in 0.01 |
|
increments as to high a value can lead to a high frequency pitch |
|
oscillation that could overstress the airframe. |
|
|
|
CTL_PTCH_K_RLL = 1.0 |
|
This is the gain term that is applied to the pitch rate offset |
|
calculated as required to keep the nose level during turns. The |
|
default value is 1 which will work for all models. Advanced users can |
|
use it to correct for height variation in turns. If height is lost |
|
initially in the turn this can be increased in small increments of |
|
0.05 to compensate. If height is gained initially then it can be |
|
decreased. |
|
|
|
Advanced Parameters: |
|
|
|
CTL_PTCH_RMAX_D = 0 |
|
This sets the maximum nose down pitch rate that the controller will |
|
demand in (degrees/sec). Setting it to zero disables the limit. |
|
|
|
CTL_PTCH_RMAX_U = 0 |
|
This sets the maximum nose up pitch rate that the controller will |
|
demand (degrees/sec). Setting it to zero disables the limit. |
|
|
|
CTL_PTCH_OMEGA = 1.0 |
|
This is the gain from pitch angle error to demanded pitch rate. It |
|
controls the time constant from demanded to achieved pitch angle. For |
|
example if a time constant from demanded to achieved pitch of 0.5 sec |
|
was required, this gain would be set to 1/0.5 = 2.0. A value of 1.0 is |
|
a good default and will work with nearly all models. Advanced users |
|
may want to increase this to obtain a faster response. |
|
|
|
Roll Control Parameters: |
|
|
|
Main Parameters: |
|
|
|
CTL_RLL_K_P = 0.4 |
|
This is the gain from demanded roll rate to demanded aileron. Provided |
|
CTL_RLL_OMEGA is set to 1.0, then this gain works the same way as the |
|
P term in the old PID and can be set to the same value. |
|
|
|
CTL_RLL_K_I = 0.0 |
|
This is the gain for integration of the roll rate error. It has |
|
essentially the same effect as the I term in the old PID. This can be |
|
set to 0 as a default, however users can increment this to enable the |
|
controller trim out any roll trim offset. |
|
|
|
CTL_RLL_K_D = 0.0 |
|
This is the gain from pitch rate error to demanded elevator. This |
|
adjusts the damping of the roll control loop. It has the same effect |
|
as the D term in the old PID but without the large spikes in servo |
|
demands. This will be set to 0 as a default. This should be increased |
|
in 0.01 increments as too high a value can lead to high frequency roll |
|
oscillation. |
|
|
|
Advanced Parameters: |
|
|
|
CTL_RLL_OMEGA = 1.0 |
|
This is the gain from roll angle error to demanded roll rate. It |
|
controls the time constant from demanded to achieved roll angle. For |
|
example if a time constant from demanded to achieved roll of 0.5 sec |
|
was required, this gain would be set to 1/0.5 = 2.0. A value of 1.0 is |
|
a good default and will work with nearly all models. Advanced users |
|
may want to increase this to obtain a faster response. |
|
|
|
CTL_RLL_RMAX = 60; |
|
This sets the maximum roll rate that the controller will demand |
|
(degrees/sec). Setting it to zero disables the limit. If this value is |
|
set too low, then the roll can't keep up with the navigation demands |
|
and the plane will start weaving. If it is set too high (or disabled |
|
by setting to zero) then ailerons will get large inputs at the start |
|
of turns. A limit of 60 degrees/sec is a good default. |
|
|
|
Yaw Control Parameters: |
|
|
|
Advanced Parameters: |
|
|
|
CTL_YAW_K_A = 0.0 |
|
This is the gain from measured lateral acceleration to demanded yaw |
|
rate. It should be set to zero unless active control of sideslip is |
|
desired. This will only work effectively if there is enough fuselage |
|
side area to generate a measureable lateral acceleration when the |
|
model sideslips. Flying wings and most gliders cannot use this |
|
term. This term should only be adjusted after the basic yaw damper |
|
gain K_D is tuned and the K_I integrator gain has been set. Set this |
|
gain to zero if only yaw damping is required. |
|
|
|
CTL_YAW_K_D = 0.0 |
|
This is the gain from yaw rate to rudder. It acts as a damper on yaw |
|
motion. If a basic yaw damper is required, this gain term can be |
|
incremented, whilst leaving the K_A and K_I gains at zero. |
|
|
|
CTL_YAW_K_I = 0.0 |
|
This is the integral gain from lateral acceleration error. This gain |
|
should only be non-zero if active control over sideslip is desired. If |
|
active control over sideslip is required then this can be set to 1.0 |
|
as a first try. |
|
|
|
CTL_YAW_K_RLL = 1.0 |
|
This is the gain term that is applied to the yaw rate offset |
|
calculated as required to keep the yaw rate consistent with the turn |
|
rate for a coordinated turn. The default value is 1 which will work |
|
for all models. Advanced users can use it to correct for any tendency |
|
to yaw away from or into the turn once the turn is |
|
established. Increase to make the model yaw more initially and |
|
decrease to make the model yaw less initially. If values greater than |
|
1.1 or less than 0.9 are required then it normally indicates a problem |
|
with the airspeed calibration.
|
|
|