Home        Store        Docs        Blog

Autopilot with Compass

Dear Community,
Do you know how can I set up an autopilot to navigate just with the compass? I want the ROV to navigate 40 seconds north and then 40 seconds south. Is this possible? Thanks


Yes, this is possible, take a look in pymavlink. Also, take in mind that will not be precise since you don’t have velocity and position control.

Dear Patrick,
Thanks, I have been programing in Python, and I am able to make the ROV go forward or backwards, but I do not know how to read the compass(I do not know how it’s called in mavlink: heading or magnetometer). And then I would have to make it change direction and go forward. Please help!

Hi Francisco,

Take a look in Run pyMavlink on the surface computer/Run pyMavlink on the companion computer examples, in both you can see the messages VFR_HUD, AHRS2 and AHRS3.
You can also search for mavlink messages here.

1 Like

Thanks Patrick,
Do you have an example on how to read them? I have found some for copters, but seem to be very complex.

Hi Francisco,

Take a look in the examples available in ardusub pymavlink documentation, the examples pointed in my previous answer shows how you can access it. I would recommend to read the entire webpage and learn from each example. If you are not familiar with python, I would also recommend to study it a bit more before doing such thing.

Dumb question from my side:

Can I use any of the QGroundControl planning functionalities to program such kind of task? I know this approach is seriously lacking on the (no-GPS) positioning part, but will any kind of dead reckoning work?

There is no built in support for dead reckoning of any sort. See here.

You will have to write a program to command the vehicle to do what you want, as @patrickelectric suggested.

Guys, Thanks for your help.

Could it be the case that mavlink for ardu Sub does not have a human reading parameter for heading?


Hi Francisco,

Sorry but your questions is not clear. Can you explain what do you want to do or accomplish ? And what is your idea of “reading parameter for heading” ? What this parameter should configure in the ROV ?

There is a difference between ‘Mavlink messages’ and ‘ArduPilot Parameters’. The parameters are settings that the user controls. The mavlink messages are what you want to look at for a heading, you can see those in the suggestion that @patrickelectric gave: