I recently read at the source code of Ardupilot.
I dont understand the meaning of onGround as defined in
VehicleClass is GROUND.
Should onGround always be true?
But in function detectFlight running in every loop,
onGround will be set false when motorsArmed.
So if the vehicle class is ROVER, onGround will always be true, or will be set to false?
I think onGround is probably misnamed. It should probably be renamed to “not moving”. The EKF was originally designed for flying vehicles which probably explains the imprecise naming of this variable.
Tanks a lot.
I think “not moving” is a good explanation.