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

Three stage autonomous multicopter landing #19126

Merged
merged 5 commits into from
Feb 5, 2022
Merged

Conversation

MaEtUgR
Copy link
Member

@MaEtUgR MaEtUgR commented Feb 3, 2022

Describe problem solved by this pull request
Multirotors hit the ground vertically with land speed MPC_LAND_SPEED during autonomous landing. This speed should ensure there's no damage caused upon touch down but is high enough to not unnecessarily prolong the landing procedure. The user expereince of the vehicle hitting the ground at land speed is not necessarily nice. Since it might see the ground approaching using a distance sensor it could slow down further just for touch down.

Describe @ThomasDebrunner 's solution
This PR adds params for crawl speed and landing altitude 3. In case distance sensor measurements are available, the vehicle slows down to crawl speed at landing altitude 3, for an extra smooth landing. In case no LIDAR data is available, the behavior doesn't change.

Note: If there's no distance sensor it behaves the same as before.

Test data / coverage
We use this change for months on verious systems including big multirotors and VTOLs now.

Additional context
Add any other related context or media.

@ThomasDebrunner
Copy link
Member

The biggest implication this has is that the land detector now needs to use the crawl speed to detect landing.
Since the crawl speed is lower, detecting a landing is harder. This makes sense, since the touch down is much softer.

For vehicles without distance sensor, MPC_LAND_CRWL can be set to the same as MPC_LAND_SPEED to have the same beahviour as before.

…ing approach for a more robust landing detection
@ThomasDebrunner
Copy link
Member

@MaEtUgR I added another commit that increases the default and minimal crawl speed to 0.3. That's the speed we found to be slow enough while still allowing reliable land detection

@dagar dagar merged commit b4087eb into master Feb 5, 2022
@dagar dagar deleted the three-stage-landing-upstream branch February 5, 2022 02:56
@MaEtUgR MaEtUgR changed the title Three stage atuonomous multicopter landing Three stage autonomous multicopter landing Feb 7, 2022
@hamishwillee
Copy link
Contributor

@MaEtUgR Are there any documentation impacts of this, specifically in: https://docs.px4.io/main/en/flight_modes/land.html ?

  • My guess is that minimally we need to add MPC_LAND_CRWL and MPC_LAND_ALT [1-3] in the parameter list. But would be good to add explanation of what is happening too.
  • Does this also apply in a mission landing?
  • Are there any other relevant landing "things to discuss"? (i.e. in addition to this?)

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

Successfully merging this pull request may close these issues.

None yet

4 participants