Exact knowledge of attitude and azimuth is a fundamental factor in steering vehicle and robot (called carrier in this
paper). Micro inertial measurement unit (MIMU), i.e. IMU made by silicon MEMS inertial sensors, GPS and MEMS
magnetic compass (MMC), are often used in traditional low-cost attitude and azimuth determination solutions. The main
discrepancy, in all of these low-cost approaches, is that the azimuth output is affected by acceleration and turns for long-playing
carriers. This paper puts forward a MMC/MIMU/GPS integrated system and an iterative attitude & azimuth
determination algorithm for long-playing accelerated carrier's motion. GPS output (.i.e. position and velocity), in ENU
(East-North-Upward) navigation frame is transformed into body frame by transformation matrix Cbn. By integrating the
MIMU and GPS measurements, through Kalman Filter (KF), the three orthogonal components of the gravity vector are
precisely estimated in body frame despite the acceleration effects. Pitch and roll angles are calculated by gravity vector
components in body frame, where as azimuth angle is calculated by combining pitch angle, roll angle and MMC output.
The direction cosine matrix Cbn, updated by the latest azimuth, roll and pitch angles, is used in next round of this iterative
attitude & azimuth determination algorithm. CFAR (Constant False Alarm Rate) filters have been utilized to suppress the
noise in GPS data caused by differential operation. The proposed iterative algorithm has been practically implemented
and simulated. The simulations results prove the ability of the MMC/MIMU/GPS integrated system to determine the
attitude and azimuth for long-playing carrier in any motion situation.