krzysk1 / optica

Edgley EA-7 Optica for Aerofly FS4
GNU General Public License v3.0
2 stars 0 forks source link

Optica Rudder is Ineffective and TMD Definition for Vertical Stabilizers Seems Bogus #6

Open jayeye2011 opened 1 year ago

jayeye2011 commented 1 year ago

The rudder has little impact during flight. The optical.tmd file sections for the left and right vertical stabilizers seem wrong when compared to other FS4 models that have twin vertical stabilizers, the ERCoupe 415, F15E and F18 tmd files which have effective rudder yaw control.
Edit: I tried to alter the code to how the EC415.tmd does it but this just resulted in reversed rudder yaw effect, right rudder causes left yaw and left rudder causes right yaw. Currently only one vertical stabilizer has a flap surface defined, but that is not enough for yaw control. Not sure why the other twin fin airplanes work fine while optica does not. Compare the equivalent sections shown below for each of the tmd files. OPTICA.TMD <[aerowing][LeftVertStabilizerAero][] <[string8][Body][Fuselage]> <[string8][Flap0Control][ServoRudder.Output]> <[float64array][StationY] [ 1.277 1.366 1.720 ]> <[float64array][StationLE] [ -3.811 -3.756 -3.540 ]> <[float64array][StationTE] [ -4.881 -4.932 -5.140 ]> <[float64array][StationZ] [ 1.363 1.091 0.000 ]> <[float64array][StationIncidence] [ 0.000 0.000 0.000 ]> <[uint32array][StationFlap] [ 0 1 0 ]> <[float64array][StationFlapFraction][ 0.00 0.00 0.00 ]> <[float64][AspectRatioMultiplier][1.0]> <[string8][AirfoilRoot][AirfoilVerticalStabilizer]> <[string8][AirfoilTip][AirfoilVerticalStabilizer]> <[string8][PropwashInput][EnginePropeller.GetWash]> <[float64][PropwashPercentage][0.01]> <[float64][PropwashOmega][4.00]> <[string8][DownWashInput][LeftVertStabilizerAero.DownWashMean]> <[float64][DownWashPercentage][1.00]> <[float64][GroundEffectFactor][1.00]> <[float64][GroundEffectScale][1.00]>

<[aerowing][RightVertStabilizerAero][] <[string8][Body][Fuselage]> <[string8][Flap0Control][ServoRudder.Output]> <[float64array][StationY] [ -1.673 -1.319 -1.230 ]> <[float64array][StationLE] [ -3.542 -3.758 -3.812 ]> <[float64array][StationTE] [ -5.142 -4.934 -4.882 ]> <[float64array][StationZ] [ 0.057 1.147 1.420 ]> <[float64array][StationIncidence] [ 0.000 0.000 0.000 ]> <[uint32array][StationFlap] [ 1 0 0 ]> <[float64array][StationFlapFraction][ 0.30 0.00 0.00 ]> <[float64][AspectRatioMultiplier][1.0]> <[string8][AirfoilRoot][AirfoilVerticalStabilizer]> <[string8][AirfoilTip][AirfoilVerticalStabilizer]> <[string8][PropwashInput][EnginePropeller.GetWash]> <[float64][PropwashPercentage][0.01]> <[float64][PropwashOmega][4.00]> <[string8][DownWashInput][RightVertStabilizerAero.DownWashMean]> <[float64][DownWashPercentage][1.00]> <[float64][GroundEffectFactor][1.00]> <[float64][GroundEffectScale][1.00]>

E415.TMD <[aerowing][VertStabilizer1Aero][] <[string8][Body][Fuselage]> <[float64][Span][0.9144]> <[float64][Area][0.557418]> <[string8][Flap0Control][ServoRudder.Output]> <[float64array][StationY] [ 1.31064 1.31064 1.31064 1.31064 1.31064 ]> <[float64array][StationLE] [ -3.9958 -3.8918 -3.847 -3.9453 -4.0297 ]> <[float64array][StationTE] [ -4.236 -4.2845 -4.3982 -4.2527 -4.1809 ]> <[float64array][StationZ] [ -0.133 -0.085 0.1991 0.7067 0.804 ]> <[float64array][StationIncidence] [ 0.0 0.0 0.0 0.0 0.0]> <[uint32array][StationFlap] [ 1 1 1 1 0 ]> <[float64array][StationFlapFraction][ 0.65 0.65 0.65 0.65 0.00 ]> <[float64][AspectRatioMultiplier][1.0]> <[string8][AirfoilRoot][AirfoilVerticalStabilizer]> <[string8][AirfoilTip][AirfoilVerticalStabilizer]> <[float64][Flap0Area][0.5]> <[string8][PropwashInput][Propeller.GetWash]> <[float64][PropwashPercentage][0.05]> <[float64][PropwashOmega][4.0]> <[float64][GroundEffectFactor][1.0]> <[float64][GroundEffectScale][1.0]>

<[aerowing][VertStabilizer2Aero][] <[string8][Body][Fuselage]> <[float64][Span][0.9144]> <[float64][Area][0.557418]> <[string8][Flap0Control][ServoRudder.Output]> <[float64array][StationY] [ -1.31064 -1.31064 -1.31064 -1.31064 -1.31064 ]> <[float64array][StationLE] [ -3.9958 -3.8918 -3.847 -3.9453 -4.0297 ]> <[float64array][StationTE] [ -4.236 -4.2845 -4.3982 -4.2527 -4.1809 ]> <[float64array][StationZ] [ -0.133 -0.085 0.1991 0.7067 0.804 ]> <[float64array][StationIncidence] [ 0.0 0.0 0.0 0.0 0.0]> <[uint32array][StationFlap] [ 1 1 1 1 0 ]> <[float64array][StationFlapFraction][ 0.65 0.65 0.65 0.65 0.00 ]> <[float64][AspectRatioMultiplier][1.0]> <[string8][AirfoilRoot][AirfoilVerticalStabilizer]> <[string8][AirfoilTip][AirfoilVerticalStabilizer]> <[float64][Flap0Area][0.5]> <[string8][PropwashInput][Propeller.GetWash]> <[float64][PropwashPercentage][0.05]> <[float64][PropwashOmega][4.0]> <[float64][GroundEffectFactor][1.0]> <[float64][GroundEffectScale][1.0]>

F15E.TMD <[aerowing][LeftVerticalStabilizerAero][] <[string8][Body][Fuselage]> <[string8][AirfoilRoot][AirfoilVerticalStabilizer]> <[string8][AirfoilTip][AirfoilVerticalStabilizer]> <[string8][Flap0Control][ServoLeftRudder.Output]> <[float64array][StationY] [ 1.705300 1.705300 1.705300 1.705300 ]> <[float64array][StationLE] [ -3.102137 -3.385307 -4.429495 -5.402890 ]> <[float64array][StationTE] [ -6.057720 -6.110814 -6.190456 -6.278946 ]> <[float64array][StationZ] [ -0.500000 -0.020000 1.431379 2.758736 ]> <[float64array][StationIncidence] [ 0.0 0.0 0.0 0.0 ]> <[uint32array][StationFlap] [ 0 1 0 0 ]> <[float64array][StationFlapFraction][ 0.25 0.25 0.25 0.25 ]> <[float64][AspectRatioMultiplier] [2.0]> <[float64][GroundEffectFactor] [1.0]> <[float64][GroundEffectScale] [1.0]>

<[aerowing][RightVerticalStabilizerAero][] <[string8][Body][Fuselage]> <[string8][AirfoilRoot][AirfoilVerticalStabilizer]> <[string8][AirfoilTip][AirfoilVerticalStabilizer]> <[string8][Flap0Control][ServoRightRudder.Output]> <[float64array][StationY] [ -1.705300 -1.705300 -1.705300 -1.705300 ]> <[float64array][StationLE] [ -3.102137 -3.385307 -4.429495 -5.402890 ]> <[float64array][StationTE] [ -6.057720 -6.110814 -6.190456 -6.278946 ]> <[float64array][StationZ] [ -0.500000 -0.020000 1.431379 2.758736 ]> <[float64array][StationIncidence] [ 0.0 0.0 0.0 0.0 ]> <[uint32array][StationFlap] [ 0 1 0 0 ]> <[float64array][StationFlapFraction][ 0.25 0.25 0.25 0.25 ]> <[float64][AspectRatioMultiplier] [2.0]> <[float64][GroundEffectFactor] [1.0]> <[float64][GroundEffectScale] [1.0]>

F18.TMD <[aerowing][LeftStabilizerAero][] <[string8][Body][Fuselage]> <[string8][AirfoilRoot][AirfoilVerticalStabilizer]> <[string8][AirfoilTip][AirfoilVerticalStabilizer]> <[string8][Flap0Control][ServoLeftRudder.Output]> <[float64array][StationY] [ 1.007140 1.485510 1.724010 ]> <[float64array][StationLE] [ -1.376495 -2.700155 -3.402945 ]> <[float64array][StationTE] [ -4.257485 -4.497025 -4.620635 ]> <[float64array][StationZ] [ 0.528230 1.955610 2.699610 ]> <[float64array][StationIncidence] [ 0.000000 0.000000 0.000000 ]> <[uint32array][StationFlap] [ 1 0 0 ]> <[float64array][StationFlapFraction][ 0.2 0.2 0.2 ]> <[float64][AspectRatioMultiplier] [1.0]> <[float64][GroundEffectFactor] [1.0]> <[float64][GroundEffectScale] [1.0]>

<[aerowing][RightStabilizerAero][] <[string8][Body][Fuselage]> <[string8][AirfoilRoot][AirfoilVerticalStabilizer]> <[string8][AirfoilTip][AirfoilVerticalStabilizer]> <[string8][Flap0Control][ServoRightRudder.Output]> <[float64array][StationY] [ -1.007140 -1.485510 -1.724010 ]> <[float64array][StationLE] [ -1.376495 -2.700155 -3.402945 ]> <[float64array][StationTE] [ -4.257485 -4.497025 -4.620635 ]> <[float64array][StationZ] [ 0.528230 1.955610 2.699610 ]> <[float64array][StationIncidence] [ 0.000000 0.000000 0.000000 ]> <[uint32array][StationFlap] [ 1 0 0 ]> <[float64array][StationFlapFraction][ 0.2 0.2 0.2 ]> <[float64][AspectRatioMultiplier] [1.0]> <[float64][GroundEffectFactor] [1.0]> <[float64][GroundEffectScale] [1.0]>

krzysk1 commented 1 year ago

indeed. for LeftVertStabilizerAeroIt should be <[uint32array][StationFlap] [ 0 1 0 ]> <[float64array][StationFlapFraction][ 0.00 0.30 0.00 ]>

RightVertStabilizerAero is OK

jayeye2011 commented 1 year ago

Unfortunately, that still does not fix the problem, it just makes the rudder act more like an elevator in that it impacts pitch more than yaw. Also the left and right vertical stabilizer station values are not mirror images of eacha other so there is an imbalance aerodynamically. Maybe you need to do a setup like the IPACS FA18 since it has canted vertial tail fins except they cant outboard on the FA18 while the ones on the Optical cant inboard. But the FA18 seems to send the left rudder pedal output to the left vertical and the right rudder output to the right vertical fin .

krzysk1 commented 1 year ago

it is good idea. LeftVerticalStabilizer is top-down, rightVerticalStabilizer is bottom-up so the rudders deflection are in the opposite direction. We need to align both Vert stabilizer (or create separate ServoRudder for each side)

jayeye2011 commented 1 year ago

I just watched a video of the Optica and the rudder control surfaces operate in the same direction at the same time so my suggestion is not correct. What I don't understand is why your ErCoup 415 with twin tails works correctly. Do you actually need to define rigid body joints for the booms and connect the vertical stabilizers to those rather than the fuselage? https://www.youtube.com/watch?v=iVr3u6E66EM

On Tue, Jan 17, 2023 at 11:37 AM Krzysztof Kaniewski < @.***> wrote:

it is good idea. LeftVerticalStabilizer is top-down, rightVerticalStabilizer is bottom-up so the rudders deflection are in the opposite direction. We need to align both Vert stabilizer (or create separate ServoRudder for each side)

— Reply to this email directly, view it on GitHub https://github.com/krzysk1/optica/issues/6#issuecomment-1385950016, or unsubscribe https://github.com/notifications/unsubscribe-auth/AQQ2UNXS7VSSWGSQ6E6HYODWS3YIPANCNFSM6AAAAAAT6EMU34 . You are receiving this because you authored the thread.Message ID: @.***>

jayeye2011 commented 1 year ago

I think the geometry of the vertical stabilizers needs to be examined. With the 0.3 station flap fraction fixed for the left vertical stabiizer, right rudder causes the plane to pitch up and left rudder make it pitch down. Ignoring how the 3D model looks, it is the actual tmd definition that is used by the simulation engine. So the defined geometries if they were correct should not be a substitute elevator. The V-tail Beechcraft Bonanza V35 uses the V-tail geometry for both yaw and pitch control via mixing of both commands, but the Optica should not.

jayeye2011 commented 1 year ago

Since right rudder causes the plane to pitch up and left rudder causes it to pitch down, this implies the when you input right rudder command, the right vertical stabilizer tmd control surface (not the graphical object) deflects to the left while the left vertical stabilizer tmd control surface (not the graphical object) deflects to the left. With left rudder command, the right vertical stabilizer tmd control surface deflects to the left while the left vertical stabiizer tmd control surface deflects to the right. It has to be somehow caused by how the left and right station points are defined.

jayeye2011 commented 1 year ago

I believe I figured out what the problem was. It was as I expected, incorrect specification of the vertical stabilizers both dimensional symmetry and in station order sequence because apparently the rules are different for vertical stabilizers vs horizontal stabilizers and wings. The following works to give left yaw on left rudder and right yaw on right rudder instead of causing pitch down and pitch up. Also cause right roll on right rudder and left roll on left rudder which is what you want to have. I used the values from the RightVertStabilizerAero object since they seemed to be more correct dimensionally in terms of giving you the most surface area for the vertical stabilizer fins. <[aerowing][LeftVertStabilizerAero][] <[string8][Body][Fuselage]> <[string8][Flap0Control][ServoRudder.Output]> <[float64array][StationY] [ 1.673 1.319 1.230 ]> <[float64array][StationLE] [ -3.542 -3.758 -3.812 ]> <[float64array][StationTE] [ -5.142 -4.934 -4.882 ]> <[float64array][StationZ] [ 0.057 1.147 1.420 ]> <[float64array][StationIncidence] [ 0.000 0.000 0.000 ]> <[uint32array][StationFlap] [ 1 1 1 ]> <[float64array][StationFlapFraction][ 0.300 0.30 0.300 ]> <[float64][AspectRatioMultiplier][1.0]> <[string8][AirfoilRoot][AirfoilVerticalStabilizer]> <[string8][AirfoilTip][AirfoilVerticalStabilizer]> <[string8][PropwashInput][EnginePropeller.GetWash]> <[float64][PropwashPercentage][0.01]> <[float64][PropwashRotation][0.01]> <[float64][PropwashOmega][4.00]> <[string8][DownWashInput][LeftVertStabilizerAero.DownWashMean]> <[float64][DownWashPercentage][1.00]> <[float64][GroundEffectFactor][1.00]> <[float64][GroundEffectScale][1.00]> <[float64][BetaSlope] [8.0]> <[float64][BetaMax] [1.5]>

<[aerowing][RightVertStabilizerAero][] <[string8][Body][Fuselage]> <[string8][Flap0Control][ServoRudder.Output]> <[float64array][StationY] [ -1.673 -1.319 -1.230 ]> <[float64array][StationLE] [ -3.542 -3.758 -3.812 ]> <[float64array][StationTE] [ -5.142 -4.934 -4.882 ]> <[float64array][StationZ] [ 0.057 1.147 1.420 ]> <[float64array][StationIncidence] [ 0.000 0.000 0.000 ]> <[uint32array][StationFlap] [ 1 1 1 ]> <[float64array][StationFlapFraction][ 0.30 0.30 0.300 ]> <[float64][AspectRatioMultiplier][1.0]> <[string8][AirfoilRoot][AirfoilVerticalStabilizer]> <[string8][AirfoilTip][AirfoilVerticalStabilizer]> <[string8][PropwashInput][EnginePropeller.GetWash]> <[float64][PropwashPercentage][0.01]> <[float64][PropwashRotation][0.01]> <[float64][PropwashOmega][4.00]> <[string8][DownWashInput][RightVertStabilizerAero.DownWashMean]> <[float64][DownWashPercentage][1.00]> <[float64][GroundEffectFactor][1.00]> <[float64][GroundEffectScale][1.00]> <[float64][BetaSlope] [8.0]> <[float64][BetaMax] [1.5]>

I uploaded the final optica.tmd file that incorporates all the modifications I have made to the optica to make it perform closer to the actually aircraft specification in the "Nose Heavy?" issue. https://github.com/krzysk1/optica/issues/2#issuecomment-1386346299