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

proper in_flight detection for rotorcrafts #201

Closed
flixr opened this issue May 26, 2012 · 5 comments
Closed

proper in_flight detection for rotorcrafts #201

flixr opened this issue May 26, 2012 · 5 comments
Labels

Comments

@flixr
Copy link
Member

flixr commented May 26, 2012

The "detection" when you are actually in flight needs some serious improvements.
This is currently done in autopilot.c autopilot_check_in_flight(), just based on if the motors are on and the throttle stick is over a certain threshold for some time.

While you are not in_flight, the yaw control is disabled and the integrators are not running.

The in_flight detection could maybe be done on a combination of velocity, acceleration and throttle...
It would be nice to have a basic state machine with e.g. landed, takeoff, flying, landing or so...

@dewagter
Copy link
Member

dewagter commented Jun 4, 2012

Same for the landing detection. I know of at least 2 crashes due to killing
inflight.

-Christophe

On Sat, May 26, 2012 at 2:39 AM, Felix Ruess <
reply@reply.github.com

wrote:

The "detection" when you are actually in flight needs some serious
improvements.
This is currently done in autopilot.c autopilot_check_in_flight(), just
based on if the motors are on and the throttle stick is over a certain
threshold for some time.

While you are not in_flight, the yaw control is disabled and the
integrators are not running.

The in_flight detection could maybe be done on a combination of velocity,
acceleration and throttle...
It would be nice to have a basic state machine with e.g. landed, takeoff,
flying, landing or so...


Reply to this email directly or view it on GitHub:
#201

@softsr
Copy link
Contributor

softsr commented Feb 18, 2013

Same story. Landing detection should be improved.
I've made actually some small improvements of the present in_flight detection.
https://github.com/softsr/paparazzi/blob/krooz_port/sw/airborne/firmwares/rotorcraft/autopilot.c#L228
It is indeed should be a combination of the throttle stick position, vertical speed and acceleration. The yaw control should be always enabled, IMHO. It would probably be useful, to trim the yaw PID in a case of descent to prevent possible roll-overs during touching ground.

@flixr
Copy link
Member Author

flixr commented Feb 18, 2013

Same story. Landing detection should be improved.
I've made actually some small improvements of the present in_flight detection.
https://github.com/softsr/paparazzi/blob/krooz_port/sw/airborne/firmwares/rotorcraft/autopilot.c#L228

Could you make a pull request with this please? Although not the final solution, that should at least be better than what we have now...

The yaw control should be always enabled, IMHO.

I don't quite understand why you want to have yaw control enabled on the ground... could you elaborate?

It would probably be useful, to trim the yaw PID in a case of descent to prevent possible roll-overs during touching ground.

Sorry, I'm not quite following. What do you mean by that?

@softsr
Copy link
Contributor

softsr commented Feb 18, 2013

Yes, right, there's no need in a yaw control on the ground. But before we detect ground, it should be on, that's what i mean.
While touching ground with a high trimmed yaw PID the rotorcraft can become very unstable and roll over eventually. So getting P and D terms down while descending would be reasonable, IMHO.

flixr pushed a commit that referenced this issue Jun 16, 2013
Closes #464
Changes to make ARDrone2 SDK fly without joystick
Still needs to be properly solved as per issue #201
flixr added a commit to flixr/paparazzi that referenced this issue Jul 2, 2013
Simply checks if thrust, speed and acceleration are above a threshold.
Does not rely on RC thrust command anymore, but only on actual thrust command.
Not tested on real vehicle at all so far...

Attempt to improve issue paparazzi#201 and replaces paparazzi#468
@flixr
Copy link
Member Author

flixr commented Dec 19, 2013

Closing this issue, since it was improved quite a lot already with the heuristic using thrust, speed and acceleration.
Of course further improvement are still possible (e.g. full state machine)...

@flixr flixr closed this as completed Dec 19, 2013
@flixr flixr removed this from the v5.2 milestone Mar 5, 2014
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants