include
jsk_recognition_utils
sensor_model
spindle_laser_sensor.h
Go to the documentation of this file.
1
// -*- mode: c++ -*-
2
/*********************************************************************
3
* Software License Agreement (BSD License)
4
*
5
* Copyright (c) 2015, JSK Lab
6
* All rights reserved.
7
*
8
* Redistribution and use in source and binary forms, with or without
9
* modification, are permitted provided that the following conditions
10
* are met:
11
*
12
* * Redistributions of source code must retain the above copyright
13
* notice, this list of conditions and the following disclaimer.
14
* * Redistributions in binary form must reproduce the above
15
* copyright notice, this list of conditions and the following
16
* disclaimer in the documentation and/or other materials provided
17
* with the distribution.
18
* * Neither the name of the JSK Lab nor the names of its
19
* contributors may be used to endorse or promote products derived
20
* from this software without specific prior written permission.
21
*
22
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
23
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
24
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
25
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
26
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
27
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
28
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
29
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
30
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
31
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
32
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
33
* POSSIBILITY OF SUCH DAMAGE.
34
*********************************************************************/
35
36
#ifndef JSK_RECOGNITION_UTILS_SPINDLE_LASER_SENSOR_H_
37
#define JSK_RECOGNITION_UTILS_SPINDLE_LASER_SENSOR_H_
38
39
#include "
jsk_recognition_utils/sensor_model/pointcloud_sensor_model.h
"
40
41
namespace
jsk_recognition_utils
42
{
43
class
SpindleLaserSensor:
public
PointCloudSensorModel
44
{
45
public
:
46
typedef
boost::shared_ptr<SpindleLaserSensor>
Ptr
;
47
48
SpindleLaserSensor
(
const
double
min_angle,
const
double
max_angle,
49
const
double
laser_freq,
50
const
size_t
point_sample):
51
min_angle_
(min_angle),
max_angle_
(max_angle),
52
laser_freq_(laser_freq),
53
point_sample_
(point_sample) { }
54
55
virtual
void
setSpindleVelocity
(
const
double
velocity)
56
{
57
spindle_velocity_
= spindle_velocity;
58
}
59
67
virtual
double
expectedPointCloudNum
(
double
distance,
double
area)
const
68
{
69
assert(
spindle_velocity_
!= 0.0);
70
double
dphi = 2.0 * M_PI /
spindle_velocity_
;
71
return
point_sample_
* laser_freq_ / (2.0 * dphi) / (distance * distance) * area;
72
}
73
74
protected
:
75
76
double
spindle_velocity_
;
77
double
min_angle_
;
78
double
max_angle_
;
79
size_t
point_sample_
;
80
private
:
81
82
};
83
}
84
85
#endif
jsk_recognition_utils::SpindleLaserSensor::max_angle_
double max_angle_
Definition:
spindle_laser_sensor.h:142
boost::shared_ptr
jsk_recognition_utils
Definition:
color_utils.h:41
jsk_recognition_utils::SpindleLaserSensor::setSpindleVelocity
virtual void setSpindleVelocity(const double velocity)
Definition:
spindle_laser_sensor.h:119
jsk_recognition_utils::SpindleLaserSensor::SpindleLaserSensor
SpindleLaserSensor(const double min_angle, const double max_angle, const double laser_freq, const size_t point_sample)
Definition:
spindle_laser_sensor.h:112
jsk_recognition_utils::SpindleLaserSensor::Ptr
boost::shared_ptr< SpindleLaserSensor > Ptr
Definition:
spindle_laser_sensor.h:110
jsk_recognition_utils::SpindleLaserSensor::point_sample_
size_t point_sample_
Definition:
spindle_laser_sensor.h:143
jsk_recognition_utils::SpindleLaserSensor::spindle_velocity_
double spindle_velocity_
Definition:
spindle_laser_sensor.h:140
jsk_recognition_utils::SpindleLaserSensor::expectedPointCloudNum
virtual double expectedPointCloudNum(double distance, double area) const
Return the expected number of points according to distance and area. it is calculated according to: \...
Definition:
spindle_laser_sensor.h:131
jsk_recognition_utils::SpindleLaserSensor::min_angle_
double min_angle_
Definition:
spindle_laser_sensor.h:141
pointcloud_sensor_model.h
jsk_recognition_utils
Author(s):
autogenerated on Tue Jan 7 2025 04:04:52