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

Add vertical emergency braking in auto mode #18277

Merged
merged 2 commits into from
Sep 23, 2021

Conversation

bresch
Copy link
Member

@bresch bresch commented Sep 22, 2021

Describe problem solved by this pull request
If the drone is sinking really fast (i.e: well above usual maximum descent speed) and if the user switches to an auto mode to recover (RTL or other), the trajectory generator will generate a smooth (from design parameters) that usually creates a too long braking distance. Furthermore, the setpoints are clipped by the velocity controller, creating a hard stop followed by a controlled descent (that looks like an overshoot).

Describe your solution
If the drone is falling at a speed above twice the maximum downward speed, the trajectory generator enters an "emergency braking mode" that sets higher acceleration and jerk parameters (9.81m/s2 and 9.81m/s3) until the vertical velocity trajectory reaches 0m/s. After this, it goes back to normal and uses the usual parameters to continue the mission.
emergency braking

Test data / coverage
SITL:
https://logs.px4.io/plot_app?log=c47a8da3-6bc5-4d9f-88d6-3643465b0c42

And real flight tests. We use that on our vehicles for ~3 months

Currently only for the Z axis. If the current downward velocity is more
than twice the maximum allowed value, the emergency braking mode is
activated. In this mode, a higher vertical acceleration and jerk is used
until the vehicle stops moving.
When engaging auto mode at high vertical speed, we don't want to cut the velocity
trajectory setpoint in order to create a smooth deceleration.
@bresch bresch self-assigned this Sep 22, 2021
@bkueng bkueng merged commit e53d290 into master Sep 23, 2021
@bkueng bkueng deleted the emergency-braking-auto-upstream branch September 23, 2021 07:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants