00001 //////////////////////////////////////////////////////////////////////////////////////////////// 00002 /*! \file QuaternionKinematics.h 00003 * \brief Rigid body kinematic equations of attitude motion in quaternion form. 00004 * \author $Author: jayhawk_hokie $ 00005 * \version $Revision: 1.2 $ 00006 * \date $Date: 2005/06/10 12:53:28 $ 00007 ////////////////////////////////////////////////////////////////////////////////////////////////// 00008 * \todo document the QuaternionKinematics class 00009 */ 00010 ////////////////////////////////////////////////////////////////////////////////////////////////// 00011 00012 #ifndef QUATERNIONKINEMATICS_H 00013 #define QUATERNIONKINEMATICS_H 00014 #include <rotation/Rotation.h> 00015 00016 static Vector QuaternionKinematics(const double &_time, const Vector &_qIn, const Matrix &_wIn) 00017 { 00018 Matrix qtemp(4,3); 00019 qtemp(_(VectorIndexBase+0,VectorIndexBase+2),_(VectorIndexBase+0,VectorIndexBase+2)) = skew(_qIn(_(VectorIndexBase+0,VectorIndexBase+2))) + _qIn(VectorIndexBase+3) * eye(3); 00020 qtemp(VectorIndexBase+3, _(VectorIndexBase+0,VectorIndexBase+2)) = -(~_qIn(_(VectorIndexBase+0,VectorIndexBase+2))); 00021 00022 qtemp.initialize(0.5 * qtemp * _wIn); 00023 Vector qDot(QUATERNION_SIZE);qDot(_) = qtemp(_,MatrixIndexBase); 00024 return (Vector)qDot; 00025 } 00026 00027 #endif 00028 // Do not change the comments below - they will be added automatically by CVS 00029 /***************************************************************************** 00030 * $Log: QuaternionKinematics.h,v $ 00031 * Revision 1.2 2005/06/10 12:53:28 jayhawk_hokie 00032 * Changed header file format to make it easier to link to the spacecraft code by only having to specify dsacss/dep/spacecraft/src (ex. "file.h" changed to <dir/file.h> where dir is a folder in src). 00033 * 00034 * Revision 1.1.1.1 2005/04/26 17:40:56 cakinli 00035 * Adding OpenSESSAME to DSACSS distrib to capture fixed version. 00036 * 00037 * Revision 1.2 2003/04/23 16:30:58 nilspace 00038 * Various bugfixes & uploading of all changed code for new programmers. 00039 * 00040 * Revision 1.1 2003/03/25 02:28:20 nilspace 00041 * initial submission. Needs to be verified. 00042 * 00043 ******************************************************************************/