Great to hear! Yeah there are a lot of issues with tiltrotor.cpp, I think it was made with a particular airframe in mind and not the general case, so if you do anything slightly custom you get all sorts of strange/volatile behavior. Looks like youāve already come across at least one of those strange behaviors but here are the main ones:
1- MC yaw weight goes instantly to 0 after 7m/s (hardcoded). Can result in sudden yaw/roll changes depending on the state of transition
2- FW throttle only applied in FW mode. Means that in a mission, your aircraft wonāt accelerate into the correct transition speed because itās only reading MC throttle inputs
3- In the back transition the throttle is commanded to cut to 0! (Thatās what you saw!). This to prevent sudden thrust inputs in strange directions (Iāve crashed an aircraft when I changed it). But like you said it leads to the aircraft losing a lot of altitude, and isnāt great if you suddenly need to get back into hover mode (nearly crashed an aircraft because of that)
4- Again in the back transition, the MC weighting is set at 0 throughout. When I first edited the back transition I only removed the throttle cut line, but left this line. If this line is kept unchanged and the throttle line is removed (so you can have a powered back transition) you get a horrible mix of MC commands when the aircraft is not ready for MC flight (so MC roll = FW yaw with diff thrust, therefore input =/= output, autpilot canāt control the aircraft). Long story short, if you want a powered transition youāll need to progressively change the MC/FW weighting according to how far through the transition it is. Iāve never tested this in flight so I canāt guarantee it will work.
5- If you transition to FW mode while in MANUAL flight mode, the aircraft appears to lose ALL control! Iāve lost an aircraft to this, nosed dived from 50m, not good! I donāt know why this is the case (itās somewhere else in the firmware), or if this happens every time, but you want to make sure youāre in STABILIZED mode before taking off. Unfortunately, regardless of what youāve set for your flight modes, your aircraft will ALWAYS start in MANUAL mode. To fix this, make sure āPERMANENT STABILIZATIONā is ENABLED. It seems to have worked me for the time being.
Iāve nearly finished making an improved tiltrotor.cpp which should work better for all tiltrotor/tiltwing aircraft (includes fixes for the above problems related to the code), but I havenāt worked out how to upload it to github yet. Iāll let you know when I do, we might even be able to get multiple groups working on it so itās optimized for different scenarios.
As to your question, Iām not quite sure myself either, a couple of thoughts though:
Issue #1 - Best guess is itās due to issue #5 I mentioned above, if in manual mode it might just be cutting all control (but it seems that you get roll and pitch control?)
Issue #2 - Could be something with the yaw scaling/weighting. making sure the logic is correct so that the actuator output is correctly applying yaw in FW mode
Issue #3 - Sounds like youāre using servos for tilt and pitch (/forward movement) in MC mode? Iād use a āS: 1 4 ā¦ā command for the tilt control, and āS: 0 1 ā¦ā for MC pitch. If you donāt want the aircraft to pitch forward in MC mode, set your motor command line such that there is no pitch control using thrust, ei:
R: 8x 10000 0 10000 0
Then, in QGroundControl, you may want to change the parameter that limits pitch angle to something small (<10deg). I tried this a while ago and found I lost all pitch command control, but I hadnāt learnt I could stop my motors from applying pitch commands.
That said, if you work out a way to do it with another strategy Iām keen to give it a shot!