Kalman filter for Eurobot

Committer:
madcowswe
Date:
Tue Mar 20 12:43:16 2012 +0000
Revision:
0:a0285293f6a6
Algo done, vars not done

Who changed what in which revision?

UserRevisionLine numberNew contents of line
madcowswe 0:a0285293f6a6 1 /**
madcowswe 0:a0285293f6a6 2 * @brief Keep track of changes since version 1.6 e-mail: mecatronica.mid@gmail.com
madcowswe 0:a0285293f6a6 3 * @file Log.c
madcowswe 0:a0285293f6a6 4 * @author Ernesto Palacios
madcowswe 0:a0285293f6a6 5 */
madcowswe 0:a0285293f6a6 6
madcowswe 0:a0285293f6a6 7 /*
madcowswe 0:a0285293f6a6 8 1.6.4.0 30/10/2011
madcowswe 0:a0285293f6a6 9 -->> MATRIX_H
madcowswe 0:a0285293f6a6 10 * Eliminated namespace std; already included in mbed.h
madcowswe 0:a0285293f6a6 11 * Operator Overloaded (). For assignment and getValue.
madcowswe 0:a0285293f6a6 12 * Almost all operators declared as friend functions.
madcowswe 0:a0285293f6a6 13
madcowswe 0:a0285293f6a6 14 -->> MATRIXMATH_H
madcowswe 0:a0285293f6a6 15 * Added Function Eye(). Creates an identity Matrix of specified dimensions.
madcowswe 0:a0285293f6a6 16 * Added Function dotProduct(). to find the dot product of two vectors.
madcowswe 0:a0285293f6a6 17 -->> You need to pass two Vector Matrices of any dimmensions.
madcowswe 0:a0285293f6a6 18 They could be in the form: A( 1,n ) B( 1,n )
madcowswe 0:a0285293f6a6 19 A( n,1 ) B( 1,n )
madcowswe 0:a0285293f6a6 20 A( n,1 ) B( n,1 )
madcowswe 0:a0285293f6a6 21 A( 1,n ) B( n,1 )
madcowswe 0:a0285293f6a6 22 As long as have same 'depth' and are vectors, the dot product.
madcowswe 0:a0285293f6a6 23 will be returned.
madcowswe 0:a0285293f6a6 24
madcowswe 0:a0285293f6a6 25 -->> MATRIXMATH_Kinematics.cpp
madcowswe 0:a0285293f6a6 26 * Created file MatrixMath_Kinematics.cpp To Hold the definitions of
madcowswe 0:a0285293f6a6 27 kinematic operations.
madcowswe 0:a0285293f6a6 28
madcowswe 0:a0285293f6a6 29 * Define Functions RotX, RotY, RotZ, Transl. for Matrix Transformation
madcowswe 0:a0285293f6a6 30 operations.
madcowswe 0:a0285293f6a6 31
madcowswe 0:a0285293f6a6 32
madcowswe 0:a0285293f6a6 33 1.6.2.0 22/10/2011
madcowswe 0:a0285293f6a6 34 -->> MATRIX_H
madcowswe 0:a0285293f6a6 35 * Changed static member Matrix::AddColumn( ... ) -> Matrix::AddCol( ... )
madcowswe 0:a0285293f6a6 36 * Overload AddCol/AddRow, it now can accept SingleCol/ SingleRow as arguments.
madcowswe 0:a0285293f6a6 37 Still works the same for inserting new Col/Row. Usage:
madcowswe 0:a0285293f6a6 38
madcowswe 0:a0285293f6a6 39 Matrix::AddRow( myMatrix, 3 ); // Inserts an empty col at index 3 of myMatrix
madcowswe 0:a0285293f6a6 40
madcowswe 0:a0285293f6a6 41 Matrix::AddCol( myMatrix, SingleCol, 3 ); // Inserts a SingleCol Matrix into index 3 of myMarix
madcowswe 0:a0285293f6a6 42
madcowswe 0:a0285293f6a6 43 -->> MATRIXMATH_H
madcowswe 0:a0285293f6a6 44 * float det = MatrixMath::det( myMatrix );
madcowswe 0:a0285293f6a6 45 Returns the determinant of any nxn Matrix.
madcowswe 0:a0285293f6a6 46
madcowswe 0:a0285293f6a6 47 * Matrix Inv = MatrixMath::Inv( myMatrix )
madcowswe 0:a0285293f6a6 48 Returns the determinant of any nxn Matrix, if it's not a Singular matrix
madcowswe 0:a0285293f6a6 49
madcowswe 0:a0285293f6a6 50
madcowswe 0:a0285293f6a6 51 WARNING: If it is a Singular Matrix it will return the same Matrix.
madcowswe 0:a0285293f6a6 52 A singular Matrix is one whose inverse does not exists.
madcowswe 0:a0285293f6a6 53
madcowswe 0:a0285293f6a6 54 1.6.0.1 21/10/2011
madcowswe 0:a0285293f6a6 55 First class ready to work. but still some rough edges to polish. Better use 1.6.2
madcowswe 0:a0285293f6a6 56
madcowswe 0:a0285293f6a6 57 1.0 15/09/2011
madcowswe 0:a0285293f6a6 58
madcowswe 0:a0285293f6a6 59 First Version.- Buggy and no longer supported.
madcowswe 0:a0285293f6a6 60
madcowswe 0:a0285293f6a6 61 */