ArduSub Visual Odometry

I would like to jump in here, as your statement below got my attention

Is there a way, presently, to use Visual Odometry in Ardu-Sub, or any other Ardupilot version? This is a mode which I am investigating for our implementation, and if there is any code that is already performing this task, it would be of great value to me.

Hi @mark,

I’ve moved this to its own topic to facilitate cleaner discussion.

ArduSub 4.1 introduced support for some VISO Parameters and visual odometry MAVLink messages. We’re working on properly documenting those for ArduSub, but haven’t yet completed those updated docs.

That said, our Water Linked DVL BlueOS extension is already using those features (and so was the DVL integration in the old Companion Software). It’s likely not the greatest reference at the moment, both because

but it is at least some form of reference.

Be aware that ArduPilot has some somewhat unintuitive origin behaviour/terminology, so I’d suggest you have a read of this issue (and the linked discussion) for some extra context. That has been taken into account in the overhaul, but was not handled previously (instead it just limited position correction / origin setting to once on startup).

If you’re not pressed for time then I’ll hopefully get a chance to document that side of things a bit more directly some time this month, but feel free to poke around and ask questions in the meantime :slight_smile:


This is good news, thanks for the help.

I will look into the docs you pointed to.