Wind speed estimation and barometer interference compensation

On several of my very recent posts I mentioned my copters sinking when transitioning horizontally in Loiter flight mode.

I got several suggestions to look at the issues addressed by the work of Dr. Paul Riseborough. I reviewed the Git message stream as the software was developed to address this issue - and the ArduPilot Conference video presentation by Dr. Riseborough on this topic. The changelog shows that the software changes were incorporated in stable release 4.1.1.

Going back over my notes, I realized that the sink behavior I’ve observed correlates with my installing 4.1.1 on my 2 OrangeCube equipped copters.

It may be that my copters exhibited some sink before upgrading to 4.1.1 - but it is so much more pronounced now that it prompted me to mention it in my posts.

Several people, notable Philip Rowse, who had followed the development of this, commented that I may need to consider the airflow issues that might be contributing to my sink behavior. I owe Randy an apology for being a bit dismissive of this suggestion - as it wasn’t something I’d observed before - and I coincidentally I was testing new props when I first observed the sink. My apologies, Philip.

In Dr. Riseborough’s presentation, he illustrates several new parameters to address the new barometric interference compensation feature - and tuning procedures.

I’ve been unable to find reference to instructions on using these new tuning parameters - or the tuning procedures required to set them properly.

If others can collaborate my observations of sink behaviors brought about by version 4.1.1 - I recommend remedies be implemented. Some I can think of might include:

  1. A parameter that defeats the new feature - and reverts to 4.1.0 behaviors.

  2. Implementation of default values of the pertinent parameters that cause the new features to closely follow behaviors in 4.1.0.

  3. Full documentation on how to tune and set these parameters - including suggested values for popular vehicle types - as was proposed during Dr. Riseborough’s presentation.

In the mean time - the only option is to revert to 4.1.0 - and as I understand it, rolling back to an earlier version can be problematic in terms of parameters.

As an practical illustration of the problem, I was doing loiter flights at an altitude of about 3 meters - and flying back toward me from about 100 meters where I was unable to visually observe the full extent of the sink, my copter’s landing gear struck the ground. I was fortunate to have recently installed the Emergency Motor Stop on an aux-switch. I was lucky - no permanent damage.

Thank you for your kind attention, consideration and comments.

You can safely change between 4.1.0 and 4.1.1 and back to 4.1.0 releases. The parameter values will be preserved. For other versions, doing a downgrade is not a good idea, but for these particular ones there are no issues

But is it highly probable that 4.1.0 will behave exactly like 4.1.1.

Thanks Amilcarlucas -

From your statement of 4.1.0, I’m guessing few or no others have noted the relationship between altitude sink in Loiter and 4.1.1. Interesting.

I’m not sure if I’ll revert to 4.1.0 - but thank you for the advice. I’d rather follow tuning instructions and make 4.1.1 work properly. Obviously, it isn’t working properly for me. Can you guide me on where to find these instructions?

As info - what happens to the parameters associated with the Wind Speed Estimation and Barometer Interference Compensation that are new with 4.1.1 when you revert to 4.1.0? eg: EK3_DRAG_xxxx?

Addendum: I noticed that the EK3_DRAG_xxxx parameters are on the parameter list for 4.1.0 - but not 4.0.8. Were they used in 4.1.0? Or maybe just established as placeholders?

Yes, all parameters are still there, and that particular part of the code has not changed.
The instructions are - as far as I know - only on the video. So you need to see it again if you did not understand them yet.

Amilcarlucas -

Do I understand you correctly? 4.1.1 implements a major improvement to aircraft performance - and there are no instructions on how to use it? Seriously?

BTW - same is true for the BAROn_xxxx parameters as EK3_DRAG_xxxx parameters.

No, the improvements you are talking about were already introduced in ArduCopter 4.1.0.
ArduCopter 4.1.1 is just a bugfix version with small improvements over 4.1.0.

Seriously, AFAIK that feature is (yet) only documented on the pull request and on the video.

If you go through the Copter Complete Parameter List the text for each of those wind and drag related params explains their function reasonably.
We just need someone to put the process into text and plug it into the doco.
Thanks in advance Joseph :slight_smile:

Seriously though, thanks for bringing up those params, I’ll go try them out if I get the time.

1 Like

Yes, it would be nice if we had documentation for the new wind speed estimation feature. It’s on the wiki to-do list for 4.1 but not complete yet.

Amilcarlucas -

I see that in the release notes now - thank you. My mistake.

I installed a beta of 4.1.0 - and the stable release - to utilize CRSF. I don’t recall experiencing the sink issue back then - and it doesn’t appear that nothing about this was added in 4.1.1.

So that would make my presumption that my sink issue is related to 4.1.1 a mistake. Unless of course - some other change had a spill over effect to EKF3.

What that means is that there’s no safe way to back out the Wind Speed Estimation and Barometer Interference Compensation changes without swapping to a new flight controller.

If I’m the only one experiencing this issue - then it’s just my problem. But I think it’s worth taking a poll to see if others are having an issue. The only way I know how to do that is to post the question on the ardupilot.org group on FaceBook - as it’s 10,000 subscribers are likely from a broader range of ArduPilot users than participate here.

There was a comment on my “sink” comments asking about PX4’s resolution to this - it was suggested that they had. That led me to believe that my reports weren’t the first about it.

Thank you - and I’m sorry for complaining. I’m just trying to succeed in operating my UAS successfully.

Please let me know if I can help. If nothing less, I’d be happy to test new procedures as they are created.

During Dr. Riseborough’s presentation, it was asked several times if some sort of auto-tune capability were possible. The complexity of the tuning process is daunting.

If there were acceptable defaults to use - that might get us past the problem for now. Lacking that - any feature that’s not fully documented should be optional. With out full documentation, the feature should be able to be disabled.

Thanks Shawn -

I checked my parameters - EK3_DRAG_BCOEF_X and EK3_DRAG_BCOEF_Y are both set to “0”.

I parameter docs suggests that this means this functionality is disabled.

Without documentation on how to set these - and others related to this feature - it should all be disabled by default. Maybe it is - and my “sink” problem is totally unrelated.

And while the documentation says what the parameters do - it doesn’t say how to set them.

Having recently gone though the FFT filter process a couple of times - it would seem documentation such as that should exist. Although the FFT documentation is a little problematic - it’s patched on after the static filter documentation - and if you don’t first read and understand the static filter documentation, you miss the explanation on how to use the FFT graphs. And as the docs says to just start with the FFT filter as it negates the need for the static filters in most cases - I was lost at sea trying to figure it out the first time - because I hadn’t read the docs on the static filters. (Thanks to Dave for bailing me out!)

Sure wish someone would hire me to help out improving some of this. I was thinking of writing a Rookie’s Guide To FFT.

The wind estimation feature is disabled by default. So no need to install a older FW to disable the feature. And the feature is not causing your issue. The feature is there, so that once activated and configured, it can solve the issue, not aggravate it.

Yesterday I flew my 5 "arducopter 4.1.1 with matek 405 ctr and I noticed a significant loss of altitude in poshold and loiter when I release the radio sticks and the quad brakes. I have the compensation parameters on the baro disabled (default). I have the .bin log if it can be useful.

image

Yes, do post the .bin file.

1 Like

Thanks :slight_smile:

Do you have .bin file from 4.1.0 as well?

I have this from the previous flight with the same quad. It’s dated September so I think it’s 4.0.7

Can you share the documentation in this thread for others to get clarity regarding this.

All the documentation and an optimized configuration sequence is included in the ArduPilot methodic configurator software.

1 Like