SET_ATTITDUDE_TARGET params clarification

Greetings. I have several questions regarding using SET_ATTITUDE_TARGET mavlink message.

  1. Yaw angle equal to zero is still rotation, so assume we have heading of 270 deg and passing quaternion where yaw is 0 - it will start rotate towards zero. Is it possible to skip yaw rotation at all when sending this command, assuming that only pitch or roll rotation desired or we need to pass desired pitch/roll and current attitude yaw?
  2. What happens if both quaternion and body rates are provided when ATTITUDE_TARGET_TYPEMASK==0. Will it try to achieve quaternion orientation with angle speeds provided in rates? As I understand if we provide in quaternion current attitude and body_yaw_rate != 0 - it will start rotation with stated angle speed.
  3. If ATTITUDE_TARGET_TYPEMASK==0 but all body_rates params equal to zero - is this equal to the case when ATTITUDE_TARGET_TYPEMASK==7 (all rates ignored)?
  4. What happens if SET_ATTITUDE_TARGET sent periodically, e.g. 10 times a second? Is an old one discarded and autopilot works only towards the newest one? Same what happens if we mix it with SET_POSITION_TARGET_LOCAL_NED, like send one right after another?

Thanks in advance for any clarification.

Did you find an answer to these questions?

Hey. From inspecting code i think point 2 and 3 are true. I haven’t found concrete answer for point 4.
As for point 1 I guess it’s not possible to set rotation for pitch and roll only, omitting the yaw, using this command. You still have to supply some desired yaw angle that you have calculate on your side. My issue was to try control pitch and roll via angle, and yaw via yaw rate.