I am a newbie to this field and is stuck in SITL and HITL using Gazebo. My question is what is the exact function of the OffBoard API like MAVROS/MAVSDK being used by PX4 in SITL/HITL?
Also are these API needed for real world flying of the Quadrotor?
For reference please see this High level diagram for SITL https://dev.px4.io/master/en/simulation/#simulator-mavlink-api
You can send position or velocity setpoints from ROS (I am not familiar with the Mavsdk but I would assume it’s the same). Offboard mode is available both in simulation and real world flying.
Okay, so is Offboard API used for offboard mode navigation? If yes then what the use of QGC in this mode?
You can switch into the mode, arm, change mode, check the RC. I guess all the things you usually do with QGC a part from mission planning
I see. So if I do not want to use offboard mode then can I skip using this Offboard API? Will it create any problem with manual and mission mode through QGC if I stop using this API ?
Offboard mode is only used to receive and track setpoints from a companion computer.
All the other modes, e.g. manual and mission, do not require a companion computer and the setpoint generation is completely handled on the Flight Controller side.