Difference MAVLink and MAVROS


Hi there
I have a very basic question:
What exactly is the difference between MAVlink and MAVROS?
To be clear:
I wan’t to control my Pixhawk with a companion computer to use offboard mode.
Someone suggested me to use ROS/MAVROS.

But I don’t unterstand why I should use MAVROS? Can’t I just write a C++/C file in Eclipse and run it on my companion computer? To send setpoints for example…
Why should I just MAVROS or what is the difference between using MAVLink directly and using MAVROS?



MAVROS is the bridge between MAVLink and ROS. If you’re using ROS for whatever robotics you’re doing, then MAVROS is great.

If all you want is to write a simple C++ program to talk to a PX4 drone, then you should consider using the Dronecode SDK.