There's something I don't quite understand about SLAM. When a self-driving car wants to locate itself using a prior map, how does it do that when the environment keeps changing, e.g., new cars parked on the curb, etc.? Even if it uses a 3D map, the current sensor would be quite different to the prior map if there're new objects on the road.
2 Answers
The landmarks chosen for a given location should include many that only infrequently change - for example, features of buildings, such as architectural motifs, corners of the structure, utility installations etc. Parked cars would make for poor landmarks precisely because of their transience.
-
1$\begingroup$ But how are the landmarks detected? By running some form of object detection, e.g., using a CNN? That'd be quite computationally expensive. $\endgroup$– KarAug 8, 2019 at 15:36
-
$\begingroup$ Running the forward inference of ANN is not nearly as expensive as training, but yes, it can be expensive. For example, Tesla's 2019 self-driving computer has custom ANN chips and they say it performs at 72 TOPS (Tera/Billion Operations per Second), or about 21x more than the high-end NVIDIA GPU chips from the previous generation. $\endgroup$– DavidJAug 8, 2019 at 22:15
-
$\begingroup$ @DavidJ how is this 'landmarks selection' done ? and when ? Can you please share some info ? $\endgroup$– Pe DroSep 8, 2020 at 6:13
In addition to the DavidJ's comment, there is a technique called feature based odometer. Even the objects in the environment are not in the prior map, the robot use them to correct it's pose estimation. Scan matching is one of the methods use for this. When it sees a new landmark, move few steps further and if it's still able to see that landmark, it will match the current laser scan with a previous scan to calculate the pose error.