ArduPilot / SITL_Models

Models of aircraft for SITL
70 stars 111 forks source link

Convergence: update to 4.5 #126

Closed robertlong13 closed 1 month ago

robertlong13 commented 1 month ago

The parameter file for this is old and is not minimized. I have upgraded it to 4.5 and reduced it to defaults. The formatting is a tad different, because I use Mission Planner to generate this.

Here is a log from a short test. Seems to fly fine. Convergence_4.5.zip

robertlong13 commented 1 month ago

While doing a motor test (to test https://github.com/ArduPilot/ardupilot/pull/25670), I found a bug in the RFX. Output Channel 7 (the rear motor) has the Input applied twice. This means that the motor doesn't kick in until way late and saturates way early. I'm actually impressed it manages to fly okay with that broken.

image

Flight test after fixing still looks fine FixedConvergence_4.5.zip

Here's the diff of the actual rfvehicle file within the RFX to show that I didn't accidentally change anything else. The only other things that changed were subtle lighting differences (I guess) in the autogenerated thumbnail on export and some changes to the g3x.enc file inside there (I have no idea what that file does). image

--- C:/Users/rober/Desktop/Convergence_flightaxis_AV/Convergence_flightaxis.rfvehicle   Thu Jul 30 13:25:17 2020
+++ C:/Users/rober/Desktop/Convergence_flightaxis_AV_fixed/Convergence_flightaxis.rfvehicle Tue May 14 01:22:43 2024
@@ -302,7 +302,7 @@
       SUBGROUP[#7]
          Expo=FLOAT:0.
          ExpoLowRates=FLOAT:0.
-         InputFeedsArray=INTARRAY:1~2~
+         InputFeedsArray=INTARRAY:1~
          LowRates=FLOAT:0.
          Trim=FLOAT:0.

@@ -343,26 +343,6 @@

             ENDGROUP[#1]

-
-            SUBGROUP[#2]
-               CurveInputValues=FLOATARRAY:
-               CurveOutputValues=FLOATARRAY:
-               InputChannel=INT:106
-               InputFeedType=INT:1
-               InputName=STRING:Input
-               Logic=INT:0
-               SimpleMaxPercent=FLOAT:1.
-               SimpleReversed=BOOL:No
-
-               SUBGROUP[InputActivatedWhen]
-                  Value1=FLOAT:0.
-                  Value2=FLOAT:0.
-                  WhenInput=INT:100
-                  WhenLogic=INT:1
-               ENDGROUP[InputActivatedWhen]
-
-            ENDGROUP[#2]
-
          ENDGROUP[InputFeedsArray]

       ENDGROUP[#7]
@@ -617,7 +597,7 @@

 [Main]
 AircraftType=INT:1
-AppVersionBuild=UINT64:900022
+AppVersionBuild=UINT64:950068
 BasedOn=STRING:O:\scenerydisk16\Image\Models\Vehicles\E-flite Mini Convergence VTOL\E-flite Mini Convergence VTOL.bse
 CDName=STRING:RealFlight 8.5
robertlong13 commented 1 month ago

Actually, I take that back, fixing the RFX made the back-transition significantly worse. I'm digging into this some more.

robertlong13 commented 1 month ago

I made more changes to the RFX.

  1. Removed stray double input on Channel 7
  2. Slightly increased rear prop diameter (slightly bigger than the prop on the real convergence, but wanted to get the thrust closer to what the front can put out)
  3. Reduced front motor power from 200% to 70%.

The hover throttles for the motors match each other better now. Still plenty of power, and I didn't really have to adjust too much on the TECS for the reduced front motor power.

I retuned the hover and forward flight gains. Mostly because the changes to the RFX model needed this, but also its flying significantly better as a whole now than before. I'm very happy with it. Log attached: FixedConvergence_4.5_take2.zip

Diff of the rfvehicle file:

--- C:/Users/rober/Desktop/Convergence_flightaxis_AV/Convergence_flightaxis.rfvehicle   Thu Jul 30 13:25:17 2020
+++ C:/Users/rober/Desktop/Convergence_flightaxis_AV2/Convergence_flightaxis.rfvehicle  Sun May 19 04:11:26 2024
@@ -298,15 +298,15 @@

       ENDGROUP[#6]

       SUBGROUP[#7]
          Expo=FLOAT:0.
          ExpoLowRates=FLOAT:0.
-         InputFeedsArray=INTARRAY:1~2~
+         InputFeedsArray=INTARRAY:1~
          LowRates=FLOAT:0.
          Trim=FLOAT:0.

          SUBGROUP[ExpoWhen]
             Value1=FLOAT:0.
             Value2=FLOAT:0.
             WhenInput=INT:100
@@ -339,34 +339,14 @@
                   Value2=FLOAT:0.
                   WhenInput=INT:100
                   WhenLogic=INT:1
                ENDGROUP[InputActivatedWhen]

             ENDGROUP[#1]

-
-            SUBGROUP[#2]
-               CurveInputValues=FLOATARRAY:
-               CurveOutputValues=FLOATARRAY:
-               InputChannel=INT:106
-               InputFeedType=INT:1
-               InputName=STRING:Input
-               Logic=INT:0
-               SimpleMaxPercent=FLOAT:1.
-               SimpleReversed=BOOL:No
-
-               SUBGROUP[InputActivatedWhen]
-                  Value1=FLOAT:0.
-                  Value2=FLOAT:0.
-                  WhenInput=INT:100
-                  WhenLogic=INT:1
-               ENDGROUP[InputActivatedWhen]
-
-            ENDGROUP[#2]
-
          ENDGROUP[InputFeedsArray]

       ENDGROUP[#7]

       SUBGROUP[#8]
          Expo=FLOAT:0.
@@ -613,15 +593,15 @@
       ENDGROUP[#12]

    ENDGROUP[OutputChannelsArray]

 [Main]
 AircraftType=INT:1
-AppVersionBuild=UINT64:900022
+AppVersionBuild=UINT64:950068
 BasedOn=STRING:O:\scenerydisk16\Image\Models\Vehicles\E-flite Mini Convergence VTOL\E-flite Mini Convergence VTOL.bse
 CDName=STRING:RealFlight 8.5
 CommentTSTRING=STRING:T# Convergence Tilt Tri QuadPlaneÕÒÕÒAircraft Model: Derivative of RealFlight Mini-ConvergenceÕÒÕÒModel modifications by : Mark Whitehouse and Henry WurzburgÕÒÕÒ* Wing Span....... 30 (in)ÕÒ* Length............27.8 (in)ÕÒ* Weight............2.12 (lbs)ÕÒ* Power............. 2x E-Flite 2210-1459kv, E-flite 2730-1550kv rearÕÒ* Prop.............. APC 7x6ÕÒ* Battery.......... 3 Cell - 2200 mAh - Li - PolyÕÒÕÒÕÒArduPilot Servo Functions:ÕÒ* Servo1     Left elevonÕÒ* Servo2       Right elevonÕÒ* Servo3      Left Motor tiltÕÒ* Servo4       Right Motor tiltÕÒ* Servo5      Motor 1ÕÒ* Servo6       Motor 2ÕÒ* Servo7       Motor 4ÕÒÕÒParameter file/setup notes:ÕÒÕÒ* AETR normal control order, full span aileron controlÕÒ* RC8(SwB) is mode: MANUAL,FBWA,CRUISEÕÒ
 DesignerNotes=STRING:
 DynamicsVersion=INT:600
 EnableDaytimeLights=BOOL:No
 LaunchMethod=INT:1
@@ -1042,17 +1022,17 @@
             IsPusher=BOOL:No
             LateralDragFactor=FLOAT:1.
             LocationInParentMTR=VECTOR3:0.,-0.03109,0.
             NumBlades=INT:3
             ParasiticDragFactor=FLOAT:1.
             PostStallDragFactor=FLOAT:1.
             PostStallMomentFactor=FLOAT:1.
-            PropDiameterMTR=FLOAT:0.14
+            PropDiameterMTR=FLOAT:0.13716
             PropManufacturer=STRING:Tempest 250 Black
-            PropPitchMTR=FLOAT:0.12
+            PropPitchMTR=FLOAT:0.13716
             PropVisualScale=FLOAT:1.
             PropWashFactor=FLOAT:0.
             RightThrustDEG=FLOAT:0.
             RightThrustSlaveDEG=FLOAT:0.
             ServoThrottle=INT:138
             ServoThrottleRev=BOOL:No
             ServoThrottleRevSlave=BOOL:No
@@ -1202,15 +1182,15 @@
             SnapRollBoostFactor=FLOAT:0.
             SoundProfile=STRING:Small Outrunner
             StallSeverity_000=FLOAT:1.
             SymetricalAboutAxis=INT:0
             TorqueGeneratorElectric=STRING:E-flite 2210-1450kv
             TorqueGeneratorGas=STRING:OS .40 FP with Standard Muffler
             TorqueGeneratorTurboProp=STRING:Lister 2500
-            TorquePercent=FLOAT:2.
+            TorquePercent=FLOAT:0.7
             VariablePitchMax=FLOAT:10.
             VariablePitchMin=FLOAT:-10.
             VariablePitchServo=INT:0
             VariablePitchServoRev=BOOL:No
             VariablePitchServoRevSlave=BOOL:No
             VariablePitchServoSlave=INT:0
          ENDGROUP[#141]
@@ -1308,15 +1288,15 @@
             SnapRollBoostFactor=FLOAT:1.
             SoundProfile=STRING:Small Outrunner
             StallSeverity_000=FLOAT:1.
             SymetricalAboutAxis=INT:0
             TorqueGeneratorElectric=STRING:E-flite 2210-1450kv
             TorqueGeneratorGas=STRING:OS .40 FP with Standard Muffler
             TorqueGeneratorTurboProp=STRING:Lister 2500
-            TorquePercent=FLOAT:2.
+            TorquePercent=FLOAT:0.7
             VariablePitchMax=FLOAT:10.
             VariablePitchMin=FLOAT:-10.
             VariablePitchServo=INT:0
             VariablePitchServoRev=BOOL:No
             VariablePitchServoRevSlave=BOOL:No
             VariablePitchServoSlave=INT:0
          ENDGROUP[#140]
tridge commented 1 month ago

@robertlong13 thanks!