Will Robots Rule the Road?

Robot cars are a reality, having already proven themselves in desert and urban road settings, accumulating thousands of miles of travel in the process. Sebastian Thrun was the leader of a Stanford University team whose entrant, Stanley, won the DARPA Grand Challenge in 2005. Sebastian is also the co-founder of the online university Udacity.com. Fortunately I will benefit from both of these facts because, as of yesterday I enrolled in Udacity’s class, cs373, Artificial Intelligence (Programming a Robotic Car), as taught by Sebastian himself. That’s kind of like being asked to land on the moon with Neil Armstrong as pilot.

Only one lecture in, but I can tell already it is going to be a great course. Taught using python, it seems to be a perfect extension of what I’ve learned in my two preceding Udacity classes, cs101 and cs212. Look for my ‘udacious’ impressions in an earlier post.

Robotic driving necessarily involves the application of artificial intelligence insofar as the car has to make autonomous decisions continuously based on it’s perception of its environment using onboard sensors. It also has to effect correct guidance and control commands using its mechanical actuators. Much of this type of command and control is commonplace in other applications, but what makes this different is the need to inform those commands based on real-time application of probabilistic modeling and decision-making.

To digest, and check my understanding, I will reflect on it herein.

a Data Flow Diagram for a simple localization function

The first function is called localization; the robot has to accurately know where is compared to where it has been told it might be. Note that the image embedded above is a Data Flow Diagram in which I will capture my interpretation of this concept using a model notation familiar to the practice of functional analysis.

The map of where the robot might be has several components. The first is represented by a base probability that is equal to 1 divided by the number or possible locations. If however some of the locations have distinguishing features that can be sensed by the robot then another product can be introduced. Detection of a sensed value representative of the feature indicates a higher likelihood that the robot is next to that feature. However there may be more than one instance of that feature. As such a probabilistic signature has to be formed. The overall map is representable by the product of the feature map as multiplied by the base probability.

The robot sensing of a location feature can be simulated in code and then provides the basis for a probability equation that allows to robot to say to itself, if I sense this type of feature, when compared to the input location map, then I am at any given location with a particular probabilistic certainty.

The requisite math, and its implementation in python, were covered in the lecture. To me it was gratifying that what I have been learning in cs101 and cs212 enables techniques required to solve AI problems. Furthermore I welcome this class because, despite five semesters of math for my aerospace engineering degree, I was not deeply exposed to probability theory in that curriculum.

As an aside, and in the spirit of “synthesis,” which is part of the system engineer job description, I was struck by the similarity between localization and the “orientation” part of the OODA Loop. I have discussed the OODA Loop in a different context, for my own decision-making purposes, in an earlier post. So for different reasons I am exposed to similar concepts once again. I should not be surprised though. The OODA Loop represents a command and control mechanism that in fact includes a localization component. A component which is carried out real-time by a pilot for effective decision-making in combat. As such combat piloting and robotic driving are more similar than you might think at first glance.

I don’t know what’s next in the class, but if continues to be as interesting as localization was, I’ll be a happy student.

Comments are closed.