Why would DesRoll command so wildly?

Hello people!

Yonah team has been out testing again. We managed to integrate another aircraft following our success from here , calling it Nemo5. We’ve been happily testing away.

However, on this plane, we’ve been having a problem: DesRoll appear to command quite wildy. Below is an example of how bad it is. We think that it results in some level of roll oscillations.

We’ve tried the following. Both worked to some degree in getting rid of roll oscillations but DesRoll is still commanding roll quite wildly. Both were done while in flight

  • changing NAVL1 from 20 to 26 (progressively)
  • changing RLL2SRV P from 1.8 to 1.6 (progressively) && RLL2SRV D from 0.18 to 0.19

Logs (we’re using 3.9.8 arduplane

Would love some input. Thank you!


I had a look at the first log and there are a few clear issues:

  • you have a lot of airspeed noise. It doesn’t look like it is electrical interference as the airspeed temperature is not affected. I suspect you have a problem with turbulent airflow near static or dynamic ports. Can you post photos of the airspeed setup?

  • you have high vibration. It is bad enough that the 3rd IMU is clipping continuosly:

high frequency vibration is also causing aliasing of the accelerometers:

and this is causing attitude estimation errors between the two EKF lanes:

You need to fix those issues before you can fix the rest.
Cheers, Tridge

Thanks Tridge.

I’ll have to think about the vibration issue. As it is, the electronics are designed within a tight space: there’s hardly any space left to add dampeners.

Took some photos of our airspeed setup

  • We’re using pitot tubes from mRo
  • Made our own pitot tube mount, away from engine and underneath right wing ; prop is 22 inches

Photos of how our Cube is setup ; Added some epoxy at the joints where the arrow is pointing - it was moving a little ;

Once again, thanks for the input.


We flew the same aircraft back in Dec 2019. However, the clipping wasn’t that bad.

I think you need to put that pitot further forward. You could do that by securing it to some piano wire and then clamping the piano wire in the existing wing mount.
You may also find the rapid change in desired roll would be reduced if you had more of a gap between TRIM_ARSPD_CM and ARSPD_FBW_MIN. You are asking the plane to fly at 24m/s, with a min speed of 22m/s. The noise in the airspeed sensor means the airspeed is constantly dipping down close to the min speed. That is causing the roll limit code (stall prevention) to change the desired roll.
If you flew faster or lowered the min speed then I think the issue would be reduced.

1 Like

Did some flying to collect FFT data - to get a better idea what frequencies are actually dominating. Links below - with and without payload in.

With Payload

Without Payload

We’ve been out and about again this past week. Interestingly, we learned something about our aircraft. In the log posted below, the airspeed started to fail after about 30 mins into the flight. As expected, Arduplane’s response was to use synthetic airspeed, resulting in higher engine power being commanded via the throttle. Because the system was looking nice and stable, I decided it was ok to push on with the 1 hour test. Winds were whipping in between 020 to 040, between 7-10m/s.

On average, the aircraft was cruising along at 36-38m/s ground speed on the down wind leg , and 24-25m/s on the up wind leg. The first thing I noticed is that at higher throttle levels, average vibration in Z stayed below 20m/s/s consistently. Looking at the NKF1 vs NKF6 roll estimation also seem to indicate a much closer estimation (3-4 deg vs 5-9 deg) ; Clipping is also non-existent in this part of the flight (compared to an increase of 754 clips in the segment before airspeed fail)

So it seems, with this engine and fuselage pairing, vibration in Z is a lot less harsh when engine is operating at a higher RPM. I cannot tell if its because the engine simply runs smoother at higher RPM or that we’re exiting the fuselage’s natural frequency. Thought I would do a follow up on this to share what we have learnt this past week.