Mit meiner schlechten Werkstattausrüstung, mit der ich grad mal ein wenig löten kann, würde ich immer die Ultraschalllösung bevorzugen.
Damit bekomme ich sehr schnell ausreichend genaue Ergebnisse innerhalb weniger Zentimeter bis zu einigen Metern.
Wenn der Bot sich relativ zum Wasser nicht horizontal bewegt, ginge wohl auch ein Schwimmer, der ein Poti oder einen Absolutdrehgeber antreibt.
Infrrot scheidet m. E. aus, da die Reflektion von Wasser für IR-Strahlen sehr unterschiedlich sein kann. Es sei denn, Dein Projekt lässt es zu auf der Wasseroberfläche unterhalb des Bots einen IR-reflektierenden Schwimmer zu installieren.
Davon halte ich aber auch nicht so viel, da Schwimmer, je nach befestigung , auch mal blockieren können. Dazu kommt die Gefahr des einfrierens. Dabei könnte ein Schwimmer arg zerbeult werden und dadurch weniger Auftrieb bekommen.
Mit einem Spritzwasser geschütztem Ultraschallsensor dürftest Du für die meisten Fälle gut beraten sein.