I am trying to find ways to implement more robust hovering capability like what DJI’s spark is currently doing.
Here are my findings about above mentioned drone’s behavior about maintaining altitude.
Drone maintains its current altitude as long as object in bottom not close to about 30cm.
→ It hold its altitude very accurate about +/- 2cm? no matter how terrain below shaped. I think simple barometer based holding would not make such accuracy but definitely not entirely rely on distance sensor.
→ Presumably, it maintains its altitude with barometer only or fused with distance measurements when necessary.
If any object closer than 30 cm, it increases its altitude just about 30cm.
→ This is when distance sensor takes part in and add distance to its position set point.
Some may have already know that PX4 has similar feature such as setting altitude following or terrain following however, PX4’s implementation does not clearly match to what DJI’s mavic or spark are doing.
Altitude following is simply following its current altitude measured from barometer and terrain following makes the drone fly like scanning the field.
I think what DJI’s flying is more like mixture of altitude following and terrain following.
So I would like to ask how to implement such kind of feature? What would be needed?
- Find correlation between barometer and distance measurement and rely on distance sensor only if they match to each other and disregard distance sensor unless it gives less than certain distance.
- Have more accurate barometer sensor anything better than ms5611 which is most affordable and reliable at the moment.
Do you guys have any idea or thought on this subject?