We are processing multi-mile, vehicle-mounted OS1-071-64U-ASR Rev7 data using firmware 3.2.0, SDK 1.0.1, ACCEL32_GYRO32_NMEA, PPS synchronization, and a PPS-aligned PolyNav dual-antenna GNSS/INS.
The Ouster SLAM cloud is often internally very clean: pavement, poles, wires, and vegetation remain sharp. However, over a multi-mile run, the cloud can gradually turn or float right/left relative to the road and GNSS/INS trajectory. The apparent attitude difference is commonly about 1-6 degrees, occasionally more.
We divide long runs into approximately 500-ft local pieces. Within those bounded pieces, sparse external position authority can improve placement without visibly deforming the cloud. The 500-ft length is an operational bound that has worked for position correction; it is not yet a validated rotational-correction length.
What we have tried
1. One rigid transform for the full run
We solve one constant transform between the Ouster SLAM world and the external projected frame:
Texternal=Talignment⋅TSLAMT_{external} = T_{alignment} \cdot T_{SLAM}
Every pose receives the same rigid transform. This preserves the cloud’s internal geometry, but it cannot correct attitude drift that changes over a multi-mile run.
2. Dense external-attitude correction
We transformed both the PolyNav attitude and the Ouster body_to_world attitude into a common external world frame and the same Ouster sensor-body frame, including the fixed vehicle-body-to-Ouster-sensor extrinsic rotation.
Conceptually, for each LiDAR pose at time tt, we formed a time-varying rotational delta:
ΔR(t)=Rexternal,sensor(t)⋅Raligned_SLAM,sensor(t)−1\Delta R(t) = R_{external,sensor}(t) \cdot R_{aligned\_SLAM,sensor}(t)^{-1}
Here, aligned_SLAM means the Ouster SLAM attitude after applying the single rigid SLAM-world-to-external-world alignment.
We then applied that delta to the aligned SLAM pose:
Rcorrected(t)=ΔR(t)⋅Raligned_SLAM,sensor(t)R_{corrected}(t) = \Delta R(t) \cdot R_{aligned\_SLAM,sensor}(t)
Conceptually, this makes each LiDAR pose follow the external GNSS/INS attitude.
It improves apparent road alignment, but it smears poles, wires, pavement, and other fixed objects. The time-varying rotational correction changes inside sections that were originally internally consistent, so it twists the geometry rather than moving it rigidly.
3. Local bounded position optimization
We use approximately 500-ft pieces with sparse external position controls. This has improved placement while retaining sharp local geometry. We deliberately avoid dense per-column translation, vertical warping, and dense attitude replacement.
What we need to solve
We do not need every LiDAR pose to exactly equal the GNSS/INS attitude. We need to correct slow accumulated rotational drift across the multi-mile run while retaining the rigid internal geometry of each clean local section.
Our questions are:
- Is the appropriate model to solve one rigid SE(3) correction—rotation plus associated translation—for each approximately 500-ft piece, then solve a sparse, continuous chain of those corrections across the full multi-mile run?
- Can PoseOptimizer accept sparse, low-weight external attitude controls at selected stable locations or piece boundaries, rather than at every LiDAR pose, without twisting geometry inside each piece?
- What is the recommended procedure for establishing the common frame between:
- PolyNav body/INS attitude,
- vehicle body frame,
- fixed Ouster sensor extrinsics,
- and Ouster SLAM world frame?
- Is there a preferred Ouster approach for deriving and applying one rigid rotation correction per piece from
body_to_worldposes and external INS attitude? - What validation would you recommend before accepting a correction? Our acceptance criteria would be improved road and pole alignment while confirming that wire sharpness, pole verticality, pavement geometry, and piece-to-piece seams do not degrade.
Our requirement is that every local correction remain rigid within its validated piece, with translation and rotation solved together so seams remain continuous. We need to avoid per-column or dense per-pose attitude replacement that warps an otherwise clean cloud.