September 14, 20232 yr 2 hours ago, Murmur said: Sounds like a classic PID controller could be perfect for the task (or maybe even a simpler PD controller), maybe it can be easily coded in your plugin. thats the current source of the misbehavior in the default imho. the governor (especially in the R22) is never really active, the correlator does all the hard work. Governor only kicks in when the rotor rpm is heading to far out of bounds adding a little or taking a little away (and if you grip the handle too hard you override it completely - I made that mistake once on landing after a very long flight, resulting in the low rpm horn and a fairly panicked "your command, my command" transfer of controls to my instructor) Edited September 14, 20232 yr by mSparks AutoATC Developer
September 14, 20232 yr 20 hours ago, Matchstick said: Of the other XP12 friendly freeware helos the Bel Oh-58 Kiowa Warrior Tried that one as well. Equally FPS costly. And it's a bit of a turnoff that it's purely military. Not really blaming the developer though. The Kiowa uses SASL to render its custom displays, which has great performance issues with large scripts in XP12. If you know a payware helo for XP12 and does not use SASL, only xlua, feel free to recommend it. Maybe I'll consider it during the next sale. 12 hours ago, mSparks said: yes, there are lots of "spot on" little but important details in X-Plane helicopters (now), that is one of them. So I had another stab at it. https://github.com/mSparks43/R22_governor/releases/tag/v1 My conclusion is that default is far to aggressive in attempting to maintain rotor rpm, there should be a lot more "slack" in the rotor rpm range and the governor should move the throttle much more graciously. I went back to the maintenance manuals: They got this much right, but then the rate they run throttle changes with the governor on is basically "lock rotor rpm at 53 rads/sec", I watched it spin the throttle from 50% to 100% in a fraction of a second at times - that's the "bump". I instead wrapped it in a dual speed governor that very gently changes the throttle if it goes outside 52.6 - 53.4 and more aggressively if it goes outside 52 - 54 and the prop speed is still going in the wrong direction. Now to do exactly the same for VSLs R44. The script makes the throttle behavior quite weird. If I am at 100% throttle, engine and rotor RPM are way out of bounds. Maybe a true P(I)D controller as per @Murmur's suggestion would be better, although tuning it can be an awful and lengthy process. Edited September 14, 20232 yr by Bjoern 7950X3D + 7900 XT + 64 GB + Linux | 4800H + RTX2060 + 32 GB + Linux My add-ons from my FS9/FSX days
September 14, 20232 yr 1 hour ago, Bjoern said: . If I am at 100% throttle, engine and rotor RPM are way out of bounds. Yes, it should do that (to an extent). The governor is a small electric motor that turns the throttle housing on a fairly loose clutch. https://robinsonheli.com/wp-content/uploads/2023/03/r22_poh_full_book.pdf OVERSPEEDS DURING LIFTOFF Helicopters have been severely damaged by RPM overspeeds during liftoff. The overspeeds caused a tail rotor drive shaft vibration which led to immediate failure of shaft and tailcone. Throughout the normal RPM range, tail rotor shaft vibration is controlled by damper bearing. However, damper is not effective above 120% RPM. Mechanical correlation can cause overspeed during liftoff if RPM is increased to normal flight settings and collective raised before governor is switched on. Overspeeds can also occur if throttle is gripped too firmly during liftoff causing governor to be overridden. Inexperienced pilots, who are most likely to be nervous or distracted, are particularly susceptible to this type of overspeed. To avoid overspeeds during liftoff: 1. Always confirm governor on before increasing RPM above 80%. 2. Verify governor stabilizes engine RPM near top of green arc. 3. Maintain relaxed grip on throttle allowing governor to control RPM. and CAUTION When operating at high density altitudes, governor response rate may be too slow to prevent overspeed during gusts, pull-ups, or when lowering collective. Edited September 14, 20232 yr by mSparks AutoATC Developer
September 14, 20232 yr re: Helicopter controllers Any suggestions for a joystick and modifications to handle a helicopter reasonably well? Jim Morgan
September 14, 20232 yr @mSparks Here is a true PID controller governor. With it, I do not get any extreme RPM fluctuations anymore and no undesired kick at takeoff. But the R22 flies rather weird. Guess the P,I and D gains need more tuning. --[[ PID Governor for the default XP12 R22 and any other piston powered helicopter By BK and msparks Licensed under the EUPL 1.2 ]] --[[ SETTINGS ]] local Debug = 1 -- Print debug output to developer console or terminal and Log.txt local Axis_Index = 4 -- The index of the hardware axis for throttle input local Eng_RPM_Target = 2630 -- Target RPM for the engine local K_p = 0.000005 -- Proportional term gain --> Controls reaction to error local K_i = 0.0000125 -- Integrative term gain --> Controls prediction of error local K_d = 0.00000075 -- Derivative term gain --> Dampening of overshoots local Time = 0.25 -- Look ahead time for intergral and derivative terms --[[ VARIABLES, DO NOT TOUCH ]] local Eng_RPM_Error = {} -- Delta between target and current engine RPM local P_out,I_out,D_out=0,0,0 -- PID control term outputs --[[ DATAREFS ]] simDR_Engine_RPM = find_dataref("sim/cockpit2/engine/indicators/engine_speed_rpm") simDR_Governor = find_dataref("sim/cockpit2/engine/actuators/governor_on") simDR_Joystick_Axis = find_dataref("sim/joystick/joy_mapped_axis_value") simDR_Num_Engines = find_dataref("sim/aircraft/engine/acf_num_engines") simDR_Throttle_Override = find_dataref("sim/operation/override/override_throttles") simDR_Throttle_Use = find_dataref("sim/flightmodel/engine/ENGN_thro_use") --[[ FUNCTIONS ]] function R22_Governor() for i=0,(simDR_Num_Engines-1) do -- Do for all engines if simDR_Governor[i] == 1 then -- Only do if governor is on Eng_RPM_Error[i] = Eng_RPM_Target - simDR_Engine_RPM[i] -- Error P_out = K_p * Eng_RPM_Error[i] -- Proportional term, current error I_out = K_i * Eng_RPM_Error[i] * Time -- Integral term, future error D_out = K_d * Eng_RPM_Error[i] / Time -- Derivative term, change rate of error simDR_Throttle_Use[i] = simDR_Throttle_Use[i] + (P_out + I_out + D_out) -- Output if simDR_Throttle_Use[i] > simDR_Joystick_Axis[Axis_Index] then simDR_Throttle_Use[i] = simDR_Joystick_Axis[Axis_Index] end -- Clamp output to axis input end end end function Console_Output() for i=0,(simDR_Num_Engines-1) do -- Do for all engines if simDR_Governor[i] == 1 then -- Only do if governor is on print("Axis: "..string.format("%05.3f",simDR_Joystick_Axis[Axis_Index])..", RPM Error: "..string.format("%+010.4f",Eng_RPM_Error[i])..", P: "..string.format("%+09.6f",P_out)..", I: "..string.format("%+09.6f",I_out)..", D: "..string.format("%+09.6f",D_out)..", Out: "..string.format("%+09.6f",P_out+I_out+D_out)..", Throttle: "..string.format("%+.4f",simDR_Throttle_Use[i])) end end end --[[ X-PLANE RUNTIME ]] -- Runs at flight start function flight_start() simDR_Throttle_Override = 1 -- Overrides the default throttle end -- Runs every frame before physics function before_physics() R22_Governor() end -- Timers if Debug == 1 then run_at_interval(Console_Output,1) end -- Debug output timer 2 hours ago, jcjimmy said: re: Helicopter controllers Any suggestions for a joystick and modifications to handle a helicopter reasonably well? Depends on how much you wish to spend. My Thrustmaster T.16000M isn't the best option for prolonged heli flying due to its stiff center spring, unless you appreciate the muscular training effect. I think the more expensive systems like X52 and Warthog allow removal or softening of their springs to make fine control easier. For the latter, and other sticks like Virpil, there are also extensions to increase the lever arm. Or you can go overboard and outright buy a dedicated helicopter input system from MaxFlightStick. Edited September 14, 20232 yr by Bjoern 7950X3D + 7900 XT + 64 GB + Linux | 4800H + RTX2060 + 32 GB + Linux My add-ons from my FS9/FSX days
September 14, 20232 yr 37 minutes ago, Bjoern said: @mSparks Here is a true PID controller governor. With it, I do not get any extreme RPM fluctuations anymore and no undesired kick at takeoff. But that is also not how the Robi governor works. The governor drives a 1.5Amp motor that rotates the throttle a tiny bit if rpm is less than 102.5% or more than 105.5% (104+/-1.5%, or 102% to 104% depending on who you believe) (R22, R44 is slightly different). not timed it exactly, but it turns the housing at roughly 0.5 revolutions per second. afaik there is no speed control of its rate, its all or nothing. Nearly all the throttle input is done by the throttle correlator That varies the throttle by 70% of its range from collective down to collective up Verify throttle correlation. Set MAP to 22 inches and turn governor off. Without twisting throttle, lower collective to 12 inches MAP then raise it to 22.5 inches MAP. RPM must stay in green arc. That second video suggests maybe it should just be the fast one always.... Edited September 14, 20232 yr by mSparks AutoATC Developer
September 15, 20232 yr Hi Bjoern, Thanks for your reply regarding joysticks for helicopters. I am using a Thrustmaster 1600 and the spring tension is too high for comfortable flight. None of my other joysticks have a means of reducing the spring tension either - except, perhaps, by disassembly. I hope some some manufacturer will make an adjustable spring tension for more realistic forces. Helicopters are tricky enough............ Jim Morgan
September 15, 20232 yr 23 hours ago, Bjoern said: Tried that one as well. Equally FPS costly. And it's a bit of a turnoff that it's purely military. Not really blaming the developer though. The Kiowa uses SASL to render its custom displays, which has great performance issues with large scripts in XP12. If you know a payware helo for XP12 and does not use SASL, only xlua, feel free to recommend it. Maybe I'll consider it during the next sale. I've had a look through the XP12 friendly helos I have installed and they seem to break down into 3 camps Ones based around plug-ins that have a SASL label: Nimbus UH-1s Freeware Bell 429 Cowan Airbus H125/Eurocopter AS350 B3e Cowan Bell 206B3 Jetranger Cowan Bell 206L3 Longranger Cowan Bell 222B Cowan Bell 222UT Cowan McDonnell Douglas MD500 Freeware OH-58 Kiowa Warrior Virtavia Westland Sea King Virtavia Westland Commando Ones based around plug-in that don't have a SASL label: X-Trident Bell 412 X-Trident Boeing Ch-47D Chinook Rotorsim Eurocopter EC135 Ones that aren't showing a core plug-in X-Rotors Agusta Westland AW109 Power Elite HSF Eurocopter EC130 B4 JRX MBB Bo 105 DBS-4 JRX Aérospatiale SA S341B & SA 342J Gazelle Philip & Khamsin Aérospatiale SA 315B Lama VSKYLABS Cicare-8 VSKYLABS Dynali H3 VSKYLABS Guimbal Cabri G2 VSKYLABS Robinson R44 VSKYLABS Robinson R66 VSKYLABS Revolution Mini-500 Of that last group I like the JRX MBB Bo 105 DBS-4 and especially Philip & Khamsin Aérospatiale SA 315B Lama very much and the new HSF Eurocopter EC130 B4 is also shaping up to be something extremely good as well Edited September 15, 20232 yr by Matchstick
September 15, 20232 yr On 9/14/2023 at 11:40 PM, mSparks said: But that is also not how the Robi governor works. ... Oh. Well, at least my approach is universal. Does the governor ever apply 100% throttle? 13 hours ago, jcjimmy said: Hi Bjoern, Thanks for your reply regarding joysticks for helicopters. I am using a Thrustmaster 1600 and the spring tension is too high for comfortable flight. None of my other joysticks have a means of reducing the spring tension either - except, perhaps, by disassembly. I hope some some manufacturer will make an adjustable spring tension for more realistic forces. Helicopters are tricky enough............ If you google "T.16000M spring mod", you will get various results and instructions from people who modded theirs. I'm not too keen to try them myself, but if you're good at tinkering, definitely take a look. The Thrustmaster T.Flight sticks, on the market for over a decade now, still appear to have an easily adjustable spring and are quite cheap. 5 hours ago, Matchstick said: Ones that aren't showing a core plug-in X-Rotors Agusta Westland AW109 Power Elite HSF Eurocopter EC130 B4 JRX MBB Bo 105 DBS-4 JRX Aérospatiale SA S341B & SA 342J Gazelle Philip & Khamsin Aérospatiale SA 315B Lama VSKYLABS Cicare-8 VSKYLABS Dynali H3 VSKYLABS Guimbal Cabri G2 VSKYLABS Robinson R44 VSKYLABS Robinson R66 VSKYLABS Revolution Mini-500 Of that last group I like the JRX MBB Bo 105 DBS-4 and especially Philip & Khamsin Aérospatiale SA 315B Lama very much and the new HSF Eurocopter EC130 B4 is also shaping up to be something extremely good as well VSL, P&K, JRX and HSF all use Xlua, so exactly what I want. X-Rotors appears to use something else (Gizmo?) because they only support Windows and Mac (Xlua always comes with a Linux binary). Thanks for the comprehensive overview. I think I'll keep an eye on some of these during the upcoming sales. Edited September 15, 20232 yr by Bjoern 7950X3D + 7900 XT + 64 GB + Linux | 4800H + RTX2060 + 32 GB + Linux My add-ons from my FS9/FSX days
September 15, 20232 yr 26 minutes ago, Bjoern said: Does the governor ever apply 100% throttle? maximum take off weight, hot, humid, high altitude is going to be very close to full throttle (there is probably some margin for pushing it that bit extra at risk of damaging the engine). I guess that will also be why there is the warning it might overspeed at high altitude, because if you transition from a climb needing nearly full throttle to descent needing almost idle, the time it takes to throttle down is going to tend to be fairly significantly slower than required. The mechanical governor in the robis is different from the electronic governors that manage it all by the fuel injection/engine management system (like we did recently in the 744), those can react instantly and with a lot more granularity. 26 minutes ago, Bjoern said: The Thrustmaster T.Flight sticks, on the market for over a decade now, still appear to have an easily adjustable spring and are quite cheap. I 3D printed mine, been through a couple of iterations now. hoping the next version is a keeper, it just needs minor changes, and hopefully getting force feedback on the throttle robust (it did work but its broken). Edited September 15, 20232 yr by mSparks AutoATC Developer
September 27, 20232 yr On 9/13/2023 at 12:52 AM, Bjoern said: Cockpit complexity principally isn't an issue, but at the moment, I'm more focused on a quick startup sequence, good outside visbility and little other potential distractions in terms of systems to completely focus on flying. I've looked at some freeware and payware helos already, but nothing really struck my fancy yet for various reasons (price, visuals, FPS). Maybe during the next sale. And I'm open to payware recommendations as long as they're not using SASL and have minimum FPS impact. The freeware EC-145 was kind of perfect in XP11 for me, but sadly has not been updated to XP12. Based on all the above, you might really enjoy the Khamsin/Ubben SA 315B Llama. My absolute favorite X-Plane helo - period end of story (I have most of them and THIS is the one that gets the majority of my time). I haven't done any FPS comparos, but it runs fine on my relatively modest rig (years old). I even have room to turn up the Sim Rate (recommended for helos, esp). IIRC, it's one of the only helo addons to have scored a Perfect 10 over at HeliSimmer.com (review by an IRL pro pilot). The review is for v11, and the v12 update addressed the exceedingly few niggles they noted: https://www.helisimmer.com/reviews/philip-ubben-khamsin-studios-sa-315-lama-x-plane
September 28, 20232 yr Well, the problem with the Lama is the subject matter itself. 😅 But I'll keep a look out for it during the next big sale. In the meantime, I'm making progress with the R66. While I still have a bit of trouble judging the correct speed, rate of descent and collective setting for a landing without subsequent correction to touch down at the intended point, I did narrow laps around and hovering exercises near an airport fuel tank (learning by risk of pain) and everything worked pretty well, even without head tracking. Gotta admit that the (unrealistic) rotor trim that VSKYLABS implemented in the Robinson helps a lot with controllability. 7950X3D + 7900 XT + 64 GB + Linux | 4800H + RTX2060 + 32 GB + Linux My add-ons from my FS9/FSX days
Archived
This topic is now archived and is closed to further replies.