RaycastingModel.h
Go to the documentation of this file.
1 // SVN $HeadURL$
2 // SVN $Id$
3 
4 /*
5  * 6D localization for humanoid robots
6  *
7  * Copyright 2009-2012 Armin Hornung, University of Freiburg
8  * http://www.ros.org/wiki/humanoid_localization
9  *
10  *
11  * This program is free software: you can redistribute it and/or modify
12  * it under the terms of the GNU General Public License as published by
13  * the Free Software Foundation, version 3.
14  *
15  * This program is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18  * GNU General Public License for more details.
19  *
20  * You should have received a copy of the GNU General Public License
21  * along with this program. If not, see <http://www.gnu.org/licenses/>.
22  */
23 
24 #ifndef HUMANOID_LOCALIZATION_RAYCASTINGMODEL_H_
25 #define HUMANOID_LOCALIZATION_RAYCASTINGMODEL_H_
26 
27 #include <limits>
28 #include <cmath>
29 
30 #include <omp.h>
31 
32 #include <ros/ros.h>
33 #include <tf/transform_datatypes.h>
34 
36 
37 #include <octomap/octomap.h>
38 
39 
40 namespace humanoid_localization{
42 public:
44  virtual ~RaycastingModel();
45  virtual void integrateMeasurement(Particles& particles, const PointCloud& pc, const std::vector<float>& ranges, float max_range, const tf::Transform& baseToSensor);
46 
47 protected:
48  bool getHeightError(const Particle& p, const tf::StampedTransform& footprintToBase, double& heightError) const;
49  // laser parameters:
50  double m_zHit;
51  double m_zRand;
52  double m_zShort;
53  double m_zMax;
54  double m_sigmaHit;
55  double m_lambdaShort;
56 
63 };
64 
65 }
66 
67 #endif
boost::mt19937 EngineT
Boost RNG engine:
Particle consists of a pose and a weight.
virtual void integrateMeasurement(Particles &particles, const PointCloud &pc, const std::vector< float > &ranges, float max_range, const tf::Transform &baseToSensor)
bool getHeightError(const Particle &p, const tf::StampedTransform &footprintToBase, double &heightError) const
RaycastingModel(ros::NodeHandle *nh, boost::shared_ptr< MapModel > mapModel, EngineT *rngEngine)
std::vector< Particle > Particles
pcl::PointCloud< pcl::PointXYZ > PointCloud


humanoid_localization
Author(s): Armin Hornung, Stefan Osswald, Daniel Maier
autogenerated on Mon Jun 10 2019 13:38:31