  There are several attitude estimation algorithms in existence, all of which
use local coordinate representations for the group of rigid body orientations.
All local coordinate representations of the group of orientations have
associated problems. While minimal coordinate representations exhibit kinematic
singularities for large rotations, the quaternion representation requires
satisfaction of an extra constraint. This paper treats the attitude estimation
and filtering problem as an optimization problem, without using any local
coordinates for the group of rotations. An attitude determination algorithm and
attitude estimation filters are developed, that minimize the attitude and
angular velocity estimation errors. For filter propagation, the attitude
kinematics and deterministic dynamics equations (Euler's equations) for a rigid
body in an attitude-dependent potential are used. Vector attitude measurements
are used for attitude and angular velocity estimation, with or without angular
velocity measurements.
