-
Notifications
You must be signed in to change notification settings - Fork 16.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Plane: handle Twin Engine motor failures #1861
Comments
yes, I think it would be very nice to support twin engine planes like this. It will be quite a large change, so may not come soon, but thanks for opening an issue for it! |
Here is another interesting twin on the market: |
I am very interested in this as well. I have just setup a My Twin Dream with a pixhawk and want to have support individually for the motors. Currently I am using a Y cable off the same throttle input, but, +1 for support for twins! There are quite a few great twin platforms out now. Thank you! |
+1 for support for twins |
As I have written before: I have a sea plane with two motors. One on each wing. In all situations, except one, they can run at the same setting but: Adding support for dual motors for Ground Steering or Always would be highly appreciated Another issue is that the PixHawk is unable to drive two Multistar Esc from one RC port. It took my some time to discover why the motors refused to start after arming. The work around, for me, is to make a small PCB that is able to drive the two Escs. Thanks |
+1 for twin support, Differential thrust would be great to have, as my twin has a castor front wheel no nose gear servo for ground steering. |
One more needs support for twins! |
I'm very interested in this, as well. Since quadcopters, etc. essentially use differential thrust for yaw control, I imagine using some of that code could make it happen... but I don't know nearly as much about it as I'd like to. |
So there are two different proposals here. Mine is to code the rudder (and other control surfaces) to handle asymmetrical thrust with just one motor for redundancy. |
I have two identical pairs of ESC & brushless motor combinations. But both of these motors have different speed (Asymmetrical Thrust). How do I fix this? Thanks. I use AeroStar Advance 120A ESC Opto and i have ardupilot. |
I would start with making sure the motor bearings are clean and properly lubricated, in addition to using your radio to calibrate the ESCs. Beyond that would probaly require some microcontroller programming for further calibration/synchronization, (like with an arduino, rasberry pi, etc.) but I haven't done that, yet. |
thanks bro.. if i have trying to calibrate the ESCs using my radio but obtained the same results, is there another way for calibrate/synchronize the motor? |
I was a little surprised to find no support for dual motors. Any updates on this? Is this possible using custom mixers and if so, any pointers on how to do that ? Ive been reading the docs but frankly, its over my head. |
I am running twin engine 10 foot wing this would be very helpful for ground steering as well as some yaw control wile flying as spoilers are nice but a waste of resources. I also have twin p-38 no rudder |
+1 for twin-engine support. BormaTec has a twin-engine plane (Explorer) and is working on a new one. |
support for twin-engine with differential thrust for yaw is in PR #5708, and should (I hope!) make it into 3.8 |
That's great news @tridge. I'll leave this open since this issue was originally more about handling a motor failure than differential thrust. |
This is awesome news. Thanks so much.
…On Tue, Feb 14, 2017 at 7:03 PM, Andrew Tridgell ***@***.***> wrote:
support for twin-engine with differential thrust for yaw is in PR #5708
<#5708>, and should (I hope!)
make it into 3.8
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#1861 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AOVt_aDvrojlB6QJTHOopsRcJl0GPKA6ks5rckDmgaJpZM4Ddait>
.
|
@iskess do we know that AP does not automagically handle this? |
Marc, The difference with your experience of the branch on your wing is that the autopilot only had the asymmetrical drag to deal with. When you add in the element of losing half the power, the likelihood of getting too slow to keep the rudder effective gets very likely, especially if the autopilot is hell bent on maintaining its altitude at all costs. Add in the effects of torque, P-factor, spiraling slipstream, and induced lift over the wing and the matter gets much more critical. |
@iskess you are correct that I don't have my multi rating :) |
Marc, You have an interesting point about using the new twin motor yaw support to automatically reduce thrust on the remaining motor. The problem is leaving enough power available to maintain flight. If it could be prioritized to use differential thrust only after the rudder fails to control the yaw, that would assure that you have all the power available as long as the rudder can handle it. |
I've updated the issue topic to reflect the discussion of motor failure mitigation instead of adding the twin-engine support. |
@iskess I'll have to do some reading up on twin flying, I have a problem figuring out how a plane with dihedral can't stop a roll with ailerons unless the wings are stalled. |
Marc, In the rest of your post it is not clear to me whether you are talking about what the code can already do or what we are proposing. I agree that we need it to "reduce power until directional control is regained". As it is, the code will continue to use differential throttle to maintain yaw since the asymmetry remains. We need the rudder to do all the work, and only use the differential throttle when the rudder approaches its limit. |
@iskess sorry that my last post was not very clear.
So if one tells you you need more power for airspeed/altitude and the other one tells you to decrease power for yaw control, I don't know which one wins or whether they get overlayed in a way that things kind of just work out in most cases. |
Sounds like if there is enough rudder authority available then the yaw PID Integrator will compensate for the induced yaw as-is. It only gets really complicated of you Max or the rudder. Problem is as airspeed goes down from lack of thrust, the throttle Integrator will learn to go up too and the throttle revving will make for a very sloppy ride.. but I think it will still fly. Major premise: if there is enough/unlimited rudder available, none of this matters. Please confirm. |
Yes, if you have unlimited rudder, but as airspeed drops the asymmetrical thrust increases and the airflow over the rudder decreases. So there is always a speed (Vmc) at which you lose control. If the rudder is big enough that speed can be low enough that it's safely below the autopilot's min speed. Most model airplanes are overpowered and have small rudders as they are not designed with a single motor failure in mind. |
during a motor failure, there will be a huge yaw bias. The Yaw PID.Integrator is designed to detect and compensate for such things. If it maxes out then you're a goner anyway |
Well that's the whole point of this request, so you won't be a goner. We need simple code that detect when the rudder is approaching max. Then it just needs to reduce the thrust a bit and pitch down for airspeed. This might mean that the plane cannot hold altitude and that has to be allowable. |
Dear all, happy that I found your issue. I am a dedicated twin model pilot (Robbe Commander, Conzelmann Partenavia, Guan Li / Hobby King Canadair CL 415) and experienced some explainable and less explainable crashes with these planes. Specifically the last crash was recorded by a GoPro and clearly revealed what I guessed already before: the asynchronous shut-down of the engines in case of failure or low battery is a challenge if you are a model pilot and need to guess what is going wrong with the model some hundred meters away from you. I can see the following options (some already discussed) which should resolve different issues:
Now option 3 is not available yet (at least I do not know these ESCs) and option 4 asks for an extra controller with some sopisticated programming. Thus option 2 (as already proposed by Iskess) might be the most feasible option, however asks for someone, who is familiar with the Ardu Pilot code as well as for a platform for fixed wing models featuring a multiple motor port. Is there some idea who could be the programmer and which could be the platform? Happy to hear from you :-) |
Also would highly recommend this, and the new BL_Heli32 ESC's could make it really easy to support. Cause it to trigger a failsafe and limit the maximum bank angle. When twins suffer an ESC failure, they will usually fly alright, but they can't turn as aggressively, otherwise they enter death spirals. |
@WickedShell, maybe this could be handled as a "battery failsafe" for telemetry ESC's that have current/voltage/RPM sensing. |
Dear all, last year found myself tinkering with ArduPilot and HKPilot32 (from Hobbyking) mounted inside a Volantex Ranger 1600 – thus no issues with twin engines ;-) Now our model air field was closed down due to the corona pandemia and I unintentionally spent more time in the work shop tinkering about twin engine models. Since I am not familiar with the ArduPilot code I decided to follow my option 4 from above and have an Arduino board in between the receiver and the ESCs and come up with a stategy to act on the signals to the ESCs in case of engine failures. Engine failures will be detected either by comparing the amps or the rpms of the brushless motors. I deceided to do both for the sake of redundancy. So, which sensors to be used? I am quite happy for some time using RC by FrSky (Horus X12S, X8R), and I did not feel the need to change from the FrOS to OpenTX up to now. However, there are some annoying limitations regarding dual sensors. Dual sensors can be configured and visualized, however can not be addressed by dedicated variables inside the TX. Dedicated variables (e.g. Current1 and Current 2), however would be needed to do some alarming and failure acting inside the TX. I already addressed the issue of dual sensors to FrSky, but they seem not to be willing to extend the variable list of FrOS for dual sensors (OpenTX possibly would do better, however at the moment I want to stick to FrOS). I found another way to overcome the limitations from above. Some bright people came up with telemetry code for the FrSky system (e.g. OpenXsensor, or the telemetry code of Pawelsy) that brings in the freedom to use custom sensors and allocate them to different variables inside the TX. At the moment I only want to use the telemetry for alarming purposes, however signal processing inside the TX would also be possible then. My „Twin Engine Monitor“ now encompasses:
I broke down the Arduino program into pieces for testing, and each of the pieces already worked as intended. I had some concern about the processing time, however I found that the clock time of the ATmega 328 (16 MHz) allows for ample Arduino code lines without impacting the real time performance of the RC system. After a proof of concept it should be possible to extend the ArduPilot code respectively and get rid of the Arduino board. Also new ESCs with telemetry output could be used instead of individual sensors. For now I like to add a photo of my test rig (Hobbyking Bushmule, Owon Mixed Signal Oscilloscope, Uni-T Tachometer) and will keep you informed about new findings. |
This was originally posted on DronesDiscuss but I never got a reply, I apologize for the cross post.
Is there any interest in code to support a twin motor airplane? I have flown the Twinstar for years, and now I'm considering the new My Twin Dream, which is a similar but larger version.
A twin has the opportunity to provide redundancy, but without proper pilot training, or in this case autopilot code, it can actually increase the likelihood of a catastrophic crash.
A remote pilot is unable to quickly identify a motor failure because he lacks the benefit of feeling the sudden yaw. Also his reaction is likely to be to correct with aileron rather than rudder. An autopilot could identify the failure nearly instantly. Assuming the sideslip Controller were activated, the autopilot would add rudder to counteract the asymmetrical thrust. Once the rudder is nearly at full deflection, the throttle on the remaining engine would be reduced to maintain directional control. The new Stall Prevention code would come into play keeping the bank angles reduced at slow speeds, and adding a pitch down bias to keep the speed up.
It would also be helpful to allow for a second throttle channel. This could be used to inhibit current to motor that has been developing no thrust for a period of time. This might prevent a fire. Randy's motor failure test code could be used to test inflight failures. The Asymmetrical thrust could also be used to synchronize the motors (manually), or provide better ground (or sea) handling.
Here is a recent video of the MyTwinDream suffering a loss of one propeller in flight. The MyFlyDream autopilot handled the situation quite well and the pilot didn't even identify the problem until after landing.
https://www.youtube.com/watch?v=nscyn5uTVhM
It could have been a differnt story if the failure occurred at slow speed, high power (ie, takeoff). A windmilling prop would have hurt too.
Thoughts?
I volunteer to beta test, it sounds like fun.
The text was updated successfully, but these errors were encountered: