1 / 33RADAR SLAM / A FIELD GUIDERadar SLAM, one scan at a time.From an echo to a moving sensor, a persistent map, and a verified revisit.Where did I move?What stayed still?A sequence of seven experiments makes the transformations—and their failure modes—visible.01Measure02Estimate motion03Correct the map01 Watch the whole run →02 Range & detection →03 Coordinates & uncertainty →04 Doppler & registration →05 Loop closure & optimization →06 Methods & references →33 SLIDES · 7 LIVE LABS · DETERMINISTIC 2D MODELS
2 / 3301 · THE COMPLETE PROCESSWatch the map grow.Scrub the sequence, then compare normal matching with a declared heading bias.THE MODEL\[T_k=T_{k-1}Z_{k-1,k}\]Each scan arrives in its own radar frame.ICP estimates the relative transform. Composing those transforms places the scans in one world frame.WHAT TO WATCH NEXT1 · Play or stepWatch local detections become a global map.2 · Toggle heading biasSmall persistent errors accumulate.3 · Jump to the revisitLook for misaligned structure.
3 / 3301 · THE COMPLETE PROCESS · EXPERIMENTWatch the map grow.Scrub the sequence, then compare normal matching with a declared heading bias.
4 / 3302 · DEFINE THE PROBLEMThe sensor does not output its pose.Keep observations, estimated variables, and simulator truth separate.OBSERVATIONS\[Z_k=\{z_{k1},\ldots,z_{kn}\}\]Range, angle, radial velocity and strength, where available.ESTIMATES\[T_k=(R_k,p_k),\qquad \mathcal M\]The trajectory and a persistent map; often the associations too.COORDINATE CONVENTION\[\hat m=R_kq+p_k\]A pose maps radar-frame points into world coordinates.COMPARISON ONLYThe true trajectory and reflector locations are available to the simulator. The estimator never receives them.
5 / 3302 · DEFINE THE PROBLEMFirst ask: which radar data?The sensor determines the front end. Consistent geometry remains the objective.FMCW ARRAYFast time, slow time and array phase can yield range, radial velocity and angles. A “4D” detection commonly has 3D position plus radial velocity.SCANNING RADARA rotating beam produces a range–azimuth intensity image. Do not assume every image includes per-return Doppler or elevation.THIS WALKTHROUGHFMCW concepts in the signal labs; simplified planar detections in the SLAM run. The labs do not emulate a particular product.ODOMETRY → SLAMOdometry accumulates successive motion. Here, verified revisit constraints provide global consistency and correct drift.
6 / 3303 · FORM MEASUREMENTSOne echo, three kinds of phase variation.Complex baseband samples are the starting point.FAST TIMEADC samples within a chirpbeat frequency → rangeSLOW TIMEChirps across a coherent intervalphase progression → DopplerAPERTUREReceive / virtual-array channelsspatial phase → angleSIMPLIFIED SEPARABLE ECHO\[s[n,\ell,a]\approx\sum_j A_j\exp\!\left\{i2\pi\left(f_{b,j}nT_s+f_{D,j}\ell T_r+\frac{d_a\cdot u_j}{\lambda}\right)\right\}+w\]Constant motion over the coherent interval; calibrated channels; negligible range–Doppler coupling.
7 / 3303 · RANGE PROCESSINGResolve two reflectors in range.Try the merged and separated presets, then change bandwidth without moving the reflectors.THE MODEL\[r\approx\frac{cf_b}{2S},\qquad\Delta r\approx\frac{c}{2B}\]More bandwidth provides a finer nominal range scale.A Hann window reduces sidelobes but broadens the main lobe.WHAT TO WATCH NEXTHold separation fixed.Increase the bandwidth and watch two peaks emerge.Compare the window.Peak width and sidelobes change together.The curve is an actual DFT of synthetic complex samples.
8 / 3303 · RANGE PROCESSING · EXPERIMENTResolve two reflectors in range.Try the merged and separated presets, then change bandwidth without moving the reflectors.
9 / 3303 · FORM MEASUREMENTSRange is only the first coordinate.Look across chirps for motion and across antennas for direction.RADIAL VELOCITY\[\Delta\phi\approx\frac{4\pi\dot r T_r}{\lambda},\quad\dot r=\frac{\lambda f_D}{2}\]Only the relative motion along the line of sight.ARRAY DIRECTION\[\Delta\phi_{\rm array}=\frac{2\pi d\sin\theta}{\lambda}\]Illustrative broadside uniform linear array convention.IDEAL SLOW-TIME LIMITS\[|\dot r|<\frac{\lambda}{4T_r},\quad\Delta\dot r\approx\frac{\lambda}{2T_{\rm coh}}\]Uniform single-transmitter sampling; other waveforms change the limits.STILL AN OBSERVATIONA return at 8 m, 20 degrees and −3 m/s does not identify a wall or give the robot pose. Repeated observations must agree.
10 / 3303 · DETECTIONWhich peaks count as detections?Inspect one cell’s guard and training windows; then introduce a clutter edge.THE MODEL\[\tau_k=\alpha\,\overline P_{\rm train},\quad\alpha=N(P_{\rm FA}^{-1/N}-1)\]CA-CFAR estimates the local background from neighboring cells.Guard cells keep the tested peak out of its own background estimate.WHAT TO WATCH NEXT1 · Inspect a cellThe highlighted windows explain its threshold.2 · Tighten the design rateFewer cells pass the test.3 · Add the clutter edgeA homogeneous-noise assumption fails.
11 / 3303 · DETECTION · EXPERIMENTWhich peaks count as detections?Inspect one cell’s guard and training windows; then introduce a clutter edge.
12 / 3304 · COORDINATESA point changes coordinates, not location.Change the assumed pose and watch the same local return move in the map.THE MODEL\[q=\begin{bmatrix}r\cos\theta\\r\sin\theta\end{bmatrix},\qquad\hat m=R(\psi)q+p\]The measurement stays fixed in the radar frame.The pose determines its placement in world coordinates. A wrong pose makes a wrong map.WHAT TO WATCH NEXTTranslate.Every placed point shifts equally.Rotate.The point and uncertainty ellipse turn around the sensor.The ellipse shows measurement uncertainty only.
13 / 3304 · COORDINATES · EXPERIMENTA point changes coordinates, not location.Change the assumed pose and watch the same local return move in the map.
14 / 3304 · UNCERTAINTYAngular error grows sideways with range.An apparently precise range can still give a wide lateral uncertainty.POLAR → CARTESIAN\[\Sigma_q\approx J\Sigma_{r\theta}J^{\mathsf T}\]\(J=\begin{bmatrix}\cos\theta&-r\sin\theta\\\sin\theta&r\cos\theta\end{bmatrix}\)A USEFUL SCALE\[r=20\,\mathrm m,\quad\sigma_\theta=1^\circ\]\[r\sigma_\theta\approx0.35\,\mathrm m\]Angles must be in radians in the multiplication.ADD POSE UNCERTAINTY\[\Sigma_m\approx R\Sigma_qR^{\mathsf T}+J_T\Sigma_TJ_T^{\mathsf T}\]This sum assumes independent point and pose errors.MATCHING CONSEQUENCEEuclidean nearest neighbors are a teaching baseline. Radar uncertainty, multipath and changing scattering centers often need richer models.
15 / 3305 · EGO-VELOCITYStatic objects reveal the radar’s velocity.Compare robust and ordinary fits to exactly the same Doppler observations.THE MODEL\[\dot r_j=-u_j^{\mathsf T}v_R+\epsilon_j\]A moving radar sees nonzero Doppler from stationary objects.All static returns share one velocity-dependent pattern. Moving returns violate that pattern.WHAT TO WATCH NEXTOutliers.Increase moving returns and compare the two fits.Geometry.Narrow the bearing span. Even a robust fit cannot recover missing information.Truth is only a reference.
16 / 3305 · EGO-VELOCITY · EXPERIMENTStatic objects reveal the radar’s velocity.Compare robust and ordinary fits to exactly the same Doppler observations.
17 / 3305 · MOTION INFORMATIONWhat can this scan actually constrain?Many measurements can still provide very little independent information.BEARING DIVERSITY\[U=[u_1,\ldots,u_n]^{\mathsf T},\quad\mathcal I\propto U^{\mathsf T}U\]Near-forward rays constrain forward velocity much better than lateral velocity.DOPPLER ≠ FULL POSEInstantaneous static-return Doppler constrains phase-center translation. It does not supply absolute position or a full orientation.REGISTRATION GEOMETRYParallel walls can weakly constrain along-corridor motion. Repeated geometry can support several associations. Convergence alone is insufficient.GAUGE ≠ OBSERVABILITYFixing the first pose chooses world coordinates. It does not create missing scene geometry or reliable matches.
18 / 3305 · ACQUISITION TIMEPut the returns at a common time.A scan takes time to acquire; motion can distort it before registration.DESKEW\[q_{\rm ref}=T(t_{\rm ref})^{-1}T(t_j)q(t_j)\]Use estimated motion to express every return at one time.PREDICTIMU, wheel odometry, Doppler velocity or the previous relative transform can supply an initial guess.INITIALIZATION ≠ PRIORA starting guess changes where the local solver begins. A motion prior must appear explicitly as a probabilistic factor or residual.PROCESSING ORDERCalibrate → timestamp → predict → deskew → filter → register.The toy run assumes instantaneous scans; it does not deskew.
19 / 3305 · SCAN REGISTRATIONMatch geometry. Estimate the transformation.Correspondences and poses depend on one another.TRANSFORM CONVENTION\[Z_{k-1,k}\approx T_{k-1}^{-1}T_k\]Current scan points map into the previous frame. Compose on the right.POINT-TO-POINT\[\min_{R,t,A}\sum_j\rho\!\left(\lVert Rq_j+t-q_{A(j)}\rVert^2\right)\]ICP alternates association and a rigid transformation update.POINT-TO-LINE\[e_j=n_{A(j)}^{\mathsf T}(Rq_j+t-\mu_{A(j)})\]Oriented surface points model local structure, as in CFEAR.ACCEPTANCECheck overlap, residuals, conditioning and plausibility. A solver returning a transform is not a reason to accept it.
20 / 3305 · SCAN REGISTRATIONOpen up one ICP iteration.Alternate the two stages, or animate the solve. Watch the residual history alongside the geometry.THE MODEL\[A\leftarrow\operatorname{NN}(Rq+t),\qquad (R,t)\leftarrow\operatorname{fit}(A)\]First freeze tentative correspondences.Then solve their weighted rigid alignment and compose the correction. Recompute matches at the new pose.WHAT TO WATCH NEXTStart nearby.Watch the scan settle onto the reference.Start poorly.A local solver may reach the wrong alignment.Tighten the gate.A low error from few pairs can mislead.
21 / 3305 · SCAN REGISTRATION · EXPERIMENTOpen up one ICP iteration.Alternate the two stages, or animate the solve. Watch the residual history alongside the geometry.
22 / 3306 · BUILD A MAPPlace the new scan. Keep useful history.A map can retain local observations and their poses.SCAN-TO-SCANMatch the previous scan. Simple, but weak overlap and measurement errors accumulate into drift. This is the toy front end.SCAN-TO-SUBMAPMatch several recent keyframes or local surface geometry. History provides more context but may include stale or dynamic returns.KEYFRAMESRetain scans after useful translation, rotation, elapsed time or overlap changes. Store local points, timestamps and ownership.PERSISTENCEBright returns need not be permanent landmarks. Viewpoint, dynamics and multipath change what is observed.
23 / 3307 · ENFORCE CONSISTENCYTurn relative motion into a graph.Poses are vertices; uncertain relative measurements are edges.CHAIN + REVISIT\[T_0\xrightarrow{Z_{01}}T_1\longrightarrow\cdots\longrightarrow T_K\]A chain can be satisfied exactly by composition—and still drift.A verified revisit adds competing evidence between distant times.WHERE IS THE MAP?In a pose graph, local scans attach to poses and move with them.A landmark graph may optimize poses and map features together.The graph defines the problem. The optimizer solves its chosen objective.
24 / 3307 · WEIGHTED RESIDUALSNoise determines how much an edge matters.The lab uses a coordinate residual with wrapped heading.RELATIVE-POSE DISCREPANCY\[r_{ij}=\begin{bmatrix}R_i^{\mathsf T}(p_j-p_i)-z_{ij,t}\\\operatorname{wrap}(\psi_j-\psi_i-z_{ij,\psi})\end{bmatrix}\]WHITEN → MINIMIZE\[\min_{T:\,T_0\;\mathrm{fixed}}\frac12\sum_{(i,j)}\lVert\Sigma_{ij}^{-1/2}r_{ij}\rVert^2\]Smaller covariance gives an edge more influence.ROBUSTNESS HAS LIMITSA robust loss reduces large normalized residuals. It cannot certify an association or repair missing information.
25 / 3307 · VERIFY REVISITSA familiar place is a hypothesis.Retrieve a candidate, then test its geometric consistency.1 · RETRIEVEUse place descriptors or structural similarity to propose an old keyframe. Proximity of drifted estimates is not enough.2 · VERIFYRegister scans or submaps. Check overlap, ambiguity, residual quality and agreement with other information.SUPPLIED IN THIS LABThe candidate is frame 0 ↔ 48. Its transform comes from scan registration, initialized at identity. Place retrieval is not implemented.FALSE CONSTRAINTSAn incorrect, confident edge can deform the entire map. Robust loss is useful protection, not a substitute for verification.
26 / 3307 · POSE-GRAPH OPTIMIZATIONLet a loop correct the whole trajectory.Try a valid loop, a false loop, and robust loss. Compare geometry as well as the objective.THE MODEL\[(J^{\mathsf T}WJ+\lambda D)\delta=-J^{\mathsf T}Wr\]The same scan-derived odometry run supplies the chain.A loop residual changes all free poses. Stored local scans are re-placed after every accepted update.WHAT TO WATCH NEXTStep the solver.Watch cost and position error separately.Show the map.Historical scans move with corrected poses.Inject a false loop.Lower cost can still mean a worse map.
27 / 3307 · POSE-GRAPH OPTIMIZATION · EXPERIMENTLet a loop correct the whole trajectory.Try a valid loop, a false loop, and robust loss. Compare geometry as well as the objective.
28 / 3308 · FINISH THE UPDATECorrecting poses must also correct the map.Keep the observations in local coordinates so they can be placed again.BEFORE\[\hat m_{kj,\rm old}=T_{k,\rm old}q_{kj}\]Drift duplicates or smears repeated observations.AFTER\[\hat m_{kj,\rm new}=T_{k,\rm new}q_{kj}\]Move every retained scan with its corrected pose.TRY ITEnable the scan map in the preceding lab before optimizing. Point placement is recomputed at every accepted solver step.PRESERVE OWNERSHIPA flattened cloud in an old world frame loses the information needed to correct individual scans cleanly. Fused maps may need reintegration.
29 / 3308 · THE ALGORITHMEvery stage has an input and an output.Run global correction when useful; keep the local estimation cycle moving.EACH ACQUISITION01 Form available measurements.02 Calibrate, timestamp and deskew.03 Predict, select and register.04 Inspect the match quality.05 Update pose and local map.WHEN A KEYFRAME IS USEFUL06 Retain local scan and pose.07 Add the relative-motion edge.08 Retrieve and verify revisits.09 Optimize accepted constraints.10 Re-place the map.
30 / 3309 · BEYOND THE TOYWhat changes in 3D?The same geometric principle needs richer states and enough spatial information.SPATIAL RETURN\[q=r\begin{bmatrix}\cos\phi\cos\theta\\\cos\phi\sin\theta\\\sin\phi\end{bmatrix}\]Azimuth and elevation follow device conventions.SPATIAL POSE\[T_k\in\mathrm{SE}(3),\quad\hat m=R_kq+p_k\]Three translation and three orientation degrees of freedom.EXTRINSICS\[T_{WR}=T_{WB}T_{BR}\]\(v_R^B=v_B^B+\omega^B\times p_{BR}^B\)Rotate phase-center velocity into radar coordinates for Doppler.OBSERVABILITYPoor elevation geometry can weaken vertical motion or orientation estimates. IMU fusion can help; calibration errors can mimic motion.
31 / 3309 · EXPERIMENTS TO REVISITTry to break the estimator.Change one cause and observe the corresponding failure.RANGEReduce bandwidthWatch neighboring reflectors merge.REVISIT THE CONCEPT →DOPPLERNarrow the bearing spanWatch lateral information disappear.REVISIT THE CONCEPT →REGISTRATIONStart with the wrong headingWatch a local solution become misleading.REVISIT THE CONCEPT →LOOP CLOSURETrust a false constraintWatch cost improve while geometry worsens.REVISIT THE CONCEPT →
32 / 3309 · CONNECT THE CONCEPTSRadar SLAM is not automatically radio SLAM.Share the inference tools; keep the correct propagation model.MONOSTATIC SINGLE REFLECTION\[c\tau=2\lVert m-p_R\rVert\]Colocated transmitter and receiver; range is half the traveled path.BISTATIC SINGLE REFLECTION\[c\tau=\lVert m-p_{TX}\rVert+\lVert m-p_{RX}\rVert\]Separated transmitter and receiver; account for clock offsets.MULTIPATHA conventional front end may reject it. A multipath-aware model can instead infer surfaces or virtual anchors, with appropriate associations.SHARED BACKEND PRINCIPLEDefine states, predict the actual observations, quantify uncertainty, and infer consistent geometry.
33 / 33REFERENCE DESKRead the methods. Know the simplifications.Primary sources for the concepts; the browser labs are independent teaching implementations.TI · TI · FMCW sensing fundamentals ↗CHIRP · TI · Chirp configuration ↗CFAR · MathWorks · CA-CFAR ↗RAVE · RAVE · Ego-velocity ↗CFEAR · CFEAR · Radar odometry ↗RADAR · RadarSLAM · Full pipeline ↗TBV · TBV · Loop verification ↗CERES · Ceres · Pose-graph formulation ↗EFEAR · EFEAR-4D · Doppler + registration ↗SCOPEImplemented: DFT, CFAR, coordinate transforms, RANSAC, ICP, pose composition and graph optimization. No real sensor driver, deskewing, automatic place retrieval or benchmark reproduction.