I want to get data and implement to my gui

[When reporting issues, please post the product, a description of the issue, code if it’s a software issue, and pictures of the issue. That will help us resolve it quickly!]

I am using Bluerov.
But I cannot see any API.
Should I use Ardusub to implement data such as lat, lon, depth… to implement it in my gui?

Hi @jaehh, welcome to the forum :slight_smile:

If you’re using a standard BlueROV2 setup but don’t want to use QGroundControl on your surface computer then you should be able to use pymavlink to get information from the ROV.

Note that the ROV doesn’t come with an underwater GPS unless you’ve bought one separately, so latitude and longitude won’t exist if you don’t have GPS equipment suitably set up and installed.

thanks for kind reply.
I am using BlueROV 1, so I have to use Ardusub right?
and what can I do with ROS package? is it just for logging data, saving data?

is there specific API?

The Pixhawk autopilot that comes with our BlueROVs is intended to run ArduSub, but you could potentially run a different firmware if you want to write one yourself. Most likely it would be easier to make modifications to ArduSub than making a new firmware from scratch though.

I don’t have much personal experience with ROS, but there’s a mavros package that allows you to send and receive mavlink messages while using ROS. ArduSub communicates and is controlled using mavlink messages, so you should be able to use ROS to do at least most things you can normally do when controlling the ROV through a ground control software like QGroundControl.

I’m not certain what you’re asking here. My best guess is that you’re after the mavlink protocol, but you shouldn’t need to understand all or even most of it - you should be able to search for and use messages from the common message set as you require particular functionality (data or control), and sometimes from the additional messages provided by the ardupilotmega message set.

thank you very much for your kind answer.
So I understood mavlink messages are used to transfer data between topside computer and companion computer, and in order for me to use it, [pymavlink] or other api should be used depending on my needs.

and my question is what is the purpose of BlueROV ROS package?

Mavlink messages are used to transfer commands and sensor data between the ‘topside computer’ and the Pixhawk. The companion computer makes that possible, and also provides additional functionality like the companion web interface and the video stream, along with some other things.

I’m not sure - I haven’t used it before. Perhaps @patrickelectric can provide more information, but I’m not certain.

and my question is what is the purpose of BlueROV ROS package?

The ROS package is to help with the integration of ROS, if you are not using or don’t need to use ROS, this package is not for you :slight_smile:

For you application, I recommend to use MAVLink or the REST MAVLink abstraction layer.

1 Like

Thank you very much for your kind reply.
speaking of MAVLink, do I have to use PyMavLink ? or can I also use another language such as cpp ?

Hi,

MAVLink is just a protocol, you can use any language that you prefer. For more information, check here:
https://mavlink.io/en/

1 Like