diff --git a/.gitmodules b/.gitmodules
index eb4d96f94..896020210 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,7 +1,7 @@
[submodule "lg_pkgs/lgsvl_msgs"]
path = lgsvl_pkgs/lgsvl_msgs
- url = ../lgsvl_msgs.git
+ url = https://github.com/lgsvl/lgsvl_msgs.git
branch = apollo_3_5
[submodule "modules/map/data/san_francisco"]
path = modules/map/data/san_francisco
- url = ../apollo-simulator-map.git
+ url = https://github.com/lgsvl/apollo-simulator-map.git
diff --git a/README.md b/README.md
index 226b11370..25ee7db51 100644
--- a/README.md
+++ b/README.md
@@ -119,7 +119,7 @@ To launch apollo, first launch and enter a container as described in the previou
* Open Apollo dreamview in a browser by navigating to: `localhost:8888`
- Select the `XE_Rigged_Apollo3.5` vehicle and `San Francisco` map in the top right corner.
- Open the **Module Controller** tab (on the left bar).
- - Enable **Localization**, **Transform**, **Perception**, **Traffic Light**, **Planning**, **Prediction**, **Routing**.
+ - Enable **Localization**, **Transform**, **Perception**, **Prediction**, **Routing**, **Planning**.
- Navigate to the **Route Editing** tab.
- Select a destination by clicking on a lane line and clicking **Submit Route**.
- Enable **Control** in **Module Controller** tab.
diff --git a/modules/common/data/vehicle_param.pb.txt b/modules/common/data/vehicle_param.pb.txt
index 746a73d2e..6ce0d5e6b 100644
--- a/modules/common/data/vehicle_param.pb.txt
+++ b/modules/common/data/vehicle_param.pb.txt
@@ -1,8 +1,4 @@
vehicle_param {
- brand: LINCOLN_MKZ
- vehicle_id {
- other_unique_id: "mkz7"
- }
front_edge_to_center: 3.705
back_edge_to_center: 0.995
left_edge_to_center: 1.03
@@ -19,7 +15,4 @@ vehicle_param {
steer_ratio: 11.4213198
wheel_base: 2.837007
wheel_rolling_radius: 0.33
-
- brake_deadzone: 15.5
- throttle_deadzone: 18.0
}
diff --git a/modules/control/conf/navigation_lincoln.pb.txt b/modules/control/conf/navigation_lincoln.pb.txt
index 5f4747db3..1680dc2d9 100644
--- a/modules/control/conf/navigation_lincoln.pb.txt
+++ b/modules/control/conf/navigation_lincoln.pb.txt
@@ -94,6 +94,8 @@ lat_controller_conf {
}
lon_controller_conf {
ts: 0.01
+ brake_deadzone: 15.5
+ throttle_deadzone: 18.0
speed_controller_input_limit: 2.0
station_error_limit: 2.0
preview_window: 20.0
diff --git a/modules/drivers/velodyne/params/128E_S3_calibration.yaml b/modules/drivers/velodyne/params/128E_S3_calibration.yaml
new file mode 100644
index 000000000..a02c68421
--- /dev/null
+++ b/modules/drivers/velodyne/params/128E_S3_calibration.yaml
@@ -0,0 +1,243 @@
+lasers:
+- {dist_correction: 1.3280478, dist_correction_x: 1.3733278999999998, dist_correction_y: 1.3565268000000001,
+ focal_distance: 12.0, focal_slope: 0.75, horiz_offset_correction: 0.025999999, laser_id: 0,
+ min_intensity: 5, rot_correction: -0.08042396035379652, vert_correction: -0.12376696608832838,
+ vert_offset_correction: 0.21551828}
+- {dist_correction: 1.4387065, dist_correction_x: 1.4772083, dist_correction_y: 1.4930743000000002,
+ focal_distance: 18.5, focal_slope: 1.1, horiz_offset_correction: -0.025999999, laser_id: 1,
+ min_intensity: 40, rot_correction: -0.043931143295210404, vert_correction: -0.11852979325378328,
+ vert_offset_correction: 0.21513613}
+- {dist_correction: 1.4198532000000001, dist_correction_x: 1.4513388, dist_correction_y: 1.4459473,
+ focal_distance: 17.0, focal_slope: 1.25, horiz_offset_correction: 0.025999999, laser_id: 2,
+ min_intensity: 40, rot_correction: 0.05671893510512383, vert_correction: 0.006831742116548479,
+ vert_offset_correction: 0.20608189}
+- {dist_correction: 1.432045, dist_correction_x: 1.4576363, dist_correction_y: 1.5053079,
+ focal_distance: 24.0, focal_slope: 0.94999999, horiz_offset_correction: -0.025999999,
+ laser_id: 3, min_intensity: 40, rot_correction: 0.09507418428186684, vert_correction: 0.011737269755557637,
+ vert_offset_correction: 0.2057291}
+- {dist_correction: 1.3768561, dist_correction_x: 1.4095345000000001, dist_correction_y: 1.4140973,
+ focal_distance: 24.0, focal_slope: 0.60000002, horiz_offset_correction: 0.025999999,
+ laser_id: 4, min_intensity: 40, rot_correction: -0.0052020566354620415, vert_correction: -0.11207511538496126,
+ vert_offset_correction: 0.21466578}
+- {dist_correction: 1.4579066, dist_correction_x: 1.5030013, dist_correction_y: 1.5402745,
+ focal_distance: 23.0, focal_slope: 0.80000001, horiz_offset_correction: -0.025999999,
+ laser_id: 5, min_intensity: 40, rot_correction: 0.034271327080062704, vert_correction: -0.10662164389621649,
+ vert_offset_correction: 0.21426891}
+- {dist_correction: 1.4042904999999999, dist_correction_x: 1.4512584000000002, dist_correction_y: 1.4358795000000002,
+ focal_distance: 24.0, focal_slope: 0.80000001, horiz_offset_correction: 0.025999999,
+ laser_id: 6, min_intensity: 40, rot_correction: -0.019350118096339984, vert_correction: -0.14744596324186607,
+ vert_offset_correction: 0.21725271}
+- {dist_correction: 1.4530759, dist_correction_x: 1.4934110999999999, dist_correction_y: 1.4934732,
+ focal_distance: 16.5, focal_slope: 0.80000001, horiz_offset_correction: -0.025999999,
+ laser_id: 7, min_intensity: 40, rot_correction: 0.019696635766030937, vert_correction: -0.1420415773930044,
+ vert_offset_correction: 0.21685585}
+- {dist_correction: 1.3928452999999998, dist_correction_x: 1.4412779, dist_correction_y: 1.4351759000000002,
+ focal_distance: 24.0, focal_slope: 0.64999998, horiz_offset_correction: 0.025999999,
+ laser_id: 8, min_intensity: 10, rot_correction: 0.06977400140069993, vert_correction: -0.10055477120587059,
+ vert_offset_correction: 0.21382797}
+- {dist_correction: 1.4649026, dist_correction_x: 1.4811482, dist_correction_y: 1.5390858,
+ focal_distance: 16.5, focal_slope: 1.2, horiz_offset_correction: -0.025999999, laser_id: 9,
+ min_intensity: 40, rot_correction: 0.10867481606700684, vert_correction: -0.09508820800240662,
+ vert_offset_correction: 0.21343111}
+- {dist_correction: 1.3307669000000002, dist_correction_x: 1.3797191000000002, dist_correction_y: 1.3716772000000002,
+ focal_distance: 24.0, focal_slope: 0.85000002, horiz_offset_correction: 0.025999999,
+ laser_id: 10, min_intensity: 40, rot_correction: 0.05614793318704137, vert_correction: -0.13622757149534595,
+ vert_offset_correction: 0.2164296}
+- {dist_correction: 1.3771700999999998, dist_correction_x: 1.4101131, dist_correction_y: 1.4538571,
+ focal_distance: 15.0, focal_slope: 1.35, horiz_offset_correction: -0.025999999,
+ laser_id: 11, min_intensity: 40, rot_correction: 0.09458836664858647, vert_correction: -0.13060523940147076,
+ vert_offset_correction: 0.21601805}
+- {dist_correction: 1.3797005, dist_correction_x: 1.4142267000000002, dist_correction_y: 1.4085233,
+ focal_distance: 10.0, focal_slope: 1.2, horiz_offset_correction: 0.025999999, laser_id: 12,
+ min_intensity: 10, rot_correction: -0.08058553944528767, vert_correction: -0.05321597901122562,
+ vert_offset_correction: 0.21040320999999998}
+- {dist_correction: 1.3646324, dist_correction_x: 1.3887102, dist_correction_y: 1.4070561000000001,
+ focal_distance: 24.0, focal_slope: 1.1, horiz_offset_correction: -0.025999999, laser_id: 13,
+ min_intensity: 40, rot_correction: -0.04053784798354424, vert_correction: -0.04669103069605979,
+ vert_offset_correction: 0.20993286000000003}
+- {dist_correction: 1.3809781, dist_correction_x: 1.4282532000000001, dist_correction_y: 1.4207353,
+ focal_distance: 15.0, focal_slope: 1.3, horiz_offset_correction: 0.025999999, laser_id: 14,
+ min_intensity: 40, rot_correction: -0.09419900463641756, vert_correction: -0.08758781436692292,
+ vert_offset_correction: 0.21288727000000002}
+- {dist_correction: 1.3950202999999999, dist_correction_x: 1.4285829, dist_correction_y: 1.4621552,
+ focal_distance: 24.0, focal_slope: 1.1, horiz_offset_correction: -0.025999999, laser_id: 15,
+ min_intensity: 40, rot_correction: -0.054354701628396805, vert_correction: -0.08292035016148458,
+ vert_offset_correction: 0.21254919000000003}
+- {dist_correction: 1.2988774, dist_correction_x: 1.3749954, dist_correction_y: 1.3734656,
+ focal_distance: 24.0, focal_slope: 0.64999998, horiz_offset_correction: 0.025999999,
+ laser_id: 16, min_intensity: 40, rot_correction: -0.005133124856654525, vert_correction: -0.04077432787988471,
+ vert_offset_correction: 0.20950663}
+- {dist_correction: 1.4723137, dist_correction_x: 1.5056056000000002, dist_correction_y: 1.5041873000000001,
+ focal_distance: 24.0, focal_slope: 1.0, horiz_offset_correction: -0.025999999, laser_id: 17,
+ min_intensity: 20, rot_correction: 0.033464606229193644, vert_correction: -0.03526310344619148,
+ vert_offset_correction: 0.20910976000000003}
+- {dist_correction: 1.3093359000000002, dist_correction_x: 1.4065028000000002, dist_correction_y: 1.3988147000000002,
+ focal_distance: 24.0, focal_slope: 1.1, horiz_offset_correction: 0.025999999, laser_id: 18,
+ min_intensity: 20, rot_correction: -0.01912024950720607, vert_correction: -0.07662373803636939,
+ vert_offset_correction: 0.21209354000000002}
+- {dist_correction: 1.4292241, dist_correction_x: 1.4580751, dist_correction_y: 1.4810971000000002,
+ focal_distance: 24.0, focal_slope: 1.2, horiz_offset_correction: -0.025999999, laser_id: 19,
+ min_intensity: 15, rot_correction: 0.0202102704569296, vert_correction: -0.07052442491121666,
+ vert_offset_correction: 0.21165258}
+- {dist_correction: 1.3831145, dist_correction_x: 1.4038123999999998, dist_correction_y: 1.3966234,
+ focal_distance: 24.0, focal_slope: 1.1, horiz_offset_correction: 0.025999999, laser_id: 20,
+ min_intensity: 30, rot_correction: 0.06874179273711946, vert_correction: -0.029137015224983895,
+ vert_offset_correction: 0.2086688}
+- {dist_correction: 1.402925, dist_correction_x: 1.4443744, dist_correction_y: 1.471532,
+ focal_distance: 17.0, focal_slope: 1.4, horiz_offset_correction: -0.025999999, laser_id: 21,
+ min_intensity: 5, rot_correction: 0.10747970535236223, vert_correction: -0.02341734437339572,
+ vert_offset_correction: 0.20825726}
+- {dist_correction: 1.4234489, dist_correction_x: 1.4673076, dist_correction_y: 1.4543761000000002,
+ focal_distance: 24.0, focal_slope: 0.55000001, horiz_offset_correction: 0.025999999,
+ laser_id: 22, min_intensity: 5, rot_correction: 0.05514045060297391, vert_correction: -0.0642162831410628,
+ vert_offset_correction: 0.21119694}
+- {dist_correction: 1.470387, dist_correction_x: 1.4879053, dist_correction_y: 1.5217740000000002,
+ focal_distance: 24.0, focal_slope: 1.3, horiz_offset_correction: -0.025999999, laser_id: 23,
+ min_intensity: 30, rot_correction: 0.09433926976708334, vert_correction: -0.05892161916095702,
+ vert_offset_correction: 0.21081478}
+- {dist_correction: 1.3722501, dist_correction_x: 1.4119496, dist_correction_y: 1.4214716,
+ focal_distance: 24.0, focal_slope: 1.0, horiz_offset_correction: 0.025999999, laser_id: 24,
+ min_intensity: 20, rot_correction: -0.08011834622045531, vert_correction: 0.01868575851656834,
+ vert_offset_correction: 0.20522938000000002}
+- {dist_correction: 1.4577922, dist_correction_x: 1.4821321, dist_correction_y: 1.4774638,
+ focal_distance: 20.0, focal_slope: 0.69999999, horiz_offset_correction: -0.025999999,
+ laser_id: 25, min_intensity: 10, rot_correction: -0.0415592740030059, vert_correction: 0.023180922072920565,
+ vert_offset_correction: 0.20490601000000003}
+- {dist_correction: 1.4175369, dist_correction_x: 1.4441992, dist_correction_y: 1.4484555000000001,
+ focal_distance: 12.0, focal_slope: 1.5, horiz_offset_correction: 0.025999999, laser_id: 26,
+ min_intensity: 20, rot_correction: -0.09469728915654493, vert_correction: -0.01647002637924725,
+ vert_offset_correction: 0.20775749000000002}
+- {dist_correction: 1.4383292, dist_correction_x: 1.4573476, dist_correction_y: 1.4790007,
+ focal_distance: 7.0, focal_slope: 1.3, horiz_offset_correction: -0.025999999, laser_id: 27,
+ min_intensity: 10, rot_correction: -0.055555304894197445, vert_correction: -0.011156249123969949,
+ vert_offset_correction: 0.20737534000000002}
+- {dist_correction: 1.3976639, dist_correction_x: 1.434787, dist_correction_y: 1.4289362,
+ focal_distance: 24.0, focal_slope: 0.85000002, horiz_offset_correction: 0.025999999,
+ laser_id: 28, min_intensity: 40, rot_correction: -0.0056653665027087, vert_correction: 0.030126075858796564,
+ vert_offset_correction: 0.20440624}
+- {dist_correction: 1.5147818000000002, dist_correction_x: 1.5457281, dist_correction_y: 1.5337862000000002,
+ focal_distance: 16.0, focal_slope: 1.4, horiz_offset_correction: -0.025999999, laser_id: 29,
+ min_intensity: 10, rot_correction: 0.032454556265796485, vert_correction: 0.03461850099355241,
+ vert_offset_correction: 0.20408289000000002}
+- {dist_correction: 1.4410570999999999, dist_correction_x: 1.4812628, dist_correction_y: 1.4802063,
+ focal_distance: 24.0, focal_slope: 1.1, horiz_offset_correction: 0.025999999, laser_id: 30,
+ min_intensity: 20, rot_correction: -0.019155442326243284, vert_correction: -0.004819796717085346,
+ vert_offset_correction: 0.20691969000000002}
+- {dist_correction: 1.5121419, dist_correction_x: 1.525024, dist_correction_y: 1.5161595,
+ focal_distance: 19.5, focal_slope: 1.15, horiz_offset_correction: -0.025999999,
+ laser_id: 31, rot_correction: 0.019031284839244163, vert_correction: 0.0006993883727657528,
+ vert_offset_correction: 0.20652283000000002}
+- {dist_correction: 1.4162563000000001, dist_correction_x: 1.4498225, dist_correction_y: 1.4345399,
+ focal_distance: 8.5, focal_slope: 1.65, horiz_offset_correction: 0.025999999, laser_id: 32,
+ rot_correction: -0.1322630822793796, vert_correction: -0.39265743814277154, vert_offset_correction: 0.1598857}
+- {dist_correction: 1.3670056, dist_correction_x: 1.3952693, dist_correction_y: 1.4121672,
+ focal_distance: 0.25, focal_slope: 1.05, horiz_offset_correction: -0.025999999,
+ laser_id: 33, rot_correction: -0.07110342218260252, vert_correction: -0.38671040324952605,
+ vert_offset_correction: 0.15945383}
+- {dist_correction: 1.4511356000000002, dist_correction_x: 1.4689107000000001, dist_correction_y: 1.4972537,
+ focal_distance: 4.0, focal_slope: 0.64999998, horiz_offset_correction: 0.025999999,
+ laser_id: 34, rot_correction: 0.08401589158763215, vert_correction: -0.1973354249839361,
+ vert_offset_correction: 0.14657393000000002}
+- {dist_correction: 1.3593520000000001, dist_correction_x: 1.3602931, dist_correction_y: 1.3982458,
+ focal_distance: 10.0, focal_slope: 1.75, horiz_offset_correction: -0.025999999,
+ laser_id: 35, rot_correction: 0.14363965670666648, vert_correction: -0.19024942312742418,
+ vert_offset_correction: 0.14611665000000001}
+- {dist_correction: 1.4114377, dist_correction_x: 1.4772849, dist_correction_y: 1.4348904,
+ focal_distance: 17.0, focal_slope: 0.69999999, horiz_offset_correction: 0.025999999,
+ laser_id: 36, rot_correction: -0.011690171347560868, vert_correction: -0.376852242582194,
+ vert_offset_correction: 0.15874252}
+- {dist_correction: 1.307847, dist_correction_x: 1.3645581000000002, dist_correction_y: 1.376617,
+ focal_distance: 6.0, focal_slope: 1.3, horiz_offset_correction: -0.025999999, laser_id: 37,
+ rot_correction: 0.049492148009829026, vert_correction: -0.3699409132772216, vert_offset_correction: 0.15824712999999999}
+- {dist_correction: 1.4213585, dist_correction_x: 1.4421179000000002, dist_correction_y: 1.4552965,
+ focal_distance: 0.25, focal_slope: 0.94999999, horiz_offset_correction: 0.025999999,
+ laser_id: 38, rot_correction: -0.03418474478652977, vert_correction: -0.4311006362058518,
+ vert_offset_correction: 0.16273095999999998}
+- {dist_correction: 1.3356409, dist_correction_x: 1.3397028, dist_correction_y: 1.3601659000000001,
+ focal_distance: 0.25, focal_slope: 1.05, horiz_offset_correction: -0.025999999,
+ laser_id: 39, rot_correction: 0.026626332916051272, vert_correction: -0.4231418824568801,
+ vert_offset_correction: 0.16213396}
+- {dist_correction: 1.3662766, dist_correction_x: 1.4298528, dist_correction_y: 1.4232704,
+ focal_distance: 0.25, focal_slope: 0.85000002, horiz_offset_correction: 0.025999999,
+ laser_id: 40, rot_correction: 0.1092471200007113, vert_correction: -0.35798081768512774,
+ vert_offset_correction: 0.15739609}
+- {dist_correction: 1.2853244000000001, dist_correction_x: 1.3026004, dist_correction_y: 1.3116373,
+ focal_distance: 8.0, focal_slope: 1.5, horiz_offset_correction: -0.025999999, laser_id: 41,
+ rot_correction: 0.16893982038921165, vert_correction: -0.3493458884773484, vert_offset_correction: 0.1567864}
+- {dist_correction: 1.4113557, dist_correction_x: 1.4361624000000002, dist_correction_y: 1.4260374,
+ focal_distance: 0.25, focal_slope: 1.05, horiz_offset_correction: 0.025999999, laser_id: 42,
+ rot_correction: 0.08876389924739155, vert_correction: -0.41221208962882355, vert_offset_correction: 0.16132105}
+- {dist_correction: 1.3126003, dist_correction_x: 1.3216837000000001, dist_correction_y: 1.3253735,
+ focal_distance: 0.25, focal_slope: 1.15, horiz_offset_correction: -0.025999999,
+ laser_id: 43, rot_correction: 0.15014050027953305, vert_correction: -0.40135006793562183,
+ vert_offset_correction: 0.1605208}
+- {dist_correction: 1.4849261000000002, dist_correction_x: 1.5387573, dist_correction_y: 1.5140117000000002,
+ focal_distance: 8.0, focal_slope: 1.45, horiz_offset_correction: 0.025999999, laser_id: 44,
+ rot_correction: -0.1289198918798797, vert_correction: -0.285349621541792, vert_offset_correction: 0.15237877}
+- {dist_correction: 1.3467159000000002, dist_correction_x: 1.385616, dist_correction_y: 1.398739,
+ focal_distance: 4.0, focal_slope: 0.75, horiz_offset_correction: -0.025999999, laser_id: 45,
+ rot_correction: -0.06875650237205527, vert_correction: -0.27837142867317577, vert_offset_correction: 0.1519088}
+- {dist_correction: 1.4548677, dist_correction_x: 1.5237317, dist_correction_y: 1.4852321000000002,
+ focal_distance: 8.0, focal_slope: 1.55, horiz_offset_correction: 0.025999999, laser_id: 46,
+ rot_correction: -0.15456063213134205, vert_correction: -0.3373837683033222, vert_offset_correction: 0.15594806}
+- {dist_correction: 1.2609565999999999, dist_correction_x: 1.3084103, dist_correction_y: 1.3194104,
+ focal_distance: 0.25, focal_slope: 0.85000002, horiz_offset_correction: -0.025999999,
+ laser_id: 47, rot_correction: -0.0921635423215472, vert_correction: -0.329718648747706,
+ vert_offset_correction: 0.15541457}
+- {dist_correction: 1.2807050000000002, dist_correction_x: 1.3367023, dist_correction_y: 1.3303235000000002,
+ focal_distance: 24.0, focal_slope: 0.40000001, horiz_offset_correction: 0.025999999,
+ laser_id: 48, rot_correction: -0.01087391977724544, vert_correction: -0.2702265530127714,
+ vert_offset_correction: 0.15136261}
+- {dist_correction: 1.3420832999999999, dist_correction_x: 1.3902283, dist_correction_y: 1.3959544,
+ focal_distance: 15.0, focal_slope: 0.69999999, horiz_offset_correction: -0.025999999,
+ laser_id: 49, rot_correction: 0.04819382026855073, vert_correction: -0.2603276912672828,
+ vert_offset_correction: 0.1507021}
+- {dist_correction: 1.4451799, dist_correction_x: 1.5144832, dist_correction_y: 1.4737889000000002,
+ focal_distance: 20.0, focal_slope: 0.5, horiz_offset_correction: 0.025999999, laser_id: 50,
+ rot_correction: -0.033916384706072375, vert_correction: -0.3244024456593014, vert_offset_correction: 0.15504621000000002}
+- {dist_correction: 1.2771001, dist_correction_x: 1.3374065, dist_correction_y: 1.339816,
+ focal_distance: 8.0, focal_slope: 1.3, horiz_offset_correction: -0.025999999, laser_id: 51,
+ rot_correction: 0.027376620290886354, vert_correction: -0.3166693629826125, vert_offset_correction: 0.15451272}
+- {dist_correction: 1.3977615, dist_correction_x: 1.4442108, dist_correction_y: 1.4371663000000001,
+ focal_distance: 0.25, focal_slope: 0.44999999, horiz_offset_correction: 0.025999999,
+ laser_id: 52, rot_correction: 0.10492072454703917, vert_correction: -0.25133544080174264,
+ vert_offset_correction: 0.1501051}
+- {dist_correction: 1.3425783999999998, dist_correction_x: 1.3483524, dist_correction_y: 1.3818097,
+ focal_distance: 11.0, focal_slope: 1.9, horiz_offset_correction: -0.025999999, laser_id: 53,
+ rot_correction: 0.16284451104936298, vert_correction: -0.23979553322706634, vert_offset_correction: 0.14934298000000001}
+- {dist_correction: 1.4382911999999999, dist_correction_x: 1.4900905, dist_correction_y: 1.4804431,
+ focal_distance: 8.0, focal_slope: 0.40000001, horiz_offset_correction: 0.025999999,
+ laser_id: 54, rot_correction: 0.08525729890601516, vert_correction: -0.30499605989320633,
+ vert_offset_correction: 0.15371249}
+- {dist_correction: 1.2974651, dist_correction_x: 1.3356235, dist_correction_y: 1.342494,
+ focal_distance: 11.0, focal_slope: 2.0, horiz_offset_correction: -0.025999999, laser_id: 55,
+ rot_correction: 0.14474094026605314, vert_correction: -0.29379823685192097, vert_offset_correction: 0.15295037}
+- {dist_correction: 1.500197, dist_correction_x: 1.5058761999999999, dist_correction_y: 1.5183740000000001,
+ focal_distance: 6.0, focal_slope: 1.4, horiz_offset_correction: 0.025999999, laser_id: 56,
+ rot_correction: -0.1271355405564693, vert_correction: -0.1783966652843279, vert_offset_correction: 0.14535453}
+- {dist_correction: 1.3739523, dist_correction_x: 1.3909152, dist_correction_y: 1.4026927,
+ focal_distance: 0.25, focal_slope: 0.94999999, horiz_offset_correction: -0.025999999,
+ laser_id: 57, rot_correction: -0.06914267741301003, vert_correction: -0.17006926832673774,
+ vert_offset_correction: 0.14482104}
+- {dist_correction: 1.5294423000000001, dist_correction_x: 1.5526985, dist_correction_y: 1.5286189,
+ focal_distance: 10.0, focal_slope: 1.6, horiz_offset_correction: 0.025999999, laser_id: 58,
+ rot_correction: -0.14952992127533238, vert_correction: -0.23167847811493877, vert_offset_correction: 0.14880949}
+- {dist_correction: 1.356432, dist_correction_x: 1.3750079, dist_correction_y: 1.3956981,
+ focal_distance: 0.25, focal_slope: 0.5, horiz_offset_correction: -0.025999999, laser_id: 59,
+ rot_correction: -0.08941942047983109, vert_correction: -0.22430756871133128, vert_offset_correction: 0.14832681}
+- {dist_correction: 1.4812624, dist_correction_x: 1.5439316, dist_correction_y: 1.5051659000000002,
+ focal_distance: 0.25, focal_slope: 0.69999999, horiz_offset_correction: 0.025999999,
+ laser_id: 60, rot_correction: -0.012020974421732715, vert_correction: -0.16291245497181386,
+ vert_offset_correction: 0.14436376}
+- {dist_correction: 1.3555016, dist_correction_x: 1.3739404, dist_correction_y: 1.3961284,
+ focal_distance: 0.25, focal_slope: 1.1, horiz_offset_correction: -0.025999999, laser_id: 61,
+ rot_correction: 0.045806682836049765, vert_correction: -0.154741111393303, vert_offset_correction: 0.14384298}
+- {dist_correction: 1.5067404, dist_correction_x: 1.5184990999999999, dist_correction_y: 1.5367628,
+ focal_distance: 5.0, focal_slope: 0.40000001, horiz_offset_correction: 0.025999999,
+ laser_id: 62, rot_correction: -0.03255746436915258, vert_correction: -0.21418087168528735,
+ vert_offset_correction: 0.1476663}
+- {dist_correction: 1.3463322, dist_correction_x: 1.356904, dist_correction_y: 1.3849588,
+ focal_distance: 8.0, focal_slope: 0.40000001, horiz_offset_correction: -0.025999999,
+ laser_id: 63, rot_correction: 0.02613443455565695, vert_correction: -0.2063605225459988,
+ vert_offset_correction: 0.14715822}
+num_lasers: 64
diff --git a/modules/drivers/velodyne/params/velodyne128_height.yaml b/modules/drivers/velodyne/params/velodyne128_height.yaml
new file mode 100644
index 000000000..6b1245941
--- /dev/null
+++ b/modules/drivers/velodyne/params/velodyne128_height.yaml
@@ -0,0 +1,4 @@
+vehicle:
+ parameters:
+ height: 1.91
+ height_var: 0.0047
diff --git a/modules/drivers/velodyne/params/velodyne128_novatel_extrinsics.yaml b/modules/drivers/velodyne/params/velodyne128_novatel_extrinsics.yaml
new file mode 100644
index 000000000..41d44ca84
--- /dev/null
+++ b/modules/drivers/velodyne/params/velodyne128_novatel_extrinsics.yaml
@@ -0,0 +1,18 @@
+header:
+ seq: 0
+ stamp:
+ secs: 0
+ nsecs: 0
+ frame_id: novatel
+child_frame_id: velodyne128
+transform:
+ translation:
+ x: 0
+ y: 0.9807289
+ z: 2.312
+ rotation:
+ x: 0
+ y: 0
+ z: 0.7071068
+ w: 0.7071068
+
diff --git a/modules/drivers/velodyne/params/velodyne64_height.yaml b/modules/drivers/velodyne/params/velodyne64_height.yaml
new file mode 100644
index 000000000..6b1245941
--- /dev/null
+++ b/modules/drivers/velodyne/params/velodyne64_height.yaml
@@ -0,0 +1,4 @@
+vehicle:
+ parameters:
+ height: 1.91
+ height_var: 0.0047
diff --git a/modules/localization/msf/params/velodyne_params/128E_S3_calibration.yaml b/modules/localization/msf/params/velodyne_params/128E_S3_calibration.yaml
new file mode 100644
index 000000000..a02c68421
--- /dev/null
+++ b/modules/localization/msf/params/velodyne_params/128E_S3_calibration.yaml
@@ -0,0 +1,243 @@
+lasers:
+- {dist_correction: 1.3280478, dist_correction_x: 1.3733278999999998, dist_correction_y: 1.3565268000000001,
+ focal_distance: 12.0, focal_slope: 0.75, horiz_offset_correction: 0.025999999, laser_id: 0,
+ min_intensity: 5, rot_correction: -0.08042396035379652, vert_correction: -0.12376696608832838,
+ vert_offset_correction: 0.21551828}
+- {dist_correction: 1.4387065, dist_correction_x: 1.4772083, dist_correction_y: 1.4930743000000002,
+ focal_distance: 18.5, focal_slope: 1.1, horiz_offset_correction: -0.025999999, laser_id: 1,
+ min_intensity: 40, rot_correction: -0.043931143295210404, vert_correction: -0.11852979325378328,
+ vert_offset_correction: 0.21513613}
+- {dist_correction: 1.4198532000000001, dist_correction_x: 1.4513388, dist_correction_y: 1.4459473,
+ focal_distance: 17.0, focal_slope: 1.25, horiz_offset_correction: 0.025999999, laser_id: 2,
+ min_intensity: 40, rot_correction: 0.05671893510512383, vert_correction: 0.006831742116548479,
+ vert_offset_correction: 0.20608189}
+- {dist_correction: 1.432045, dist_correction_x: 1.4576363, dist_correction_y: 1.5053079,
+ focal_distance: 24.0, focal_slope: 0.94999999, horiz_offset_correction: -0.025999999,
+ laser_id: 3, min_intensity: 40, rot_correction: 0.09507418428186684, vert_correction: 0.011737269755557637,
+ vert_offset_correction: 0.2057291}
+- {dist_correction: 1.3768561, dist_correction_x: 1.4095345000000001, dist_correction_y: 1.4140973,
+ focal_distance: 24.0, focal_slope: 0.60000002, horiz_offset_correction: 0.025999999,
+ laser_id: 4, min_intensity: 40, rot_correction: -0.0052020566354620415, vert_correction: -0.11207511538496126,
+ vert_offset_correction: 0.21466578}
+- {dist_correction: 1.4579066, dist_correction_x: 1.5030013, dist_correction_y: 1.5402745,
+ focal_distance: 23.0, focal_slope: 0.80000001, horiz_offset_correction: -0.025999999,
+ laser_id: 5, min_intensity: 40, rot_correction: 0.034271327080062704, vert_correction: -0.10662164389621649,
+ vert_offset_correction: 0.21426891}
+- {dist_correction: 1.4042904999999999, dist_correction_x: 1.4512584000000002, dist_correction_y: 1.4358795000000002,
+ focal_distance: 24.0, focal_slope: 0.80000001, horiz_offset_correction: 0.025999999,
+ laser_id: 6, min_intensity: 40, rot_correction: -0.019350118096339984, vert_correction: -0.14744596324186607,
+ vert_offset_correction: 0.21725271}
+- {dist_correction: 1.4530759, dist_correction_x: 1.4934110999999999, dist_correction_y: 1.4934732,
+ focal_distance: 16.5, focal_slope: 0.80000001, horiz_offset_correction: -0.025999999,
+ laser_id: 7, min_intensity: 40, rot_correction: 0.019696635766030937, vert_correction: -0.1420415773930044,
+ vert_offset_correction: 0.21685585}
+- {dist_correction: 1.3928452999999998, dist_correction_x: 1.4412779, dist_correction_y: 1.4351759000000002,
+ focal_distance: 24.0, focal_slope: 0.64999998, horiz_offset_correction: 0.025999999,
+ laser_id: 8, min_intensity: 10, rot_correction: 0.06977400140069993, vert_correction: -0.10055477120587059,
+ vert_offset_correction: 0.21382797}
+- {dist_correction: 1.4649026, dist_correction_x: 1.4811482, dist_correction_y: 1.5390858,
+ focal_distance: 16.5, focal_slope: 1.2, horiz_offset_correction: -0.025999999, laser_id: 9,
+ min_intensity: 40, rot_correction: 0.10867481606700684, vert_correction: -0.09508820800240662,
+ vert_offset_correction: 0.21343111}
+- {dist_correction: 1.3307669000000002, dist_correction_x: 1.3797191000000002, dist_correction_y: 1.3716772000000002,
+ focal_distance: 24.0, focal_slope: 0.85000002, horiz_offset_correction: 0.025999999,
+ laser_id: 10, min_intensity: 40, rot_correction: 0.05614793318704137, vert_correction: -0.13622757149534595,
+ vert_offset_correction: 0.2164296}
+- {dist_correction: 1.3771700999999998, dist_correction_x: 1.4101131, dist_correction_y: 1.4538571,
+ focal_distance: 15.0, focal_slope: 1.35, horiz_offset_correction: -0.025999999,
+ laser_id: 11, min_intensity: 40, rot_correction: 0.09458836664858647, vert_correction: -0.13060523940147076,
+ vert_offset_correction: 0.21601805}
+- {dist_correction: 1.3797005, dist_correction_x: 1.4142267000000002, dist_correction_y: 1.4085233,
+ focal_distance: 10.0, focal_slope: 1.2, horiz_offset_correction: 0.025999999, laser_id: 12,
+ min_intensity: 10, rot_correction: -0.08058553944528767, vert_correction: -0.05321597901122562,
+ vert_offset_correction: 0.21040320999999998}
+- {dist_correction: 1.3646324, dist_correction_x: 1.3887102, dist_correction_y: 1.4070561000000001,
+ focal_distance: 24.0, focal_slope: 1.1, horiz_offset_correction: -0.025999999, laser_id: 13,
+ min_intensity: 40, rot_correction: -0.04053784798354424, vert_correction: -0.04669103069605979,
+ vert_offset_correction: 0.20993286000000003}
+- {dist_correction: 1.3809781, dist_correction_x: 1.4282532000000001, dist_correction_y: 1.4207353,
+ focal_distance: 15.0, focal_slope: 1.3, horiz_offset_correction: 0.025999999, laser_id: 14,
+ min_intensity: 40, rot_correction: -0.09419900463641756, vert_correction: -0.08758781436692292,
+ vert_offset_correction: 0.21288727000000002}
+- {dist_correction: 1.3950202999999999, dist_correction_x: 1.4285829, dist_correction_y: 1.4621552,
+ focal_distance: 24.0, focal_slope: 1.1, horiz_offset_correction: -0.025999999, laser_id: 15,
+ min_intensity: 40, rot_correction: -0.054354701628396805, vert_correction: -0.08292035016148458,
+ vert_offset_correction: 0.21254919000000003}
+- {dist_correction: 1.2988774, dist_correction_x: 1.3749954, dist_correction_y: 1.3734656,
+ focal_distance: 24.0, focal_slope: 0.64999998, horiz_offset_correction: 0.025999999,
+ laser_id: 16, min_intensity: 40, rot_correction: -0.005133124856654525, vert_correction: -0.04077432787988471,
+ vert_offset_correction: 0.20950663}
+- {dist_correction: 1.4723137, dist_correction_x: 1.5056056000000002, dist_correction_y: 1.5041873000000001,
+ focal_distance: 24.0, focal_slope: 1.0, horiz_offset_correction: -0.025999999, laser_id: 17,
+ min_intensity: 20, rot_correction: 0.033464606229193644, vert_correction: -0.03526310344619148,
+ vert_offset_correction: 0.20910976000000003}
+- {dist_correction: 1.3093359000000002, dist_correction_x: 1.4065028000000002, dist_correction_y: 1.3988147000000002,
+ focal_distance: 24.0, focal_slope: 1.1, horiz_offset_correction: 0.025999999, laser_id: 18,
+ min_intensity: 20, rot_correction: -0.01912024950720607, vert_correction: -0.07662373803636939,
+ vert_offset_correction: 0.21209354000000002}
+- {dist_correction: 1.4292241, dist_correction_x: 1.4580751, dist_correction_y: 1.4810971000000002,
+ focal_distance: 24.0, focal_slope: 1.2, horiz_offset_correction: -0.025999999, laser_id: 19,
+ min_intensity: 15, rot_correction: 0.0202102704569296, vert_correction: -0.07052442491121666,
+ vert_offset_correction: 0.21165258}
+- {dist_correction: 1.3831145, dist_correction_x: 1.4038123999999998, dist_correction_y: 1.3966234,
+ focal_distance: 24.0, focal_slope: 1.1, horiz_offset_correction: 0.025999999, laser_id: 20,
+ min_intensity: 30, rot_correction: 0.06874179273711946, vert_correction: -0.029137015224983895,
+ vert_offset_correction: 0.2086688}
+- {dist_correction: 1.402925, dist_correction_x: 1.4443744, dist_correction_y: 1.471532,
+ focal_distance: 17.0, focal_slope: 1.4, horiz_offset_correction: -0.025999999, laser_id: 21,
+ min_intensity: 5, rot_correction: 0.10747970535236223, vert_correction: -0.02341734437339572,
+ vert_offset_correction: 0.20825726}
+- {dist_correction: 1.4234489, dist_correction_x: 1.4673076, dist_correction_y: 1.4543761000000002,
+ focal_distance: 24.0, focal_slope: 0.55000001, horiz_offset_correction: 0.025999999,
+ laser_id: 22, min_intensity: 5, rot_correction: 0.05514045060297391, vert_correction: -0.0642162831410628,
+ vert_offset_correction: 0.21119694}
+- {dist_correction: 1.470387, dist_correction_x: 1.4879053, dist_correction_y: 1.5217740000000002,
+ focal_distance: 24.0, focal_slope: 1.3, horiz_offset_correction: -0.025999999, laser_id: 23,
+ min_intensity: 30, rot_correction: 0.09433926976708334, vert_correction: -0.05892161916095702,
+ vert_offset_correction: 0.21081478}
+- {dist_correction: 1.3722501, dist_correction_x: 1.4119496, dist_correction_y: 1.4214716,
+ focal_distance: 24.0, focal_slope: 1.0, horiz_offset_correction: 0.025999999, laser_id: 24,
+ min_intensity: 20, rot_correction: -0.08011834622045531, vert_correction: 0.01868575851656834,
+ vert_offset_correction: 0.20522938000000002}
+- {dist_correction: 1.4577922, dist_correction_x: 1.4821321, dist_correction_y: 1.4774638,
+ focal_distance: 20.0, focal_slope: 0.69999999, horiz_offset_correction: -0.025999999,
+ laser_id: 25, min_intensity: 10, rot_correction: -0.0415592740030059, vert_correction: 0.023180922072920565,
+ vert_offset_correction: 0.20490601000000003}
+- {dist_correction: 1.4175369, dist_correction_x: 1.4441992, dist_correction_y: 1.4484555000000001,
+ focal_distance: 12.0, focal_slope: 1.5, horiz_offset_correction: 0.025999999, laser_id: 26,
+ min_intensity: 20, rot_correction: -0.09469728915654493, vert_correction: -0.01647002637924725,
+ vert_offset_correction: 0.20775749000000002}
+- {dist_correction: 1.4383292, dist_correction_x: 1.4573476, dist_correction_y: 1.4790007,
+ focal_distance: 7.0, focal_slope: 1.3, horiz_offset_correction: -0.025999999, laser_id: 27,
+ min_intensity: 10, rot_correction: -0.055555304894197445, vert_correction: -0.011156249123969949,
+ vert_offset_correction: 0.20737534000000002}
+- {dist_correction: 1.3976639, dist_correction_x: 1.434787, dist_correction_y: 1.4289362,
+ focal_distance: 24.0, focal_slope: 0.85000002, horiz_offset_correction: 0.025999999,
+ laser_id: 28, min_intensity: 40, rot_correction: -0.0056653665027087, vert_correction: 0.030126075858796564,
+ vert_offset_correction: 0.20440624}
+- {dist_correction: 1.5147818000000002, dist_correction_x: 1.5457281, dist_correction_y: 1.5337862000000002,
+ focal_distance: 16.0, focal_slope: 1.4, horiz_offset_correction: -0.025999999, laser_id: 29,
+ min_intensity: 10, rot_correction: 0.032454556265796485, vert_correction: 0.03461850099355241,
+ vert_offset_correction: 0.20408289000000002}
+- {dist_correction: 1.4410570999999999, dist_correction_x: 1.4812628, dist_correction_y: 1.4802063,
+ focal_distance: 24.0, focal_slope: 1.1, horiz_offset_correction: 0.025999999, laser_id: 30,
+ min_intensity: 20, rot_correction: -0.019155442326243284, vert_correction: -0.004819796717085346,
+ vert_offset_correction: 0.20691969000000002}
+- {dist_correction: 1.5121419, dist_correction_x: 1.525024, dist_correction_y: 1.5161595,
+ focal_distance: 19.5, focal_slope: 1.15, horiz_offset_correction: -0.025999999,
+ laser_id: 31, rot_correction: 0.019031284839244163, vert_correction: 0.0006993883727657528,
+ vert_offset_correction: 0.20652283000000002}
+- {dist_correction: 1.4162563000000001, dist_correction_x: 1.4498225, dist_correction_y: 1.4345399,
+ focal_distance: 8.5, focal_slope: 1.65, horiz_offset_correction: 0.025999999, laser_id: 32,
+ rot_correction: -0.1322630822793796, vert_correction: -0.39265743814277154, vert_offset_correction: 0.1598857}
+- {dist_correction: 1.3670056, dist_correction_x: 1.3952693, dist_correction_y: 1.4121672,
+ focal_distance: 0.25, focal_slope: 1.05, horiz_offset_correction: -0.025999999,
+ laser_id: 33, rot_correction: -0.07110342218260252, vert_correction: -0.38671040324952605,
+ vert_offset_correction: 0.15945383}
+- {dist_correction: 1.4511356000000002, dist_correction_x: 1.4689107000000001, dist_correction_y: 1.4972537,
+ focal_distance: 4.0, focal_slope: 0.64999998, horiz_offset_correction: 0.025999999,
+ laser_id: 34, rot_correction: 0.08401589158763215, vert_correction: -0.1973354249839361,
+ vert_offset_correction: 0.14657393000000002}
+- {dist_correction: 1.3593520000000001, dist_correction_x: 1.3602931, dist_correction_y: 1.3982458,
+ focal_distance: 10.0, focal_slope: 1.75, horiz_offset_correction: -0.025999999,
+ laser_id: 35, rot_correction: 0.14363965670666648, vert_correction: -0.19024942312742418,
+ vert_offset_correction: 0.14611665000000001}
+- {dist_correction: 1.4114377, dist_correction_x: 1.4772849, dist_correction_y: 1.4348904,
+ focal_distance: 17.0, focal_slope: 0.69999999, horiz_offset_correction: 0.025999999,
+ laser_id: 36, rot_correction: -0.011690171347560868, vert_correction: -0.376852242582194,
+ vert_offset_correction: 0.15874252}
+- {dist_correction: 1.307847, dist_correction_x: 1.3645581000000002, dist_correction_y: 1.376617,
+ focal_distance: 6.0, focal_slope: 1.3, horiz_offset_correction: -0.025999999, laser_id: 37,
+ rot_correction: 0.049492148009829026, vert_correction: -0.3699409132772216, vert_offset_correction: 0.15824712999999999}
+- {dist_correction: 1.4213585, dist_correction_x: 1.4421179000000002, dist_correction_y: 1.4552965,
+ focal_distance: 0.25, focal_slope: 0.94999999, horiz_offset_correction: 0.025999999,
+ laser_id: 38, rot_correction: -0.03418474478652977, vert_correction: -0.4311006362058518,
+ vert_offset_correction: 0.16273095999999998}
+- {dist_correction: 1.3356409, dist_correction_x: 1.3397028, dist_correction_y: 1.3601659000000001,
+ focal_distance: 0.25, focal_slope: 1.05, horiz_offset_correction: -0.025999999,
+ laser_id: 39, rot_correction: 0.026626332916051272, vert_correction: -0.4231418824568801,
+ vert_offset_correction: 0.16213396}
+- {dist_correction: 1.3662766, dist_correction_x: 1.4298528, dist_correction_y: 1.4232704,
+ focal_distance: 0.25, focal_slope: 0.85000002, horiz_offset_correction: 0.025999999,
+ laser_id: 40, rot_correction: 0.1092471200007113, vert_correction: -0.35798081768512774,
+ vert_offset_correction: 0.15739609}
+- {dist_correction: 1.2853244000000001, dist_correction_x: 1.3026004, dist_correction_y: 1.3116373,
+ focal_distance: 8.0, focal_slope: 1.5, horiz_offset_correction: -0.025999999, laser_id: 41,
+ rot_correction: 0.16893982038921165, vert_correction: -0.3493458884773484, vert_offset_correction: 0.1567864}
+- {dist_correction: 1.4113557, dist_correction_x: 1.4361624000000002, dist_correction_y: 1.4260374,
+ focal_distance: 0.25, focal_slope: 1.05, horiz_offset_correction: 0.025999999, laser_id: 42,
+ rot_correction: 0.08876389924739155, vert_correction: -0.41221208962882355, vert_offset_correction: 0.16132105}
+- {dist_correction: 1.3126003, dist_correction_x: 1.3216837000000001, dist_correction_y: 1.3253735,
+ focal_distance: 0.25, focal_slope: 1.15, horiz_offset_correction: -0.025999999,
+ laser_id: 43, rot_correction: 0.15014050027953305, vert_correction: -0.40135006793562183,
+ vert_offset_correction: 0.1605208}
+- {dist_correction: 1.4849261000000002, dist_correction_x: 1.5387573, dist_correction_y: 1.5140117000000002,
+ focal_distance: 8.0, focal_slope: 1.45, horiz_offset_correction: 0.025999999, laser_id: 44,
+ rot_correction: -0.1289198918798797, vert_correction: -0.285349621541792, vert_offset_correction: 0.15237877}
+- {dist_correction: 1.3467159000000002, dist_correction_x: 1.385616, dist_correction_y: 1.398739,
+ focal_distance: 4.0, focal_slope: 0.75, horiz_offset_correction: -0.025999999, laser_id: 45,
+ rot_correction: -0.06875650237205527, vert_correction: -0.27837142867317577, vert_offset_correction: 0.1519088}
+- {dist_correction: 1.4548677, dist_correction_x: 1.5237317, dist_correction_y: 1.4852321000000002,
+ focal_distance: 8.0, focal_slope: 1.55, horiz_offset_correction: 0.025999999, laser_id: 46,
+ rot_correction: -0.15456063213134205, vert_correction: -0.3373837683033222, vert_offset_correction: 0.15594806}
+- {dist_correction: 1.2609565999999999, dist_correction_x: 1.3084103, dist_correction_y: 1.3194104,
+ focal_distance: 0.25, focal_slope: 0.85000002, horiz_offset_correction: -0.025999999,
+ laser_id: 47, rot_correction: -0.0921635423215472, vert_correction: -0.329718648747706,
+ vert_offset_correction: 0.15541457}
+- {dist_correction: 1.2807050000000002, dist_correction_x: 1.3367023, dist_correction_y: 1.3303235000000002,
+ focal_distance: 24.0, focal_slope: 0.40000001, horiz_offset_correction: 0.025999999,
+ laser_id: 48, rot_correction: -0.01087391977724544, vert_correction: -0.2702265530127714,
+ vert_offset_correction: 0.15136261}
+- {dist_correction: 1.3420832999999999, dist_correction_x: 1.3902283, dist_correction_y: 1.3959544,
+ focal_distance: 15.0, focal_slope: 0.69999999, horiz_offset_correction: -0.025999999,
+ laser_id: 49, rot_correction: 0.04819382026855073, vert_correction: -0.2603276912672828,
+ vert_offset_correction: 0.1507021}
+- {dist_correction: 1.4451799, dist_correction_x: 1.5144832, dist_correction_y: 1.4737889000000002,
+ focal_distance: 20.0, focal_slope: 0.5, horiz_offset_correction: 0.025999999, laser_id: 50,
+ rot_correction: -0.033916384706072375, vert_correction: -0.3244024456593014, vert_offset_correction: 0.15504621000000002}
+- {dist_correction: 1.2771001, dist_correction_x: 1.3374065, dist_correction_y: 1.339816,
+ focal_distance: 8.0, focal_slope: 1.3, horiz_offset_correction: -0.025999999, laser_id: 51,
+ rot_correction: 0.027376620290886354, vert_correction: -0.3166693629826125, vert_offset_correction: 0.15451272}
+- {dist_correction: 1.3977615, dist_correction_x: 1.4442108, dist_correction_y: 1.4371663000000001,
+ focal_distance: 0.25, focal_slope: 0.44999999, horiz_offset_correction: 0.025999999,
+ laser_id: 52, rot_correction: 0.10492072454703917, vert_correction: -0.25133544080174264,
+ vert_offset_correction: 0.1501051}
+- {dist_correction: 1.3425783999999998, dist_correction_x: 1.3483524, dist_correction_y: 1.3818097,
+ focal_distance: 11.0, focal_slope: 1.9, horiz_offset_correction: -0.025999999, laser_id: 53,
+ rot_correction: 0.16284451104936298, vert_correction: -0.23979553322706634, vert_offset_correction: 0.14934298000000001}
+- {dist_correction: 1.4382911999999999, dist_correction_x: 1.4900905, dist_correction_y: 1.4804431,
+ focal_distance: 8.0, focal_slope: 0.40000001, horiz_offset_correction: 0.025999999,
+ laser_id: 54, rot_correction: 0.08525729890601516, vert_correction: -0.30499605989320633,
+ vert_offset_correction: 0.15371249}
+- {dist_correction: 1.2974651, dist_correction_x: 1.3356235, dist_correction_y: 1.342494,
+ focal_distance: 11.0, focal_slope: 2.0, horiz_offset_correction: -0.025999999, laser_id: 55,
+ rot_correction: 0.14474094026605314, vert_correction: -0.29379823685192097, vert_offset_correction: 0.15295037}
+- {dist_correction: 1.500197, dist_correction_x: 1.5058761999999999, dist_correction_y: 1.5183740000000001,
+ focal_distance: 6.0, focal_slope: 1.4, horiz_offset_correction: 0.025999999, laser_id: 56,
+ rot_correction: -0.1271355405564693, vert_correction: -0.1783966652843279, vert_offset_correction: 0.14535453}
+- {dist_correction: 1.3739523, dist_correction_x: 1.3909152, dist_correction_y: 1.4026927,
+ focal_distance: 0.25, focal_slope: 0.94999999, horiz_offset_correction: -0.025999999,
+ laser_id: 57, rot_correction: -0.06914267741301003, vert_correction: -0.17006926832673774,
+ vert_offset_correction: 0.14482104}
+- {dist_correction: 1.5294423000000001, dist_correction_x: 1.5526985, dist_correction_y: 1.5286189,
+ focal_distance: 10.0, focal_slope: 1.6, horiz_offset_correction: 0.025999999, laser_id: 58,
+ rot_correction: -0.14952992127533238, vert_correction: -0.23167847811493877, vert_offset_correction: 0.14880949}
+- {dist_correction: 1.356432, dist_correction_x: 1.3750079, dist_correction_y: 1.3956981,
+ focal_distance: 0.25, focal_slope: 0.5, horiz_offset_correction: -0.025999999, laser_id: 59,
+ rot_correction: -0.08941942047983109, vert_correction: -0.22430756871133128, vert_offset_correction: 0.14832681}
+- {dist_correction: 1.4812624, dist_correction_x: 1.5439316, dist_correction_y: 1.5051659000000002,
+ focal_distance: 0.25, focal_slope: 0.69999999, horiz_offset_correction: 0.025999999,
+ laser_id: 60, rot_correction: -0.012020974421732715, vert_correction: -0.16291245497181386,
+ vert_offset_correction: 0.14436376}
+- {dist_correction: 1.3555016, dist_correction_x: 1.3739404, dist_correction_y: 1.3961284,
+ focal_distance: 0.25, focal_slope: 1.1, horiz_offset_correction: -0.025999999, laser_id: 61,
+ rot_correction: 0.045806682836049765, vert_correction: -0.154741111393303, vert_offset_correction: 0.14384298}
+- {dist_correction: 1.5067404, dist_correction_x: 1.5184990999999999, dist_correction_y: 1.5367628,
+ focal_distance: 5.0, focal_slope: 0.40000001, horiz_offset_correction: 0.025999999,
+ laser_id: 62, rot_correction: -0.03255746436915258, vert_correction: -0.21418087168528735,
+ vert_offset_correction: 0.1476663}
+- {dist_correction: 1.3463322, dist_correction_x: 1.356904, dist_correction_y: 1.3849588,
+ focal_distance: 8.0, focal_slope: 0.40000001, horiz_offset_correction: -0.025999999,
+ laser_id: 63, rot_correction: 0.02613443455565695, vert_correction: -0.2063605225459988,
+ vert_offset_correction: 0.14715822}
+num_lasers: 64
diff --git a/modules/localization/msf/params/velodyne_params/velodyne128_height.yaml b/modules/localization/msf/params/velodyne_params/velodyne128_height.yaml
new file mode 100644
index 000000000..6b1245941
--- /dev/null
+++ b/modules/localization/msf/params/velodyne_params/velodyne128_height.yaml
@@ -0,0 +1,4 @@
+vehicle:
+ parameters:
+ height: 1.91
+ height_var: 0.0047
diff --git a/modules/localization/msf/params/velodyne_params/velodyne128_novatel_extrinsics.yaml b/modules/localization/msf/params/velodyne_params/velodyne128_novatel_extrinsics.yaml
new file mode 100644
index 000000000..41d44ca84
--- /dev/null
+++ b/modules/localization/msf/params/velodyne_params/velodyne128_novatel_extrinsics.yaml
@@ -0,0 +1,18 @@
+header:
+ seq: 0
+ stamp:
+ secs: 0
+ nsecs: 0
+ frame_id: novatel
+child_frame_id: velodyne128
+transform:
+ translation:
+ x: 0
+ y: 0.9807289
+ z: 2.312
+ rotation:
+ x: 0
+ y: 0
+ z: 0.7071068
+ w: 0.7071068
+
diff --git a/modules/perception/data/params/128E_S3_calibration.yaml b/modules/perception/data/params/128E_S3_calibration.yaml
new file mode 100644
index 000000000..a02c68421
--- /dev/null
+++ b/modules/perception/data/params/128E_S3_calibration.yaml
@@ -0,0 +1,243 @@
+lasers:
+- {dist_correction: 1.3280478, dist_correction_x: 1.3733278999999998, dist_correction_y: 1.3565268000000001,
+ focal_distance: 12.0, focal_slope: 0.75, horiz_offset_correction: 0.025999999, laser_id: 0,
+ min_intensity: 5, rot_correction: -0.08042396035379652, vert_correction: -0.12376696608832838,
+ vert_offset_correction: 0.21551828}
+- {dist_correction: 1.4387065, dist_correction_x: 1.4772083, dist_correction_y: 1.4930743000000002,
+ focal_distance: 18.5, focal_slope: 1.1, horiz_offset_correction: -0.025999999, laser_id: 1,
+ min_intensity: 40, rot_correction: -0.043931143295210404, vert_correction: -0.11852979325378328,
+ vert_offset_correction: 0.21513613}
+- {dist_correction: 1.4198532000000001, dist_correction_x: 1.4513388, dist_correction_y: 1.4459473,
+ focal_distance: 17.0, focal_slope: 1.25, horiz_offset_correction: 0.025999999, laser_id: 2,
+ min_intensity: 40, rot_correction: 0.05671893510512383, vert_correction: 0.006831742116548479,
+ vert_offset_correction: 0.20608189}
+- {dist_correction: 1.432045, dist_correction_x: 1.4576363, dist_correction_y: 1.5053079,
+ focal_distance: 24.0, focal_slope: 0.94999999, horiz_offset_correction: -0.025999999,
+ laser_id: 3, min_intensity: 40, rot_correction: 0.09507418428186684, vert_correction: 0.011737269755557637,
+ vert_offset_correction: 0.2057291}
+- {dist_correction: 1.3768561, dist_correction_x: 1.4095345000000001, dist_correction_y: 1.4140973,
+ focal_distance: 24.0, focal_slope: 0.60000002, horiz_offset_correction: 0.025999999,
+ laser_id: 4, min_intensity: 40, rot_correction: -0.0052020566354620415, vert_correction: -0.11207511538496126,
+ vert_offset_correction: 0.21466578}
+- {dist_correction: 1.4579066, dist_correction_x: 1.5030013, dist_correction_y: 1.5402745,
+ focal_distance: 23.0, focal_slope: 0.80000001, horiz_offset_correction: -0.025999999,
+ laser_id: 5, min_intensity: 40, rot_correction: 0.034271327080062704, vert_correction: -0.10662164389621649,
+ vert_offset_correction: 0.21426891}
+- {dist_correction: 1.4042904999999999, dist_correction_x: 1.4512584000000002, dist_correction_y: 1.4358795000000002,
+ focal_distance: 24.0, focal_slope: 0.80000001, horiz_offset_correction: 0.025999999,
+ laser_id: 6, min_intensity: 40, rot_correction: -0.019350118096339984, vert_correction: -0.14744596324186607,
+ vert_offset_correction: 0.21725271}
+- {dist_correction: 1.4530759, dist_correction_x: 1.4934110999999999, dist_correction_y: 1.4934732,
+ focal_distance: 16.5, focal_slope: 0.80000001, horiz_offset_correction: -0.025999999,
+ laser_id: 7, min_intensity: 40, rot_correction: 0.019696635766030937, vert_correction: -0.1420415773930044,
+ vert_offset_correction: 0.21685585}
+- {dist_correction: 1.3928452999999998, dist_correction_x: 1.4412779, dist_correction_y: 1.4351759000000002,
+ focal_distance: 24.0, focal_slope: 0.64999998, horiz_offset_correction: 0.025999999,
+ laser_id: 8, min_intensity: 10, rot_correction: 0.06977400140069993, vert_correction: -0.10055477120587059,
+ vert_offset_correction: 0.21382797}
+- {dist_correction: 1.4649026, dist_correction_x: 1.4811482, dist_correction_y: 1.5390858,
+ focal_distance: 16.5, focal_slope: 1.2, horiz_offset_correction: -0.025999999, laser_id: 9,
+ min_intensity: 40, rot_correction: 0.10867481606700684, vert_correction: -0.09508820800240662,
+ vert_offset_correction: 0.21343111}
+- {dist_correction: 1.3307669000000002, dist_correction_x: 1.3797191000000002, dist_correction_y: 1.3716772000000002,
+ focal_distance: 24.0, focal_slope: 0.85000002, horiz_offset_correction: 0.025999999,
+ laser_id: 10, min_intensity: 40, rot_correction: 0.05614793318704137, vert_correction: -0.13622757149534595,
+ vert_offset_correction: 0.2164296}
+- {dist_correction: 1.3771700999999998, dist_correction_x: 1.4101131, dist_correction_y: 1.4538571,
+ focal_distance: 15.0, focal_slope: 1.35, horiz_offset_correction: -0.025999999,
+ laser_id: 11, min_intensity: 40, rot_correction: 0.09458836664858647, vert_correction: -0.13060523940147076,
+ vert_offset_correction: 0.21601805}
+- {dist_correction: 1.3797005, dist_correction_x: 1.4142267000000002, dist_correction_y: 1.4085233,
+ focal_distance: 10.0, focal_slope: 1.2, horiz_offset_correction: 0.025999999, laser_id: 12,
+ min_intensity: 10, rot_correction: -0.08058553944528767, vert_correction: -0.05321597901122562,
+ vert_offset_correction: 0.21040320999999998}
+- {dist_correction: 1.3646324, dist_correction_x: 1.3887102, dist_correction_y: 1.4070561000000001,
+ focal_distance: 24.0, focal_slope: 1.1, horiz_offset_correction: -0.025999999, laser_id: 13,
+ min_intensity: 40, rot_correction: -0.04053784798354424, vert_correction: -0.04669103069605979,
+ vert_offset_correction: 0.20993286000000003}
+- {dist_correction: 1.3809781, dist_correction_x: 1.4282532000000001, dist_correction_y: 1.4207353,
+ focal_distance: 15.0, focal_slope: 1.3, horiz_offset_correction: 0.025999999, laser_id: 14,
+ min_intensity: 40, rot_correction: -0.09419900463641756, vert_correction: -0.08758781436692292,
+ vert_offset_correction: 0.21288727000000002}
+- {dist_correction: 1.3950202999999999, dist_correction_x: 1.4285829, dist_correction_y: 1.4621552,
+ focal_distance: 24.0, focal_slope: 1.1, horiz_offset_correction: -0.025999999, laser_id: 15,
+ min_intensity: 40, rot_correction: -0.054354701628396805, vert_correction: -0.08292035016148458,
+ vert_offset_correction: 0.21254919000000003}
+- {dist_correction: 1.2988774, dist_correction_x: 1.3749954, dist_correction_y: 1.3734656,
+ focal_distance: 24.0, focal_slope: 0.64999998, horiz_offset_correction: 0.025999999,
+ laser_id: 16, min_intensity: 40, rot_correction: -0.005133124856654525, vert_correction: -0.04077432787988471,
+ vert_offset_correction: 0.20950663}
+- {dist_correction: 1.4723137, dist_correction_x: 1.5056056000000002, dist_correction_y: 1.5041873000000001,
+ focal_distance: 24.0, focal_slope: 1.0, horiz_offset_correction: -0.025999999, laser_id: 17,
+ min_intensity: 20, rot_correction: 0.033464606229193644, vert_correction: -0.03526310344619148,
+ vert_offset_correction: 0.20910976000000003}
+- {dist_correction: 1.3093359000000002, dist_correction_x: 1.4065028000000002, dist_correction_y: 1.3988147000000002,
+ focal_distance: 24.0, focal_slope: 1.1, horiz_offset_correction: 0.025999999, laser_id: 18,
+ min_intensity: 20, rot_correction: -0.01912024950720607, vert_correction: -0.07662373803636939,
+ vert_offset_correction: 0.21209354000000002}
+- {dist_correction: 1.4292241, dist_correction_x: 1.4580751, dist_correction_y: 1.4810971000000002,
+ focal_distance: 24.0, focal_slope: 1.2, horiz_offset_correction: -0.025999999, laser_id: 19,
+ min_intensity: 15, rot_correction: 0.0202102704569296, vert_correction: -0.07052442491121666,
+ vert_offset_correction: 0.21165258}
+- {dist_correction: 1.3831145, dist_correction_x: 1.4038123999999998, dist_correction_y: 1.3966234,
+ focal_distance: 24.0, focal_slope: 1.1, horiz_offset_correction: 0.025999999, laser_id: 20,
+ min_intensity: 30, rot_correction: 0.06874179273711946, vert_correction: -0.029137015224983895,
+ vert_offset_correction: 0.2086688}
+- {dist_correction: 1.402925, dist_correction_x: 1.4443744, dist_correction_y: 1.471532,
+ focal_distance: 17.0, focal_slope: 1.4, horiz_offset_correction: -0.025999999, laser_id: 21,
+ min_intensity: 5, rot_correction: 0.10747970535236223, vert_correction: -0.02341734437339572,
+ vert_offset_correction: 0.20825726}
+- {dist_correction: 1.4234489, dist_correction_x: 1.4673076, dist_correction_y: 1.4543761000000002,
+ focal_distance: 24.0, focal_slope: 0.55000001, horiz_offset_correction: 0.025999999,
+ laser_id: 22, min_intensity: 5, rot_correction: 0.05514045060297391, vert_correction: -0.0642162831410628,
+ vert_offset_correction: 0.21119694}
+- {dist_correction: 1.470387, dist_correction_x: 1.4879053, dist_correction_y: 1.5217740000000002,
+ focal_distance: 24.0, focal_slope: 1.3, horiz_offset_correction: -0.025999999, laser_id: 23,
+ min_intensity: 30, rot_correction: 0.09433926976708334, vert_correction: -0.05892161916095702,
+ vert_offset_correction: 0.21081478}
+- {dist_correction: 1.3722501, dist_correction_x: 1.4119496, dist_correction_y: 1.4214716,
+ focal_distance: 24.0, focal_slope: 1.0, horiz_offset_correction: 0.025999999, laser_id: 24,
+ min_intensity: 20, rot_correction: -0.08011834622045531, vert_correction: 0.01868575851656834,
+ vert_offset_correction: 0.20522938000000002}
+- {dist_correction: 1.4577922, dist_correction_x: 1.4821321, dist_correction_y: 1.4774638,
+ focal_distance: 20.0, focal_slope: 0.69999999, horiz_offset_correction: -0.025999999,
+ laser_id: 25, min_intensity: 10, rot_correction: -0.0415592740030059, vert_correction: 0.023180922072920565,
+ vert_offset_correction: 0.20490601000000003}
+- {dist_correction: 1.4175369, dist_correction_x: 1.4441992, dist_correction_y: 1.4484555000000001,
+ focal_distance: 12.0, focal_slope: 1.5, horiz_offset_correction: 0.025999999, laser_id: 26,
+ min_intensity: 20, rot_correction: -0.09469728915654493, vert_correction: -0.01647002637924725,
+ vert_offset_correction: 0.20775749000000002}
+- {dist_correction: 1.4383292, dist_correction_x: 1.4573476, dist_correction_y: 1.4790007,
+ focal_distance: 7.0, focal_slope: 1.3, horiz_offset_correction: -0.025999999, laser_id: 27,
+ min_intensity: 10, rot_correction: -0.055555304894197445, vert_correction: -0.011156249123969949,
+ vert_offset_correction: 0.20737534000000002}
+- {dist_correction: 1.3976639, dist_correction_x: 1.434787, dist_correction_y: 1.4289362,
+ focal_distance: 24.0, focal_slope: 0.85000002, horiz_offset_correction: 0.025999999,
+ laser_id: 28, min_intensity: 40, rot_correction: -0.0056653665027087, vert_correction: 0.030126075858796564,
+ vert_offset_correction: 0.20440624}
+- {dist_correction: 1.5147818000000002, dist_correction_x: 1.5457281, dist_correction_y: 1.5337862000000002,
+ focal_distance: 16.0, focal_slope: 1.4, horiz_offset_correction: -0.025999999, laser_id: 29,
+ min_intensity: 10, rot_correction: 0.032454556265796485, vert_correction: 0.03461850099355241,
+ vert_offset_correction: 0.20408289000000002}
+- {dist_correction: 1.4410570999999999, dist_correction_x: 1.4812628, dist_correction_y: 1.4802063,
+ focal_distance: 24.0, focal_slope: 1.1, horiz_offset_correction: 0.025999999, laser_id: 30,
+ min_intensity: 20, rot_correction: -0.019155442326243284, vert_correction: -0.004819796717085346,
+ vert_offset_correction: 0.20691969000000002}
+- {dist_correction: 1.5121419, dist_correction_x: 1.525024, dist_correction_y: 1.5161595,
+ focal_distance: 19.5, focal_slope: 1.15, horiz_offset_correction: -0.025999999,
+ laser_id: 31, rot_correction: 0.019031284839244163, vert_correction: 0.0006993883727657528,
+ vert_offset_correction: 0.20652283000000002}
+- {dist_correction: 1.4162563000000001, dist_correction_x: 1.4498225, dist_correction_y: 1.4345399,
+ focal_distance: 8.5, focal_slope: 1.65, horiz_offset_correction: 0.025999999, laser_id: 32,
+ rot_correction: -0.1322630822793796, vert_correction: -0.39265743814277154, vert_offset_correction: 0.1598857}
+- {dist_correction: 1.3670056, dist_correction_x: 1.3952693, dist_correction_y: 1.4121672,
+ focal_distance: 0.25, focal_slope: 1.05, horiz_offset_correction: -0.025999999,
+ laser_id: 33, rot_correction: -0.07110342218260252, vert_correction: -0.38671040324952605,
+ vert_offset_correction: 0.15945383}
+- {dist_correction: 1.4511356000000002, dist_correction_x: 1.4689107000000001, dist_correction_y: 1.4972537,
+ focal_distance: 4.0, focal_slope: 0.64999998, horiz_offset_correction: 0.025999999,
+ laser_id: 34, rot_correction: 0.08401589158763215, vert_correction: -0.1973354249839361,
+ vert_offset_correction: 0.14657393000000002}
+- {dist_correction: 1.3593520000000001, dist_correction_x: 1.3602931, dist_correction_y: 1.3982458,
+ focal_distance: 10.0, focal_slope: 1.75, horiz_offset_correction: -0.025999999,
+ laser_id: 35, rot_correction: 0.14363965670666648, vert_correction: -0.19024942312742418,
+ vert_offset_correction: 0.14611665000000001}
+- {dist_correction: 1.4114377, dist_correction_x: 1.4772849, dist_correction_y: 1.4348904,
+ focal_distance: 17.0, focal_slope: 0.69999999, horiz_offset_correction: 0.025999999,
+ laser_id: 36, rot_correction: -0.011690171347560868, vert_correction: -0.376852242582194,
+ vert_offset_correction: 0.15874252}
+- {dist_correction: 1.307847, dist_correction_x: 1.3645581000000002, dist_correction_y: 1.376617,
+ focal_distance: 6.0, focal_slope: 1.3, horiz_offset_correction: -0.025999999, laser_id: 37,
+ rot_correction: 0.049492148009829026, vert_correction: -0.3699409132772216, vert_offset_correction: 0.15824712999999999}
+- {dist_correction: 1.4213585, dist_correction_x: 1.4421179000000002, dist_correction_y: 1.4552965,
+ focal_distance: 0.25, focal_slope: 0.94999999, horiz_offset_correction: 0.025999999,
+ laser_id: 38, rot_correction: -0.03418474478652977, vert_correction: -0.4311006362058518,
+ vert_offset_correction: 0.16273095999999998}
+- {dist_correction: 1.3356409, dist_correction_x: 1.3397028, dist_correction_y: 1.3601659000000001,
+ focal_distance: 0.25, focal_slope: 1.05, horiz_offset_correction: -0.025999999,
+ laser_id: 39, rot_correction: 0.026626332916051272, vert_correction: -0.4231418824568801,
+ vert_offset_correction: 0.16213396}
+- {dist_correction: 1.3662766, dist_correction_x: 1.4298528, dist_correction_y: 1.4232704,
+ focal_distance: 0.25, focal_slope: 0.85000002, horiz_offset_correction: 0.025999999,
+ laser_id: 40, rot_correction: 0.1092471200007113, vert_correction: -0.35798081768512774,
+ vert_offset_correction: 0.15739609}
+- {dist_correction: 1.2853244000000001, dist_correction_x: 1.3026004, dist_correction_y: 1.3116373,
+ focal_distance: 8.0, focal_slope: 1.5, horiz_offset_correction: -0.025999999, laser_id: 41,
+ rot_correction: 0.16893982038921165, vert_correction: -0.3493458884773484, vert_offset_correction: 0.1567864}
+- {dist_correction: 1.4113557, dist_correction_x: 1.4361624000000002, dist_correction_y: 1.4260374,
+ focal_distance: 0.25, focal_slope: 1.05, horiz_offset_correction: 0.025999999, laser_id: 42,
+ rot_correction: 0.08876389924739155, vert_correction: -0.41221208962882355, vert_offset_correction: 0.16132105}
+- {dist_correction: 1.3126003, dist_correction_x: 1.3216837000000001, dist_correction_y: 1.3253735,
+ focal_distance: 0.25, focal_slope: 1.15, horiz_offset_correction: -0.025999999,
+ laser_id: 43, rot_correction: 0.15014050027953305, vert_correction: -0.40135006793562183,
+ vert_offset_correction: 0.1605208}
+- {dist_correction: 1.4849261000000002, dist_correction_x: 1.5387573, dist_correction_y: 1.5140117000000002,
+ focal_distance: 8.0, focal_slope: 1.45, horiz_offset_correction: 0.025999999, laser_id: 44,
+ rot_correction: -0.1289198918798797, vert_correction: -0.285349621541792, vert_offset_correction: 0.15237877}
+- {dist_correction: 1.3467159000000002, dist_correction_x: 1.385616, dist_correction_y: 1.398739,
+ focal_distance: 4.0, focal_slope: 0.75, horiz_offset_correction: -0.025999999, laser_id: 45,
+ rot_correction: -0.06875650237205527, vert_correction: -0.27837142867317577, vert_offset_correction: 0.1519088}
+- {dist_correction: 1.4548677, dist_correction_x: 1.5237317, dist_correction_y: 1.4852321000000002,
+ focal_distance: 8.0, focal_slope: 1.55, horiz_offset_correction: 0.025999999, laser_id: 46,
+ rot_correction: -0.15456063213134205, vert_correction: -0.3373837683033222, vert_offset_correction: 0.15594806}
+- {dist_correction: 1.2609565999999999, dist_correction_x: 1.3084103, dist_correction_y: 1.3194104,
+ focal_distance: 0.25, focal_slope: 0.85000002, horiz_offset_correction: -0.025999999,
+ laser_id: 47, rot_correction: -0.0921635423215472, vert_correction: -0.329718648747706,
+ vert_offset_correction: 0.15541457}
+- {dist_correction: 1.2807050000000002, dist_correction_x: 1.3367023, dist_correction_y: 1.3303235000000002,
+ focal_distance: 24.0, focal_slope: 0.40000001, horiz_offset_correction: 0.025999999,
+ laser_id: 48, rot_correction: -0.01087391977724544, vert_correction: -0.2702265530127714,
+ vert_offset_correction: 0.15136261}
+- {dist_correction: 1.3420832999999999, dist_correction_x: 1.3902283, dist_correction_y: 1.3959544,
+ focal_distance: 15.0, focal_slope: 0.69999999, horiz_offset_correction: -0.025999999,
+ laser_id: 49, rot_correction: 0.04819382026855073, vert_correction: -0.2603276912672828,
+ vert_offset_correction: 0.1507021}
+- {dist_correction: 1.4451799, dist_correction_x: 1.5144832, dist_correction_y: 1.4737889000000002,
+ focal_distance: 20.0, focal_slope: 0.5, horiz_offset_correction: 0.025999999, laser_id: 50,
+ rot_correction: -0.033916384706072375, vert_correction: -0.3244024456593014, vert_offset_correction: 0.15504621000000002}
+- {dist_correction: 1.2771001, dist_correction_x: 1.3374065, dist_correction_y: 1.339816,
+ focal_distance: 8.0, focal_slope: 1.3, horiz_offset_correction: -0.025999999, laser_id: 51,
+ rot_correction: 0.027376620290886354, vert_correction: -0.3166693629826125, vert_offset_correction: 0.15451272}
+- {dist_correction: 1.3977615, dist_correction_x: 1.4442108, dist_correction_y: 1.4371663000000001,
+ focal_distance: 0.25, focal_slope: 0.44999999, horiz_offset_correction: 0.025999999,
+ laser_id: 52, rot_correction: 0.10492072454703917, vert_correction: -0.25133544080174264,
+ vert_offset_correction: 0.1501051}
+- {dist_correction: 1.3425783999999998, dist_correction_x: 1.3483524, dist_correction_y: 1.3818097,
+ focal_distance: 11.0, focal_slope: 1.9, horiz_offset_correction: -0.025999999, laser_id: 53,
+ rot_correction: 0.16284451104936298, vert_correction: -0.23979553322706634, vert_offset_correction: 0.14934298000000001}
+- {dist_correction: 1.4382911999999999, dist_correction_x: 1.4900905, dist_correction_y: 1.4804431,
+ focal_distance: 8.0, focal_slope: 0.40000001, horiz_offset_correction: 0.025999999,
+ laser_id: 54, rot_correction: 0.08525729890601516, vert_correction: -0.30499605989320633,
+ vert_offset_correction: 0.15371249}
+- {dist_correction: 1.2974651, dist_correction_x: 1.3356235, dist_correction_y: 1.342494,
+ focal_distance: 11.0, focal_slope: 2.0, horiz_offset_correction: -0.025999999, laser_id: 55,
+ rot_correction: 0.14474094026605314, vert_correction: -0.29379823685192097, vert_offset_correction: 0.15295037}
+- {dist_correction: 1.500197, dist_correction_x: 1.5058761999999999, dist_correction_y: 1.5183740000000001,
+ focal_distance: 6.0, focal_slope: 1.4, horiz_offset_correction: 0.025999999, laser_id: 56,
+ rot_correction: -0.1271355405564693, vert_correction: -0.1783966652843279, vert_offset_correction: 0.14535453}
+- {dist_correction: 1.3739523, dist_correction_x: 1.3909152, dist_correction_y: 1.4026927,
+ focal_distance: 0.25, focal_slope: 0.94999999, horiz_offset_correction: -0.025999999,
+ laser_id: 57, rot_correction: -0.06914267741301003, vert_correction: -0.17006926832673774,
+ vert_offset_correction: 0.14482104}
+- {dist_correction: 1.5294423000000001, dist_correction_x: 1.5526985, dist_correction_y: 1.5286189,
+ focal_distance: 10.0, focal_slope: 1.6, horiz_offset_correction: 0.025999999, laser_id: 58,
+ rot_correction: -0.14952992127533238, vert_correction: -0.23167847811493877, vert_offset_correction: 0.14880949}
+- {dist_correction: 1.356432, dist_correction_x: 1.3750079, dist_correction_y: 1.3956981,
+ focal_distance: 0.25, focal_slope: 0.5, horiz_offset_correction: -0.025999999, laser_id: 59,
+ rot_correction: -0.08941942047983109, vert_correction: -0.22430756871133128, vert_offset_correction: 0.14832681}
+- {dist_correction: 1.4812624, dist_correction_x: 1.5439316, dist_correction_y: 1.5051659000000002,
+ focal_distance: 0.25, focal_slope: 0.69999999, horiz_offset_correction: 0.025999999,
+ laser_id: 60, rot_correction: -0.012020974421732715, vert_correction: -0.16291245497181386,
+ vert_offset_correction: 0.14436376}
+- {dist_correction: 1.3555016, dist_correction_x: 1.3739404, dist_correction_y: 1.3961284,
+ focal_distance: 0.25, focal_slope: 1.1, horiz_offset_correction: -0.025999999, laser_id: 61,
+ rot_correction: 0.045806682836049765, vert_correction: -0.154741111393303, vert_offset_correction: 0.14384298}
+- {dist_correction: 1.5067404, dist_correction_x: 1.5184990999999999, dist_correction_y: 1.5367628,
+ focal_distance: 5.0, focal_slope: 0.40000001, horiz_offset_correction: 0.025999999,
+ laser_id: 62, rot_correction: -0.03255746436915258, vert_correction: -0.21418087168528735,
+ vert_offset_correction: 0.1476663}
+- {dist_correction: 1.3463322, dist_correction_x: 1.356904, dist_correction_y: 1.3849588,
+ focal_distance: 8.0, focal_slope: 0.40000001, horiz_offset_correction: -0.025999999,
+ laser_id: 63, rot_correction: 0.02613443455565695, vert_correction: -0.2063605225459988,
+ vert_offset_correction: 0.14715822}
+num_lasers: 64
diff --git a/modules/perception/data/params/64E_S3_calibration_example.yaml b/modules/perception/data/params/64E_S3_calibration_example.yaml
new file mode 100644
index 000000000..a02c68421
--- /dev/null
+++ b/modules/perception/data/params/64E_S3_calibration_example.yaml
@@ -0,0 +1,243 @@
+lasers:
+- {dist_correction: 1.3280478, dist_correction_x: 1.3733278999999998, dist_correction_y: 1.3565268000000001,
+ focal_distance: 12.0, focal_slope: 0.75, horiz_offset_correction: 0.025999999, laser_id: 0,
+ min_intensity: 5, rot_correction: -0.08042396035379652, vert_correction: -0.12376696608832838,
+ vert_offset_correction: 0.21551828}
+- {dist_correction: 1.4387065, dist_correction_x: 1.4772083, dist_correction_y: 1.4930743000000002,
+ focal_distance: 18.5, focal_slope: 1.1, horiz_offset_correction: -0.025999999, laser_id: 1,
+ min_intensity: 40, rot_correction: -0.043931143295210404, vert_correction: -0.11852979325378328,
+ vert_offset_correction: 0.21513613}
+- {dist_correction: 1.4198532000000001, dist_correction_x: 1.4513388, dist_correction_y: 1.4459473,
+ focal_distance: 17.0, focal_slope: 1.25, horiz_offset_correction: 0.025999999, laser_id: 2,
+ min_intensity: 40, rot_correction: 0.05671893510512383, vert_correction: 0.006831742116548479,
+ vert_offset_correction: 0.20608189}
+- {dist_correction: 1.432045, dist_correction_x: 1.4576363, dist_correction_y: 1.5053079,
+ focal_distance: 24.0, focal_slope: 0.94999999, horiz_offset_correction: -0.025999999,
+ laser_id: 3, min_intensity: 40, rot_correction: 0.09507418428186684, vert_correction: 0.011737269755557637,
+ vert_offset_correction: 0.2057291}
+- {dist_correction: 1.3768561, dist_correction_x: 1.4095345000000001, dist_correction_y: 1.4140973,
+ focal_distance: 24.0, focal_slope: 0.60000002, horiz_offset_correction: 0.025999999,
+ laser_id: 4, min_intensity: 40, rot_correction: -0.0052020566354620415, vert_correction: -0.11207511538496126,
+ vert_offset_correction: 0.21466578}
+- {dist_correction: 1.4579066, dist_correction_x: 1.5030013, dist_correction_y: 1.5402745,
+ focal_distance: 23.0, focal_slope: 0.80000001, horiz_offset_correction: -0.025999999,
+ laser_id: 5, min_intensity: 40, rot_correction: 0.034271327080062704, vert_correction: -0.10662164389621649,
+ vert_offset_correction: 0.21426891}
+- {dist_correction: 1.4042904999999999, dist_correction_x: 1.4512584000000002, dist_correction_y: 1.4358795000000002,
+ focal_distance: 24.0, focal_slope: 0.80000001, horiz_offset_correction: 0.025999999,
+ laser_id: 6, min_intensity: 40, rot_correction: -0.019350118096339984, vert_correction: -0.14744596324186607,
+ vert_offset_correction: 0.21725271}
+- {dist_correction: 1.4530759, dist_correction_x: 1.4934110999999999, dist_correction_y: 1.4934732,
+ focal_distance: 16.5, focal_slope: 0.80000001, horiz_offset_correction: -0.025999999,
+ laser_id: 7, min_intensity: 40, rot_correction: 0.019696635766030937, vert_correction: -0.1420415773930044,
+ vert_offset_correction: 0.21685585}
+- {dist_correction: 1.3928452999999998, dist_correction_x: 1.4412779, dist_correction_y: 1.4351759000000002,
+ focal_distance: 24.0, focal_slope: 0.64999998, horiz_offset_correction: 0.025999999,
+ laser_id: 8, min_intensity: 10, rot_correction: 0.06977400140069993, vert_correction: -0.10055477120587059,
+ vert_offset_correction: 0.21382797}
+- {dist_correction: 1.4649026, dist_correction_x: 1.4811482, dist_correction_y: 1.5390858,
+ focal_distance: 16.5, focal_slope: 1.2, horiz_offset_correction: -0.025999999, laser_id: 9,
+ min_intensity: 40, rot_correction: 0.10867481606700684, vert_correction: -0.09508820800240662,
+ vert_offset_correction: 0.21343111}
+- {dist_correction: 1.3307669000000002, dist_correction_x: 1.3797191000000002, dist_correction_y: 1.3716772000000002,
+ focal_distance: 24.0, focal_slope: 0.85000002, horiz_offset_correction: 0.025999999,
+ laser_id: 10, min_intensity: 40, rot_correction: 0.05614793318704137, vert_correction: -0.13622757149534595,
+ vert_offset_correction: 0.2164296}
+- {dist_correction: 1.3771700999999998, dist_correction_x: 1.4101131, dist_correction_y: 1.4538571,
+ focal_distance: 15.0, focal_slope: 1.35, horiz_offset_correction: -0.025999999,
+ laser_id: 11, min_intensity: 40, rot_correction: 0.09458836664858647, vert_correction: -0.13060523940147076,
+ vert_offset_correction: 0.21601805}
+- {dist_correction: 1.3797005, dist_correction_x: 1.4142267000000002, dist_correction_y: 1.4085233,
+ focal_distance: 10.0, focal_slope: 1.2, horiz_offset_correction: 0.025999999, laser_id: 12,
+ min_intensity: 10, rot_correction: -0.08058553944528767, vert_correction: -0.05321597901122562,
+ vert_offset_correction: 0.21040320999999998}
+- {dist_correction: 1.3646324, dist_correction_x: 1.3887102, dist_correction_y: 1.4070561000000001,
+ focal_distance: 24.0, focal_slope: 1.1, horiz_offset_correction: -0.025999999, laser_id: 13,
+ min_intensity: 40, rot_correction: -0.04053784798354424, vert_correction: -0.04669103069605979,
+ vert_offset_correction: 0.20993286000000003}
+- {dist_correction: 1.3809781, dist_correction_x: 1.4282532000000001, dist_correction_y: 1.4207353,
+ focal_distance: 15.0, focal_slope: 1.3, horiz_offset_correction: 0.025999999, laser_id: 14,
+ min_intensity: 40, rot_correction: -0.09419900463641756, vert_correction: -0.08758781436692292,
+ vert_offset_correction: 0.21288727000000002}
+- {dist_correction: 1.3950202999999999, dist_correction_x: 1.4285829, dist_correction_y: 1.4621552,
+ focal_distance: 24.0, focal_slope: 1.1, horiz_offset_correction: -0.025999999, laser_id: 15,
+ min_intensity: 40, rot_correction: -0.054354701628396805, vert_correction: -0.08292035016148458,
+ vert_offset_correction: 0.21254919000000003}
+- {dist_correction: 1.2988774, dist_correction_x: 1.3749954, dist_correction_y: 1.3734656,
+ focal_distance: 24.0, focal_slope: 0.64999998, horiz_offset_correction: 0.025999999,
+ laser_id: 16, min_intensity: 40, rot_correction: -0.005133124856654525, vert_correction: -0.04077432787988471,
+ vert_offset_correction: 0.20950663}
+- {dist_correction: 1.4723137, dist_correction_x: 1.5056056000000002, dist_correction_y: 1.5041873000000001,
+ focal_distance: 24.0, focal_slope: 1.0, horiz_offset_correction: -0.025999999, laser_id: 17,
+ min_intensity: 20, rot_correction: 0.033464606229193644, vert_correction: -0.03526310344619148,
+ vert_offset_correction: 0.20910976000000003}
+- {dist_correction: 1.3093359000000002, dist_correction_x: 1.4065028000000002, dist_correction_y: 1.3988147000000002,
+ focal_distance: 24.0, focal_slope: 1.1, horiz_offset_correction: 0.025999999, laser_id: 18,
+ min_intensity: 20, rot_correction: -0.01912024950720607, vert_correction: -0.07662373803636939,
+ vert_offset_correction: 0.21209354000000002}
+- {dist_correction: 1.4292241, dist_correction_x: 1.4580751, dist_correction_y: 1.4810971000000002,
+ focal_distance: 24.0, focal_slope: 1.2, horiz_offset_correction: -0.025999999, laser_id: 19,
+ min_intensity: 15, rot_correction: 0.0202102704569296, vert_correction: -0.07052442491121666,
+ vert_offset_correction: 0.21165258}
+- {dist_correction: 1.3831145, dist_correction_x: 1.4038123999999998, dist_correction_y: 1.3966234,
+ focal_distance: 24.0, focal_slope: 1.1, horiz_offset_correction: 0.025999999, laser_id: 20,
+ min_intensity: 30, rot_correction: 0.06874179273711946, vert_correction: -0.029137015224983895,
+ vert_offset_correction: 0.2086688}
+- {dist_correction: 1.402925, dist_correction_x: 1.4443744, dist_correction_y: 1.471532,
+ focal_distance: 17.0, focal_slope: 1.4, horiz_offset_correction: -0.025999999, laser_id: 21,
+ min_intensity: 5, rot_correction: 0.10747970535236223, vert_correction: -0.02341734437339572,
+ vert_offset_correction: 0.20825726}
+- {dist_correction: 1.4234489, dist_correction_x: 1.4673076, dist_correction_y: 1.4543761000000002,
+ focal_distance: 24.0, focal_slope: 0.55000001, horiz_offset_correction: 0.025999999,
+ laser_id: 22, min_intensity: 5, rot_correction: 0.05514045060297391, vert_correction: -0.0642162831410628,
+ vert_offset_correction: 0.21119694}
+- {dist_correction: 1.470387, dist_correction_x: 1.4879053, dist_correction_y: 1.5217740000000002,
+ focal_distance: 24.0, focal_slope: 1.3, horiz_offset_correction: -0.025999999, laser_id: 23,
+ min_intensity: 30, rot_correction: 0.09433926976708334, vert_correction: -0.05892161916095702,
+ vert_offset_correction: 0.21081478}
+- {dist_correction: 1.3722501, dist_correction_x: 1.4119496, dist_correction_y: 1.4214716,
+ focal_distance: 24.0, focal_slope: 1.0, horiz_offset_correction: 0.025999999, laser_id: 24,
+ min_intensity: 20, rot_correction: -0.08011834622045531, vert_correction: 0.01868575851656834,
+ vert_offset_correction: 0.20522938000000002}
+- {dist_correction: 1.4577922, dist_correction_x: 1.4821321, dist_correction_y: 1.4774638,
+ focal_distance: 20.0, focal_slope: 0.69999999, horiz_offset_correction: -0.025999999,
+ laser_id: 25, min_intensity: 10, rot_correction: -0.0415592740030059, vert_correction: 0.023180922072920565,
+ vert_offset_correction: 0.20490601000000003}
+- {dist_correction: 1.4175369, dist_correction_x: 1.4441992, dist_correction_y: 1.4484555000000001,
+ focal_distance: 12.0, focal_slope: 1.5, horiz_offset_correction: 0.025999999, laser_id: 26,
+ min_intensity: 20, rot_correction: -0.09469728915654493, vert_correction: -0.01647002637924725,
+ vert_offset_correction: 0.20775749000000002}
+- {dist_correction: 1.4383292, dist_correction_x: 1.4573476, dist_correction_y: 1.4790007,
+ focal_distance: 7.0, focal_slope: 1.3, horiz_offset_correction: -0.025999999, laser_id: 27,
+ min_intensity: 10, rot_correction: -0.055555304894197445, vert_correction: -0.011156249123969949,
+ vert_offset_correction: 0.20737534000000002}
+- {dist_correction: 1.3976639, dist_correction_x: 1.434787, dist_correction_y: 1.4289362,
+ focal_distance: 24.0, focal_slope: 0.85000002, horiz_offset_correction: 0.025999999,
+ laser_id: 28, min_intensity: 40, rot_correction: -0.0056653665027087, vert_correction: 0.030126075858796564,
+ vert_offset_correction: 0.20440624}
+- {dist_correction: 1.5147818000000002, dist_correction_x: 1.5457281, dist_correction_y: 1.5337862000000002,
+ focal_distance: 16.0, focal_slope: 1.4, horiz_offset_correction: -0.025999999, laser_id: 29,
+ min_intensity: 10, rot_correction: 0.032454556265796485, vert_correction: 0.03461850099355241,
+ vert_offset_correction: 0.20408289000000002}
+- {dist_correction: 1.4410570999999999, dist_correction_x: 1.4812628, dist_correction_y: 1.4802063,
+ focal_distance: 24.0, focal_slope: 1.1, horiz_offset_correction: 0.025999999, laser_id: 30,
+ min_intensity: 20, rot_correction: -0.019155442326243284, vert_correction: -0.004819796717085346,
+ vert_offset_correction: 0.20691969000000002}
+- {dist_correction: 1.5121419, dist_correction_x: 1.525024, dist_correction_y: 1.5161595,
+ focal_distance: 19.5, focal_slope: 1.15, horiz_offset_correction: -0.025999999,
+ laser_id: 31, rot_correction: 0.019031284839244163, vert_correction: 0.0006993883727657528,
+ vert_offset_correction: 0.20652283000000002}
+- {dist_correction: 1.4162563000000001, dist_correction_x: 1.4498225, dist_correction_y: 1.4345399,
+ focal_distance: 8.5, focal_slope: 1.65, horiz_offset_correction: 0.025999999, laser_id: 32,
+ rot_correction: -0.1322630822793796, vert_correction: -0.39265743814277154, vert_offset_correction: 0.1598857}
+- {dist_correction: 1.3670056, dist_correction_x: 1.3952693, dist_correction_y: 1.4121672,
+ focal_distance: 0.25, focal_slope: 1.05, horiz_offset_correction: -0.025999999,
+ laser_id: 33, rot_correction: -0.07110342218260252, vert_correction: -0.38671040324952605,
+ vert_offset_correction: 0.15945383}
+- {dist_correction: 1.4511356000000002, dist_correction_x: 1.4689107000000001, dist_correction_y: 1.4972537,
+ focal_distance: 4.0, focal_slope: 0.64999998, horiz_offset_correction: 0.025999999,
+ laser_id: 34, rot_correction: 0.08401589158763215, vert_correction: -0.1973354249839361,
+ vert_offset_correction: 0.14657393000000002}
+- {dist_correction: 1.3593520000000001, dist_correction_x: 1.3602931, dist_correction_y: 1.3982458,
+ focal_distance: 10.0, focal_slope: 1.75, horiz_offset_correction: -0.025999999,
+ laser_id: 35, rot_correction: 0.14363965670666648, vert_correction: -0.19024942312742418,
+ vert_offset_correction: 0.14611665000000001}
+- {dist_correction: 1.4114377, dist_correction_x: 1.4772849, dist_correction_y: 1.4348904,
+ focal_distance: 17.0, focal_slope: 0.69999999, horiz_offset_correction: 0.025999999,
+ laser_id: 36, rot_correction: -0.011690171347560868, vert_correction: -0.376852242582194,
+ vert_offset_correction: 0.15874252}
+- {dist_correction: 1.307847, dist_correction_x: 1.3645581000000002, dist_correction_y: 1.376617,
+ focal_distance: 6.0, focal_slope: 1.3, horiz_offset_correction: -0.025999999, laser_id: 37,
+ rot_correction: 0.049492148009829026, vert_correction: -0.3699409132772216, vert_offset_correction: 0.15824712999999999}
+- {dist_correction: 1.4213585, dist_correction_x: 1.4421179000000002, dist_correction_y: 1.4552965,
+ focal_distance: 0.25, focal_slope: 0.94999999, horiz_offset_correction: 0.025999999,
+ laser_id: 38, rot_correction: -0.03418474478652977, vert_correction: -0.4311006362058518,
+ vert_offset_correction: 0.16273095999999998}
+- {dist_correction: 1.3356409, dist_correction_x: 1.3397028, dist_correction_y: 1.3601659000000001,
+ focal_distance: 0.25, focal_slope: 1.05, horiz_offset_correction: -0.025999999,
+ laser_id: 39, rot_correction: 0.026626332916051272, vert_correction: -0.4231418824568801,
+ vert_offset_correction: 0.16213396}
+- {dist_correction: 1.3662766, dist_correction_x: 1.4298528, dist_correction_y: 1.4232704,
+ focal_distance: 0.25, focal_slope: 0.85000002, horiz_offset_correction: 0.025999999,
+ laser_id: 40, rot_correction: 0.1092471200007113, vert_correction: -0.35798081768512774,
+ vert_offset_correction: 0.15739609}
+- {dist_correction: 1.2853244000000001, dist_correction_x: 1.3026004, dist_correction_y: 1.3116373,
+ focal_distance: 8.0, focal_slope: 1.5, horiz_offset_correction: -0.025999999, laser_id: 41,
+ rot_correction: 0.16893982038921165, vert_correction: -0.3493458884773484, vert_offset_correction: 0.1567864}
+- {dist_correction: 1.4113557, dist_correction_x: 1.4361624000000002, dist_correction_y: 1.4260374,
+ focal_distance: 0.25, focal_slope: 1.05, horiz_offset_correction: 0.025999999, laser_id: 42,
+ rot_correction: 0.08876389924739155, vert_correction: -0.41221208962882355, vert_offset_correction: 0.16132105}
+- {dist_correction: 1.3126003, dist_correction_x: 1.3216837000000001, dist_correction_y: 1.3253735,
+ focal_distance: 0.25, focal_slope: 1.15, horiz_offset_correction: -0.025999999,
+ laser_id: 43, rot_correction: 0.15014050027953305, vert_correction: -0.40135006793562183,
+ vert_offset_correction: 0.1605208}
+- {dist_correction: 1.4849261000000002, dist_correction_x: 1.5387573, dist_correction_y: 1.5140117000000002,
+ focal_distance: 8.0, focal_slope: 1.45, horiz_offset_correction: 0.025999999, laser_id: 44,
+ rot_correction: -0.1289198918798797, vert_correction: -0.285349621541792, vert_offset_correction: 0.15237877}
+- {dist_correction: 1.3467159000000002, dist_correction_x: 1.385616, dist_correction_y: 1.398739,
+ focal_distance: 4.0, focal_slope: 0.75, horiz_offset_correction: -0.025999999, laser_id: 45,
+ rot_correction: -0.06875650237205527, vert_correction: -0.27837142867317577, vert_offset_correction: 0.1519088}
+- {dist_correction: 1.4548677, dist_correction_x: 1.5237317, dist_correction_y: 1.4852321000000002,
+ focal_distance: 8.0, focal_slope: 1.55, horiz_offset_correction: 0.025999999, laser_id: 46,
+ rot_correction: -0.15456063213134205, vert_correction: -0.3373837683033222, vert_offset_correction: 0.15594806}
+- {dist_correction: 1.2609565999999999, dist_correction_x: 1.3084103, dist_correction_y: 1.3194104,
+ focal_distance: 0.25, focal_slope: 0.85000002, horiz_offset_correction: -0.025999999,
+ laser_id: 47, rot_correction: -0.0921635423215472, vert_correction: -0.329718648747706,
+ vert_offset_correction: 0.15541457}
+- {dist_correction: 1.2807050000000002, dist_correction_x: 1.3367023, dist_correction_y: 1.3303235000000002,
+ focal_distance: 24.0, focal_slope: 0.40000001, horiz_offset_correction: 0.025999999,
+ laser_id: 48, rot_correction: -0.01087391977724544, vert_correction: -0.2702265530127714,
+ vert_offset_correction: 0.15136261}
+- {dist_correction: 1.3420832999999999, dist_correction_x: 1.3902283, dist_correction_y: 1.3959544,
+ focal_distance: 15.0, focal_slope: 0.69999999, horiz_offset_correction: -0.025999999,
+ laser_id: 49, rot_correction: 0.04819382026855073, vert_correction: -0.2603276912672828,
+ vert_offset_correction: 0.1507021}
+- {dist_correction: 1.4451799, dist_correction_x: 1.5144832, dist_correction_y: 1.4737889000000002,
+ focal_distance: 20.0, focal_slope: 0.5, horiz_offset_correction: 0.025999999, laser_id: 50,
+ rot_correction: -0.033916384706072375, vert_correction: -0.3244024456593014, vert_offset_correction: 0.15504621000000002}
+- {dist_correction: 1.2771001, dist_correction_x: 1.3374065, dist_correction_y: 1.339816,
+ focal_distance: 8.0, focal_slope: 1.3, horiz_offset_correction: -0.025999999, laser_id: 51,
+ rot_correction: 0.027376620290886354, vert_correction: -0.3166693629826125, vert_offset_correction: 0.15451272}
+- {dist_correction: 1.3977615, dist_correction_x: 1.4442108, dist_correction_y: 1.4371663000000001,
+ focal_distance: 0.25, focal_slope: 0.44999999, horiz_offset_correction: 0.025999999,
+ laser_id: 52, rot_correction: 0.10492072454703917, vert_correction: -0.25133544080174264,
+ vert_offset_correction: 0.1501051}
+- {dist_correction: 1.3425783999999998, dist_correction_x: 1.3483524, dist_correction_y: 1.3818097,
+ focal_distance: 11.0, focal_slope: 1.9, horiz_offset_correction: -0.025999999, laser_id: 53,
+ rot_correction: 0.16284451104936298, vert_correction: -0.23979553322706634, vert_offset_correction: 0.14934298000000001}
+- {dist_correction: 1.4382911999999999, dist_correction_x: 1.4900905, dist_correction_y: 1.4804431,
+ focal_distance: 8.0, focal_slope: 0.40000001, horiz_offset_correction: 0.025999999,
+ laser_id: 54, rot_correction: 0.08525729890601516, vert_correction: -0.30499605989320633,
+ vert_offset_correction: 0.15371249}
+- {dist_correction: 1.2974651, dist_correction_x: 1.3356235, dist_correction_y: 1.342494,
+ focal_distance: 11.0, focal_slope: 2.0, horiz_offset_correction: -0.025999999, laser_id: 55,
+ rot_correction: 0.14474094026605314, vert_correction: -0.29379823685192097, vert_offset_correction: 0.15295037}
+- {dist_correction: 1.500197, dist_correction_x: 1.5058761999999999, dist_correction_y: 1.5183740000000001,
+ focal_distance: 6.0, focal_slope: 1.4, horiz_offset_correction: 0.025999999, laser_id: 56,
+ rot_correction: -0.1271355405564693, vert_correction: -0.1783966652843279, vert_offset_correction: 0.14535453}
+- {dist_correction: 1.3739523, dist_correction_x: 1.3909152, dist_correction_y: 1.4026927,
+ focal_distance: 0.25, focal_slope: 0.94999999, horiz_offset_correction: -0.025999999,
+ laser_id: 57, rot_correction: -0.06914267741301003, vert_correction: -0.17006926832673774,
+ vert_offset_correction: 0.14482104}
+- {dist_correction: 1.5294423000000001, dist_correction_x: 1.5526985, dist_correction_y: 1.5286189,
+ focal_distance: 10.0, focal_slope: 1.6, horiz_offset_correction: 0.025999999, laser_id: 58,
+ rot_correction: -0.14952992127533238, vert_correction: -0.23167847811493877, vert_offset_correction: 0.14880949}
+- {dist_correction: 1.356432, dist_correction_x: 1.3750079, dist_correction_y: 1.3956981,
+ focal_distance: 0.25, focal_slope: 0.5, horiz_offset_correction: -0.025999999, laser_id: 59,
+ rot_correction: -0.08941942047983109, vert_correction: -0.22430756871133128, vert_offset_correction: 0.14832681}
+- {dist_correction: 1.4812624, dist_correction_x: 1.5439316, dist_correction_y: 1.5051659000000002,
+ focal_distance: 0.25, focal_slope: 0.69999999, horiz_offset_correction: 0.025999999,
+ laser_id: 60, rot_correction: -0.012020974421732715, vert_correction: -0.16291245497181386,
+ vert_offset_correction: 0.14436376}
+- {dist_correction: 1.3555016, dist_correction_x: 1.3739404, dist_correction_y: 1.3961284,
+ focal_distance: 0.25, focal_slope: 1.1, horiz_offset_correction: -0.025999999, laser_id: 61,
+ rot_correction: 0.045806682836049765, vert_correction: -0.154741111393303, vert_offset_correction: 0.14384298}
+- {dist_correction: 1.5067404, dist_correction_x: 1.5184990999999999, dist_correction_y: 1.5367628,
+ focal_distance: 5.0, focal_slope: 0.40000001, horiz_offset_correction: 0.025999999,
+ laser_id: 62, rot_correction: -0.03255746436915258, vert_correction: -0.21418087168528735,
+ vert_offset_correction: 0.1476663}
+- {dist_correction: 1.3463322, dist_correction_x: 1.356904, dist_correction_y: 1.3849588,
+ focal_distance: 8.0, focal_slope: 0.40000001, horiz_offset_correction: -0.025999999,
+ laser_id: 63, rot_correction: 0.02613443455565695, vert_correction: -0.2063605225459988,
+ vert_offset_correction: 0.14715822}
+num_lasers: 64
diff --git a/modules/perception/data/params/front_6mm_extrinsics.yaml b/modules/perception/data/params/front_6mm_extrinsics.yaml
index 9e31f9929..dee72f406 100644
--- a/modules/perception/data/params/front_6mm_extrinsics.yaml
+++ b/modules/perception/data/params/front_6mm_extrinsics.yaml
@@ -15,7 +15,4 @@ transform:
y: -0.5
z: 0.5
w: -0.5
- euler_angles_degree:
- pitch: -90.0
- yaw: -90.0
- roll: 0.0
+
diff --git a/modules/perception/data/params/radar_extrinsics.yaml b/modules/perception/data/params/radar_extrinsics.yaml
new file mode 100644
index 000000000..91c869e1c
--- /dev/null
+++ b/modules/perception/data/params/radar_extrinsics.yaml
@@ -0,0 +1,17 @@
+header:
+ seq: 0
+ stamp:
+ secs: 0
+ nsecs: 0
+ frame_id: front_6mm
+child_frame_id: radar
+transform:
+ translation:
+ x: 0
+ y: 1.011
+ z: 2.472
+ rotation:
+ x: 0.5
+ y: -0.5
+ z: 0.5
+ w: 0.5
diff --git a/modules/perception/data/params/radar_front_extrinsics.yaml b/modules/perception/data/params/radar_front_extrinsics.yaml
new file mode 100644
index 000000000..34c638220
--- /dev/null
+++ b/modules/perception/data/params/radar_front_extrinsics.yaml
@@ -0,0 +1,18 @@
+header:
+ seq: 0
+ stamp:
+ secs: 0
+ nsecs: 0
+ frame_id: velodyne128
+child_frame_id: radar_front
+transform:
+ translation:
+ x: 2.63992
+ y: 0
+ z: -1.623
+ rotation:
+ x: 0
+ y: 0
+ z: 0
+ w: 1
+
diff --git a/modules/perception/data/params/start_leopard.launch b/modules/perception/data/params/start_leopard.launch
new file mode 100644
index 000000000..909cba7af
--- /dev/null
+++ b/modules/perception/data/params/start_leopard.launch
@@ -0,0 +1,67 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/modules/perception/data/params/start_obstacle_camera.launch b/modules/perception/data/params/start_obstacle_camera.launch
new file mode 100644
index 000000000..dd9fe55d9
--- /dev/null
+++ b/modules/perception/data/params/start_obstacle_camera.launch
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/modules/perception/data/params/velodyne128_height.yaml b/modules/perception/data/params/velodyne128_height.yaml
new file mode 100644
index 000000000..6b1245941
--- /dev/null
+++ b/modules/perception/data/params/velodyne128_height.yaml
@@ -0,0 +1,4 @@
+vehicle:
+ parameters:
+ height: 1.91
+ height_var: 0.0047
diff --git a/modules/perception/data/params/velodyne128_novatel_extrinsics.yaml b/modules/perception/data/params/velodyne128_novatel_extrinsics.yaml
new file mode 100644
index 000000000..41d44ca84
--- /dev/null
+++ b/modules/perception/data/params/velodyne128_novatel_extrinsics.yaml
@@ -0,0 +1,18 @@
+header:
+ seq: 0
+ stamp:
+ secs: 0
+ nsecs: 0
+ frame_id: novatel
+child_frame_id: velodyne128
+transform:
+ translation:
+ x: 0
+ y: 0.9807289
+ z: 2.312
+ rotation:
+ x: 0
+ y: 0
+ z: 0.7071068
+ w: 0.7071068
+
diff --git a/modules/perception/data/params/velodyne64_height.yaml b/modules/perception/data/params/velodyne64_height.yaml
new file mode 100644
index 000000000..6b1245941
--- /dev/null
+++ b/modules/perception/data/params/velodyne64_height.yaml
@@ -0,0 +1,4 @@
+vehicle:
+ parameters:
+ height: 1.91
+ height_var: 0.0047
diff --git a/modules/perception/data/params/velodyne64_novatel_extrinsics_example.yaml b/modules/perception/data/params/velodyne64_novatel_extrinsics_example.yaml
new file mode 100644
index 000000000..379bcc13d
--- /dev/null
+++ b/modules/perception/data/params/velodyne64_novatel_extrinsics_example.yaml
@@ -0,0 +1,18 @@
+header:
+ seq: 0
+ stamp:
+ secs: 0
+ nsecs: 0
+ frame_id: novatel
+child_frame_id: velodyne64
+transform:
+ translation:
+ x: 0
+ y: 0.9807289
+ z: 2.312
+ rotation:
+ x: 0
+ y: 0
+ z: 0.7071068
+ w: 0.7071068
+
diff --git a/modules/perception/production/conf/perception/camera/fusion_camera_detection_component.pb.txt b/modules/perception/production/conf/perception/camera/fusion_camera_detection_component.pb.txt
index 4ead75dd3..f16dea1ce 100644
--- a/modules/perception/production/conf/perception/camera/fusion_camera_detection_component.pb.txt
+++ b/modules/perception/production/conf/perception/camera/fusion_camera_detection_component.pb.txt
@@ -8,7 +8,7 @@ image_channel_num : 3
enable_undistortion : false
enable_visualization : true
output_final_obstacles : true
-output_obstacles_channel_name : "/perception/obstacles"
+output_obstacles_channel_name : "/apollo/perception/obstacles"
camera_perception_viz_message_channel_name : "/perception/inner/camera_viz_msg"
prefused_channel_name : "/perception/inner/PrefusedObjects"
default_camera_pitch : 0.0
diff --git a/modules/perception/production/data/perception/camera/models/yolo_obstacle_detector/3d-r4-half-config.pt b/modules/perception/production/data/perception/camera/models/yolo_obstacle_detector/3d-r4-half-config.pt
index 061bad3a3..b5c878046 100644
--- a/modules/perception/production/data/perception/camera/models/yolo_obstacle_detector/3d-r4-half-config.pt
+++ b/modules/perception/production/data/perception/camera/models/yolo_obstacle_detector/3d-r4-half-config.pt
@@ -1,11 +1,12 @@
model_param {
model_name: "./3d-r4-half"
- model_type: "RTNetInt8"
+ #model_type: "RTNetInt8"
+ model_type: "CaffeNet"
weight_file: "deploy.model"
proto_file: "deploy.pt"
anchors_file: "anchors.txt"
types_file: "types.txt"
- calibratetable_root: "./3d-r4-half"
+ #calibratetable_root: "./3d-r4-half"
confidence_threshold: 0.4
offset_ratio: 0.288889
cropped_ratio: 0.711111
diff --git a/scripts/perception_offline_visualizer.sh b/scripts/perception_offline_visualizer.sh
index 3157dcd9f..a9059eacf 100755
--- a/scripts/perception_offline_visualizer.sh
+++ b/scripts/perception_offline_visualizer.sh
@@ -16,11 +16,18 @@
# limitations under the License.
###############################################################################
-
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
source "${DIR}/apollo_base.sh"
-# run function from apollo_base.sh
-# run command_name module_name
-run perception "$@" --dag_config_path=/apollo/modules/perception/conf/dag_camera_obstacle_vis.config \
---alsologtostderr=1 --v=4
+
+if [ $# -ne 1 ] ; then
+ echo "usage $0 start/stop"
+ exit 1;
+fi
+
+cmd=$1
+
+cyber_launch $cmd /apollo/modules/perception/production/launch/perception_camera.launch
+cyber_launch $cmd /apollo/modules/perception/production/launch/perception_trafficlight_vis.launch
+cyber_launch $cmd /apollo/modules/drivers/tools/image_decompress/launch/image_decompress.launch
+cyber_launch $cmd /apollo/modules/transform/launch/static_transform.launch