Get mission from QGroundControl in ROS

Hi all,
I am trying to build a ROS package that reads the mission sent by QGroundControl in order to manage and automatize the mission execution on the drone. (I mainly want to automatically repeat the mission after a certain amount of time, but also take control of the drone using offboard mode if certain situations appears)
However, I didn’t found any information on where the data are loaded or saved on the drone and how I can access that using ROS.
Does QGroundControl publish this information to some mavlink/mavros topic that can be read by my program?
Any idea on how I can find this information? Otherwise, there is a better approach to implement this?

Any help is really appreciated.
Thank you in advance.

Try mavsdk, it has many api available for mission and offboad (and download mission from Px and qgc is one of apis). It is a c++ biblio so you can include it in your ros node/ just write a c ++ app. Personally, i found it is easier to understand how mavlink and px work together than mavros. Also, mavros may lead to many connection problem with configuration in launch file, meanwhile mavsdk is pretty straightforward

Waipoint list available via /mavros/mission/waypoints topic
Upon waypoint is reached - it is published to /mavros/mission/reached topic
Offboard example is here, it works with jmavsim
MavSDK connection to jmavsim is disscussed here

1 Like

Thank you very much this has solved my problem.