Obstacle avoidance with an UGV -HELP PLEASE-

sora628:
I looked at the course with Sebastian Thrun recently, and I'll look into them in the future.

If, as another has stated, you are really only 16 years old, you will likely -not- want to jump into the Udacity CS373 course on first go; I would say do the courses in roughly the order I placed them in (although I would place the machine learning one from Coursera at the same level or slightly below that of the CS271 course from Udacity).

If you don't have at least a good basic level of understanding of probability and statistics, you will get lost very quickly. I found that out myself when I took the ML course and the CS373 course; I had to do some remedial cramming over at the Khan Academy (highly recommended, btw) to brush up on those skills. You'll also want a good base level of understanding of linear algebra, and vector/matrix math.

I don't know what your level of understanding is on any of these; I know when I was your age (a couple of decades ago), such concepts were given fairly short amounts of time for learning, then on to the next thing (IIRC, the vector/matrix stuff was taught far more than the other topics). Your experience might be different.

sora628:
So if I understand, A robot has artificial intelligence if bases its movements on probability, as well as the real world interface and sensing?

No - the basic concepts behind probabilistic robotics is that a robot can't know where it is in an environment until it takes a measurement, and when it does, it can't trust that measurement implicitly, because all sensors have an range of error. Also - if you set a robot down in an unknown environment, and it takes a measurement of it's environment, that doesn't give it much knowledge about where it is at in the environment. It must "move" in some manner, and take another measurement. Of course, this movement may not be exact either (it has it's own error range) - so that has to be taken into account as well. On the second measurement, though, it can then compare what it has to what was measured before, and thus build up a "confidence map" of where it is located in the environment. Do this kind of thing over and over, and you ultimately can build a map of the environment (to a certain level of confidence - it will /never/ be exact, but merely a good model/interpretation) and know (again, to a certain level of confidence) where in that environment the robot is located.

That is the basic idea behind the concept of SLAM (Simultaneous Localization And Mapping) - see this wikipedia article (and also check the link to "SLAM for Dummies" in the external links):

...it should be noted that SLAM is a problem far from being solved. Professor Thrun makes this point several times in the Udacity CS373 course (though looking at how well the Google self-driving car handles, you would think it was!)...

sora628:
And I would also assume that it is programmed to react to every possible scenario that could ever happen--am I correct?

That's the point behind probabilistic robotics - you /can't/ program a robot to react to every possible scenario. Instead, through using various machine learning algorithms (it should also be noted that you can't just "pick one" and stick with it - real robots using PR systems utilize many/multiple systems in a collaborative fashion - sometimes even these are linked in a probabilistic fashion so that one system can't always override another), you can (hopefully) give the robot enough tools to sense and learn about the environment on the fly, and come up with solutions to unique or novel situations that present themselves, on the fly.