Radar SLAM

Landmark management for radar SLAM

The aim of this project is to investigate the use of rotating synthetic aperture radar (RoSAR) in simultaneous localization and mapping (SLAM).

Typical SLAM Scene.


The first stage of this project has focused on developing a landmark management scheme [1] taking account of the following:

  • Landmarks contain multiple scattering/reflecting points
  • The angle between the landmark and the platform the sensor is mounted on, changes with the movement of the platform, resulting in varying numbers of radar detections over time
  • Clutter in the scene may result in false detections
At each time step the radar measurements are sifted, the selected measurements which are within a pre-defined distance of the existing landmarks are used for measurement association and to update the state.

Measurements which are not selected are used to determine if there are any new landmarks.

To determine whether an existing landmark should be deleted or an unconfirmed landmark should be confirmed we use M/N logic - if a landmark has been observed M times in the last N timesteps it is confirmed/deleted.
      graph TD
        A(k = 1) --> B(EKF Prediction)
        B --> C(Get radar measurements Zk)
        C --> S1(Calculate distances
landmarks to measurements) S1 --> S2{Distances
< threshold?} S2 --"Yes"--> G(Associate measurements) S2 --"No"--> H(Cluster measurements) G --> I(Delete landmarks) H --> J(Confirm landmarks) J --> K(Merge landmarks) I --> D(k = k + 1) K --> D D --> B classDef highlight fill:#9cd9eb,stroke:#f92080,stroke-width:1px; class G,H,I,J,K highlight;
Landmark management scheme, highlighted blocks are explained below.

Measurement Association

      graph LR
        A1(For each selected measurement)
        A1 --> A2(Calculate log distances)
        A2 --> A3{log distance
< threshold?} A3 --"Yes"--> A4(Update EKF state)
Measurement association procedure.
The first step is to check whether the selected measurements can be associated with existing landmarks based on a log distance measure.

The associated measurements are used to update the EKF state.

Landmark Deletion

      graph LR
        D1(For each landmark in state)
        D1 --> D2{Landmark associated
with measurements?} D2 --"Yes"--> D3(Update landmark) D2 --"No"--> D4{Landmark within range?} D4 --"Yes"--> D5{Landmark meets M/N
logic criteria?} D5 --"Yes"--> D6(Delete landmark)
Landmark deletion procedure.
In this step if a landmark is not associated with any measurements and is close enough to the sensor that it should be observed, we use M/N logic determine if the landmark should be deleted.

Deleting landmarks allows us to remove any which may have been incorrectly initialized or may have left the scene (i.e. a car has now left the car park).

Measurement Clustering

      graph TD
        C1(Cluster unselected measurements)
        C1 --> C2(For each cluster)
        C2 --> C3(Calculate distances landmarks to clusters)
        C3 --> C4{Distances < threshold?}
        C4 --"Yes"--> C5(Update landmark)
        C4 --"No"--> C6(Add cluster to unconfirmed landmarks)
    
Measurements which were not initially selected as close to an existing landmark are clustered.

If a cluster is within a specified distance of an existing landmark it is used to update the landmark otherwise it is considered an unconfirmed landmark.
Measurements are sifted with each red diamond representing a landmark, remaining measurements are clustered, with measurements that do not belong to a cluster treated as false detections.

Landmark Confirmation

      graph TD
        CL1(For each unconfirmed landmark) --> CL2{Number of measurements
> threshold?} CL2 --"Yes"--> CL3(Confirm landmark) CL2 --"No"--> CL4{Landmark meets M/N
logic criteria?} CL4 --"Yes"--> CL5(Confirm landmark)
There are two ways of confirming a landmark:
  1. If the number of measurements associated with the unconfirmed landmark are above a defined threshold
  2. If the landmark has been observed often enough according to the M/N logic
Once a landmark is confirmed it is added to the system state.
Landmark confirmation rules.

Landmark Merging

      graph LR
        M1(Calculate distances between landmarks) --> M2{Distances < threshold?}
        M2 --"Yes"--> M3(Merge landmarks)
    
Finally, there is still a possibility that two landmarks in the system may in reality relate to the same landmark.

If the distance between two landmarks is less than a set threshold they are merged.

Example EKF-SLAM with Landmark Management

Example of landmark management using EKF SLAM

Extended Targets

Current work [2] is looking at how to produce a more precise map, in order to better facilitate navigation and path planning.

To do this we are using an ellipse model to generate extended landmarks and investigating how to take advantage of the landmark extent estimation in the update of the EKF-SLAM.
Example of landmark extent estimation.

Code

Orientation estimation code can be found here: SLAM Landmark Management


References

  1. Landmark Management in the Application of Radar SLAM
    Shuai Sun, Beth Jelfs, Kamran Ghorbani, Glenn Matthews, and Christopher Gilliam
    In Proc. Asia-Pacific Signal and Information Processing Association Annual Summit and Conference, 2022, pp. 903–910.
  2. Mapping Extended Landmarks for Radar SLAM
    Shuai Sun, Christopher Gilliam, Kamran Ghorbani, Glenn Matthews, and Beth Jelfs
    arXiv:2210.17207 2022, pp. 903–910.