This note is a collection of notes describing various parameters. It is not complete. The .air file parameters shown below are based on the original crrcSim allegro/default.air file, but some have been modified for the Olympic-II.
The equations of motions determine acceleration and rotational rates based on the mass and inertial moments of the aircraft. Just as the mass represents the aircrafts resistance to change in velocity, or acceleration, the moments represents the aircrafts resistance to changes in rotational acceleration such as roll, pitch and yaw rates.
The moments are described by the axis of rotation. All three axis go through the center of gravity. The x-axis points toward the nose, the y-axis toward the right wing tip, and the z-axis toward the ground. The roll moment is describe by Ixx, the pitch moment is describe by Iyy, and the yaw moment is describe by Izz. It's not clear to me what the Ixz moment represents, although all combinations (i.e. xy, xz, and yz) are possible but some are zero due to aircraft symetry on either side of the XZ-plane.
These use units of slug which is equivalent to 32.2 pounds. A moment is mass multiplied by the moment arm sqaured. This is easy to calculated for a mass at one point, but for long objects such as wings, requires the integration along the moment arm. See Appendix-A for some code that estimates the roll moment based on a constant density wing.
It would seem that the roll moment is primarily dependent on the wings and that the pitch moment is dependent on tail and nose moments. It would further seem that the yaw moment is a combination, the sum, of both the roll and pitch moments.
Mass 0.0625 (slug) I_xx 0.048 (slug-ft^2) I_xz 0.772 (slug-ft^2) I_yy 0.016282 (slug-ft^2) I_zz 0.081474 (slug-ft^2)
The next four paramters describe wing geometry. Presumably these are used to determine the area of the wing in order to calculate lift and drag values. They may also be used in determining ground affects or contact with the ground.
B_ref 8.25 reference span (ft) C_ref 0.78 reference chord (ft) S_ref 6.46 reference area (ft^2) span_eff 0.95 effective span
Quite a few parameters are used to calculate lift and drag values. These include factors for modeling stall and its affect. These parameters attempt to define a great deal of wind tunnel information.
Alpha_0 0.034907 baseline alpha_0 (rad) CD_AIsq 0.0 drag due to aileron deflection CD_CLsq 0.01 deformation drag, as high as 0.02 CD_ELsq 0.0 drag due to elevon deflection CD_prof 0.02 profile CD Uexp_CD -0.5 CD Re-scaling exponent U_ref 19.685 CD reference speed (ft/s) eta_loc 0.15 eta_loc for stall model CG_arm 0.08 CG_arm for stall model CL_0 0.563172 baseline CL_0 at alpha_0 CL_CD0 0.0 set to as high as 0.30 for slow sections CL_a 5.5036 lift slope CL_de 0.162 lift due to elevator CL_drop 0.5 CL drop during stall break CL_max 1.1 upper stall limit CL CL_min -0.6 lower stall limit CL CL_q 7.509990 lift due to pitch rate
There are quite a few coupling parameters that determine how the torque aroung the three rotational axis are affected by control surfaces and each other. They also include parameters for stability and damping.
As an example, the aileron coupling is obviously a very important parameter, but not all aircraft have ailerons, such a polyhedrals (RES). These aircraft control yaw which has a strong influence on roll. Cl_r would be set to define the yaw to roll coupling, and Cn_dr used to set the rudder to yaw coupling. However, since many modelers use the aileron stick to control rudder on polyhedral aircraft. Cn_da can be used instead of Cn_dr to control yaw. Controlling roll through yaw instead of directly through ailerons models a more realistic behavior. The aircraft both yaws and rolls, and there is a lag between the control input and yaw, and between the yaw and roll.
It would seem that center-of-gravity (CG) location affect on behavior would be modeled through these parameters. The pitch stability parameters, Cm_a, is one such parameter. While airfoils do have pitching moments, it seems that the lift force also contributes to the pitching moment if it is more forward or rearward of the CG, which is typical. If properly modeled, this may be useful in evaluating CG position on an aircraft. Its not clear if Cl_q is relavent, based on the comment.
CY_b -0.415610 sideforce due to sideslip CY_da -0.135890 sideforce due to aileron CY_dr 0.0 sideforce doe to rudder CY_p -0.423820 sideforce due to roll rate CY_r 0.297540 sideforce due to yaw rate Cl_b -0.250926 roll due to sideslip Cl_da -0.0 roll due to aileron Cl_dr 0.0 roll due to rudder Cl_p -0.611798 roll damping Cl_r 0.139581 roll due to yaw rate Cm_0 -0.011266 baseline Cm_0 at alpha_0 Cm_a -0.575335 pitch stability Cm_de -0.597537 pitch due to elevator Cm_q -11.4975 pitch damping Cm_p 0.2 pitch due to roll Cn_b 0.056707 yaw stability Cn_da 0.052714 yaw due to aileron (or rudder) Cn_dr 0.0 yaw due to rudder Cn_p -0.074090 yaw due to roll rate Cn_r -0.068776 yaw damping
Finally, there are three parameters to specify the initial attitude of the aircraft, and one parameter specifying the maximum thrust value.
initial_altitude 0.174 Starting altitude of airplane in feet initial_theta 0.0 Starting pitch of airplane in degrees initial_velocity 0.0 Starting velocity of airplane (ft/sec ??) max_thrust 1.5 One pound max thrust
# guesstimate I of oly-ii wing gawk ' function Ix (X0, Y0, X1, Y1, x) { x3 = x*x*x val = Y0 * x3 / 3 \ - (((x3 * x) / 4) - (Y0 * x3 / 3)) * ((Y0 - Y1)/(X1 - X0)) return val } function Ipanel (dM, X0, Y0, X1, Y1) { val1 = Ix(X0, Y0, X1, Y1, X1) val2 = Ix(X0, Y0, X1, Y1, X0) val = (val1 - val2) * dM # printf " %6.3f %6.3f %6.3f %6.3f %6.3f %6.3f\n", \ # val, dM, X0, Y0, X1, Y1 return val } { print $0 if (NF == 1) { weight = $1 nPanel = 0 } else { Sc = 12 x[nPanel] = $1 / Sc # inches to feet y[nPanel] = $2 / Sc nPanel++ } } END { if (nPanel < 2) { printf "Error: need at least 2 chord entries\n" exit } printf " %6d nPanel\n", nPanel # calc area area = 0 for (nP = 1; nP < nPanel; nP++) { area += (x[nP] - x[nP-1]) * (y[nP-1] + y[nP]) / 2 } printf " %6.3f area (%6.3f in.)\n", area, area * 144 # calc mass density slugPerOz = 1 / (32.2 * 16) mass = weight * slugPerOz dM = mass / area printf " %6.3f mass (slug)\n", mass printf " %6.3f dM\n", dM # calc moment (I) for each panel Isum = 0 for (nP = 1; nP < nPanel; nP++) { Isum += Ipnl = Ipanel(dM, x[nP-1], y[nP-1], x[nP], y[nP]) printf " %6.3f I-total %6.3f I-panel\n", Isum, Ipnl } }' << **END** 9.75 0 10 32 10 50 5.5 **END**