# phoenixgarage.org

We then moved on to learning about a particular form of SLAM called "graph SLAM"; to be honest, I only barely understood it, but it had to do with building a set of constraints between landmarks and the robot's position, filling in a matrix and vector with this information. As you do this over and over, you can then apply a simple operation between them, and out will pop a "best guess" as to where the robot is in relation to the landmarks.

So what are ultimately landmarks? Well - landmarks are what you define them to be! For most cases, you can simply use measurements from your sensors (and the more accurate the sensor, the better). In our case, we pretended we had fairly accurate sensors (something akin to a LIDAR, I suppose), but you may be using something like an ultrasonic distance sensor with more noise/less accuracy. Regardless, each time you got a measurement (or series of measurements) you could define that as your "landmark" and correlate against that via future measurements.

Now - this brings up another issue with graph SLAM: If you are populating this matrix and vector over time, your robot is eventually going to run out of memory! It is possible, though, to automatically reduce the size of the matrix and vector while rolling the previous measurement data into the results. This was detailed how to implement it for the homework in Unit 6; it took me a bit to implement it, but I eventually got it to work.

After all of this, it was time to do the final, and I was stuck - stuck pretty bad, actually. If you saw my last article, you know where I was stuck: Probabilities. I absolutely suck at them. No two ways about it, it is a big failing of mine. I eventually got all of the problems completed and correct on the final, but for the ones on probabilities, for those, I don't understand the answers completely. I am hoping that when the class is "closed out" there will be an explanation for all of the problems. I had no problem implementing the programming portion of the final, where we were to build a virtual robot that used a path planner to move boxes in a warehouse; that came to me very easy (I understand A* now!). But in the instances where probability played a part - ugh.

So now I know what class I need to take next - I need to take a class on probabilities and/or statistics. It seems that for implementing AI and ML algorithms of any nature, that is a subject you have to be fairly good at to implement the algorithms successfully. For now, though, I am taking a break from classes, and maybe this fall or winter I can pick it back up and learn this needed subject.

Post New Thread