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.

Thanks JuliasOes.
Just thought again about it…
I still don’t see the Advantages of using MAVROS instead of using Mavlink directly.
Can you tell me what exactly the Advantages are?

@ticua The advantage is that you can use ROS