Reference Frame for Offboard Mode Attitude/Rate Setpoints


I have a two-part question regarding the use of the offboard flight mode to directly inject attitude or rate setpoints (i.e. use of the SET_ATTITUDE_TARGET message), in particular, in connection with large pitch angles. Supposing I’m flying an ENU quadrotor:

Are the rate setpoints in the body frame? For instance, I assume that regardless of pitch angle, the yaw rate setpoint is going to drive a rotation about the aircraft Z axis?

Similarly, I assume the MC_att implementation doesn’t have any small-angle assumptions with respect to body angles? Suppose I generate a -90 deg. pitch setpoint, followed by a 45 deg. yaw setpoint (with an end goal of orienting the aircraft Z axis horizontally, with the right ‘wing’ low by 45 deg.): would the implementation correctly use differential torque to rotate the aircraft about the Z-axis in this scenario?

Based on a cursory review of the technical paper from which the code was derived, this is likely a dumb question, but I’m coming from a different code base which used attitude setpoints in the earth frame, but didn’t transform the flight control laws accordingly, resulting in some -peculiar- handling characteristics at large body angles; obviously, that’s something I’m trying to avoid, this time around.



If you need a helper to generate MAVLink offboard messages, have a look at MAVSDK, especially the integration tests for attitude and angular rate offboard control: