Underwater Rover: Dead Reckoning with Pixhawk - Need Guidance

I am currently working on an underwater rover project for my final year utilizing Pixhawk as the main controller. The project involves wheel encoders and AHRS sensors for dead reckoning to achieve positioning in the absence of GPS signals underwater.

I have a few questions regarding the feasibility of implementing dead reckoning with ArduPilot in an underwater environment:

  1. Has anyone successfully implemented dead reckoning for non-GPS position using ArduPilot?
  2. Does ArduPilot have built-in capabilities to automatically switch to wheel encoders when GPS signals are lost?
  3. If so, what are the steps or configurations required to enable this automatic switch in the event of GPS failure?
  4. Are there any considerations or limitations I should be aware of when implementing this feature?
  5. Are there any existing features or functions within ArduPilot that allow for the analysis of motor current data for slip detection?

Thank you for your guidance.