Initial commit

This commit is contained in:
2026-07-27 13:51:19 +08:00
commit 7bec56ca51
5408 changed files with 1126933 additions and 0 deletions
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,52 @@
### Unit tests
#
# Only configured when CATKIN_ENABLE_TESTING is true.
# these dependencies are only needed for unit testing
find_package(roslaunch REQUIRED)
find_package(rostest REQUIRED)
find_package(tf2_ros REQUIRED)
# C++ gtests
catkin_add_gtest(test_calibration test_calibration.cpp)
add_dependencies(test_calibration ${catkin_EXPORTED_TARGETS})
target_link_libraries(test_calibration velodyne_rawdata ${catkin_LIBRARIES})
# Download packet capture (PCAP) files containing test data.
# Store them in devel-space, so rostest can easily find them.
catkin_download_test_data(
${PROJECT_NAME}_tests_class.pcap
http://download.ros.org/data/velodyne/class.pcap
DESTINATION ${CATKIN_DEVEL_PREFIX}/${CATKIN_PACKAGE_SHARE_DESTINATION}/tests
MD5 65808d25772101358a3719b451b3d015)
catkin_download_test_data(
${PROJECT_NAME}_tests_32e.pcap
http://download.ros.org/data/velodyne/32e.pcap
DESTINATION ${CATKIN_DEVEL_PREFIX}/${CATKIN_PACKAGE_SHARE_DESTINATION}/tests
MD5 e41d02aac34f0967c03a5597e1d554a9)
catkin_download_test_data(
${PROJECT_NAME}_tests_64e_s2.1-300-sztaki.pcap
http://download.ros.org/data/velodyne/64e_s2.1-300-sztaki.pcap
DESTINATION ${CATKIN_DEVEL_PREFIX}/${CATKIN_PACKAGE_SHARE_DESTINATION}/tests
MD5 176c900ffb698f9b948a13e281ffc1a2)
catkin_download_test_data(
${PROJECT_NAME}_tests_vlp16.pcap
http://download.ros.org/data/velodyne/vlp16.pcap
DESTINATION ${CATKIN_DEVEL_PREFIX}/${CATKIN_PACKAGE_SHARE_DESTINATION}/tests
MD5 f45c2bb1d7ee358274e423ea3b66fd73)
# run rostests
add_rostest(cloud_node_hz.test)
add_rostest(cloud_nodelet_hz.test)
add_rostest(cloud_node_32e_hz.test)
add_rostest(cloud_nodelet_32e_hz.test)
add_rostest(cloud_node_64e_s2.1_hz.test)
add_rostest(cloud_nodelet_64e_s2.1_hz.test)
add_rostest(cloud_node_vlp16_hz.test)
add_rostest(cloud_nodelet_vlp16_hz.test)
add_rostest(transform_node_hz.test)
add_rostest(transform_nodelet_hz.test)
add_rostest(two_nodelet_managers.test)
# parse check all the launch/*.launch files
roslaunch_add_file_check(../launch)
@@ -0,0 +1,835 @@
num_lasers: 64
distance_resolution: 0.002
lasers:
- laser_id: 0
rot_correction: -0.122173048555851
vert_correction: -0.401850968599319
dist_correction: 0.119999997317791
two_pt_correction_available: false
dist_correction_x: 0
dist_correction_y: 0
vert_offset_correction: 0
vert_offset_correction: 0
max_intensity: 255
min_intensity: 0
focal_distance: 0
focal_slope: 0
- laser_id: 1
rot_correction: -0.0610865242779255
vert_correction: -0.39391815662384
dist_correction: 0.0199999995529652
two_pt_correction_available: false
dist_correction_x: 0
dist_correction_y: 0
vert_offset_correction: 0
vert_offset_correction: 0
max_intensity: 255
min_intensity: 0
focal_distance: 0
focal_slope: 0
- laser_id: 2
rot_correction: 0.0959931090474129
vert_correction: -0.200955957174301
dist_correction: 0.100000001490116
two_pt_correction_available: false
dist_correction_x: 0
dist_correction_y: 0
vert_offset_correction: 0
vert_offset_correction: 0
max_intensity: 255
min_intensity: 0
focal_distance: 0
focal_slope: 0
- laser_id: 3
rot_correction: 0.148352980613708
vert_correction: -0.188023120164871
dist_correction: 0.230000004172325
two_pt_correction_available: false
dist_correction_x: 0
dist_correction_y: 0
vert_offset_correction: 0
vert_offset_correction: 0
max_intensity: 255
min_intensity: 0
focal_distance: 0
focal_slope: 0
- laser_id: 4
rot_correction: -0.00872664619237185
vert_correction: -0.384992778301239
dist_correction: 0.170000001788139
two_pt_correction_available: false
dist_correction_x: 0
dist_correction_y: 0
vert_offset_correction: 0
vert_offset_correction: 0
max_intensity: 255
min_intensity: 0
focal_distance: 0
focal_slope: 0
- laser_id: 5
rot_correction: 0.0610865242779255
vert_correction: -0.379074156284332
dist_correction: 0.150000005960464
two_pt_correction_available: false
dist_correction_x: 0
dist_correction_y: 0
vert_offset_correction: 0
vert_offset_correction: 0
max_intensity: 255
min_intensity: 0
focal_distance: 0
focal_slope: 0
- laser_id: 6
rot_correction: -0.0174532923847437
vert_correction: -0.445288896560669
dist_correction: 0.0500000007450581
two_pt_correction_available: false
dist_correction_x: 0
dist_correction_y: 0
vert_offset_correction: 0
vert_offset_correction: 0
max_intensity: 255
min_intensity: 0
focal_distance: 0
focal_slope: 0
- laser_id: 7
rot_correction: 0.0349065847694874
vert_correction: -0.43470174074173
dist_correction: 0.270000010728836
two_pt_correction_available: false
dist_correction_x: 0
dist_correction_y: 0
vert_offset_correction: 0
vert_offset_correction: 0
max_intensity: 255
min_intensity: 0
focal_distance: 0
focal_slope: 0
- laser_id: 8
rot_correction: 0.122173048555851
vert_correction: -0.3671615421772
dist_correction: 0.180000007152557
two_pt_correction_available: false
dist_correction_x: 0
dist_correction_y: 0
vert_offset_correction: 0
vert_offset_correction: 0
max_intensity: 255
min_intensity: 0
focal_distance: 0
focal_slope: 0
- laser_id: 9
rot_correction: 0.174532920122147
vert_correction: -0.357254236936569
dist_correction: 0.189999997615814
two_pt_correction_available: false
dist_correction_x: 0
dist_correction_y: 0
vert_offset_correction: 0
vert_offset_correction: 0
max_intensity: 255
min_intensity: 0
focal_distance: 0
focal_slope: 0
- laser_id: 10
rot_correction: 0.104719758033752
vert_correction: -0.423742026090622
dist_correction: 0.100000001490116
two_pt_correction_available: false
dist_correction_x: 0
dist_correction_y: 0
vert_offset_correction: 0
vert_offset_correction: 0
max_intensity: 255
min_intensity: 0
focal_distance: 0
focal_slope: 0
- laser_id: 11
rot_correction: 0.165806278586388
vert_correction: -0.414792060852051
dist_correction: 0.200000002980232
two_pt_correction_available: false
dist_correction_x: 0
dist_correction_y: 0
vert_offset_correction: 0
vert_offset_correction: 0
max_intensity: 255
min_intensity: 0
focal_distance: 0
focal_slope: 0
- laser_id: 12
rot_correction: -0.113446399569511
vert_correction: -0.288992017507553
dist_correction: 0.219999998807907
two_pt_correction_available: false
dist_correction_x: 0
dist_correction_y: 0
vert_offset_correction: 0
vert_offset_correction: 0
max_intensity: 255
min_intensity: 0
focal_distance: 0
focal_slope: 0
- laser_id: 13
rot_correction: -0.0567231997847557
vert_correction: -0.28310164809227
dist_correction: 0.200000002980232
two_pt_correction_available: false
dist_correction_x: 0
dist_correction_y: 0
vert_offset_correction: 0
vert_offset_correction: 0
max_intensity: 255
min_intensity: 0
focal_distance: 0
focal_slope: 0
- laser_id: 14
rot_correction: -0.13962633907795
vert_correction: -0.347351551055908
dist_correction: 0.150000005960464
two_pt_correction_available: false
dist_correction_x: 0
dist_correction_y: 0
vert_offset_correction: 0
vert_offset_correction: 0
max_intensity: 255
min_intensity: 0
focal_distance: 0
focal_slope: 0
- laser_id: 15
rot_correction: -0.0872664600610733
vert_correction: -0.332452714443207
dist_correction: 0.219999998807907
two_pt_correction_available: false
dist_correction_x: 0
dist_correction_y: 0
vert_offset_correction: 0
vert_offset_correction: 0
max_intensity: 255
min_intensity: 0
focal_distance: 0
focal_slope: 0
- laser_id: 16
rot_correction: 0
vert_correction: -0.274210214614868
dist_correction: 0.0599999986588955
two_pt_correction_available: false
dist_correction_x: 0
dist_correction_y: 0
vert_offset_correction: 0
vert_offset_correction: 0
max_intensity: 255
min_intensity: 0
focal_distance: 0
focal_slope: 0
- laser_id: 17
rot_correction: 0.0558505356311798
vert_correction: -0.266317009925842
dist_correction: 0.129999995231628
two_pt_correction_available: false
dist_correction_x: 0
dist_correction_y: 0
vert_offset_correction: 0
vert_offset_correction: 0
max_intensity: 255
min_intensity: 0
focal_distance: 0
focal_slope: 0
- laser_id: 18
rot_correction: -0.0174532923847437
vert_correction: -0.331895291805267
dist_correction: 0.00999999977648258
two_pt_correction_available: false
dist_correction_x: 0
dist_correction_y: 0
vert_offset_correction: 0
vert_offset_correction: 0
max_intensity: 255
min_intensity: 0
focal_distance: 0
focal_slope: 0
- laser_id: 19
rot_correction: 0.0349065847694874
vert_correction: -0.323663860559464
dist_correction: 0.150000005960464
two_pt_correction_available: false
dist_correction_x: 0
dist_correction_y: 0
vert_offset_correction: 0
vert_offset_correction: 0
max_intensity: 255
min_intensity: 0
focal_distance: 0
focal_slope: 0
- laser_id: 20
rot_correction: 0.122173048555851
vert_correction: -0.256421387195587
dist_correction: 0.200000002980232
two_pt_correction_available: false
dist_correction_x: 0
dist_correction_y: 0
vert_offset_correction: 0
vert_offset_correction: 0
max_intensity: 255
min_intensity: 0
focal_distance: 0
focal_slope: 0
- laser_id: 21
rot_correction: 0.165806278586388
vert_correction: -0.244522526860237
dist_correction: 0.239999994635582
two_pt_correction_available: false
dist_correction_x: 0
dist_correction_y: 0
vert_offset_correction: 0
vert_offset_correction: 0
max_intensity: 255
min_intensity: 0
focal_distance: 0
focal_slope: 0
- laser_id: 22
rot_correction: 0.104719758033752
vert_correction: -0.31077241897583
dist_correction: 0.180000007152557
two_pt_correction_available: false
dist_correction_x: 0
dist_correction_y: 0
vert_offset_correction: 0
vert_offset_correction: 0
max_intensity: 255
min_intensity: 0
focal_distance: 0
focal_slope: 0
- laser_id: 23
rot_correction: 0.157079637050629
vert_correction: -0.302882075309753
dist_correction: 0.219999998807907
two_pt_correction_available: false
dist_correction_x: 0
dist_correction_y: 0
vert_offset_correction: 0
vert_offset_correction: 0
max_intensity: 255
min_intensity: 0
focal_distance: 0
focal_slope: 0
- laser_id: 24
rot_correction: -0.104719758033752
vert_correction: -0.180082052946091
dist_correction: 0.140000000596046
two_pt_correction_available: false
dist_correction_x: 0
dist_correction_y: 0
vert_offset_correction: 0
vert_offset_correction: 0
max_intensity: 255
min_intensity: 0
focal_distance: 0
focal_slope: 0
- laser_id: 25
rot_correction: -0.0610865242779255
vert_correction: -0.172132045030594
dist_correction: 0.319999992847443
two_pt_correction_available: false
dist_correction_x: 0
dist_correction_y: 0
vert_offset_correction: 0
vert_offset_correction: 0
max_intensity: 255
min_intensity: 0
focal_distance: 0
focal_slope: 0
- laser_id: 26
rot_correction: -0.13962633907795
vert_correction: -0.235619828104973
dist_correction: 0.200000002980232
two_pt_correction_available: false
dist_correction_x: 0
dist_correction_y: 0
vert_offset_correction: 0
vert_offset_correction: 0
max_intensity: 255
min_intensity: 0
focal_distance: 0
focal_slope: 0
- laser_id: 27
rot_correction: -0.0785398185253143
vert_correction: -0.228712558746338
dist_correction: 0.25
two_pt_correction_available: false
dist_correction_x: 0
dist_correction_y: 0
vert_offset_correction: 0
vert_offset_correction: 0
max_intensity: 255
min_intensity: 0
focal_distance: 0
focal_slope: 0
- laser_id: 28
rot_correction: 0
vert_correction: -0.16517236828804
dist_correction: 0.170000001788139
two_pt_correction_available: false
dist_correction_x: 0
dist_correction_y: 0
vert_offset_correction: 0
vert_offset_correction: 0
max_intensity: 255
min_intensity: 0
focal_distance: 0
focal_slope: 0
- laser_id: 29
rot_correction: 0.0436332300305367
vert_correction: -0.154202222824097
dist_correction: 0.230000004172325
two_pt_correction_available: false
dist_correction_x: 0
dist_correction_y: 0
vert_offset_correction: 0
vert_offset_correction: 0
max_intensity: 255
min_intensity: 0
focal_distance: 0
focal_slope: 0
- laser_id: 30
rot_correction: -0.0174532923847437
vert_correction: -0.219799935817719
dist_correction: 0.150000005960464
two_pt_correction_available: false
dist_correction_x: 0
dist_correction_y: 0
vert_offset_correction: 0
vert_offset_correction: 0
max_intensity: 255
min_intensity: 0
focal_distance: 0
focal_slope: 0
- laser_id: 31
rot_correction: 0.0314159244298935
vert_correction: -0.21088133752346
dist_correction: 0.230000004172325
two_pt_correction_available: false
dist_correction_x: 0
dist_correction_y: 0
vert_offset_correction: 0
vert_offset_correction: 0
max_intensity: 255
min_intensity: 0
focal_distance: 0
focal_slope: 0
- laser_id: 32
rot_correction: -0.0698131695389748
vert_correction: -0.121932752430439
dist_correction: 0.100000001490116
two_pt_correction_available: false
dist_correction_x: 0
dist_correction_y: 0
vert_offset_correction: 0
vert_offset_correction: 0
max_intensity: 255
min_intensity: 0
focal_distance: 0
focal_slope: 0
- laser_id: 33
rot_correction: -0.0392699092626572
vert_correction: -0.113993428647518
dist_correction: 0.280000001192093
two_pt_correction_available: false
dist_correction_x: 0
dist_correction_y: 0
vert_offset_correction: 0
vert_offset_correction: 0
max_intensity: 255
min_intensity: 0
focal_distance: 0
focal_slope: 0
- laser_id: 34
rot_correction: 0.0698131695389748
vert_correction: 0.0055470340885222
dist_correction: 0.319999992847443
two_pt_correction_available: false
dist_correction_x: 0
dist_correction_y: 0
vert_offset_correction: 0
vert_offset_correction: 0
max_intensity: 255
min_intensity: 0
focal_distance: 0
focal_slope: 0
- laser_id: 35
rot_correction: 0.104719758033752
vert_correction: 0.0114863449707627
dist_correction: 0.230000004172325
two_pt_correction_available: false
dist_correction_x: 0
dist_correction_y: 0
vert_offset_correction: 0
vert_offset_correction: 0
max_intensity: 255
min_intensity: 0
focal_distance: 0
focal_slope: 0
- laser_id: 36
rot_correction: 0.013962633907795
vert_correction: -0.109056323766708
dist_correction: 0.0700000002980232
two_pt_correction_available: false
dist_correction_x: 0
dist_correction_y: 0
vert_offset_correction: 0
vert_offset_correction: 0
max_intensity: 255
min_intensity: 0
focal_distance: 0
focal_slope: 0
- laser_id: 37
rot_correction: 0.0392699092626572
vert_correction: -0.104121200740337
dist_correction: 0.0900000035762787
two_pt_correction_available: false
dist_correction_x: 0
dist_correction_y: 0
vert_offset_correction: 0
vert_offset_correction: 0
max_intensity: 255
min_intensity: 0
focal_distance: 0
focal_slope: 0
- laser_id: 38
rot_correction: 0
vert_correction: -0.14471623301506
dist_correction: 0.119999997317791
two_pt_correction_available: false
dist_correction_x: 0
dist_correction_y: 0
vert_offset_correction: 0
vert_offset_correction: 0
max_intensity: 255
min_intensity: 0
focal_distance: 0
focal_slope: 0
- laser_id: 39
rot_correction: 0.0226892791688442
vert_correction: -0.1387659907341
dist_correction: 0.200000002980232
two_pt_correction_available: false
dist_correction_x: 0
dist_correction_y: 0
vert_offset_correction: 0
vert_offset_correction: 0
max_intensity: 255
min_intensity: 0
focal_distance: 0
focal_slope: 0
- laser_id: 40
rot_correction: 0.0820304751396179
vert_correction: -0.0981878563761711
dist_correction: 0.129999995231628
two_pt_correction_available: false
dist_correction_x: 0
dist_correction_y: 0
vert_offset_correction: 0
vert_offset_correction: 0
max_intensity: 255
min_intensity: 0
focal_distance: 0
focal_slope: 0
- laser_id: 41
rot_correction: 0.113446399569511
vert_correction: -0.0952560678124428
dist_correction: 0.159999996423721
two_pt_correction_available: false
dist_correction_x: 0
dist_correction_y: 0
vert_offset_correction: 0
vert_offset_correction: 0
max_intensity: 255
min_intensity: 0
focal_distance: 0
focal_slope: 0
- laser_id: 42
rot_correction: 0.0698131695389748
vert_correction: -0.132818818092346
dist_correction: 0.159999996423721
two_pt_correction_available: false
dist_correction_x: 0
dist_correction_y: 0
vert_offset_correction: 0
vert_offset_correction: 0
max_intensity: 255
min_intensity: 0
focal_distance: 0
focal_slope: 0
- laser_id: 43
rot_correction: 0.104719758033752
vert_correction: -0.127874463796616
dist_correction: 0.159999996423721
two_pt_correction_available: false
dist_correction_x: 0
dist_correction_y: 0
vert_offset_correction: 0
vert_offset_correction: 0
max_intensity: 255
min_intensity: 0
focal_distance: 0
focal_slope: 0
- laser_id: 44
rot_correction: -0.068067841231823
vert_correction: -0.05375986546278
dist_correction: 0.129999995231628
two_pt_correction_available: false
dist_correction_x: 0
dist_correction_y: 0
vert_offset_correction: 0
vert_offset_correction: 0
max_intensity: 255
min_intensity: 0
focal_distance: 0
focal_slope: 0
- laser_id: 45
rot_correction: -0.0349065847694874
vert_correction: -0.0478330813348293
dist_correction: 0.200000002980232
two_pt_correction_available: false
dist_correction_x: 0
dist_correction_y: 0
vert_offset_correction: 0
vert_offset_correction: 0
max_intensity: 255
min_intensity: 0
focal_distance: 0
focal_slope: 0
- laser_id: 46
rot_correction: -0.0837758108973503
vert_correction: -0.0893256440758705
dist_correction: 0.170000001788139
two_pt_correction_available: false
dist_correction_x: 0
dist_correction_y: 0
vert_offset_correction: 0
vert_offset_correction: 0
max_intensity: 255
min_intensity: 0
focal_distance: 0
focal_slope: 0
- laser_id: 47
rot_correction: -0.0479965545237064
vert_correction: -0.0833963677287102
dist_correction: 0.239999994635582
two_pt_correction_available: false
dist_correction_x: 0
dist_correction_y: 0
vert_offset_correction: 0
vert_offset_correction: 0
max_intensity: 255
min_intensity: 0
focal_distance: 0
focal_slope: 0
- laser_id: 48
rot_correction: 0.00872664619237185
vert_correction: -0.0419059917330742
dist_correction: 0.180000007152557
two_pt_correction_available: false
dist_correction_x: 0
dist_correction_y: 0
vert_offset_correction: 0
vert_offset_correction: 0
max_intensity: 255
min_intensity: 0
focal_distance: 0
focal_slope: 0
- laser_id: 49
rot_correction: 0.0392699092626572
vert_correction: -0.035978376865387
dist_correction: 0.0599999986588955
two_pt_correction_available: false
dist_correction_x: 0
dist_correction_y: 0
vert_offset_correction: 0
vert_offset_correction: 0
max_intensity: 255
min_intensity: 0
focal_distance: 0
focal_slope: 0
- laser_id: 50
rot_correction: 0
vert_correction: -0.0774680152535439
dist_correction: 0.140000000596046
two_pt_correction_available: false
dist_correction_x: 0
dist_correction_y: 0
vert_offset_correction: 0
vert_offset_correction: 0
max_intensity: 255
min_intensity: 0
focal_distance: 0
focal_slope: 0
- laser_id: 51
rot_correction: 0.0305432621389627
vert_correction: -0.0715404152870178
dist_correction: 0.150000005960464
two_pt_correction_available: false
dist_correction_x: 0
dist_correction_y: 0
vert_offset_correction: 0
vert_offset_correction: 0
max_intensity: 255
min_intensity: 0
focal_distance: 0
focal_slope: 0
- laser_id: 52
rot_correction: 0.0855211317539215
vert_correction: -0.0300500374287367
dist_correction: 0.219999998807907
two_pt_correction_available: false
dist_correction_x: 0
dist_correction_y: 0
vert_offset_correction: 0
vert_offset_correction: 0
max_intensity: 255
min_intensity: 0
focal_distance: 0
focal_slope: 0
- laser_id: 53
rot_correction: 0.109083078801632
vert_correction: -0.024120757356286
dist_correction: 0.140000000596046
two_pt_correction_available: false
dist_correction_x: 0
dist_correction_y: 0
vert_offset_correction: 0
vert_offset_correction: 0
max_intensity: 255
min_intensity: 0
focal_distance: 0
focal_slope: 0
- laser_id: 54
rot_correction: 0.0698131695389748
vert_correction: -0.0656133219599724
dist_correction: 0.0799999982118607
two_pt_correction_available: false
dist_correction_x: 0
dist_correction_y: 0
vert_offset_correction: 0
vert_offset_correction: 0
max_intensity: 255
min_intensity: 0
focal_distance: 0
focal_slope: 0
- laser_id: 55
rot_correction: 0.104719758033752
vert_correction: -0.0596865378320217
dist_correction: 0.159999996423721
two_pt_correction_available: false
dist_correction_x: 0
dist_correction_y: 0
vert_offset_correction: 0
vert_offset_correction: 0
max_intensity: 255
min_intensity: 0
focal_distance: 0
focal_slope: 0
- laser_id: 56
rot_correction: -0.0610865242779255
vert_correction: 0.0174280721694231
dist_correction: 0.119999997317791
two_pt_correction_available: false
dist_correction_x: 0
dist_correction_y: 0
vert_offset_correction: 0
vert_offset_correction: 0
max_intensity: 255
min_intensity: 0
focal_distance: 0
focal_slope: 0
- laser_id: 57
rot_correction: -0.0349065847694874
vert_correction: 0.0233724191784859
dist_correction: 0.219999998807907
two_pt_correction_available: false
dist_correction_x: 0
dist_correction_y: 0
vert_offset_correction: 0
vert_offset_correction: 0
max_intensity: 255
min_intensity: 0
focal_distance: 0
focal_slope: 0
- laser_id: 58
rot_correction: -0.0785398185253143
vert_correction: -0.0181903336197138
dist_correction: 0.159999996423721
two_pt_correction_available: false
dist_correction_x: 0
dist_correction_y: 0
vert_offset_correction: 0
vert_offset_correction: 0
max_intensity: 255
min_intensity: 0
focal_distance: 0
focal_slope: 0
- laser_id: 59
rot_correction: -0.0471238903701305
vert_correction: -0.0122585473582149
dist_correction: 0.259999990463257
two_pt_correction_available: false
dist_correction_x: 0
dist_correction_y: 0
vert_offset_correction: 0
vert_offset_correction: 0
max_intensity: 255
min_intensity: 0
focal_distance: 0
focal_slope: 0
- laser_id: 60
rot_correction: 0.0104719763621688
vert_correction: 0.0293195936828852
dist_correction: 0.140000000596046
two_pt_correction_available: false
dist_correction_x: 0
dist_correction_y: 0
vert_offset_correction: 0
vert_offset_correction: 0
max_intensity: 255
min_intensity: 0
focal_distance: 0
focal_slope: 0
- laser_id: 61
rot_correction: 0.0349065847694874
vert_correction: 0.0352698266506195
dist_correction: 0.219999998807907
two_pt_correction_available: false
dist_correction_x: 0
dist_correction_y: 0
vert_offset_correction: 0
vert_offset_correction: 0
max_intensity: 255
min_intensity: 0
focal_distance: 0
focal_slope: 0
- laser_id: 62
rot_correction: -0.00436332309618592
vert_correction: -0.00632520206272602
dist_correction: 0.209999993443489
two_pt_correction_available: false
dist_correction_x: 0
dist_correction_y: 0
vert_offset_correction: 0
vert_offset_correction: 0
max_intensity: 255
min_intensity: 0
focal_distance: 0
focal_slope: 0
- laser_id: 63
rot_correction: 0.0296705979853868
vert_correction: -0.000390077300835401
dist_correction: 0.140000000596046
two_pt_correction_available: false
dist_correction_x: 0
dist_correction_y: 0
vert_offset_correction: 0
vert_offset_correction: 0
max_intensity: 255
min_intensity: 0
focal_distance: 0
focal_slope: 0
@@ -0,0 +1,258 @@
lasers:
- {dist_correction: 0.100000001490116, dist_correction_x: 0, dist_correction_y: 0,
focal_distance: 0, focal_slope: 0, laser_id: 0, max_intensity: 255, min_intensity: 0,
rot_correction: -0.0698131695389748, two_pt_correction_available: false, vert_correction: -0.124932751059532,
vert_offset_correction: 0}
- {dist_correction: 0.280000001192093, dist_correction_x: 0, dist_correction_y: 0,
focal_distance: 0, focal_slope: 0, laser_id: 1, max_intensity: 255, min_intensity: 0,
rot_correction: -0.0392699092626572, two_pt_correction_available: false, vert_correction: -0.118993431329727,
vert_offset_correction: 0}
- {dist_correction: 0.319999992847443, dist_correction_x: 0, dist_correction_y: 0,
focal_distance: 0, focal_slope: 0, laser_id: 2, max_intensity: 255, min_intensity: 0,
rot_correction: 0.0698131695389748, two_pt_correction_available: false, vert_correction: 0.0055470340885222,
vert_offset_correction: 0}
- {dist_correction: 0.230000004172325, dist_correction_x: 0, dist_correction_y: 0,
focal_distance: 0, focal_slope: 0, laser_id: 3, max_intensity: 255, min_intensity: 0,
rot_correction: 0.104719758033752, two_pt_correction_available: false, vert_correction: 0.0114863449707627,
vert_offset_correction: 0}
- {dist_correction: 0.0700000002980232, dist_correction_x: 0, dist_correction_y: 0,
focal_distance: 0, focal_slope: 0, laser_id: 4, max_intensity: 255, min_intensity: 0,
rot_correction: 0.013962633907795, two_pt_correction_available: false, vert_correction: -0.113056324422359,
vert_offset_correction: 0}
- {dist_correction: 0.0900000035762787, dist_correction_x: 0, dist_correction_y: 0,
focal_distance: 0, focal_slope: 0, laser_id: 5, max_intensity: 255, min_intensity: 0,
rot_correction: 0.0392699092626572, two_pt_correction_available: false, vert_correction: -0.107121199369431,
vert_offset_correction: 0}
- {dist_correction: 0.119999997317791, dist_correction_x: 0, dist_correction_y: 0,
focal_distance: 0, focal_slope: 0, laser_id: 6, max_intensity: 255, min_intensity: 0,
rot_correction: 0, two_pt_correction_available: false, vert_correction: -0.148716226220131,
vert_offset_correction: 0}
- {dist_correction: 0.200000002980232, dist_correction_x: 0, dist_correction_y: 0,
focal_distance: 0, focal_slope: 0, laser_id: 7, max_intensity: 255, min_intensity: 0,
rot_correction: 0.0226892791688442, two_pt_correction_available: false, vert_correction: -0.142765983939171,
vert_offset_correction: 0}
- {dist_correction: 0.129999995231628, dist_correction_x: 0, dist_correction_y: 0,
focal_distance: 0, focal_slope: 0, laser_id: 8, max_intensity: 255, min_intensity: 0,
rot_correction: 0.0820304751396179, two_pt_correction_available: false, vert_correction: -0.101187855005264,
vert_offset_correction: 0}
- {dist_correction: 0.159999996423721, dist_correction_x: 0, dist_correction_y: 0,
focal_distance: 0, focal_slope: 0, laser_id: 9, max_intensity: 255, min_intensity: 0,
rot_correction: 0.113446399569511, two_pt_correction_available: false, vert_correction: -0.0952560678124428,
vert_offset_correction: 0}
- {dist_correction: 0.159999996423721, dist_correction_x: 0, dist_correction_y: 0,
focal_distance: 0, focal_slope: 0, laser_id: 10, max_intensity: 255, min_intensity: 0,
rot_correction: 0.0698131695389748, two_pt_correction_available: false, vert_correction: -0.136818811297417,
vert_offset_correction: 0}
- {dist_correction: 0.159999996423721, dist_correction_x: 0, dist_correction_y: 0,
focal_distance: 0, focal_slope: 0, laser_id: 11, max_intensity: 255, min_intensity: 0,
rot_correction: 0.104719758033752, two_pt_correction_available: false, vert_correction: -0.130874469876289,
vert_offset_correction: 0}
- {dist_correction: 0.129999995231628, dist_correction_x: 0, dist_correction_y: 0,
focal_distance: 0, focal_slope: 0, laser_id: 12, max_intensity: 255, min_intensity: 0,
rot_correction: -0.068067841231823, two_pt_correction_available: false, vert_correction: -0.05375986546278,
vert_offset_correction: 0}
- {dist_correction: 0.200000002980232, dist_correction_x: 0, dist_correction_y: 0,
focal_distance: 0, focal_slope: 0, laser_id: 13, max_intensity: 255, min_intensity: 0,
rot_correction: -0.0349065847694874, two_pt_correction_available: false, vert_correction: -0.0478330813348293,
vert_offset_correction: 0}
- {dist_correction: 0.170000001788139, dist_correction_x: 0, dist_correction_y: 0,
focal_distance: 0, focal_slope: 0, laser_id: 14, max_intensity: 255, min_intensity: 0,
rot_correction: -0.0837758108973503, two_pt_correction_available: false, vert_correction: -0.0893256440758705,
vert_offset_correction: 0}
- {dist_correction: 0.239999994635582, dist_correction_x: 0, dist_correction_y: 0,
focal_distance: 0, focal_slope: 0, laser_id: 15, max_intensity: 255, min_intensity: 0,
rot_correction: -0.0479965545237064, two_pt_correction_available: false, vert_correction: -0.0833963677287102,
vert_offset_correction: 0}
- {dist_correction: 0.180000007152557, dist_correction_x: 0, dist_correction_y: 0,
focal_distance: 0, focal_slope: 0, laser_id: 16, max_intensity: 255, min_intensity: 0,
rot_correction: 0.00872664619237185, two_pt_correction_available: false, vert_correction: -0.0419059917330742,
vert_offset_correction: 0}
- {dist_correction: 0.0599999986588955, dist_correction_x: 0, dist_correction_y: 0,
focal_distance: 0, focal_slope: 0, laser_id: 17, max_intensity: 255, min_intensity: 0,
rot_correction: 0.0392699092626572, two_pt_correction_available: false, vert_correction: -0.035978376865387,
vert_offset_correction: 0}
- {dist_correction: 0.140000000596046, dist_correction_x: 0, dist_correction_y: 0,
focal_distance: 0, focal_slope: 0, laser_id: 18, max_intensity: 255, min_intensity: 0,
rot_correction: 0, two_pt_correction_available: false, vert_correction: -0.0774680152535439,
vert_offset_correction: 0}
- {dist_correction: 0.150000005960464, dist_correction_x: 0, dist_correction_y: 0,
focal_distance: 0, focal_slope: 0, laser_id: 19, max_intensity: 255, min_intensity: 0,
rot_correction: 0.0305432621389627, two_pt_correction_available: false, vert_correction: -0.0715404152870178,
vert_offset_correction: 0}
- {dist_correction: 0.219999998807907, dist_correction_x: 0, dist_correction_y: 0,
focal_distance: 0, focal_slope: 0, laser_id: 20, max_intensity: 255, min_intensity: 0,
rot_correction: 0.0855211317539215, two_pt_correction_available: false, vert_correction: -0.0300500374287367,
vert_offset_correction: 0}
- {dist_correction: 0.140000000596046, dist_correction_x: 0, dist_correction_y: 0,
focal_distance: 0, focal_slope: 0, laser_id: 21, max_intensity: 255, min_intensity: 0,
rot_correction: 0.109083078801632, two_pt_correction_available: false, vert_correction: -0.024120757356286,
vert_offset_correction: 0}
- {dist_correction: 0.0799999982118607, dist_correction_x: 0, dist_correction_y: 0,
focal_distance: 0, focal_slope: 0, laser_id: 22, max_intensity: 255, min_intensity: 0,
rot_correction: 0.0698131695389748, two_pt_correction_available: false, vert_correction: -0.0656133219599724,
vert_offset_correction: 0}
- {dist_correction: 0.159999996423721, dist_correction_x: 0, dist_correction_y: 0,
focal_distance: 0, focal_slope: 0, laser_id: 23, max_intensity: 255, min_intensity: 0,
rot_correction: 0.104719758033752, two_pt_correction_available: false, vert_correction: -0.0596865378320217,
vert_offset_correction: 0}
- {dist_correction: 0.119999997317791, dist_correction_x: 0, dist_correction_y: 0,
focal_distance: 0, focal_slope: 0, laser_id: 24, max_intensity: 255, min_intensity: 0,
rot_correction: -0.0610865242779255, two_pt_correction_available: false, vert_correction: 0.0174280721694231,
vert_offset_correction: 0}
- {dist_correction: 0.219999998807907, dist_correction_x: 0, dist_correction_y: 0,
focal_distance: 0, focal_slope: 0, laser_id: 25, max_intensity: 255, min_intensity: 0,
rot_correction: -0.0349065847694874, two_pt_correction_available: false, vert_correction: 0.0233724191784859,
vert_offset_correction: 0}
- {dist_correction: 0.159999996423721, dist_correction_x: 0, dist_correction_y: 0,
focal_distance: 0, focal_slope: 0, laser_id: 26, max_intensity: 255, min_intensity: 0,
rot_correction: -0.0785398185253143, two_pt_correction_available: false, vert_correction: -0.0181903336197138,
vert_offset_correction: 0}
- {dist_correction: 0.259999990463257, dist_correction_x: 0, dist_correction_y: 0,
focal_distance: 0, focal_slope: 0, laser_id: 27, max_intensity: 255, min_intensity: 0,
rot_correction: -0.0471238903701305, two_pt_correction_available: false, vert_correction: -0.0122585473582149,
vert_offset_correction: 0}
- {dist_correction: 0.140000000596046, dist_correction_x: 0, dist_correction_y: 0,
focal_distance: 0, focal_slope: 0, laser_id: 28, max_intensity: 255, min_intensity: 0,
rot_correction: 0.0104719763621688, two_pt_correction_available: false, vert_correction: 0.0293195936828852,
vert_offset_correction: 0}
- {dist_correction: 0.219999998807907, dist_correction_x: 0, dist_correction_y: 0,
focal_distance: 0, focal_slope: 0, laser_id: 29, max_intensity: 255, min_intensity: 0,
rot_correction: 0.0349065847694874, two_pt_correction_available: false, vert_correction: 0.0352698266506195,
vert_offset_correction: 0}
- {dist_correction: 0.209999993443489, dist_correction_x: 0, dist_correction_y: 0,
focal_distance: 0, focal_slope: 0, laser_id: 30, max_intensity: 255, min_intensity: 0,
rot_correction: -0.00436332309618592, two_pt_correction_available: false, vert_correction: -0.00632520206272602,
vert_offset_correction: 0}
- {dist_correction: 0.140000000596046, dist_correction_x: 0, dist_correction_y: 0,
focal_distance: 0, focal_slope: 0, laser_id: 31, max_intensity: 255, min_intensity: 0,
rot_correction: 0.0296705979853868, two_pt_correction_available: false, vert_correction: -0.000390077300835401,
vert_offset_correction: 0}
- {dist_correction: 0.119999997317791, dist_correction_x: 0, dist_correction_y: 0,
focal_distance: 0, focal_slope: 0, laser_id: 32, max_intensity: 255, min_intensity: 0,
rot_correction: -0.122173048555851, two_pt_correction_available: false, vert_correction: -0.396850973367691,
vert_offset_correction: 0}
- {dist_correction: 0.0199999995529652, dist_correction_x: 0, dist_correction_y: 0,
focal_distance: 0, focal_slope: 0, laser_id: 33, max_intensity: 255, min_intensity: 0,
rot_correction: -0.0610865242779255, two_pt_correction_available: false, vert_correction: -0.387918144464493,
vert_offset_correction: 0}
- {dist_correction: 0.100000001490116, dist_correction_x: 0, dist_correction_y: 0,
focal_distance: 0, focal_slope: 0, laser_id: 34, max_intensity: 255, min_intensity: 0,
rot_correction: 0.0959931090474129, two_pt_correction_available: false, vert_correction: -0.200955957174301,
vert_offset_correction: 0}
- {dist_correction: 0.230000004172325, dist_correction_x: 0, dist_correction_y: 0,
focal_distance: 0, focal_slope: 0, laser_id: 35, max_intensity: 255, min_intensity: 0,
rot_correction: 0.148352980613708, two_pt_correction_available: false, vert_correction: -0.192023113369942,
vert_offset_correction: 0}
- {dist_correction: 0.170000001788139, dist_correction_x: 0, dist_correction_y: 0,
focal_distance: 0, focal_slope: 0, laser_id: 36, max_intensity: 255, min_intensity: 0,
rot_correction: -0.00872664619237185, two_pt_correction_available: false, vert_correction: -0.378992766141891,
vert_offset_correction: 0}
- {dist_correction: 0.150000005960464, dist_correction_x: 0, dist_correction_y: 0,
focal_distance: 0, focal_slope: 0, laser_id: 37, max_intensity: 255, min_intensity: 0,
rot_correction: 0.0610865242779255, two_pt_correction_available: false, vert_correction: -0.370074152946472,
vert_offset_correction: 0}
- {dist_correction: 0.0500000007450581, dist_correction_x: 0, dist_correction_y: 0,
focal_distance: 0, focal_slope: 0, laser_id: 38, max_intensity: 255, min_intensity: 0,
rot_correction: -0.0174532923847437, two_pt_correction_available: false, vert_correction: -0.43128889799118,
vert_offset_correction: 0}
- {dist_correction: 0.270000010728836, dist_correction_x: 0, dist_correction_y: 0,
focal_distance: 0, focal_slope: 0, laser_id: 39, max_intensity: 255, min_intensity: 0,
rot_correction: 0.0349065847694874, two_pt_correction_available: false, vert_correction: -0.423701733350754,
vert_offset_correction: 0}
- {dist_correction: 0.180000007152557, dist_correction_x: 0, dist_correction_y: 0,
focal_distance: 0, focal_slope: 0, laser_id: 40, max_intensity: 255, min_intensity: 0,
rot_correction: 0.122173048555851, two_pt_correction_available: false, vert_correction: -0.361161530017853,
vert_offset_correction: 0}
- {dist_correction: 0.189999997615814, dist_correction_x: 0, dist_correction_y: 0,
focal_distance: 0, focal_slope: 0, laser_id: 41, max_intensity: 255, min_intensity: 0,
rot_correction: 0.174532920122147, two_pt_correction_available: false, vert_correction: -0.352254241704941,
vert_offset_correction: 0}
- {dist_correction: 0.100000001490116, dist_correction_x: 0, dist_correction_y: 0,
focal_distance: 0, focal_slope: 0, laser_id: 42, max_intensity: 255, min_intensity: 0,
rot_correction: 0.104719758033752, two_pt_correction_available: false, vert_correction: -0.414742022752762,
vert_offset_correction: 0}
- {dist_correction: 0.200000002980232, dist_correction_x: 0, dist_correction_y: 0,
focal_distance: 0, focal_slope: 0, laser_id: 43, max_intensity: 255, min_intensity: 0,
rot_correction: 0.165806278586388, two_pt_correction_available: false, vert_correction: -0.405792057514191,
vert_offset_correction: 0}
- {dist_correction: 0.219999998807907, dist_correction_x: 0, dist_correction_y: 0,
focal_distance: 0, focal_slope: 0, laser_id: 44, max_intensity: 255, min_intensity: 0,
rot_correction: -0.113446399569511, two_pt_correction_available: false, vert_correction: -0.28999200463295,
vert_offset_correction: 0}
- {dist_correction: 0.200000002980232, dist_correction_x: 0, dist_correction_y: 0,
focal_distance: 0, focal_slope: 0, laser_id: 45, max_intensity: 255, min_intensity: 0,
rot_correction: -0.0567231997847557, two_pt_correction_available: false, vert_correction: -0.281101644039154,
vert_offset_correction: 0}
- {dist_correction: 0.150000005960464, dist_correction_x: 0, dist_correction_y: 0,
focal_distance: 0, focal_slope: 0, laser_id: 46, max_intensity: 255, min_intensity: 0,
rot_correction: -0.13962633907795, two_pt_correction_available: false, vert_correction: -0.343351542949677,
vert_offset_correction: 0}
- {dist_correction: 0.219999998807907, dist_correction_x: 0, dist_correction_y: 0,
focal_distance: 0, focal_slope: 0, laser_id: 47, max_intensity: 255, min_intensity: 0,
rot_correction: -0.0872664600610733, two_pt_correction_available: false, vert_correction: -0.334452718496323,
vert_offset_correction: 0}
- {dist_correction: 0.0599999986588955, dist_correction_x: 0, dist_correction_y: 0,
focal_distance: 0, focal_slope: 0, laser_id: 48, max_intensity: 255, min_intensity: 0,
rot_correction: 0, two_pt_correction_available: false, vert_correction: -0.272210210561752,
vert_offset_correction: 0}
- {dist_correction: 0.129999995231628, dist_correction_x: 0, dist_correction_y: 0,
focal_distance: 0, focal_slope: 0, laser_id: 49, max_intensity: 255, min_intensity: 0,
rot_correction: 0.0558505356311798, two_pt_correction_available: false, vert_correction: -0.26331701874733,
vert_offset_correction: 0}
- {dist_correction: 0.00999999977648258, dist_correction_x: 0, dist_correction_y: 0,
focal_distance: 0, focal_slope: 0, laser_id: 50, max_intensity: 255, min_intensity: 0,
rot_correction: -0.0174532923847437, two_pt_correction_available: false, vert_correction: -0.323895305395126,
vert_offset_correction: 0}
- {dist_correction: 0.150000005960464, dist_correction_x: 0, dist_correction_y: 0,
focal_distance: 0, focal_slope: 0, laser_id: 51, max_intensity: 255, min_intensity: 0,
rot_correction: 0.0349065847694874, two_pt_correction_available: false, vert_correction: -0.316663861274719,
vert_offset_correction: 0}
- {dist_correction: 0.200000002980232, dist_correction_x: 0, dist_correction_y: 0,
focal_distance: 0, focal_slope: 0, laser_id: 52, max_intensity: 255, min_intensity: 0,
rot_correction: 0.122173048555851, two_pt_correction_available: false, vert_correction: -0.254421383142471,
vert_offset_correction: 0}
- {dist_correction: 0.239999994635582, dist_correction_x: 0, dist_correction_y: 0,
focal_distance: 0, focal_slope: 0, laser_id: 53, max_intensity: 255, min_intensity: 0,
rot_correction: 0.165806278586388, two_pt_correction_available: false, vert_correction: -0.245522528886795,
vert_offset_correction: 0}
- {dist_correction: 0.180000007152557, dist_correction_x: 0, dist_correction_y: 0,
focal_distance: 0, focal_slope: 0, laser_id: 54, max_intensity: 255, min_intensity: 0,
rot_correction: 0.104719758033752, two_pt_correction_available: false, vert_correction: -0.307772427797318,
vert_offset_correction: 0}
- {dist_correction: 0.219999998807907, dist_correction_x: 0, dist_correction_y: 0,
focal_distance: 0, focal_slope: 0, laser_id: 55, max_intensity: 255, min_intensity: 0,
rot_correction: 0.157079637050629, two_pt_correction_available: false, vert_correction: -0.298882067203522,
vert_offset_correction: 0}
- {dist_correction: 0.140000000596046, dist_correction_x: 0, dist_correction_y: 0,
focal_distance: 0, focal_slope: 0, laser_id: 56, max_intensity: 255, min_intensity: 0,
rot_correction: -0.104719758033752, two_pt_correction_available: false, vert_correction: -0.183082059025764,
vert_offset_correction: 0}
- {dist_correction: 0.319999992847443, dist_correction_x: 0, dist_correction_y: 0,
focal_distance: 0, focal_slope: 0, laser_id: 57, max_intensity: 255, min_intensity: 0,
rot_correction: -0.0610865242779255, two_pt_correction_available: false, vert_correction: -0.17413204908371,
vert_offset_correction: 0}
- {dist_correction: 0.200000002980232, dist_correction_x: 0, dist_correction_y: 0,
focal_distance: 0, focal_slope: 0, laser_id: 58, max_intensity: 255, min_intensity: 0,
rot_correction: -0.13962633907795, two_pt_correction_available: false, vert_correction: -0.236619830131531,
vert_offset_correction: 0}
- {dist_correction: 0.25, dist_correction_x: 0, dist_correction_y: 0, focal_distance: 0,
focal_slope: 0, laser_id: 59, max_intensity: 255, min_intensity: 0, rot_correction: -0.0785398185253143,
two_pt_correction_available: false, vert_correction: -0.22771255671978, vert_offset_correction: 0}
- {dist_correction: 0.170000001788139, dist_correction_x: 0, dist_correction_y: 0,
focal_distance: 0, focal_slope: 0, laser_id: 60, max_intensity: 255, min_intensity: 0,
rot_correction: 0, two_pt_correction_available: false, vert_correction: -0.16517236828804,
vert_offset_correction: 0}
- {dist_correction: 0.230000004172325, dist_correction_x: 0, dist_correction_y: 0,
focal_distance: 0, focal_slope: 0, laser_id: 61, max_intensity: 255, min_intensity: 0,
rot_correction: 0.0436332300305367, two_pt_correction_available: false, vert_correction: -0.156202226877213,
vert_offset_correction: 0}
- {dist_correction: 0.150000005960464, dist_correction_x: 0, dist_correction_y: 0,
focal_distance: 0, focal_slope: 0, laser_id: 62, max_intensity: 255, min_intensity: 0,
rot_correction: -0.0174532923847437, two_pt_correction_available: false, vert_correction: -0.218799933791161,
vert_offset_correction: 0}
- {dist_correction: 0.230000004172325, dist_correction_x: 0, dist_correction_y: 0,
focal_distance: 0, focal_slope: 0, laser_id: 63, max_intensity: 255, min_intensity: 0,
rot_correction: 0.0314159244298935, two_pt_correction_available: false, vert_correction: -0.209881335496902,
vert_offset_correction: 0}
num_lasers: 64
distance_resolution: 0.002
@@ -0,0 +1,28 @@
<!-- -*- mode: XML -*- -->
<!-- rostest of reading Velodyne 32E PCAP files -->
<launch>
<!-- start driver with example PCAP file -->
<node pkg="velodyne_driver" type="velodyne_node" name="velodyne_node">
<param name="model" value="32E"/>
<param name="pcap" value="$(find velodyne_pointcloud)/tests/32e.pcap"/>
</node>
<!-- start cloud node with test calibration file -->
<node pkg="velodyne_pointcloud" type="cloud_node" name="cloud_node">
<param name="calibration"
value="$(find velodyne_pointcloud)/params/32db.yaml"/>
</node>
<!-- verify PointCloud2 publication rate -->
<test test-name="cloud_node_32e_hz_test" pkg="rostest"
type="hztest" name="hztest_cloud_node_32e" >
<param name="hz" value="10.0" />
<param name="hzerror" value="3.0" />
<param name="test_duration" value="5.0" />
<param name="topic" value="velodyne_points" />
<param name="wait_time" value="2.0" />
</test>
</launch>
@@ -0,0 +1,29 @@
<!-- -*- mode: XML -*- -->
<!-- rostest of reading Velodyne 64E S2.1 PCAP files -->
<launch>
<!-- start driver with example PCAP file -->
<node pkg="velodyne_driver" type="velodyne_node" name="velodyne_node">
<param name="model" value="64E_S2.1"/>
<param name="pcap" value="$(find velodyne_pointcloud)/tests/64e_s2.1-300-sztaki.pcap"/>
<param name="rpm" value="300"/>
</node>
<!-- start cloud node with test calibration file -->
<node pkg="velodyne_pointcloud" type="cloud_node" name="cloud_node">
<param name="calibration"
value="$(find velodyne_pointcloud)/params/64e_s2.1-sztaki.yaml"/>
</node>
<!-- verify PointCloud2 publication rate -->
<test test-name="cloud_node_64e_s21_hz_test" pkg="rostest"
type="hztest" name="hztest_cloud_node_64e_s21" >
<param name="hz" value="5.0" />
<param name="hzerror" value="2.0" />
<param name="test_duration" value="5.0" />
<param name="topic" value="velodyne_points" />
<param name="wait_time" value="2.0" />
</test>
</launch>
@@ -0,0 +1,27 @@
<!-- -*- mode: XML -*- -->
<!-- rostest of reading Velodyne 64E PCAP files -->
<launch>
<!-- start driver with example PCAP file -->
<node pkg="velodyne_driver" type="velodyne_node" name="velodyne_node">
<param name="pcap" value="$(find velodyne_pointcloud)/tests/class.pcap"/>
</node>
<!-- start cloud node with test calibration file -->
<node pkg="velodyne_pointcloud" type="cloud_node" name="cloud_node">
<param name="calibration"
value="$(find velodyne_pointcloud)/params/64e_utexas.yaml"/>
</node>
<!-- verify PointCloud2 publication rate -->
<test test-name="cloud_node_hz_test" pkg="rostest"
type="hztest" name="hztest_cloud_node_64e" >
<param name="hz" value="10.0" />
<param name="hzerror" value="3.0" />
<param name="test_duration" value="5.0" />
<param name="topic" value="velodyne_points" />
<param name="wait_time" value="2.0" />
</test>
</launch>
@@ -0,0 +1,28 @@
<!-- -*- mode: XML -*- -->
<!-- rostest of reading Velodyne VLP16 PCAP files -->
<launch>
<!-- start driver with example PCAP file -->
<node pkg="velodyne_driver" type="velodyne_node" name="velodyne_node">
<param name="model" value="VLP16"/>
<param name="pcap" value="$(find velodyne_pointcloud)/tests/vlp16.pcap"/>
</node>
<!-- start cloud node with test calibration file -->
<node pkg="velodyne_pointcloud" type="cloud_node" name="cloud_node">
<param name="calibration"
value="$(find velodyne_pointcloud)/params/VLP16db.yaml"/>
</node>
<!-- verify PointCloud2 publication rate -->
<test test-name="cloud_node_vlp16_hz_test" pkg="rostest"
type="hztest" name="hztest_cloud_node_vlp16">
<param name="hz" value="10.0" />
<param name="hzerror" value="3.0" />
<param name="test_duration" value="5.0" />
<param name="topic" value="velodyne_points" />
<param name="wait_time" value="2.0" />
</test>
</launch>
@@ -0,0 +1,22 @@
<!-- -*- mode: XML -*- -->
<!-- rostest of publishing a PointCloud from PCAP data. -->
<launch>
<!-- start nodelet manager, driver and cloud nodelets -->
<include file="$(find velodyne_pointcloud)/launch/32e_points.launch">
<arg name="frame_id" value="test_frame"/>
<arg name="pcap" value="$(find velodyne_pointcloud)/tests/32e.pcap"/>
</include>
<!-- verify PointCloud2 publication rate -->
<test test-name="cloud_nodelet_32e_hz_test" pkg="rostest"
type="hztest" name="hztest_cloud_nodelet_32e" >
<param name="hz" value="10.0" />
<param name="hzerror" value="3.0" />
<param name="test_duration" value="5.0" />
<param name="topic" value="velodyne_points" />
<param name="wait_time" value="2.0" />
</test>
</launch>
@@ -0,0 +1,29 @@
<!-- -*- mode: XML -*- -->
<!-- rostest of publishing a PointCloud from 64E S2.1 PCAP data. -->
<launch>
<!-- start nodelet manager and driver nodelets -->
<include file="$(find velodyne_driver)/launch/nodelet_manager.launch">
<arg name="model" value="64E_S2.1"/>
<arg name="pcap" value="$(find velodyne_pointcloud)/tests/64e_s2.1-300-sztaki.pcap"/>
<arg name="rpm" value="300"/>
</include>
<!-- start cloud nodelet using test calibration file -->
<include file="$(find velodyne_pointcloud)/launch/cloud_nodelet.launch">
<arg name="calibration"
value="$(find velodyne_pointcloud)/params/64e_s2.1-sztaki.yaml"/>
</include>
<!-- verify PointCloud2 publication rate -->
<test test-name="cloud_nodelet_64e_s21_hz_test" pkg="rostest"
type="hztest" name="hztest_cloud_nodelet_64e_s21" >
<param name="hz" value="5.0" />
<param name="hzerror" value="1.0" />
<param name="test_duration" value="5.0" />
<param name="topic" value="velodyne_points" />
<param name="wait_time" value="2.0" />
</test>
</launch>
@@ -0,0 +1,32 @@
<!-- -*- mode: XML -*- -->
<!-- rostest of publishing a PointCloud from PCAP data.
Uses rostest, because a running roscore is required.
$Id$
-->
<launch>
<!-- start nodelet manager and driver nodelets -->
<include file="$(find velodyne_driver)/launch/nodelet_manager.launch">
<arg name="pcap" value="$(find velodyne_pointcloud)/tests/class.pcap"/>
</include>
<!-- start cloud nodelet using test calibration file -->
<include file="$(find velodyne_pointcloud)/launch/cloud_nodelet.launch">
<arg name="calibration"
value="$(find velodyne_pointcloud)/params/64e_utexas.yaml"/>
</include>
<!-- verify PointCloud2 publication rate -->
<test test-name="cloud_nodelet_hz_test" pkg="rostest"
type="hztest" name="hztest_cloud_nodelet_64e" >
<param name="hz" value="10.0" />
<param name="hzerror" value="3.0" />
<param name="test_duration" value="5.0" />
<param name="topic" value="velodyne_points" />
<param name="wait_time" value="2.0" />
</test>
</launch>
@@ -0,0 +1,22 @@
<!-- -*- mode: XML -*- -->
<!-- rostest of publishing a PointCloud from PCAP data. -->
<launch>
<!-- start nodelet manager, driver and cloud nodelets -->
<include file="$(find velodyne_pointcloud)/launch/VLP16_points.launch">
<arg name="frame_id" value="test_frame"/>
<arg name="pcap" value="$(find velodyne_pointcloud)/tests/vlp16.pcap"/>
</include>
<!-- verify PointCloud2 publication rate -->
<test test-name="cloud_nodelet_vlp16_hz_test" pkg="rostest"
type="hztest" name="hztest_cloud_nodelet_vlp16" >
<param name="hz" value="10.0" />
<param name="hzerror" value="3.0" />
<param name="test_duration" value="5.0" />
<param name="topic" value="velodyne_points" />
<param name="wait_time" value="2.0" />
</test>
</launch>
@@ -0,0 +1,240 @@
# test data from an HDL-64E S2 containing float min_intensity values
# causes issue #84 failure
lasers:
- {dist_correction: 1.1897507, dist_correction_x: 1.2184412, dist_correction_y: 1.1993269,
focal_distance: 22.5, focal_slope: 1.1, horiz_offset_correction: 0.025999999, laser_id: 0,
min_intensity: 40.0, rot_correction: -0.08193448173487379, vert_correction: -0.12118950050089745,
vert_offset_correction: 0.21533014000000003}
- {dist_correction: 1.4128801999999998, dist_correction_x: 1.4313695000000002, dist_correction_y: 1.4312958,
focal_distance: 24.0, focal_slope: 0.80000001, horiz_offset_correction: -0.025999999,
laser_id: 1, min_intensity: 40.0, rot_correction: -0.04631400641637322, vert_correction: -0.1154246814722187,
vert_offset_correction: 0.21490976}
- {dist_correction: 1.352054, dist_correction_x: 1.3625516, dist_correction_y: 1.3604144,
focal_distance: 22.0, focal_slope: 1.15, horiz_offset_correction: 0.025999999, laser_id: 2,
min_intensity: 40.0, rot_correction: 0.05367805144003262, vert_correction: 0.007649359057937743,
vert_offset_correction: 0.20602308000000003}
- {dist_correction: 1.3877103, dist_correction_x: 1.4052618000000001, dist_correction_y: 1.4102048999999999,
focal_distance: 21.0, focal_slope: 1.2, horiz_offset_correction: -0.025999999, laser_id: 3,
min_intensity: 20.0, rot_correction: 0.09201863985105889, vert_correction: 0.01508908679395137,
vert_offset_correction: 0.20548805000000003}
- {dist_correction: 1.2740263, dist_correction_x: 1.2988675, dist_correction_y: 1.2487833000000002,
focal_distance: 24.0, focal_slope: 1.4, horiz_offset_correction: 0.025999999, laser_id: 4,
min_intensity: 10.0, rot_correction: -0.007693320585669901, vert_correction: -0.1102984033676868,
vert_offset_correction: 0.21453644000000002}
- {dist_correction: 1.2418116000000001, dist_correction_x: 1.252481, dist_correction_y: 1.2255676,
focal_distance: 24.0, focal_slope: 1.38, horiz_offset_correction: -0.025999999,
laser_id: 5, min_intensity: 28.0, rot_correction: 0.032006458688310216, vert_correction: -0.10399361088436754,
vert_offset_correction: 0.21407784}
- {dist_correction: 1.3176793, dist_correction_x: 1.3353647000000002, dist_correction_y: 1.3361707999999999,
focal_distance: 24.0, focal_slope: 1.2, horiz_offset_correction: 0.025999999, laser_id: 6,
min_intensity: 40.0, rot_correction: -0.021861479338351635, vert_correction: -0.14544533071754853,
vert_offset_correction: 0.21710571}
- {dist_correction: 1.3708466000000001, dist_correction_x: 1.3905527000000002, dist_correction_y: 1.3970328,
focal_distance: 24.0, focal_slope: 0.89999998, horiz_offset_correction: -0.025999999,
laser_id: 7, min_intensity: 40.0, rot_correction: 0.01761759781572604, vert_correction: -0.139035509555832,
vert_offset_correction: 0.21663536}
- {dist_correction: 1.2544352, dist_correction_x: 1.2857481000000002, dist_correction_y: 1.2282503,
focal_distance: 24.0, focal_slope: 1.22, horiz_offset_correction: 0.025999999, laser_id: 8,
min_intensity: 40.0, rot_correction: 0.06658719948349573, vert_correction: -0.09889517252673422,
vert_offset_correction: 0.21370745}
- {dist_correction: 1.3738158999999999, dist_correction_x: 1.3938158000000003, dist_correction_y: 1.3844524000000002,
focal_distance: 24.0, focal_slope: 1.15, horiz_offset_correction: -0.025999999,
laser_id: 9, min_intensity: 40.0, rot_correction: 0.10588806804896926, vert_correction: -0.09225143361201914,
vert_offset_correction: 0.21322533}
- {dist_correction: 1.3156921, dist_correction_x: 1.3354019, dist_correction_y: 1.2833449,
focal_distance: 24.0, focal_slope: 1.3200001, horiz_offset_correction: 0.025999999,
laser_id: 10, min_intensity: 40.0, rot_correction: 0.052778260906800954, vert_correction: -0.134421316289823,
vert_offset_correction: 0.2162973}
- {dist_correction: 1.3696194, dist_correction_x: 1.3846521, dist_correction_y: 1.3639107000000001,
focal_distance: 20.0, focal_slope: 1.25, horiz_offset_correction: -0.025999999,
laser_id: 11, min_intensity: 40.0, rot_correction: 0.09284370411236641, vert_correction: -0.12714737563412706,
vert_offset_correction: 0.21576523000000003}
- {dist_correction: 1.2275657, dist_correction_x: 1.2543072, dist_correction_y: 1.2294422,
focal_distance: 24.0, focal_slope: 1.0700001, horiz_offset_correction: 0.025999999,
laser_id: 12, min_intensity: 40.0, rot_correction: -0.08319450648038783, vert_correction: -0.0502394945048745,
vert_offset_correction: 0.21018864}
- {dist_correction: 1.3757889, dist_correction_x: 1.3849341999999998, dist_correction_y: 1.3686421000000002,
focal_distance: 24.0, focal_slope: 1.4, horiz_offset_correction: -0.025999999, laser_id: 13,
min_intensity: 40.0, rot_correction: -0.04344974309026683, vert_correction: -0.04379427282993976,
vert_offset_correction: 0.20972416}
- {dist_correction: 1.3319664, dist_correction_x: 1.3705452, dist_correction_y: 1.3209669,
focal_distance: 24.0, focal_slope: 1.05, horiz_offset_correction: 0.025999999, laser_id: 14,
min_intensity: 40.0, rot_correction: -0.09661677957860802, vert_correction: -0.08535601123784947,
vert_offset_correction: 0.21272558}
- {dist_correction: 1.3714989, dist_correction_x: 1.3624129999999999, dist_correction_y: 1.3403807,
focal_distance: 24.0, focal_slope: 1.4, horiz_offset_correction: -0.025999999, laser_id: 15,
min_intensity: 40.0, rot_correction: -0.056929933194385184, vert_correction: -0.07898063589425029,
vert_offset_correction: 0.21226404}
- {dist_correction: 1.2595838000000001, dist_correction_x: 1.2785926, dist_correction_y: 1.2370594,
focal_distance: 24.0, focal_slope: 1.4, horiz_offset_correction: 0.025999999, laser_id: 16,
min_intensity: 40.0, rot_correction: -0.008102055927068873, vert_correction: -0.03910078576535417,
vert_offset_correction: 0.20938608}
- {dist_correction: 1.3786241000000001, dist_correction_x: 1.3948055, dist_correction_y: 1.3862044,
focal_distance: 24.0, focal_slope: 1.4, horiz_offset_correction: -0.025999999, laser_id: 17,
min_intensity: 40.0, rot_correction: 0.03149012048240021, vert_correction: -0.03191447983673011,
vert_offset_correction: 0.20886870999999999}
- {dist_correction: 1.3628464, dist_correction_x: 1.3785178, dist_correction_y: 1.3152992000000001,
focal_distance: 20.5, focal_slope: 1.2, horiz_offset_correction: 0.025999999, laser_id: 18,
min_intensity: 10.0, rot_correction: -0.021944024685324706, vert_correction: -0.07495714058693254,
vert_offset_correction: 0.21197302}
- {dist_correction: 1.394641, dist_correction_x: 1.3899173999999999, dist_correction_y: 1.370442,
focal_distance: 24.0, focal_slope: 1.4, horiz_offset_correction: -0.025999999, laser_id: 19,
min_intensity: 10.0, rot_correction: 0.01766883719190609, vert_correction: -0.06771695808962866,
vert_offset_correction: 0.21144976000000001}
- {dist_correction: 1.2123122, dist_correction_x: 1.2413981, dist_correction_y: 1.2070784,
focal_distance: 23.5, focal_slope: 1.1, horiz_offset_correction: 0.025999999, laser_id: 20,
min_intensity: 5.0, rot_correction: 0.06651143299533739, vert_correction: -0.027462144914892576,
vert_offset_correction: 0.20854828000000003}
- {dist_correction: 1.2599731, dist_correction_x: 1.2764229, dist_correction_y: 1.2986679,
focal_distance: 21.0, focal_slope: 1.2, horiz_offset_correction: -0.025999999, laser_id: 21,
min_intensity: 5.0, rot_correction: 0.10511566735251142, vert_correction: -0.020434314882349612,
vert_offset_correction: 0.20804264}
- {dist_correction: 1.3053941, dist_correction_x: 1.3411044, dist_correction_y: 1.2835222,
focal_distance: 24.0, focal_slope: 1.42, horiz_offset_correction: 0.025999999, laser_id: 22,
min_intensity: 30.0, rot_correction: 0.052657269447064954, vert_correction: -0.06262826041455072,
vert_offset_correction: 0.21108229}
- {dist_correction: 1.2550185, dist_correction_x: 1.2702521, dist_correction_y: 1.2836005000000001,
focal_distance: 24.0, focal_slope: 1.4, horiz_offset_correction: -0.025999999, laser_id: 23,
min_intensity: 40.0, rot_correction: 0.09175727679557273, vert_correction: -0.05606926072567847,
vert_offset_correction: 0.21060900000000002}
- {dist_correction: 1.2748341, dist_correction_x: 1.3196121, dist_correction_y: 1.2784751,
focal_distance: 20.5, focal_slope: 1.25, horiz_offset_correction: 0.025999999, laser_id: 24,
min_intensity: 10.0, rot_correction: -0.08344753035270795, vert_correction: 0.020524792750772996,
vert_offset_correction: 0.20509708000000001}
- {dist_correction: 1.3777713, dist_correction_x: 1.3645123000000001, dist_correction_y: 1.3802203,
focal_distance: 24.0, focal_slope: 1.3, horiz_offset_correction: -0.025999999, laser_id: 25,
max_intensity: 230.0, rot_correction: -0.04351660490858147, vert_correction: 0.02702150163864157,
vert_offset_correction: 0.20462966999999999}
- {dist_correction: 1.3718602000000002, dist_correction_x: 1.4046102999999999, dist_correction_y: 1.3834868,
focal_distance: 19.0, focal_slope: 1.35, horiz_offset_correction: 0.025999999, laser_id: 26,
max_intensity: 245.0, rot_correction: -0.09689230074498635, vert_correction: -0.014916840599137901,
vert_offset_correction: 0.2076458}
- {dist_correction: 1.3833778, dist_correction_x: 1.375231, dist_correction_y: 1.3606032,
focal_distance: 24.0, focal_slope: 1.4, horiz_offset_correction: -0.025999999, laser_id: 27,
max_intensity: 240.0, rot_correction: -0.057451870416535586, vert_correction: -0.00817206789015045,
vert_offset_correction: 0.20716073999999998}
- {dist_correction: 1.2951183000000002, dist_correction_x: 1.3258408, dist_correction_y: 1.2997318999999998,
focal_distance: 24.0, focal_slope: 1.4, horiz_offset_correction: 0.025999999, laser_id: 28,
max_intensity: 240.0, rot_correction: -0.008271954654038412, vert_correction: 0.032168250709970085,
vert_offset_correction: 0.20425926}
- {dist_correction: 1.4026823, dist_correction_x: 1.4151775000000002, dist_correction_y: 1.4065117,
focal_distance: 24.0, focal_slope: 1.05, horiz_offset_correction: -0.025999999,
laser_id: 29, rot_correction: 0.03059445241686176, vert_correction: 0.03821143404637868,
vert_offset_correction: 0.2038242}
- {dist_correction: 1.3756502000000002, dist_correction_x: 1.3986545000000001, dist_correction_y: 1.3567966000000002,
focal_distance: 24.0, focal_slope: 1.37, horiz_offset_correction: 0.025999999, laser_id: 30,
rot_correction: -0.022168507188386963, vert_correction: -0.003020972948984465, vert_offset_correction: 0.20679033000000002}
- {dist_correction: 1.4303774999999999, dist_correction_x: 1.4219699000000001, dist_correction_y: 1.4110721000000002,
focal_distance: 24.0, focal_slope: 1.38, horiz_offset_correction: -0.025999999,
laser_id: 31, rot_correction: 0.017020332183059567, vert_correction: 0.0032341127317709376,
vert_offset_correction: 0.20634056}
- {dist_correction: 1.2299187999999999, dist_correction_x: 1.221242, dist_correction_y: 1.159202,
focal_distance: 12.8, focal_slope: 2.0, horiz_offset_correction: 0.025999999, laser_id: 32,
rot_correction: -0.13428924897065386, vert_correction: -0.3917846862503118, vert_offset_correction: 0.15982219}
- {dist_correction: 1.3144859, dist_correction_x: 1.3336081, dist_correction_y: 1.3461792,
focal_distance: 0.25, focal_slope: 1.02, horiz_offset_correction: -0.025999999,
laser_id: 33, rot_correction: -0.07421947892390637, vert_correction: -0.3836205247016729,
vert_offset_correction: 0.15923027}
- {dist_correction: 1.2725937999999999, dist_correction_x: 1.2842772, dist_correction_y: 1.3025389,
focal_distance: 0.25, focal_slope: 0.94999999, horiz_offset_correction: 0.025999999,
laser_id: 34, rot_correction: 0.08138446391038806, vert_correction: -0.1992609420279063,
vert_offset_correction: 0.14669841}
- {dist_correction: 1.3357777, dist_correction_x: 1.3343283, dist_correction_y: 1.3631558000000001,
focal_distance: 9.0, focal_slope: 1.5, horiz_offset_correction: -0.025999999, laser_id: 35,
rot_correction: 0.1383208914749199, vert_correction: -0.18701489169116567, vert_offset_correction: 0.14590834}
- {dist_correction: 1.1742934, dist_correction_x: 1.2244499, dist_correction_y: 1.1818057,
focal_distance: 10.8, focal_slope: 1.38, horiz_offset_correction: 0.025999999, laser_id: 36,
rot_correction: -0.013445351586919306, vert_correction: -0.37738235143590226, vert_offset_correction: 0.15878062}
- {dist_correction: 1.090762, dist_correction_x: 1.1042352, dist_correction_y: 1.0975322,
focal_distance: 12.5, focal_slope: 1.55, horiz_offset_correction: -0.025999999,
laser_id: 37, rot_correction: 0.04734804593033903, vert_correction: -0.3673083633532685,
vert_offset_correction: 0.15805914}
- {dist_correction: 1.2801097, dist_correction_x: 1.2734876, dist_correction_y: 1.2697346,
focal_distance: 6.0, focal_slope: 1.1, horiz_offset_correction: 0.025999999, laser_id: 38,
rot_correction: -0.03680020095578886, vert_correction: -0.4294796616630621, vert_offset_correction: 0.16260902000000002}
- {dist_correction: 1.2865338, dist_correction_x: 1.2686511, dist_correction_y: 1.29416,
focal_distance: 0.25, focal_slope: 1.0, horiz_offset_correction: -0.025999999, laser_id: 39,
rot_correction: 0.025992554995433074, vert_correction: -0.42099842614921335, vert_offset_correction: 0.16197392000000002}
- {dist_correction: 1.2932777, dist_correction_x: 1.3400191000000001, dist_correction_y: 1.3263618,
focal_distance: 0.25, focal_slope: 1.02, horiz_offset_correction: 0.025999999, laser_id: 40,
rot_correction: 0.10601307725664336, vert_correction: -0.3565455112681652, vert_offset_correction: 0.15729448}
- {dist_correction: 1.2614787, dist_correction_x: 1.2626826, dist_correction_y: 1.267609,
focal_distance: 8.5, focal_slope: 1.65, horiz_offset_correction: -0.025999999, laser_id: 41,
rot_correction: 0.16733068965072595, vert_correction: -0.3479014190818128, vert_offset_correction: 0.15668478}
- {dist_correction: 1.2428966, dist_correction_x: 1.2460679000000001, dist_correction_y: 1.2397518,
focal_distance: 0.25, focal_slope: 1.2, horiz_offset_correction: 0.025999999, laser_id: 42,
rot_correction: 0.08594727468321833, vert_correction: -0.4110102035460227, vert_offset_correction: 0.16123213}
- {dist_correction: 1.3061783, dist_correction_x: 1.2655383, dist_correction_y: 1.2857359,
focal_distance: 10.0, focal_slope: 1.6799999, horiz_offset_correction: -0.025999999,
laser_id: 43, rot_correction: 0.1464050331680134, vert_correction: -0.4015579191962419,
vert_offset_correction: 0.16053604}
- {dist_correction: 1.2317036000000001, dist_correction_x: 1.2393882, dist_correction_y: 1.2123593,
focal_distance: 12.5, focal_slope: 2.0, horiz_offset_correction: 0.025999999, laser_id: 44,
rot_correction: -0.13261467013054762, vert_correction: -0.2838808920696538, vert_offset_correction: 0.1522797}
- {dist_correction: 1.2567677000000002, dist_correction_x: 1.2904861, dist_correction_y: 1.2915567,
focal_distance: 0.25, focal_slope: 0.47999999, horiz_offset_correction: -0.025999999,
laser_id: 45, rot_correction: -0.07009130400404175, vert_correction: -0.276291415083819,
vert_offset_correction: 0.15176907}
- {dist_correction: 1.2793438000000001, dist_correction_x: 1.2915629999999998, dist_correction_y: 1.2718159,
focal_distance: 12.0, focal_slope: 2.0, horiz_offset_correction: 0.025999999, laser_id: 46,
rot_correction: -0.15533259824081613, vert_correction: -0.33574467724289675, vert_offset_correction: 0.15583374}
- {dist_correction: 1.2330788, dist_correction_x: 1.2624972, dist_correction_y: 1.2636649,
focal_distance: 2.0, focal_slope: 0.89999998, horiz_offset_correction: -0.025999999,
laser_id: 47, rot_correction: -0.09347288483573485, vert_correction: -0.3300846093852642,
vert_offset_correction: 0.15543998}
- {dist_correction: 1.1445625, dist_correction_x: 1.2045525000000001, dist_correction_y: 1.1558383,
focal_distance: 23.2, focal_slope: 0.75, horiz_offset_correction: 0.025999999, laser_id: 48,
rot_correction: -0.014086204897792162, vert_correction: -0.2692770589931014, vert_offset_correction: 0.15129910000000002}
- {dist_correction: 1.2741866, dist_correction_x: 1.2946111, dist_correction_y: 1.2808211,
focal_distance: 18.0, focal_slope: 0.92000002, horiz_offset_correction: -0.025999999,
laser_id: 49, rot_correction: 0.04602459591980752, vert_correction: -0.25952585210233153,
vert_offset_correction: 0.15064875}
- {dist_correction: 1.2584636, dist_correction_x: 1.2985907, dist_correction_y: 1.2481342,
focal_distance: 15.8, focal_slope: 1.28, horiz_offset_correction: 0.025999999, laser_id: 50,
rot_correction: -0.035928232716163244, vert_correction: -0.3234839312338543, vert_offset_correction: 0.1549827}
- {dist_correction: 1.1207238, dist_correction_x: 1.1458776000000002, dist_correction_y: 1.1290197000000002,
focal_distance: 18.0, focal_slope: 0.89999998, horiz_offset_correction: -0.025999999,
laser_id: 51, rot_correction: 0.025398581053735863, vert_correction: -0.3141198558244693,
vert_offset_correction: 0.15433743}
- {dist_correction: 1.3357715, dist_correction_x: 1.3748308, dist_correction_y: 1.3750087,
focal_distance: 2.2, focal_slope: 0.64999998, horiz_offset_correction: 0.025999999,
laser_id: 52, rot_correction: 0.10206324357040601, vert_correction: -0.2503763474711867,
vert_offset_correction: 0.15004159}
- {dist_correction: 1.2831325000000002, dist_correction_x: 1.2906917000000002, dist_correction_y: 1.3047183000000002,
focal_distance: 8.2, focal_slope: 1.65, horiz_offset_correction: -0.025999999, laser_id: 53,
rot_correction: 0.16118048446991431, vert_correction: -0.2388694789792507, vert_offset_correction: 0.14928201}
- {dist_correction: 1.4319325, dist_correction_x: 1.470513, dist_correction_y: 1.4623492,
focal_distance: 6.0, focal_slope: 0.51999998, horiz_offset_correction: 0.025999999,
laser_id: 54, rot_correction: 0.08241589764778065, vert_correction: -0.30499605989320633,
vert_offset_correction: 0.15371249}
- {dist_correction: 1.2852434, dist_correction_x: 1.2985229, dist_correction_y: 1.271758,
focal_distance: 12.5, focal_slope: 2.0, horiz_offset_correction: -0.025999999, laser_id: 55,
rot_correction: 0.142266131454566, vert_correction: -0.2947717466020984, vert_offset_correction: 0.15301642}
- {dist_correction: 1.4007397000000001, dist_correction_x: 1.4001398, dist_correction_y: 1.3912132,
focal_distance: 8.5, focal_slope: 1.7, horiz_offset_correction: 0.025999999, laser_id: 56,
rot_correction: -0.12786652808043583, vert_correction: -0.17641617036891985, vert_offset_correction: 0.14522751}
- {dist_correction: 1.2880724000000001, dist_correction_x: 1.3014014, dist_correction_y: 1.3205367000000001,
focal_distance: 0.25, focal_slope: 1.2, horiz_offset_correction: -0.025999999, laser_id: 57,
rot_correction: -0.07017803115990259, vert_correction: -0.17070459784506095, vert_offset_correction: 0.14486169000000002}
- {dist_correction: 1.4760434, dist_correction_x: 1.4308182, dist_correction_y: 1.4627808,
focal_distance: 11.5, focal_slope: 2.0, horiz_offset_correction: 0.025999999, laser_id: 58,
rot_correction: -0.15113763829712393, vert_correction: -0.2281125435603116, vert_offset_correction: 0.14857577}
- {dist_correction: 1.303936, dist_correction_x: 1.3230009, dist_correction_y: 1.3335196,
focal_distance: 0.25, focal_slope: 0.64999998, horiz_offset_correction: -0.025999999,
laser_id: 59, rot_correction: -0.0918767934520908, vert_correction: -0.2232191988430801,
vert_offset_correction: 0.14825568}
- {dist_correction: 1.3472046, dist_correction_x: 1.3541069, dist_correction_y: 1.3651146,
focal_distance: 3.5, focal_slope: 1.38, horiz_offset_correction: 0.025999999, laser_id: 60,
rot_correction: -0.013572408240338915, vert_correction: -0.16291245497181386, vert_offset_correction: 0.14436376}
- {dist_correction: 1.3001047000000001, dist_correction_x: 1.3096320000000001, dist_correction_y: 1.3519560000000002,
focal_distance: 3.5, focal_slope: 1.35, horiz_offset_correction: -0.025999999, laser_id: 61,
rot_correction: 0.04349449333228796, vert_correction: -0.1540625535600664, vert_offset_correction: 0.14379979}
- {dist_correction: 1.2880972, dist_correction_x: 1.2842999000000002, dist_correction_y: 1.2916876,
focal_distance: 12.0, focal_slope: 1.35, horiz_offset_correction: 0.025999999, laser_id: 62,
rot_correction: -0.03466167345792974, vert_correction: -0.21484439350701803, vert_offset_correction: 0.14770949}
- {dist_correction: 1.3186316, dist_correction_x: 1.3250179, dist_correction_y: 1.3431560999999999,
focal_distance: 10.5, focal_slope: 0.60000002, horiz_offset_correction: -0.025999999,
laser_id: 63, rot_correction: 0.02351688573662471, vert_correction: -0.20683046990039078,
vert_offset_correction: 0.14718871}
num_lasers: 64
distance_resolution: 0.002
@@ -0,0 +1,23 @@
<!-- -*- mode: XML -*- -->
<!-- define transforms for testing static vehicle sensors -->
<launch>
<!-- publish /vehicle -> /velodyne transform -->
<node pkg="tf2_ros" type="static_transform_publisher"
name="vehicle_velodyne_tf"
args="0.393 0.278 2.4 -0.02155 0.0164 0.00621 vehicle velodyne" />
<!-- publish identity /odom -> /vehicle transform
(for viewing sensor data for a static vehicle) -->
<node pkg="tf2_ros" type="static_transform_publisher"
name="vehicle_is_odom"
args="0 0 0 0 0 0 odom vehicle" />
<!-- publish identity /map -> /odom transform
(for viewing sensor data for a static vehicle) -->
<node pkg="tf2_ros" type="static_transform_publisher"
name="map_to_odom"
args="0 0 0 0 0 0 map odom" />
</launch>
@@ -0,0 +1,195 @@
// Copyright (C) 2012, 2019 Austin Robot Technology, Jack O'Quin, Joshua Whitley
// All rights reserved.
//
// Software License Agreement (BSD License 2.0)
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
//
// * Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above
// copyright notice, this list of conditions and the following
// disclaimer in the documentation and/or other materials provided
// with the distribution.
// * Neither the name of {copyright_holder} nor the names of its
// contributors may be used to endorse or promote products derived
// from this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
// POSSIBILITY OF SUCH DAMAGE.
#include <gtest/gtest.h>
#include <ros/package.h>
#include <velodyne_pointcloud/calibration.h>
#include <string>
using namespace velodyne_pointcloud; // NOLINT
// global test data
std::string g_package_name("velodyne_pointcloud");
std::string g_package_path;
void init_global_data(void)
{
g_package_path = ros::package::getPath(g_package_name);
}
///////////////////////////////////////////////////////////////
// Test cases
///////////////////////////////////////////////////////////////
TEST(Calibration, missing_file)
{
Calibration calibration(false);
calibration.read("./no_such_file.yaml");
EXPECT_FALSE(calibration.initialized);
}
TEST(Calibration, vlp16)
{
Calibration calibration(g_package_path + "/params/VLP16db.yaml", false);
EXPECT_TRUE(calibration.initialized);
ASSERT_EQ(calibration.num_lasers, 16);
// check some values for the first laser:
LaserCorrection laser = calibration.laser_corrections[0];
EXPECT_FALSE(laser.two_pt_correction_available);
EXPECT_FLOAT_EQ(laser.vert_correction, -0.2617993877991494);
EXPECT_FLOAT_EQ(laser.horiz_offset_correction, 0.0);
EXPECT_EQ(laser.max_intensity, 255);
EXPECT_EQ(laser.min_intensity, 0);
// check similar values for the last laser:
laser = calibration.laser_corrections[15];
EXPECT_FALSE(laser.two_pt_correction_available);
EXPECT_FLOAT_EQ(laser.vert_correction, 0.2617993877991494);
EXPECT_FLOAT_EQ(laser.horiz_offset_correction, 0.0);
EXPECT_EQ(laser.max_intensity, 255);
EXPECT_EQ(laser.min_intensity, 0);
}
TEST(Calibration, hdl32e)
{
Calibration calibration(g_package_path + "/params/32db.yaml", false);
EXPECT_TRUE(calibration.initialized);
ASSERT_EQ(calibration.num_lasers, 32);
// check some values for the first laser:
LaserCorrection laser = calibration.laser_corrections[0];
EXPECT_FALSE(laser.two_pt_correction_available);
EXPECT_FLOAT_EQ(laser.vert_correction, -0.5352924815866609);
EXPECT_FLOAT_EQ(laser.horiz_offset_correction, 0.0);
EXPECT_EQ(laser.max_intensity, 255);
EXPECT_EQ(laser.min_intensity, 0);
// check similar values for the last laser:
laser = calibration.laser_corrections[31];
EXPECT_FALSE(laser.two_pt_correction_available);
EXPECT_FLOAT_EQ(laser.vert_correction, 0.18622663118779495);
EXPECT_FLOAT_EQ(laser.horiz_offset_correction, 0.0);
EXPECT_EQ(laser.max_intensity, 255);
EXPECT_EQ(laser.min_intensity, 0);
}
TEST(Calibration, hdl64e)
{
Calibration calibration(g_package_path + "/params/64e_utexas.yaml", false);
EXPECT_TRUE(calibration.initialized);
ASSERT_EQ(calibration.num_lasers, 64);
// check some values for the first laser:
LaserCorrection laser = calibration.laser_corrections[0];
EXPECT_FALSE(laser.two_pt_correction_available);
EXPECT_FLOAT_EQ(laser.vert_correction, -0.124932751059532);
EXPECT_FLOAT_EQ(laser.horiz_offset_correction, 0.0);
EXPECT_EQ(laser.max_intensity, 255);
EXPECT_EQ(laser.min_intensity, 0);
// check similar values for the last laser:
laser = calibration.laser_corrections[63];
EXPECT_FALSE(laser.two_pt_correction_available);
EXPECT_FLOAT_EQ(laser.vert_correction, -0.209881335496902);
EXPECT_FLOAT_EQ(laser.horiz_offset_correction, 0.0);
EXPECT_EQ(laser.max_intensity, 255);
EXPECT_EQ(laser.min_intensity, 0);
}
TEST(Calibration, hdl64e_s21)
{
Calibration calibration(g_package_path + "/params/64e_s2.1-sztaki.yaml",
false);
EXPECT_TRUE(calibration.initialized);
ASSERT_EQ(calibration.num_lasers, 64);
// check some values for the first laser:
LaserCorrection laser = calibration.laser_corrections[0];
EXPECT_FALSE(laser.two_pt_correction_available);
EXPECT_FLOAT_EQ(laser.vert_correction, -0.15304134919741974);
EXPECT_FLOAT_EQ(laser.horiz_offset_correction, 0.025999999);
EXPECT_EQ(laser.max_intensity, 235);
EXPECT_EQ(laser.min_intensity, 30);
// check similar values for the last laser:
laser = calibration.laser_corrections[63];
EXPECT_FALSE(laser.two_pt_correction_available);
EXPECT_FLOAT_EQ(laser.vert_correction, -0.2106649408137298);
EXPECT_FLOAT_EQ(laser.horiz_offset_correction, -0.025999999);
EXPECT_EQ(laser.max_intensity, 255);
EXPECT_EQ(laser.min_intensity, 0);
}
TEST(Calibration, hdl64e_s2_float_intensities)
{
Calibration calibration(g_package_path +
"/tests/issue_84_float_intensities.yaml",
false);
EXPECT_TRUE(calibration.initialized);
ASSERT_EQ(calibration.num_lasers, 64);
// check some values for the first laser:
LaserCorrection laser = calibration.laser_corrections[0];
EXPECT_FALSE(laser.two_pt_correction_available);
EXPECT_FLOAT_EQ(laser.vert_correction, -0.12118950050089745);
EXPECT_FLOAT_EQ(laser.horiz_offset_correction, 0.025999999);
EXPECT_EQ(laser.max_intensity, 255);
EXPECT_EQ(laser.min_intensity, 40);
// check similar values for laser 26:
laser = calibration.laser_corrections[26];
EXPECT_FALSE(laser.two_pt_correction_available);
EXPECT_FLOAT_EQ(laser.vert_correction, -0.014916840599137901);
EXPECT_FLOAT_EQ(laser.horiz_offset_correction, 0.025999999);
EXPECT_EQ(laser.max_intensity, 245);
EXPECT_EQ(laser.min_intensity, 0);
// check similar values for the last laser:
laser = calibration.laser_corrections[63];
EXPECT_FALSE(laser.two_pt_correction_available);
EXPECT_FLOAT_EQ(laser.vert_correction, -0.20683046990039078);
EXPECT_FLOAT_EQ(laser.horiz_offset_correction, -0.025999999);
EXPECT_EQ(laser.max_intensity, 255);
EXPECT_EQ(laser.min_intensity, 0);
}
// Run all the tests that were declared with TEST()
int main(int argc, char **argv)
{
testing::InitGoogleTest(&argc, argv);
init_global_data();
return RUN_ALL_TESTS();
}
@@ -0,0 +1,906 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE boost_serialization>
<boost_serialization signature="serialization::archive" version="4">
<DB class_id="0" tracking_level="1" version="0" object_id="_0">
<points_ class_id="7" tracking_level="0" version="0">
<count>64</count>
<item_version>1</item_version>
<item class_id="8" tracking_level="0" version="1">
<px class_id="9" tracking_level="1" version="1" object_id="_1">
<id_>0</id_>
<rotCorrection_>-5.3328056</rotCorrection_>
<vertCorrection_>-7.2988362</vertCorrection_>
<distCorrection_>111</distCorrection_>
<distCorrectionX_>118</distCorrectionX_>
<distCorrectionY_>118</distCorrectionY_>
<vertOffsetCorrection_>19.736338</vertOffsetCorrection_>
<horizOffsetCorrection_>2.5999999</horizOffsetCorrection_>
<focalDistance_>0</focalDistance_>
<focalSlope_>0</focalSlope_>
</px>
</item>
<item>
<px class_id_reference="9" object_id="_2">
<id_>1</id_>
<rotCorrection_>-3.2344019</rotCorrection_>
<vertCorrection_>-6.9644198</vertCorrection_>
<distCorrection_>146</distCorrection_>
<distCorrectionX_>149</distCorrectionX_>
<distCorrectionY_>151</distCorrectionY_>
<vertOffsetCorrection_>19.778963</vertOffsetCorrection_>
<horizOffsetCorrection_>-2.5999999</horizOffsetCorrection_>
<focalDistance_>0</focalDistance_>
<focalSlope_>0</focalSlope_>
</px>
</item>
<item>
<px class_id_reference="9" object_id="_3">
<id_>2</id_>
<rotCorrection_>2.4376695</rotCorrection_>
<vertCorrection_>0.250889</vertCorrection_>
<distCorrection_>131.76823</distCorrection_>
<distCorrectionX_>136</distCorrectionX_>
<distCorrectionY_>136</distCorrectionY_>
<vertOffsetCorrection_>20.688799</vertOffsetCorrection_>
<horizOffsetCorrection_>2.5999999</horizOffsetCorrection_>
<focalDistance_>0</focalDistance_>
<focalSlope_>0</focalSlope_>
</px>
</item>
<item>
<px class_id_reference="9" object_id="_4">
<id_>3</id_>
<rotCorrection_>4.7373252</rotCorrection_>
<vertCorrection_>0.55538797</vertCorrection_>
<distCorrection_>138.12656</distCorrection_>
<distCorrectionX_>142</distCorrectionX_>
<distCorrectionY_>144</distCorrectionY_>
<vertOffsetCorrection_>20.727015</vertOffsetCorrection_>
<horizOffsetCorrection_>-2.5999999</horizOffsetCorrection_>
<focalDistance_>0</focalDistance_>
<focalSlope_>0</focalSlope_>
</px>
</item>
<item>
<px class_id_reference="9" object_id="_5">
<id_>4</id_>
<rotCorrection_>-1.0502493</rotCorrection_>
<vertCorrection_>-6.6410818</vertCorrection_>
<distCorrection_>119</distCorrection_>
<distCorrectionX_>127</distCorrectionX_>
<distCorrectionY_>128</distCorrectionY_>
<vertOffsetCorrection_>19.82012</vertOffsetCorrection_>
<horizOffsetCorrection_>2.5999999</horizOffsetCorrection_>
<focalDistance_>0</focalDistance_>
<focalSlope_>0</focalSlope_>
</px>
</item>
<item>
<px class_id_reference="9" object_id="_6">
<id_>5</id_>
<rotCorrection_>1.2386309</rotCorrection_>
<vertCorrection_>-6.2594609</vertCorrection_>
<distCorrection_>135</distCorrection_>
<distCorrectionX_>140</distCorrectionX_>
<distCorrectionY_>144</distCorrectionY_>
<vertOffsetCorrection_>19.868624</vertOffsetCorrection_>
<horizOffsetCorrection_>-2.5999999</horizOffsetCorrection_>
<focalDistance_>0</focalDistance_>
<focalSlope_>0</focalSlope_>
</px>
</item>
<item>
<px class_id_reference="9" object_id="_7">
<id_>6</id_>
<rotCorrection_>-1.8405367</rotCorrection_>
<vertCorrection_>-8.6656351</vertCorrection_>
<distCorrection_>132</distCorrection_>
<distCorrectionX_>135</distCorrectionX_>
<distCorrectionY_>137</distCorrectionY_>
<vertOffsetCorrection_>19.561426</vertOffsetCorrection_>
<horizOffsetCorrection_>2.5999999</horizOffsetCorrection_>
<focalDistance_>0</focalDistance_>
<focalSlope_>0</focalSlope_>
</px>
</item>
<item>
<px class_id_reference="9" object_id="_8">
<id_>7</id_>
<rotCorrection_>0.4511103</rotCorrection_>
<vertCorrection_>-8.3104696</vertCorrection_>
<distCorrection_>145</distCorrection_>
<distCorrectionX_>145</distCorrectionX_>
<distCorrectionY_>149</distCorrectionY_>
<vertOffsetCorrection_>19.606993</vertOffsetCorrection_>
<horizOffsetCorrection_>-2.5999999</horizOffsetCorrection_>
<focalDistance_>0</focalDistance_>
<focalSlope_>0</focalSlope_>
</px>
</item>
<item>
<px class_id_reference="9" object_id="_9">
<id_>8</id_>
<rotCorrection_>3.2611551</rotCorrection_>
<vertCorrection_>-5.9352221</vertCorrection_>
<distCorrection_>116</distCorrection_>
<distCorrectionX_>122</distCorrectionX_>
<distCorrectionY_>121</distCorrectionY_>
<vertOffsetCorrection_>19.909781</vertOffsetCorrection_>
<horizOffsetCorrection_>2.5999999</horizOffsetCorrection_>
<focalDistance_>0</focalDistance_>
<focalSlope_>0</focalSlope_>
</px>
</item>
<item>
<px class_id_reference="9" object_id="_10">
<id_>9</id_>
<rotCorrection_>5.4685535</rotCorrection_>
<vertCorrection_>-5.587399</vertCorrection_>
<distCorrection_>133.99889</distCorrection_>
<distCorrectionX_>140</distCorrectionX_>
<distCorrectionY_>142</distCorrectionY_>
<vertOffsetCorrection_>19.953875</vertOffsetCorrection_>
<horizOffsetCorrection_>-2.5999999</horizOffsetCorrection_>
<focalDistance_>0</focalDistance_>
<focalSlope_>0</focalSlope_>
</px>
</item>
<item>
<px class_id_reference="9" object_id="_11">
<id_>10</id_>
<rotCorrection_>2.4743285</rotCorrection_>
<vertCorrection_>-7.9891219</vertCorrection_>
<distCorrection_>117</distCorrection_>
<distCorrectionX_>125</distCorrectionX_>
<distCorrectionY_>123</distCorrectionY_>
<vertOffsetCorrection_>19.648148</vertOffsetCorrection_>
<horizOffsetCorrection_>2.5999999</horizOffsetCorrection_>
<focalDistance_>0</focalDistance_>
<focalSlope_>0</focalSlope_>
</px>
</item>
<item>
<px class_id_reference="9" object_id="_12">
<id_>11</id_>
<rotCorrection_>4.7189918</rotCorrection_>
<vertCorrection_>-7.644258</vertCorrection_>
<distCorrection_>145</distCorrection_>
<distCorrectionX_>146</distCorrectionX_>
<distCorrectionY_>151</distCorrectionY_>
<vertOffsetCorrection_>19.692244</vertOffsetCorrection_>
<horizOffsetCorrection_>-2.5999999</horizOffsetCorrection_>
<focalDistance_>0</focalDistance_>
<focalSlope_>0</focalSlope_>
</px>
</item>
<item>
<px class_id_reference="9" object_id="_13">
<id_>12</id_>
<rotCorrection_>-5.3511744</rotCorrection_>
<vertCorrection_>-3.2475569</vertCorrection_>
<distCorrection_>118.71672</distCorrection_>
<distCorrectionX_>124</distCorrectionX_>
<distCorrectionY_>123</distCorrectionY_>
<vertOffsetCorrection_>20.249313</vertOffsetCorrection_>
<horizOffsetCorrection_>2.5999999</horizOffsetCorrection_>
<focalDistance_>0</focalDistance_>
<focalSlope_>0</focalSlope_>
</px>
</item>
<item>
<px class_id_reference="9" object_id="_14">
<id_>13</id_>
<rotCorrection_>-3.1158857</rotCorrection_>
<vertCorrection_>-2.850472</vertCorrection_>
<distCorrection_>142.90839</distCorrection_>
<distCorrectionX_>148</distCorrectionX_>
<distCorrectionY_>149</distCorrectionY_>
<vertOffsetCorrection_>20.29929</vertOffsetCorrection_>
<horizOffsetCorrection_>-2.5999999</horizOffsetCorrection_>
<focalDistance_>0</focalDistance_>
<focalSlope_>0</focalSlope_>
</px>
</item>
<item>
<px class_id_reference="9" object_id="_15">
<id_>14</id_>
<rotCorrection_>-6.1270261</rotCorrection_>
<vertCorrection_>-5.204318</vertCorrection_>
<distCorrection_>120</distCorrection_>
<distCorrectionX_>127</distCorrectionX_>
<distCorrectionY_>124</distCorrectionY_>
<vertOffsetCorrection_>20.00238</vertOffsetCorrection_>
<horizOffsetCorrection_>2.5999999</horizOffsetCorrection_>
<focalDistance_>0</focalDistance_>
<focalSlope_>0</focalSlope_>
</px>
</item>
<item>
<px class_id_reference="9" object_id="_16">
<id_>15</id_>
<rotCorrection_>-3.852011</rotCorrection_>
<vertCorrection_>-4.9137921</vertCorrection_>
<distCorrection_>137</distCorrection_>
<distCorrectionX_>144</distCorrectionX_>
<distCorrectionY_>144</distCorrectionY_>
<vertOffsetCorrection_>20.039125</vertOffsetCorrection_>
<horizOffsetCorrection_>-2.5999999</horizOffsetCorrection_>
<focalDistance_>0</focalDistance_>
<focalSlope_>0</focalSlope_>
</px>
</item>
<item>
<px class_id_reference="9" object_id="_17">
<id_>16</id_>
<rotCorrection_>-1.1109436</rotCorrection_>
<vertCorrection_>-2.4998751</vertCorrection_>
<distCorrection_>101.71324</distCorrection_>
<distCorrectionX_>111</distCorrectionX_>
<distCorrectionY_>109</distCorrectionY_>
<vertOffsetCorrection_>20.343384</vertOffsetCorrection_>
<horizOffsetCorrection_>2.5999999</horizOffsetCorrection_>
<focalDistance_>0</focalDistance_>
<focalSlope_>0</focalSlope_>
</px>
</item>
<item>
<px class_id_reference="9" object_id="_18">
<id_>17</id_>
<rotCorrection_>1.1519098</rotCorrection_>
<vertCorrection_>-2.184176</vertCorrection_>
<distCorrection_>145.31258</distCorrection_>
<distCorrectionX_>153</distCorrectionX_>
<distCorrectionY_>157</distCorrectionY_>
<vertOffsetCorrection_>20.38307</vertOffsetCorrection_>
<horizOffsetCorrection_>-2.5999999</horizOffsetCorrection_>
<focalDistance_>0</focalDistance_>
<focalSlope_>0</focalSlope_>
</px>
</item>
<item>
<px class_id_reference="9" object_id="_19">
<id_>18</id_>
<rotCorrection_>-1.8682934</rotCorrection_>
<vertCorrection_>-4.5764661</vertCorrection_>
<distCorrection_>130</distCorrection_>
<distCorrectionX_>135</distCorrectionX_>
<distCorrectionY_>134</distCorrectionY_>
<vertOffsetCorrection_>20.081753</vertOffsetCorrection_>
<horizOffsetCorrection_>2.5999999</horizOffsetCorrection_>
<focalDistance_>0</focalDistance_>
<focalSlope_>0</focalSlope_>
</px>
</item>
<item>
<px class_id_reference="9" object_id="_20">
<id_>19</id_>
<rotCorrection_>0.43604341</rotCorrection_>
<vertCorrection_>-4.2038751</vertCorrection_>
<distCorrection_>147</distCorrection_>
<distCorrectionX_>149</distCorrectionX_>
<distCorrectionY_>152</distCorrectionY_>
<vertOffsetCorrection_>20.128786</vertOffsetCorrection_>
<horizOffsetCorrection_>-2.5999999</horizOffsetCorrection_>
<focalDistance_>0</focalDistance_>
<focalSlope_>0</focalSlope_>
</px>
</item>
<item>
<px class_id_reference="9" object_id="_21">
<id_>20</id_>
<rotCorrection_>3.1763444</rotCorrection_>
<vertCorrection_>-1.798143</vertCorrection_>
<distCorrection_>115.82812</distCorrection_>
<distCorrectionX_>124</distCorrectionX_>
<distCorrectionY_>123</distCorrectionY_>
<vertOffsetCorrection_>20.431576</vertOffsetCorrection_>
<horizOffsetCorrection_>2.5999999</horizOffsetCorrection_>
<focalDistance_>0</focalDistance_>
<focalSlope_>0</focalSlope_>
</px>
</item>
<item>
<px class_id_reference="9" object_id="_22">
<id_>21</id_>
<rotCorrection_>5.4284201</rotCorrection_>
<vertCorrection_>-1.49388</vertCorrection_>
<distCorrection_>146</distCorrection_>
<distCorrectionX_>152</distCorrectionX_>
<distCorrectionY_>154</distCorrectionY_>
<vertOffsetCorrection_>20.469791</vertOffsetCorrection_>
<horizOffsetCorrection_>-2.5999999</horizOffsetCorrection_>
<focalDistance_>0</focalDistance_>
<focalSlope_>0</focalSlope_>
</px>
</item>
<item>
<px class_id_reference="9" object_id="_23">
<id_>22</id_>
<rotCorrection_>2.4024715</rotCorrection_>
<vertCorrection_>-1.877563</vertCorrection_>
<distCorrection_>129.29713</distCorrection_>
<distCorrectionX_>137</distCorrectionX_>
<distCorrectionY_>136</distCorrectionY_>
<vertOffsetCorrection_>20.169943</vertOffsetCorrection_>
<horizOffsetCorrection_>2.5999999</horizOffsetCorrection_>
<focalDistance_>0</focalDistance_>
<focalSlope_>0</focalSlope_>
</px>
</item>
<item>
<px class_id_reference="9" object_id="_24">
<id_>23</id_>
<rotCorrection_>4.6698937</rotCorrection_>
<vertCorrection_>-3.492661</vertCorrection_>
<distCorrection_>157.97737</distCorrection_>
<distCorrectionX_>162</distCorrectionX_>
<distCorrectionY_>165</distCorrectionY_>
<vertOffsetCorrection_>20.218447</vertOffsetCorrection_>
<horizOffsetCorrection_>-2.5999999</horizOffsetCorrection_>
<focalDistance_>0</focalDistance_>
<focalSlope_>0</focalSlope_>
</px>
</item>
<item>
<px class_id_reference="9" object_id="_25">
<id_>24</id_>
<rotCorrection_>-5.3977456</rotCorrection_>
<vertCorrection_>0.88327599</vertCorrection_>
<distCorrection_>124.12312</distCorrection_>
<distCorrectionX_>132</distCorrectionX_>
<distCorrectionY_>129</distCorrectionY_>
<vertOffsetCorrection_>20.768169</vertOffsetCorrection_>
<horizOffsetCorrection_>2.5999999</horizOffsetCorrection_>
<focalDistance_>0</focalDistance_>
<focalSlope_>0</focalSlope_>
</px>
</item>
<item>
<px class_id_reference="9" object_id="_26">
<id_>25</id_>
<rotCorrection_>-3.1504908</rotCorrection_>
<vertCorrection_>1.234519</vertCorrection_>
<distCorrection_>128</distCorrection_>
<distCorrectionX_>135</distCorrectionX_>
<distCorrectionY_>138</distCorrectionY_>
<vertOffsetCorrection_>20.812265</vertOffsetCorrection_>
<horizOffsetCorrection_>-2.5999999</horizOffsetCorrection_>
<focalDistance_>0</focalDistance_>
<focalSlope_>0</focalSlope_>
</px>
</item>
<item>
<px class_id_reference="9" object_id="_27">
<id_>26</id_>
<rotCorrection_>-6.1759849</rotCorrection_>
<vertCorrection_>-1.177825</vertCorrection_>
<distCorrection_>133</distCorrection_>
<distCorrectionX_>140</distCorrectionX_>
<distCorrectionY_>139</distCorrectionY_>
<vertOffsetCorrection_>20.509478</vertOffsetCorrection_>
<horizOffsetCorrection_>2.5999999</horizOffsetCorrection_>
<focalDistance_>0</focalDistance_>
<focalSlope_>0</focalSlope_>
</px>
</item>
<item>
<px class_id_reference="9" object_id="_28">
<id_>27</id_>
<rotCorrection_>-3.8819003</rotCorrection_>
<vertCorrection_>-0.86169797</vertCorrection_>
<distCorrection_>130</distCorrection_>
<distCorrectionX_>135</distCorrectionX_>
<distCorrectionY_>134</distCorrectionY_>
<vertOffsetCorrection_>20.549164</vertOffsetCorrection_>
<horizOffsetCorrection_>-2.5999999</horizOffsetCorrection_>
<focalDistance_>0</focalDistance_>
<focalSlope_>0</focalSlope_>
</px>
</item>
<item>
<px class_id_reference="9" object_id="_29">
<id_>28</id_>
<rotCorrection_>-1.1136208</rotCorrection_>
<vertCorrection_>1.585669</vertCorrection_>
<distCorrection_>131</distCorrection_>
<distCorrectionX_>137</distCorrectionX_>
<distCorrectionY_>137</distCorrectionY_>
<vertOffsetCorrection_>20.856361</vertOffsetCorrection_>
<horizOffsetCorrection_>2.5999999</horizOffsetCorrection_>
<focalDistance_>0</focalDistance_>
<focalSlope_>0</focalSlope_>
</px>
</item>
<item>
<px class_id_reference="9" object_id="_30">
<id_>29</id_>
<rotCorrection_>1.0969903</rotCorrection_>
<vertCorrection_>1.925001</vertCorrection_>
<distCorrection_>131</distCorrection_>
<distCorrectionX_>139</distCorrectionX_>
<distCorrectionY_>142</distCorrectionY_>
<vertOffsetCorrection_>20.898987</vertOffsetCorrection_>
<horizOffsetCorrection_>-2.5999999</horizOffsetCorrection_>
<focalDistance_>0</focalDistance_>
<focalSlope_>0</focalSlope_>
</px>
</item>
<item>
<px class_id_reference="9" object_id="_31">
<id_>30</id_>
<rotCorrection_>-1.9088749</rotCorrection_>
<vertCorrection_>-0.486963</vertCorrection_>
<distCorrection_>138.48773</distCorrection_>
<distCorrectionX_>145</distCorrectionX_>
<distCorrectionY_>143</distCorrectionY_>
<vertOffsetCorrection_>20.596197</vertOffsetCorrection_>
<horizOffsetCorrection_>2.5999999</horizOffsetCorrection_>
<focalDistance_>0</focalDistance_>
<focalSlope_>0</focalSlope_>
</px>
</item>
<item>
<px class_id_reference="9" object_id="_32">
<id_>31</id_>
<rotCorrection_>0.36758029</rotCorrection_>
<vertCorrection_>-0.123898</vertCorrection_>
<distCorrection_>137.21994</distCorrection_>
<distCorrectionX_>143</distCorrectionX_>
<distCorrectionY_>145</distCorrectionY_>
<vertOffsetCorrection_>20.641764</vertOffsetCorrection_>
<horizOffsetCorrection_>-2.5999999</horizOffsetCorrection_>
<focalDistance_>0</focalDistance_>
<focalSlope_>0</focalSlope_>
</px>
</item>
<item>
<px class_id_reference="9" object_id="_33">
<id_>32</id_>
<rotCorrection_>-8.3386211</rotCorrection_>
<vertCorrection_>-22.597513</vertCorrection_>
<distCorrection_>117</distCorrection_>
<distCorrectionX_>124</distCorrectionX_>
<distCorrectionY_>125</distCorrectionY_>
<vertOffsetCorrection_>10.828748</vertOffsetCorrection_>
<horizOffsetCorrection_>2.5999999</horizOffsetCorrection_>
<focalDistance_>0</focalDistance_>
<focalSlope_>0</focalSlope_>
</px>
</item>
<item>
<px class_id_reference="9" object_id="_34">
<id_>33</id_>
<rotCorrection_>-4.7629819</rotCorrection_>
<vertCorrection_>-22.397568</vertCorrection_>
<distCorrection_>100</distCorrection_>
<distCorrectionX_>109</distCorrectionX_>
<distCorrectionY_>110</distCorrectionY_>
<vertOffsetCorrection_>10.854152</vertOffsetCorrection_>
<horizOffsetCorrection_>-2.5999999</horizOffsetCorrection_>
<focalDistance_>0</focalDistance_>
<focalSlope_>0</focalSlope_>
</px>
</item>
<item>
<px class_id_reference="9" object_id="_35">
<id_>34</id_>
<rotCorrection_>4.1516571</rotCorrection_>
<vertCorrection_>-11.576517</vertCorrection_>
<distCorrection_>130</distCorrection_>
<distCorrectionX_>128</distCorrectionX_>
<distCorrectionY_>130</distCorrectionY_>
<vertOffsetCorrection_>12.142142</vertOffsetCorrection_>
<horizOffsetCorrection_>2.5999999</horizOffsetCorrection_>
<focalDistance_>0</focalDistance_>
<focalSlope_>0</focalSlope_>
</px>
</item>
<item>
<px class_id_reference="9" object_id="_36">
<id_>35</id_>
<rotCorrection_>7.3577185</rotCorrection_>
<vertCorrection_>-10.877901</vertCorrection_>
<distCorrection_>102</distCorrection_>
<distCorrectionX_>108</distCorrectionX_>
<distCorrectionY_>109</distCorrectionY_>
<vertOffsetCorrection_>12.220895</vertOffsetCorrection_>
<horizOffsetCorrection_>-2.5999999</horizOffsetCorrection_>
<focalDistance_>0</focalDistance_>
<focalSlope_>0</focalSlope_>
</px>
</item>
<item>
<px class_id_reference="9" object_id="_37">
<id_>36</id_>
<rotCorrection_>-1.2630961</rotCorrection_>
<vertCorrection_>-21.935509</vertCorrection_>
<distCorrection_>106</distCorrection_>
<distCorrectionX_>112</distCorrectionX_>
<distCorrectionY_>113</distCorrectionY_>
<vertOffsetCorrection_>10.912581</vertOffsetCorrection_>
<horizOffsetCorrection_>2.5999999</horizOffsetCorrection_>
<focalDistance_>0</focalDistance_>
<focalSlope_>0</focalSlope_>
</px>
</item>
<item>
<px class_id_reference="9" object_id="_38">
<id_>37</id_>
<rotCorrection_>2.1595552</rotCorrection_>
<vertCorrection_>-21.409546</vertCorrection_>
<distCorrection_>91</distCorrection_>
<distCorrectionX_>100</distCorrectionX_>
<distCorrectionY_>101</distCorrectionY_>
<vertOffsetCorrection_>10.978632</vertOffsetCorrection_>
<horizOffsetCorrection_>-2.5999999</horizOffsetCorrection_>
<focalDistance_>0</focalDistance_>
<focalSlope_>0</focalSlope_>
</px>
</item>
<item>
<px class_id_reference="9" object_id="_39">
<id_>38</id_>
<rotCorrection_>-2.6141083</rotCorrection_>
<vertCorrection_>-25.066507</vertCorrection_>
<distCorrection_>127</distCorrection_>
<distCorrectionX_>126</distCorrectionX_>
<distCorrectionY_>126</distCorrectionY_>
<vertOffsetCorrection_>10.508655</vertOffsetCorrection_>
<horizOffsetCorrection_>2.5999999</horizOffsetCorrection_>
<focalDistance_>0</focalDistance_>
<focalSlope_>0</focalSlope_>
</px>
</item>
<item>
<px class_id_reference="9" object_id="_40">
<id_>39</id_>
<rotCorrection_>0.95595688</rotCorrection_>
<vertCorrection_>-24.458101</vertCorrection_>
<distCorrection_>95</distCorrection_>
<distCorrectionX_>99</distCorrectionX_>
<distCorrectionY_>102</distCorrectionY_>
<vertOffsetCorrection_>10.588678</vertOffsetCorrection_>
<horizOffsetCorrection_>-2.5999999</horizOffsetCorrection_>
<focalDistance_>0</focalDistance_>
<focalSlope_>0</focalSlope_>
</px>
</item>
<item>
<px class_id_reference="9" object_id="_41">
<id_>40</id_>
<rotCorrection_>5.5369682</rotCorrection_>
<vertCorrection_>-20.777454</vertCorrection_>
<distCorrection_>106</distCorrection_>
<distCorrectionX_>114</distCorrectionX_>
<distCorrectionY_>114</distCorrectionY_>
<vertOffsetCorrection_>11.057385</vertOffsetCorrection_>
<horizOffsetCorrection_>2.5999999</horizOffsetCorrection_>
<focalDistance_>0</focalDistance_>
<focalSlope_>0</focalSlope_>
</px>
</item>
<item>
<px class_id_reference="9" object_id="_42">
<id_>41</id_>
<rotCorrection_>8.9712191</rotCorrection_>
<vertCorrection_>-20.243195</vertCorrection_>
<distCorrection_>97</distCorrection_>
<distCorrectionX_>104</distCorrectionX_>
<distCorrectionY_>105</distCorrectionY_>
<vertOffsetCorrection_>11.123436</vertOffsetCorrection_>
<horizOffsetCorrection_>-2.5999999</horizOffsetCorrection_>
<focalDistance_>0</focalDistance_>
<focalSlope_>0</focalSlope_>
</px>
</item>
<item>
<px class_id_reference="9" object_id="_43">
<id_>42</id_>
<rotCorrection_>4.4757471</rotCorrection_>
<vertCorrection_>-23.863358</vertCorrection_>
<distCorrection_>115</distCorrection_>
<distCorrectionX_>118</distCorrectionX_>
<distCorrectionY_>120</distCorrectionY_>
<vertOffsetCorrection_>10.666161</vertOffsetCorrection_>
<horizOffsetCorrection_>2.5999999</horizOffsetCorrection_>
<focalDistance_>0</focalDistance_>
<focalSlope_>0</focalSlope_>
</px>
</item>
<item>
<px class_id_reference="9" object_id="_44">
<id_>43</id_>
<rotCorrection_>7.8848143</rotCorrection_>
<vertCorrection_>-23.352007</vertCorrection_>
<distCorrection_>92</distCorrection_>
<distCorrectionX_>95</distCorrectionX_>
<distCorrectionY_>100</distCorrectionY_>
<vertOffsetCorrection_>10.732212</vertOffsetCorrection_>
<horizOffsetCorrection_>-2.5999999</horizOffsetCorrection_>
<focalDistance_>0</focalDistance_>
<focalSlope_>0</focalSlope_>
</px>
</item>
<item>
<px class_id_reference="9" object_id="_45">
<id_>44</id_>
<rotCorrection_>-8.0466499</rotCorrection_>
<vertCorrection_>-16.629311</vertCorrection_>
<distCorrection_>135</distCorrection_>
<distCorrectionX_>135</distCorrectionX_>
<distCorrectionY_>137</distCorrectionY_>
<vertOffsetCorrection_>11.559117</vertOffsetCorrection_>
<horizOffsetCorrection_>2.5999999</horizOffsetCorrection_>
<focalDistance_>0</focalDistance_>
<focalSlope_>0</focalSlope_>
</px>
</item>
<item>
<px class_id_reference="9" object_id="_46">
<id_>45</id_>
<rotCorrection_>-4.595552</rotCorrection_>
<vertCorrection_>-16.230633</vertCorrection_>
<distCorrection_>108</distCorrection_>
<distCorrectionX_>112</distCorrectionX_>
<distCorrectionY_>115</distCorrectionY_>
<vertOffsetCorrection_>11.606115</vertOffsetCorrection_>
<horizOffsetCorrection_>-2.5999999</horizOffsetCorrection_>
<focalDistance_>0</focalDistance_>
<focalSlope_>0</focalSlope_>
</px>
</item>
<item>
<px class_id_reference="9" object_id="_47">
<id_>46</id_>
<rotCorrection_>-9.3918352</rotCorrection_>
<vertCorrection_>-19.788239</vertCorrection_>
<distCorrection_>135</distCorrection_>
<distCorrectionX_>135</distCorrectionX_>
<distCorrectionY_>138</distCorrectionY_>
<vertOffsetCorrection_>11.179325</vertOffsetCorrection_>
<horizOffsetCorrection_>2.5999999</horizOffsetCorrection_>
<focalDistance_>0</focalDistance_>
<focalSlope_>0</focalSlope_>
</px>
</item>
<item>
<px class_id_reference="9" object_id="_48">
<id_>47</id_>
<rotCorrection_>-5.9566336</rotCorrection_>
<vertCorrection_>-19.21587</vertCorrection_>
<distCorrection_>98</distCorrection_>
<distCorrectionX_>105</distCorrectionX_>
<distCorrectionY_>108</distCorrectionY_>
<vertOffsetCorrection_>11.249186</vertOffsetCorrection_>
<horizOffsetCorrection_>-2.5999999</horizOffsetCorrection_>
<focalDistance_>0</focalDistance_>
<focalSlope_>0</focalSlope_>
</px>
</item>
<item>
<px class_id_reference="9" object_id="_49">
<id_>48</id_>
<rotCorrection_>-1.3779737</rotCorrection_>
<vertCorrection_>-15.754419</vertCorrection_>
<distCorrection_>116</distCorrection_>
<distCorrectionX_>120</distCorrectionX_>
<distCorrectionY_>123</distCorrectionY_>
<vertOffsetCorrection_>11.662004</vertOffsetCorrection_>
<horizOffsetCorrection_>2.5999999</horizOffsetCorrection_>
<focalDistance_>0</focalDistance_>
<focalSlope_>0</focalSlope_>
</px>
</item>
<item>
<px class_id_reference="9" object_id="_50">
<id_>49</id_>
<rotCorrection_>2.0754263</rotCorrection_>
<vertCorrection_>-15.166914</vertCorrection_>
<distCorrection_>105</distCorrection_>
<distCorrectionX_>110</distCorrectionX_>
<distCorrectionY_>110</distCorrectionY_>
<vertOffsetCorrection_>11.730595</vertOffsetCorrection_>
<horizOffsetCorrection_>-2.5999999</horizOffsetCorrection_>
<focalDistance_>0</focalDistance_>
<focalSlope_>0</focalSlope_>
</px>
</item>
<item>
<px class_id_reference="9" object_id="_51">
<id_>50</id_>
<rotCorrection_>-2.5654242</rotCorrection_>
<vertCorrection_>-18.828558</vertCorrection_>
<distCorrection_>138</distCorrection_>
<distCorrectionX_>133</distCorrectionX_>
<distCorrectionY_>134.53442</distCorrectionY_>
<vertOffsetCorrection_>11.296184</vertOffsetCorrection_>
<horizOffsetCorrection_>2.5999999</horizOffsetCorrection_>
<focalDistance_>0</focalDistance_>
<focalSlope_>0</focalSlope_>
</px>
</item>
<item>
<px class_id_reference="9" object_id="_52">
<id_>51</id_>
<rotCorrection_>0.87227631</rotCorrection_>
<vertCorrection_>-18.312876</vertCorrection_>
<distCorrection_>105</distCorrection_>
<distCorrectionX_>110</distCorrectionX_>
<distCorrectionY_>111</distCorrectionY_>
<vertOffsetCorrection_>11.358424</vertOffsetCorrection_>
<horizOffsetCorrection_>-2.5999999</horizOffsetCorrection_>
<focalDistance_>0</focalDistance_>
<focalSlope_>0</focalSlope_>
</px>
</item>
<item>
<px class_id_reference="9" object_id="_53">
<id_>52</id_>
<rotCorrection_>5.2989287</rotCorrection_>
<vertCorrection_>-14.641928</vertCorrection_>
<distCorrection_>123</distCorrection_>
<distCorrectionX_>125</distCorrectionX_>
<distCorrectionY_>126</distCorrectionY_>
<vertOffsetCorrection_>11.791565</vertOffsetCorrection_>
<horizOffsetCorrection_>2.5999999</horizOffsetCorrection_>
<focalDistance_>0</focalDistance_>
<focalSlope_>0</focalSlope_>
</px>
</item>
<item>
<px class_id_reference="9" object_id="_54">
<id_>53</id_>
<rotCorrection_>8.7970304</rotCorrection_>
<vertCorrection_>-14.048302</vertCorrection_>
<distCorrection_>86</distCorrection_>
<distCorrectionX_>90</distCorrectionX_>
<distCorrectionY_>95</distCorrectionY_>
<vertOffsetCorrection_>11.860156</vertOffsetCorrection_>
<horizOffsetCorrection_>-2.5999999</horizOffsetCorrection_>
<focalDistance_>0</focalDistance_>
<focalSlope_>0</focalSlope_>
</px>
</item>
<item>
<px class_id_reference="9" object_id="_55">
<id_>54</id_>
<rotCorrection_>4.1742177</rotCorrection_>
<vertCorrection_>-17.687857</vertCorrection_>
<distCorrection_>135</distCorrection_>
<distCorrectionX_>135</distCorrectionX_>
<distCorrectionY_>133.33524</distCorrectionY_>
<vertOffsetCorrection_>11.433367</vertOffsetCorrection_>
<horizOffsetCorrection_>2.5999999</horizOffsetCorrection_>
<focalDistance_>0</focalDistance_>
<focalSlope_>0</focalSlope_>
</px>
</item>
<item>
<px class_id_reference="9" object_id="_56">
<id_>55</id_>
<rotCorrection_>7.5869775</rotCorrection_>
<vertCorrection_>-17.16544</vertCorrection_>
<distCorrection_>92</distCorrection_>
<distCorrectionX_>98</distCorrectionX_>
<distCorrectionY_>100</distCorrectionY_>
<vertOffsetCorrection_>11.495607</vertOffsetCorrection_>
<horizOffsetCorrection_>-2.5999999</horizOffsetCorrection_>
<focalDistance_>0</focalDistance_>
<focalSlope_>0</focalSlope_>
</px>
</item>
<item>
<px class_id_reference="9" object_id="_57">
<id_>56</id_>
<rotCorrection_>-7.8831077</rotCorrection_>
<vertCorrection_>-10.436752</vertCorrection_>
<distCorrection_>121</distCorrection_>
<distCorrectionX_>126</distCorrectionX_>
<distCorrectionY_>128</distCorrectionY_>
<vertOffsetCorrection_>12.270433</vertOffsetCorrection_>
<horizOffsetCorrection_>2.5999999</horizOffsetCorrection_>
<focalDistance_>0</focalDistance_>
<focalSlope_>0</focalSlope_>
</px>
</item>
<item>
<px class_id_reference="9" object_id="_58">
<id_>57</id_>
<rotCorrection_>-4.5919614</rotCorrection_>
<vertCorrection_>-10.085198</vertCorrection_>
<distCorrection_>103</distCorrection_>
<distCorrectionX_>106</distCorrectionX_>
<distCorrectionY_>108</distCorrectionY_>
<vertOffsetCorrection_>12.30981</vertOffsetCorrection_>
<horizOffsetCorrection_>-2.5999999</horizOffsetCorrection_>
<focalDistance_>0</focalDistance_>
<focalSlope_>0</focalSlope_>
</px>
</item>
<item>
<px class_id_reference="9" object_id="_59">
<id_>58</id_>
<rotCorrection_>-9.1805763</rotCorrection_>
<vertCorrection_>-13.484814</vertCorrection_>
<distCorrection_>146</distCorrection_>
<distCorrectionX_>142</distCorrectionX_>
<distCorrectionY_>145</distCorrectionY_>
<vertOffsetCorrection_>11.924937</vertOffsetCorrection_>
<horizOffsetCorrection_>2.5999999</horizOffsetCorrection_>
<focalDistance_>0</focalDistance_>
<focalSlope_>0</focalSlope_>
</px>
</item>
<item>
<px class_id_reference="9" object_id="_60">
<id_>59</id_>
<rotCorrection_>-5.7835727</rotCorrection_>
<vertCorrection_>-13.107666</vertCorrection_>
<distCorrection_>99</distCorrection_>
<distCorrectionX_>106</distCorrectionX_>
<distCorrectionY_>106</distCorrectionY_>
<vertOffsetCorrection_>11.968124</vertOffsetCorrection_>
<horizOffsetCorrection_>-2.5999999</horizOffsetCorrection_>
<focalDistance_>0</focalDistance_>
<focalSlope_>0</focalSlope_>
</px>
</item>
<item>
<px class_id_reference="9" object_id="_61">
<id_>60</id_>
<rotCorrection_>-1.2335371</rotCorrection_>
<vertCorrection_>-9.5621262</vertCorrection_>
<distCorrection_>123</distCorrection_>
<distCorrectionX_>127</distCorrectionX_>
<distCorrectionY_>128</distCorrectionY_>
<vertOffsetCorrection_>12.368239</vertOffsetCorrection_>
<horizOffsetCorrection_>2.5999999</horizOffsetCorrection_>
<focalDistance_>0</focalDistance_>
<focalSlope_>0</focalSlope_>
</px>
</item>
<item>
<px class_id_reference="9" object_id="_62">
<id_>61</id_>
<rotCorrection_>1.9424959</rotCorrection_>
<vertCorrection_>-9.0374413</vertCorrection_>
<distCorrection_>106</distCorrection_>
<distCorrectionX_>108</distCorrectionX_>
<distCorrectionY_>111</distCorrectionY_>
<vertOffsetCorrection_>12.426669</vertOffsetCorrection_>
<horizOffsetCorrection_>-2.5999999</horizOffsetCorrection_>
<focalDistance_>0</focalDistance_>
<focalSlope_>0</focalSlope_>
</px>
</item>
<item>
<px class_id_reference="9" object_id="_63">
<id_>62</id_>
<rotCorrection_>-2.5727935</rotCorrection_>
<vertCorrection_>-12.651329</vertCorrection_>
<distCorrection_>134</distCorrection_>
<distCorrectionX_>135</distCorrectionX_>
<distCorrectionY_>134</distCorrectionY_>
<vertOffsetCorrection_>12.020203</vertOffsetCorrection_>
<horizOffsetCorrection_>2.5999999</horizOffsetCorrection_>
<focalDistance_>0</focalDistance_>
<focalSlope_>0</focalSlope_>
</px>
</item>
<item>
<px class_id_reference="9" object_id="_64">
<id_>63</id_>
<rotCorrection_>0.81118912</rotCorrection_>
<vertCorrection_>-12.115005</vertCorrection_>
<distCorrection_>104</distCorrection_>
<distCorrectionX_>107</distCorrectionX_>
<distCorrectionY_>112</distCorrectionY_>
<vertOffsetCorrection_>12.081173</vertOffsetCorrection_>
<horizOffsetCorrection_>-2.5999999</horizOffsetCorrection_>
<focalDistance_>0</focalDistance_>
<focalSlope_>0</focalSlope_>
</px>
</item>
</points_>
</DB>
</boost_serialization>
@@ -0,0 +1,33 @@
<!-- -*- mode: XML -*- -->
<!-- rostest of publishing a transformed PointCloud from PCAP data. -->
<launch>
<!-- define transforms for static vehicle -->
<include file="$(find velodyne_pointcloud)/tests/static_vehicle_tf.launch" />
<!-- start driver with example PCAP file -->
<node pkg="velodyne_driver" type="velodyne_node" name="velodyne_node">
<param name="pcap" value="$(find velodyne_pointcloud)/tests/class.pcap"/>
</node>
<!-- start transform node with test calibration file -->
<node pkg="velodyne_pointcloud" type="transform_node" name="transform_node">
<param name="calibration"
value="$(find velodyne_pointcloud)/tests/angles.yaml"/>
</node>
<!-- Verify PointCloud2 publication rate. Unfortunately,
transformed clouds run very slowly, they spend too much time
waiting for the /velodyne to /map transform to be available.
-->
<test test-name="transform_node_hz_test" pkg="rostest"
type="hztest" name="hztest_transform_node_64e" >
<param name="hz" value="10.0" />
<param name="hzerror" value="7.0" />
<param name="test_duration" value="5.0" />
<param name="topic" value="velodyne_points" />
<param name="wait_time" value="2.0" />
</test>
</launch>
@@ -0,0 +1,33 @@
<!-- -*- mode: XML -*- -->
<!-- rostest of publishing a transformed PointCloud from PCAP data. -->
<launch>
<!-- define transforms for static vehicle -->
<include file="$(find velodyne_pointcloud)/tests/static_vehicle_tf.launch" />
<!-- start nodelet manager and driver nodelets -->
<include file="$(find velodyne_driver)/launch/nodelet_manager.launch">
<arg name="pcap" value="$(find velodyne_pointcloud)/tests/class.pcap"/>
</include>
<!-- start transform nodelet -->
<include file="$(find velodyne_pointcloud)/launch/transform_nodelet.launch">
<arg name="calibration"
value="$(find velodyne_pointcloud)/params/64e_utexas.yaml"/>
</include>
<!-- Verify PointCloud2 publication rate. Unfortunately,
transformed clouds run very slowly, they spend too much time
waiting for the /velodyne to /map transform to be available.
-->
<test test-name="transform_nodelet_hz_test" pkg="rostest"
type="hztest" name="hztest_transform_nodelet_64e" >
<param name="hz" value="10.0" />
<param name="hzerror" value="7.0" />
<param name="test_duration" value="5.0" />
<param name="topic" value="velodyne_points" />
<param name="wait_time" value="2.0" />
</test>
</launch>
@@ -0,0 +1,48 @@
<!-- -*- mode: XML -*- -->
<!-- rostest of publishing using two different nodelet managers. -->
<launch>
<!-- use separate namespaces for each device and its nodelet manager -->
<group ns="hdl32e">
<!-- start nodelet manager, driver and cloud nodelets -->
<include file="$(find velodyne_pointcloud)/launch/32e_points.launch">
<arg name="frame_id" value="hdl32e"/>
<arg name="pcap" value="$(find velodyne_pointcloud)/tests/32e.pcap"/>
</include>
<!-- verify PointCloud2 publication rate -->
<test test-name="multi_nodelet_32e_test" pkg="rostest"
type="hztest" name="hztest_multi_nodelet_32e" >
<param name="hz" value="10.0" />
<param name="hzerror" value="3.0" />
<param name="test_duration" value="5.0" />
<param name="topic" value="/hdl32e/velodyne_points" />
<param name="wait_time" value="2.0" />
</test>
</group>
<group ns="vlp16">
<!-- start nodelet manager, driver and cloud nodelets -->
<include file="$(find velodyne_pointcloud)/launch/VLP16_points.launch">
<arg name="frame_id" value="vlp16"/>
<arg name="pcap" value="$(find velodyne_pointcloud)/tests/vlp16.pcap"/>
</include>
<!-- verify PointCloud2 publication rate -->
<test test-name="multi_nodelet_vlp16_test" pkg="rostest"
type="hztest" name="hztest_multi_nodelet_vlp16" >
<param name="hz" value="10.0" />
<param name="hzerror" value="3.0" />
<param name="test_duration" value="5.0" />
<param name="topic" value="/vlp16/velodyne_points" />
<param name="wait_time" value="2.0" />
</test>
</group>
</launch>