Main Page
Namespaces
Classes
Files
File List
File Members
include
humanoid_localization
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
35
#include <
humanoid_localization/ObservationModel.h
>
36
37
#include <
octomap/octomap.h
>
38
39
40
namespace
humanoid_localization
{
41
class
RaycastingModel
:
public
ObservationModel
{
42
public
:
43
RaycastingModel
(
ros::NodeHandle
* nh,
boost::shared_ptr<MapModel>
mapModel,
EngineT
* rngEngine);
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
57
bool
m_filterPointCloudGround
;
58
double
m_groundFilterDistance
;
59
double
m_groundFilterAngle
;
60
double
m_groundFilterPlaneDistance
;
61
int
m_numFloorPoints
;
62
int
m_numNonFloorPoints
;
63
};
64
65
}
66
67
#endif
humanoid_localization::RaycastingModel::m_zRand
double m_zRand
Definition:
RaycastingModel.h:51
ObservationModel.h
humanoid_localization
Definition:
EndpointModel.h:41
ros::NodeHandle
humanoid_localization::RaycastingModel::m_groundFilterAngle
double m_groundFilterAngle
Definition:
RaycastingModel.h:59
humanoid_localization::RaycastingModel::m_sigmaHit
double m_sigmaHit
Definition:
RaycastingModel.h:54
humanoid_localization::EngineT
boost::mt19937 EngineT
Boost RNG engine:
Definition:
humanoid_localization_defs.h:54
humanoid_localization::RaycastingModel
Definition:
RaycastingModel.h:41
humanoid_localization::RaycastingModel::m_numNonFloorPoints
int m_numNonFloorPoints
Definition:
RaycastingModel.h:62
humanoid_localization::RaycastingModel::m_zHit
double m_zHit
Definition:
RaycastingModel.h:50
humanoid_localization::Particle
Particle consists of a pose and a weight.
Definition:
humanoid_localization_defs.h:43
humanoid_localization::RaycastingModel::m_zShort
double m_zShort
Definition:
RaycastingModel.h:52
transform_datatypes.h
boost::shared_ptr
humanoid_localization::RaycastingModel::m_groundFilterPlaneDistance
double m_groundFilterPlaneDistance
Definition:
RaycastingModel.h:60
humanoid_localization::RaycastingModel::m_groundFilterDistance
double m_groundFilterDistance
Definition:
RaycastingModel.h:58
humanoid_localization::RaycastingModel::m_filterPointCloudGround
bool m_filterPointCloudGround
Definition:
RaycastingModel.h:57
tf::Transform
humanoid_localization::RaycastingModel::m_zMax
double m_zMax
Definition:
RaycastingModel.h:53
ros.h
humanoid_localization::ObservationModel
Definition:
ObservationModel.h:51
octomap.h
humanoid_localization::RaycastingModel::integrateMeasurement
virtual void integrateMeasurement(Particles &particles, const PointCloud &pc, const std::vector< float > &ranges, float max_range, const tf::Transform &baseToSensor)
Definition:
RaycastingModel.cpp:61
humanoid_localization::RaycastingModel::m_numFloorPoints
int m_numFloorPoints
Definition:
RaycastingModel.h:61
humanoid_localization::RaycastingModel::getHeightError
bool getHeightError(const Particle &p, const tf::StampedTransform &footprintToBase, double &heightError) const
Definition:
RaycastingModel.cpp:136
humanoid_localization::RaycastingModel::RaycastingModel
RaycastingModel(ros::NodeHandle *nh, boost::shared_ptr< MapModel > mapModel, EngineT *rngEngine)
Definition:
RaycastingModel.cpp:30
humanoid_localization::Particles
std::vector< Particle > Particles
Definition:
humanoid_localization_defs.h:48
humanoid_localization::PointCloud
pcl::PointCloud< pcl::PointXYZ > PointCloud
Definition:
humanoid_localization_defs.h:50
humanoid_localization::RaycastingModel::~RaycastingModel
virtual ~RaycastingModel()
Definition:
RaycastingModel.cpp:57
humanoid_localization::RaycastingModel::m_lambdaShort
double m_lambdaShort
Definition:
RaycastingModel.h:55
tf::StampedTransform
humanoid_localization
Author(s): Armin Hornung, Stefan Osswald, Daniel Maier
autogenerated on Mon Jun 10 2019 13:38:31