|
Hi, as always i just had to visualize what we have learned in class. Because the matrix inversion was too slow to run in realtime in Java, I programmed everything to run on my GPU using JCuda. The position difference graph slam needs is estimated by a particle filter, which is also running on my GPU. The inner walls, and only every 2nd piece of wall is detected, because the inversion of the entire matrix, with so many landmarks (wall parts), would take too long else. The laser scanner runs at 10hz and has a range of 200px, and it's error a variance of 10px. The errors of the car have 3% (of max speed) variance for speed, and 5% (of max steering) variance. The GPS has a variance of 30px. The blue squares you can see in the video are the resulting position estimations from graphslam. The red square is the position estimated by the particle filter. It is amazing seeing the algorithm construct the map and how the initial wrong measurement of the wall position is quickly converging to the true position. WATCH THE VIDEO: www.youtube.com/watch?v=QKYe9hPoiHs
|
|
The GraphSlam algorithm we used involved known landmarks. However if you had a range finder, it might not be possible to label the landmarks. Does your simulation provide labels for the blocks which make up the walls to the agent? Yes, every piece of wall has an id. It's a little bit cheating on my part, hoped nobody would notice :P @Philipp, haha, no of course it's not cheating. We haven't learned how to do this in the course yet. Actually I'd be curious to read a little about how mapping had when you can't label landmarks. I wonder if it's an extension of what we've been learning, or if it's something completely new. |
|
This is really fantastic. Congratulations. In one of your other excellent videos, you show various paths that result from your planning algorithm. It reminded me of a video we saw earlier in class, where the car was trying to get itself out of a parking lot. So, what do all those little yellow fronds mean? The yellow lines are all expanded nodes. At every point the car can either go straight, max steer left or max steer right for 30 timesteps. Then, as we learned, Astar picks the one with the lowest cost, and expands this one. @Philipp, thanks for the explanation. |
