(진짜 간단히 말하면 Offboard는 처음부터 끝까지 position location정보를 줘서 제어하는거고, mission mode는 미리 정해진 waypoint를 push해주고 PX4가 자동 제어해서 waypoint찍어주는 모드이다)

OFFBOARD is for live, real-time control where you generate the trajectory on the fly, while MISSION mode is for preplanned flights that PX4 can execute independently once started.

In OFFBOARD mode, PX4 is being controlled from the outside by your computer through ROS or MAVROS. Your node must continuously send position, velocity, or attitude setpoints at a rate of at least 2 Hz (most people use 10–20 Hz). PX4 doesn’t plan anything on its own here — it just follows the commands you stream in real time. This gives you a lot of flexibility: you can make the drone fly smooth circles, spirals, or dynamically changing paths. But it also means if your ROS node crashes or stops publishing, PX4 immediately notices the missing setpoints and goes into failsafe (like RTL or Hold). So OFFBOARD is powerful but requires a constant active connection to your computer.

In MISSION mode, you don’t stream continuous commands. Instead, you upload a sequence of waypoints to PX4 ahead of time, either from ROS (via MAVROS) or from a ground station like QGroundControl. Once the waypoints are uploaded, PX4 takes care of flying them by itself — you just set the mode to AUTO.MISSION and arm. Even if your ROS node disconnects or your laptop turns off, PX4 will keep executing the mission until it finishes or you abort it. This makes Mission mode very reliable for survey flights, mapping, or delivery tasks, but it’s less flexible because the path is fixed to the waypoints you defined.

The Diagram Below shows how each mode would draw a circle (I will implement each of them and try it in the future, If I do I will upload links here)

Rotating in Circle (offboard mode)

Rotating in Circle (mission mode)

image.png

So OFFBOARD feels smooth and flexible, while MISSION is simpler and runs autonomously but is more “point-to-point.”