读取偏航导航角度并将其设置为 0

Reading a yaw navigation angle and set it to 0

我正在使用无人机,我可以从其传感器读取偏航导航角度。但是,我想在开始我的过程时将这个角度设置为“0”角。这个角度的范围在-180度到180度之间。

initial_yaw = read_yaw_angle()
current_yaw = read_yaw_angle() - initial_yaw

但是如果 initial_yaw 是 180 度,并且测量的角度是,比方说,-50 度。现在我知道 current_yaw 是 -230,它超出了 -180 到 180 度的范围。我该如何解决这个问题? (我需要使用模运算符吗?)

current_yaw = read_yaw_angle() - initial_yaw;
if (current_yaw < -180) {
  current_yaw += 360;
} else if (currrent_yaw > 180) {
  current_yaw -= 360;
}