00001 #ifndef INCLUDE_NAVLIB_ADAPTIVEIDENTIFIER
00002 #define INCLUDE_NAVLIB_ADAPTIVEIDENTIFIER
00003 
00004 #include "identifier.h"
00005 
00006 namespace navlib
00007 {
00009         class AdaptiveIdentifier : public Identifier
00010         {
00011         public:
00012                 typedef ublas::vector<double> vector;
00013 
00014         public:
00017                 AdaptiveIdentifier(boost::shared_ptr<DynamicsModel> dynamics, 
00018                         vector gamma);
00019                 boost::shared_ptr<DynamicsModel> getModel() const;
00024                 void update(vector xf, vector u, const double& dt);
00025 
00026         private:
00027                 boost::shared_ptr<DynamicsModel> _dynamics;
00028                 vector _gamma;
00029         };
00030 }
00031 
00032 #endif