mht_types.h
Go to the documentation of this file.
1 /**************************************************************************************************
2  Software License Agreement (BSD License)
3 
4  Copyright (c) 2011-2013, LAR toolkit developers - University of Aveiro - http://lars.mec.ua.pt
5  All rights reserved.
6 
7  Redistribution and use in source and binary forms, with or without modification, are permitted
8  provided that the following conditions are met:
9 
10  *Redistributions of source code must retain the above copyright notice, this list of
11  conditions and the following disclaimer.
12  *Redistributions in binary form must reproduce the above copyright notice, this list of
13  conditions and the following disclaimer in the documentation and/or other materials provided
14  with the distribution.
15  *Neither the name of the University of Aveiro nor the names of its contributors may be used to
16  endorse or promote products derived from this software without specific prior written permission.
17 
18  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
19  IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
20  FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
21  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
22  DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
23  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
24  IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
25  OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26 ***************************************************************************************************/
32 #ifndef _MHT_TYPES_H_
33 #define _MHT_TYPES_H_
34 
35 #error This file should not be used, DEPRECATED
36 
37 #include <algorithm>
38 #include <vector>
39 #include <iostream>
40 
41 #include <ros/ros.h>
42 
43 #include <visualization_msgs/Marker.h>
44 #include <visualization_msgs/MarkerArray.h>
45 
46 #include <boost/shared_ptr.hpp>
47 #include <boost/format.hpp>
48 
49 #include <Eigen/Dense>
50 #include <Eigen/Cholesky>
51 
52 #include <kfilter/ekfilter.hpp>
53 
54 #include <mtt/tree.hh>
55 #include <mtt/tree_util.hh>
56 #include <mtt/cluster.h>
57 
58 #include <mtt/mht_types_shared.h>
59 
60 #include <mtt/nonholonomic_kalman_filter.h>
61 
62 using Eigen::Matrix4d;
63 using Eigen::Matrix2d;
64 using Eigen::Vector2d;
65 using Eigen::Vector4d;
66 using Eigen::MatrixXd;
67 using Eigen::VectorXd;
68 
69 using namespace Kalman;
70 using namespace ros;
71 using namespace std;
72 
73 
80 
87 
103 class constantVelocityEKFilter:public EKFilter<double,0,false,false,false>
104 {
105  public:
106 
116  void SetIdentity(kMatrix& M,int size,double value=1);
117 
126  void SetZero(kMatrix& M,int size);
127 
134  void InitFilter(Vector4d& x_init);
135 
136  void InitFilter(Vector4d& x_init,Matrix4d& P_init);
137 
140 
141  Vector4d x_predicted;
144 
145  protected:
146 
148  double dt;
150  Time lt;
151 
157  void makeCommonProcess();
158 
162  void makeBaseA();
163 
167  void makeA();
168 
172  void makeBaseH();
173 
177  void makeBaseW();
178 
182  void makeBaseV();
183 
187  void makeR();
188 
192  void makeQ();
193 
197  void makeProcess();
198 
202  void makeMeasure();
203 };
204 
205 typedef boost::shared_ptr<constantVelocityEKFilter> constantVelocityEKFilterPtr;
206 
207 namespace Mht
208 {
209 
219 }
220 
221 #endif
EKFilter< double, 0, false, false, false >::Matrix Matrix
EKfilter matrix type.
boost::shared_ptr< constantVelocityEKFilter > constantVelocityEKFilterPtr
Definition: mht_types.h:205
EKFilter< double, 0, false, false, false >::Matrix kMatrix
EKfilter matrix type.
Definition: mht_types.h:86
EKFilter< double, 0, false, false, false >::Vector kVector
EKfilter vector type.
Definition: mht_types.h:79
Eigen::Matrix< double, 3, 1 > Vector3d
double dt
Time interval between measurements.
Definition: mht_types.h:148
Big and complicated class that implements the MHT (Multiple Hypotheses Tracking) algorithm.
Time lt
Time of the last call to the makeCommonProcess function.
Definition: mht_types.h:150
Hypotheses cluster definition.
Constant velocity Kalman filter.
Definition: mht_types.h:103
EKFilter< double, 0, false, false, false >::Vector Vector
EKfilter vector type.


mtt
Author(s): Jorge Almeida
autogenerated on Mon Mar 2 2015 01:32:18