-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
Multirotor landing bump detection #8744
Multirotor landing bump detection #8744
Conversation
This is a great idea.. I have another suggestion, that may also aid landing and touchdown. What do you think of having another setting |
Here is some quick tests I did today. Both are in the same clip. The 1st in the clip is without a bump. And disarms by the standard method. The 2nd in the clip is after a bump on the landing. And disarms instantly. Noting that the only reason the second had a bump, was because it was reversing backwards into a tailwind, as it was descending (like I mention in the previous post). Landing.bump.test.mp4In the first flight landing test I did this day. The barometric altitude was out by 6m. And the quad hit down rather firmly, before bouncing back up into the air.. But it didn't disarm after bouncing back into the air, even with a high level of g-force and positive acceleration... Which is good to see. These tests had both I was sheepish, to try a throttle up, positive acceleration test in RTH. With both those value cranked up to full. Which is 20m/s. That may certainly exceed 2g on most powerful quads.. And until #8736 is complete.. I don't want risk the chance of the quad disarming at a great height, with no way to rearm it. |
The first attempt at landing in the test above didn't trigger because the G bump was only 1.4 or so. It triggered on the second landing. This is normal for this quad. Usually takes 4 or more bounces. Not sure why other than the Baro is more sensitive. Other quads I've seen seem to settle first time during a RTH landing. The other thing that happened every time I did a RTH landing was the quad flipped over at the point of disarm. Didn't happen if you did a manual landing in Acro though, just landed and disarmed immediately with no fuss. Odd. A log would be useful for this 3" quad landing @Jetrell just to compare the G and Baro behaviour with the 5". |
Flash loggers typically provide multiple logs in a single file. |
@breadoven do you think we can merge that after conflicts are resolved? |
I don't see why it can't be merged. I did think it might benefit from having the option added to turn it off just in case it causes problems with certain setups. |
Now that FW have a proper Automatic landing System that can be commonly used, what do you think about extending this to FW as well? @Jetrell pointed me at this. He suggested that for FW a X-Bump detection might be added as well for reliable detection. FW Autoland should typically cut throttle during the glide phase already before touchdown but an additional safety net to prevent a burned ESC or motor would be nice, just in case an altitude error causes some litho-braking. |
Provides landing detection for a multirotor based on the g acceleration bump at landing and Baro altitude reaction caused by ground effect. Triggers landing detection immediately with no safety delay.
Detection is based on:
The existing landing detection will still work if the g-bump detection fails, the g-bump detection just works much more quickly.
Testing on a 5" multirotor shows it works as expected. There were no false triggers during short burst full throttle climbs which seem the most likely thing to cause false triggers. G levels can exceed 2g with these climbs but the high g level lasts longer than 0.1s. Also baro altitude rate is always +ve and the throttle is always higher than hover throttle so false triggers seem unlikely. One test result is shown in attached log file for a RTH landing.
Probably needs a lot more testing with different types/sizes of multirotors to fully understand how useful this is.
Debug 0 = landing status (high = landed), Debug 1 = Baro rate (cm/s), Debug 2 = start time g level exceeded 2g
![Screenshot (135)](https://user-images.githubusercontent.com/56191411/215220508-850b11a5-05e4-49be-9be1-9149a29b7ddc.png)
Log timeline is between 2g being detected and landing being triggered (debug 0 high).