Skip to content
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

Copter: add sanity check of baro readings #436

Closed
GekoCH opened this issue Jul 12, 2013 · 12 comments
Closed

Copter: add sanity check of baro readings #436

GekoCH opened this issue Jul 12, 2013 · 12 comments

Comments

@GekoCH
Copy link

GekoCH commented Jul 12, 2013

Hy

Today I had a crash with the ArduCopter v3.0.1-rc1 firmware. Never experienced that before so I was really surprised that this can happen.

I first flew manually and set the copter to loiter. Then manually again and finally to loiter. Suddenly all the motors almost stopped spinning and the copter came down from 10m above ground and crashed to the ground.

The log file can be downloaded from my post:
http://diydrones.com/forum/topics/arducopter-v3-0-1-rc1-sudden-crash-out-of-loiter

In the log file you can see that the "throttle out" suddenly went down to 130 without any reason...

EDIT: Probably I found the problem, there was a huge spike from the BarAlt (jumped from 9.09m to 5275m) so there is probably the problem...

unbenannt

Andy

@rmackay9
Copy link
Contributor

rmackay9 commented Nov 5, 2013

This is added to the "AC with only Tablet" milestone after developer discussion brought up that switching to stabilize and controlling with the virtual sticks while possible, may be less of an option with the tablet only interface.

@priseborough
Copy link
Contributor

A spike filter should be applied to the baro alt. This could take the form of a rate of change limiter set to the maximum copter climb/descent rate plus margin. This could also be made asymmetric such that the rate limit is applied when the baro alt moves away from the inertial altitude, but not when it moves towards it.

@bstott
Copy link

bstott commented Mar 4, 2014

+/- 10% ?

@rmackay9 rmackay9 modified the milestones: AC 3.2.0, AC with Tablet only Mar 4, 2014
@priseborough
Copy link
Contributor

The consequences for hitting the limiter whilst descending are not good (height undershoot into the ground), so I would go for a bit more.

@bstott
Copy link

bstott commented Mar 5, 2014

Would be time based. X% over Yms. Weighted average? All time based allowing change.

@priseborough
Copy link
Contributor

Simple rate of change limiter would suffice.

@bstott
Copy link

bstott commented Mar 5, 2014

I'm noob to terms. Simple rate of change limiter? Wouldn't that be what I described?

+/- 10% rate of change over small increment of time. Or weighted average?

@priseborough
Copy link
Contributor

No - it has a specific meaning. Here's an example.

http://www.mathworks.com.au/help/simulink/slref/ratelimiter.html

@dramida
Copy link

dramida commented Apr 15, 2014

(just crashed, details here #968)
Simple solution: We need to put a validation algorithm to barometer values, same done withh GPS glitch validation. When baro data is incoherent , then altitude pid loop is disabled and motors put to hover throttle (ponderated by throttle stick)

A better strategy is a corelative filtering between baro alt, gps alt and Z acceleration (Kalman).

@priseborough
Copy link
Contributor

EKF implemented in master does reject baro spikes.

@dramida
Copy link

dramida commented Apr 21, 2014

yeah...tell that to APM users

@rmackay9
Copy link
Contributor

This should be fix with this commit (and the 10 or so that follow it):
2289b98

This will go out with AC3.2-rc4

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants