A Blue Robotics BlueROV stabilizes its depth, attitude and heading against external forces. It performs very well, reacting instantly and holding depth against considerable force as I push on it. The ROV is controlled by an APM 2.6 running modified ArduCopter code.
Code is here
For continued support and development on the pixhawk and other platforms (not APM), please see ArduSub,