QuadPlane( 2 front motor tilt)transition yaw swing

I’m working on testing the new code as well, we should have it compiled today and then it’ll be a matter of the mercy of the weather.

The weather gods were indeed merciful, so I was able to get some testing in today on the modified code.
Logs are here, the one marked “Normal Firmware” is from friday while the one marked “Modified Firmware” is of today’s flight. The Normal Firmware log contains two flights, the first one was a tuning flight (as this was done on a freshly built airframe) while the second one was for VTOL transition datalogging.
Points of note:
-The testing in these two logs was done on an airframe with a lower wing loading and a higher power/weight ratio, compared to the airframe that I have had the most issue with. I used this one for safety sake, as it performs better all around.
-The yaw “issue” during transition is less noticeable on this lighter aircraft, but is still present.
-The modified firmware seems to have the desired effect, unexpected yaw during transition has decreased and the remaining amount could likely be chalked up to wind.
-However, I noticed an odd behavior during quad flight. Using Q_Stabilize, control sensitivity felt greatly impaired compared to normal firmware. Especially pitch forward. Not sure what’s up with that. Might be related to the new code, might be something to do with the fixed wing TECS tuning I did on friday.
-Q_loiter was perfectly fine
-Yaw in quad was greatly out of tune, compared to normal firmware. I messed around with the PIDs for a few minutes to get it “good enough” to test, but ideally I’d like the fix to allow for standard (non-vectored) yaw control for quad frames. Aircraft with only a single tilt servo wouldn’t be able to function with what I flew on today.

Ok, I’ve done some more test hovers while playing with params. it appears that my Q_Stabilize pitch control issue was indeed caused by TECS settings. Not sure what the path to solving that would be, though, it’s either “Fly with incorrect TECS settings” or “Fly without adequate Q_Stabilize control”. I’m not sure why TECS is affecting quadcopter modes in the first place?

that is odd, as TECS is not used at all in QSTABILIZE mode
regardless, I think your results are sufficient that we should create a frame type without yaw control in the AP_Motors backend, leaving yaw to the vectoring

2 Likes

Hi Tridge,

I’ve got the same issue that James and Marco: the plane always yaws in transitions when the front servos tilt (H configuration). Are you still planning to add a new frame type without torque yaw control?

Hello everyone,
I was also testing a vtol quad plane with front 2 motors tilting(x config)… I am also facing the same issue of yawing. please let me know if you all were able to find a solution.
Thanks

Having the exact same problem running the same configuration, is there any solution or fix?

Or does the pilot just have to fight it like seen in the video above? We wanted to run an auto mission with ours and the autopilot likely would not be able to handle it.

If anyone can help or any devs have instructions any help would be appreciated. @tridge @Leonardthall

1 Like

hi all (and especially @ianfreemantle who I promised an update to a while ago).
I know it has been quite a while since this issue was raised, but we’re finally getting somewhere. Over the last week I’ve been working with @kris and Brandon MacDougall over in a new quadplane ardupilot discord channel (see https://ardupilot.org/discord ) and in the simulation channel.
There are several efforts happening in parallel:

  • we’re working to create two good quality tilt-rotor quadplane models to allow us to test solutions to this and other issues affecting tilt vectored quadplanes. The first model we’re building is a model of the Arace Griffin https://araceuas.com/ thanks to assistance from Alex and Adrian from Arace.
  • I’m working with @kris to incorporate a number of changes he has made for ArduPilot on tilt-vectored quadplanes. This includes changes to yaw handling in transitions using differential thrust to cope with yaw inbalances. We’re discussing a possible change here: https://github.com/ArduPilot/ardupilot/pull/15960 . That work is on hold until we get good simulation models for testing
  • I’m working with Alex from Arace and @iampete to work on a list of feature priorities for these types of vehicles.
  • I’ve started work with @Leonardthall on a new approach to tilt vectored quadplanes that will use a vectored AP_Motors backend, so knowledge of the vectoring of the motors is build right into the motor mixer, instead of being an add-on in the ArduPlane code. That should allow us to get much smoother transitions under a wider range of conditions. We’re hoping to prototype that code over the next month.

A number of people have offered to test some of the proposed changes. I’d like to hold off on that for a few days at least until we have the simulation models working and the changes tested in simulation. Once that has happened we’ll start looking for people to test the changes.
Sorry this work has taken so long to get started.
Cheers, Tridge

3 Likes

Awesome, thanks for the update and for all the work done on this.
I’d definitely be keen to test the changes once you have the sim models working.

We now have a nice model:


I can already offer some advice based on testing on this model.
If you are flying ArduPilot stable or master releases or then you should keep the Q_TILT_MAX angle small. One of the key differences between the ArduPilot releases and the firmware that @kris has developed is that his firmware can handle large values of Q_TILT_MAX. For example, ARACE normally set this to 73 degrees for the Griffin. If you try to fly ArduPilot 4.0 or current 4.1 with Q_TILT_MAX=73 then we get wild yaw problems and the aircraft crashes in the simulation. If I test the firmware from @kris with the same settings then it flies well.
This will be the focus of my work on tilt quadplanes in master, fixing the code so that yaw is handled well with large tilt angles.
Cheers, Tridge
2 Likes

I’ve now got yaw control during transitions working a lot better. Demo here:


The PR with the changes is here:

After some review and discussion I will be looking for some brave testers of the new code

Hi Tridge/All

Here is the log of my first and second transition. The first was accompanied by a significant left yaw so it could be worth a look…the second not so much, no parameter change. Q TILT Max = 50 QTILT RATE DOWN =80, QTILT RATE UP = 200, these are Parameters from foxtech 4.1.0dev currently running 4.0.7.

Greg Covey identified that my servo auto trim needed changing for safer flight…weird I have just connected my nimbus via mission planner and servo auto trim is set to 1 apparently this was off during flight > to a continued decent and Q Stabilise bail out. My parameter file also has my q-alt-assist as 30 yet my current parameters in MP indicates 0. Just a couple I’ll be sure to check during pre-flight.

Steve
https://1drv.ms/u/s!Auv-5QlGCPQokSjGOuIX2XzBSvNe?e=YnXDAw
Password= Password

If you are willing to be a guinea pig I can build you a test firmware with my new tilt handling code. Note that you would likely be the first person to fly it outside of simulation, so it is not a low risk flight.
Are you interested?
Cheers, Tridge

So likely the only thing that will change is transition? i.e be prepared to flick back to Q- Stabilize if it looks like its turning south… If that’s the case sure. I’m following Discord too when you are confident, I would like to send through my parameters and we could make sure my FS options and Q assist options will do just that. With the east coast low ATM it could be a few days days.
Steve

Kris has now indicated he will test my PR branch on one of his planes. So maybe wait a couple of days, then we can test on your plane.

Ok no worries…or should I say less worries Ha Ha.

is this problem unique to tilting quadplanes? I just flew my Y3 tiltrotor in FBWA today and the transition was very sketchy. As the motors go down, the plane developed violent roll and yaw oscillations for a few seconds until speed picks up and oscillations die down. After reading this post, I have the impression that i’m looking at the same issue here. I’m guessing that when tilting down to my Q_tilt_max of 45deg, there is some yaw error which led to differential tilt which introduced very strong rolling moments which cannot be eliminated just with motor thrust only. This cut out as the FBWA law replaced Qhover. I have the yaw and roll parameters plotted below. If someone has a suggestion I’d really appreciate it. reducing Q tilt max further seems to be stopgap because it is constrained by how fast I can accelerate to a safe speed.

note that in the plot above, yaw error is almost zero throughout the flight. maybe it’s the other way around, i.e., roll error causing thrust changes which led to yaw? I think an ideal control law would just try to minimize the side slip during transition so that the nose is kept pointing forward, but without a good set of sensors side slip is probably difficult to obtain reliably anyway.

hi tridge, is the fix added to 4.0.8beta? i wanna test it out but have no idea how to compile the master into hex etc.

https://1drv.ms/u/s!Auv-5QlGCPQop3HtYLJ_uIParQEW?e=aqwnvS

Password is Password. First flight since the rains began two logs 3 videos. Not sure if you still need 4.0.7 logs but the video shows a pretty ordinary transition that could be useful; Nimbus V2 TOW 5.4kg Cube Black

no the changes are not part of the 4.0.x stable series, they are in 4.1.x only