There's a free 7 week online Python AI programming course by Sebastian Thrun, Prof of Computer Science @ Stanford Univ and David Evans, Prof of Computer Science @ Univ of Virginia called CS373 Programming a Robotic Car (Google's Robotic Prius). The class is the first of its kind and it starts on 20th Feb 2012 and end 9th Apr 2012. you can sign up here... http://www.udacity.com/cs#373 Course Description: This class, taught by one of the foremost experts in AI, will teach you basic methods in Artificial Intelligence, including: probabilistic inference, computer vision, machine learning, and planning, all with a focus on robotics. Extensive programming examples and assignments will apply these methods in the context of building self-driving cars. You will get a chance to visit, via video, the leading research labs in the field, and meet the scientists and engineers who are building self-driving cars at Stanford and Google. Prerequisites: The instructor will assume solid knowledge of programming, all programming will be in Python. Knowledge of probability and linear algebra will be helpful. syllabus/course schedule ------------------------ Week 1: Basics of probability Car localization with particle filters Week 2: Gaussians and continuous probability Tracking other cars with Kalman filters Week 3: Image Processing and Machine Learning Finding objects in sensor data Week 4: Planning and search Determining where to drive with A* search Finding optimal routes with dynamic programming Week 5: Controls Controlling steering and speeds with PID Week 6: Putting it all together Programming a self-driving car Week 7: Final Exam Exam testing your knowledge for more info on the google car see... http://www.ted.com/talks/sebastian_thrun_google_s_driverless_car.html http://spectrum.ieee.org/automaton/...ntelligence/how-google-self-driving-car-works http://news.cnet.com/8301-11386_3-57343805-76/look-ma-no-hands-google-lands-patent-for-robot-car/ Prius Sensor system ==================== Velodyne 64 beam laser ranger ( 3d map of environment sync to gps map) four radars - on front and rear bumpers( traffic collision avoidance). video camera (traffic light sensor) GPS ( basic map based navigation, 11 cm resolution map) inertial measurment unit Wheel Encoder ( vehicle location, speed) The programming language ====================== Python ( the actual robot uses version 2.5) --------- http://python.org/getit/ Python code is tested on a simulator but the actual Robotic Prius uses ARM Linux (Debian Squeeze) Python sample code ---------------- http://cdn.bitbucket.org/djlyon/smp.../downloads/Python User Group Presentation.pdf http://code.google.com/p/python-navigator/ https://bitbucket.org/djlyon/smp-driverless-car-robot/wiki/Home https://masterbranch.com/smp-driverless-car-robot-project/1091494 Python interfaces with the sensors via Pololu Maestro (drive servos and read analog sensors) -------------------------------------- http://www.pololu.com/docs/0J40/all http://code.google.com/p/python-navigator/wiki/ControllingPololuMaestro http://code.google.com/p/python-nav...ki&r=84b6371bbaf54c2bdab5c05a5a2ae585865cd469 (FYI - I've signed up)
Just wondering - why would you be motivated to learn this programming unless you own or have access to one of these vehicles?
We have all the tools to make cars drive themselves on the expressway, but we're at least 20 to 50 years away from having them be able to drive in the city. The problem is that every car would have to have the technology synched together for it to run safely, the government can impose regulations on new cars but they can't really force you to get rid of your old car and buy a new one. Yesterday I saw an old episode of Top Gear where a BMW was driven around a race track once and then it had learned it and was able to drive around it safely at very high speed.
I like robots and cars so it's a natural for me. I also have a background in high level mathematics and programming so the math and picking up Python ( they are using Python 2.6) shouldn't be outside my own capabilities; however, for those without programming experience or with a weak math background - this class might very well be very difficult if not impossible to do. From what I have been able to piece together they have a Google Prius simulator to run the coding assignments. I'm not sure why Google picked a Prius (Thrun's Stanford DARPA Robot Race car used a VW Toureg). Regardless of what vehicle is used - the AI algorithmic and networking structure of a real time multi-processor multi-sensor array system for autonomous navigation should be the same albeit it is still a non trivial and interesting. Google's Driverless Prius uses non-open source software. From what I understand, Thrun would like to translate all of Google's Driverless Prius code into open source code/software modules.