Nav2 Navigation Stack - kilted  kilted
ROS 2 Navigation Stack
omni_motion_model.hpp
1 /*
2  * Player - One Hell of a Robot Server
3  * Copyright (C) 2000 Brian Gerkey & Kasper Stoy
4  * gerkey@usc.edu kaspers@robotics.usc.edu
5  *
6  * This library is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU Lesser General Public
8  * License as published by the Free Software Foundation; either
9  * version 2.1 of the License, or (at your option) any later version.
10  *
11  * This library is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14  * Lesser General Public License for more details.
15  *
16  * You should have received a copy of the GNU Lesser General Public
17  * License along with this library; if not, write to the Free Software
18  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19  *
20  */
21 
22 #ifndef NAV2_AMCL__MOTION_MODEL__OMNI_MOTION_MODEL_HPP_
23 #define NAV2_AMCL__MOTION_MODEL__OMNI_MOTION_MODEL_HPP_
24 
25 #include "nav2_amcl/motion_model/motion_model.hpp"
26 #include "nav2_amcl/pf/pf.hpp"
27 #include "nav2_amcl/pf/pf_vector.hpp"
28 
29 namespace nav2_amcl
30 {
31 
33 {
34 public:
35  virtual void initialize(
36  double alpha1, double alpha2, double alpha3, double alpha4,
37  double alpha5);
38  virtual void odometryUpdate(pf_t * pf, const pf_vector_t & pose, const pf_vector_t & delta);
39 
40 private:
41  double alpha1_, alpha2_, alpha3_, alpha4_, alpha5_;
42 };
43 } // namespace nav2_amcl
44 #endif // NAV2_AMCL__MOTION_MODEL__OMNI_MOTION_MODEL_HPP_
An abstract motion model class.
virtual void initialize(double alpha1, double alpha2, double alpha3, double alpha4, double alpha5)
An factory to create motion models.
virtual void odometryUpdate(pf_t *pf, const pf_vector_t &pose, const pf_vector_t &delta)
Update on new odometry data.
Definition: pf.hpp:112