MCPcopy Create free account
hub / github.com/LimHyungTae/patchwork / SensorConfig

Class SensorConfig

include/patchwork/sensor_configs.hpp:14–81  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

12using namespace std;
13
14struct SensorConfig {
15 vector<vector<int>> num_laser_channels_per_zone_;
16 vector<int> num_rings_for_each_zone_;
17 vector<int> num_sectors_for_each_zone_;
18 // Please refer to setPriorIdxesOfPatches
19
20 int num_channels_;
21 float lower_fov_boundary_;
22 float vertical_angular_resolution_;
23 int horizontal_resolution_;
24
25 /**
26 * Note: Only use-defined parameters are `num_laser_channels_per_zone_` and
27 * `num_sectors_for_each_zone_`
28 */
29 explicit SensorConfig(const string &sensor_name) {
30 cout << "\033[1;32mTarget Sensor: " << sensor_name << "\033[0m" << endl;
31 if (sensor_name == "VLP-16") { // For Kimera-Multi dataset
32 // https://www.amtechs.co.jp/product/VLP-16-Puck.pdf
33 num_laser_channels_per_zone_ = {{2, 1}, {1, 1}, {1, 1}, {1}};
34 num_sectors_for_each_zone_ = {16, 32, 56, 32};
35 lower_fov_boundary_ = -15;
36 vertical_angular_resolution_ = 2.0;
37 // https://github.com/TixiaoShan/LIO-SAM/blob/master/config/params.yaml
38 horizontal_resolution_ = 1800;
39 num_channels_ = 16;
40 } else if (sensor_name == "HDL-32E") {
41 // https://velodynelidar.com/wp-content/uploads/2019/12/97-0038-Rev-N-97-0038-DATASHEETWEBHDL32E_Web.pdf
42 num_laser_channels_per_zone_ = {{10, 5}, {3, 2, 1, 1}, {1, 1, 1}, {1, 1, 1}};
43 num_sectors_for_each_zone_ = {16, 32, 56, 32};
44 lower_fov_boundary_ = -30.67;
45 vertical_angular_resolution_ = 1.33;
46 horizontal_resolution_ = 1080;
47 num_channels_ = 32;
48 } else if (sensor_name == "HDL-64E") {
49 num_laser_channels_per_zone_ = {{24, 12}, {4, 3, 2, 2}, {2, 2, 2, 1}, {1, 1, 1, 1, 1}};
50 num_sectors_for_each_zone_ = {16, 32, 56, 32};
51 lower_fov_boundary_ = -24.8;
52 vertical_angular_resolution_ = 0.4;
53 // https://github.com/TixiaoShan/LIO-SAM/blob/master/config/params.yaml
54 horizontal_resolution_ = 1800;
55 num_channels_ = 64;
56 } else if (sensor_name == "OS1-16") { // For NTU_VIRAL dataset
57 // https://www.dataspeedinc.com/app/uploads/2019/10/Ouster-OS1-Datasheet.pdf
58 // But not work in NTU-VIRAL dataset, haha
59 num_laser_channels_per_zone_ = {{2, 1}, {1, 1}, {1}, {1}};
60 num_sectors_for_each_zone_ = {16, 32, 56, 32};
61 lower_fov_boundary_ = -16.6;
62 vertical_angular_resolution_ = 2.075;
63 // There are three main options: 512, 1024, 2048
64 // https://github.com/TixiaoShan/LIO-SAM/blob/master/config/params.yaml
65 horizontal_resolution_ = 1024;
66 num_channels_ = 16;
67 // It's not thorough, yet once the cloud points are sufficiently dense,
68 // then it's fine
69 } else if (sensor_name == "OS1-64" || sensor_name == "OS1-128") {
70 num_laser_channels_per_zone_ = {{12, 6}, {3, 2, 1, 1}, {1, 1, 1}, {1, 1, 1}};
71 num_sectors_for_each_zone_ = {16, 32, 56, 32};

Callers 1

ConcentricZoneModelMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected