calibration.h
Go to the documentation of this file.
1 // Copyright (C) 2012, 2019 Austin Robot Technology, Piyush Khandelwal, Joshua Whitley
2 // All rights reserved.
3 //
4 // Software License Agreement (BSD License 2.0)
5 //
6 // Redistribution and use in source and binary forms, with or without
7 // modification, are permitted provided that the following conditions
8 // are met:
9 //
10 // * Redistributions of source code must retain the above copyright
11 // notice, this list of conditions and the following disclaimer.
12 // * Redistributions in binary form must reproduce the above
13 // copyright notice, this list of conditions and the following
14 // disclaimer in the documentation and/or other materials provided
15 // with the distribution.
16 // * Neither the name of {copyright_holder} nor the names of its
17 // contributors may be used to endorse or promote products derived
18 // from this software without specific prior written permission.
19 //
20 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21 // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22 // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
23 // FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
24 // COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
25 // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
26 // BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
27 // LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
28 // CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
29 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
30 // ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
31 // POSSIBILITY OF SUCH DAMAGE.
32 
33 #ifndef VELODYNE_POINTCLOUD_CALIBRATION_H
34 #define VELODYNE_POINTCLOUD_CALIBRATION_H
35 
36 #include <map>
37 #include <vector>
38 #include <string>
39 
41 {
42 
53 {
66  float focal_slope;
67 
73 
74  int laser_ring;
75 };
76 
79 {
80 public:
82  std::map<int, LaserCorrection> laser_corrections_map;
83  std::vector<LaserCorrection> laser_corrections;
86  bool ros_info;
87 
88 public:
89  explicit Calibration(bool info = true)
90  : distance_resolution_m(0.002f),
91  num_lasers(0),
92  initialized(false),
93  ros_info(info) {}
94  explicit Calibration(
95  const std::string& calibration_file,
96  bool info = true)
97  : distance_resolution_m(0.002f),
98  ros_info(info)
99  {
100  read(calibration_file);
101  }
102 
103  void read(const std::string& calibration_file);
104  void write(const std::string& calibration_file);
105 };
106 
107 } // namespace velodyne_pointcloud
108 
109 #endif // VELODYNE_POINTCLOUD_CALIBRATION_H
Calibration information for the entire device.
Definition: calibration.h:78
float sin_vert_correction
sine of vert_correction
Definition: calibration.h:72
std::vector< LaserCorrection > laser_corrections
Definition: calibration.h:83
correction values for a single laser
Definition: calibration.h:52
std::map< int, LaserCorrection > laser_corrections_map
Definition: calibration.h:82
float sin_rot_correction
sine of rot_correction
Definition: calibration.h:70
int laser_ring
ring number for this laser
Definition: calibration.h:74
float cos_rot_correction
cosine of rot_correction
Definition: calibration.h:69
Calibration(const std::string &calibration_file, bool info=true)
Definition: calibration.h:94
float cos_vert_correction
cosine of vert_correction
Definition: calibration.h:71


velodyne_pointcloud
Author(s): Jack O'Quin, Piyush Khandelwal, Jesse Vera, Sebastian Pütz
autogenerated on Sun Sep 6 2020 03:25:30