1. Attachments are working again! Check out this thread for more details and to report any other bugs.

Free online AI course to program the Google Driverless Prius / Car

Discussion in 'Gen 2 Prius Main Forum' started by walter Lee, Feb 18, 2012.

  1. walter Lee

    walter Lee Hypermiling Padawan

    Joined:
    Oct 26, 2009
    1,126
    376
    5
    Location:
    Maryland
    Vehicle:
    2010 Prius
    Model:
    III
    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)
     
  2. Patrick Wong

    Patrick Wong DIY Enthusiast

    Joined:
    Mar 8, 2008
    18,200
    6,479
    0
    Location:
    Green Valley, AZ
    Vehicle:
    2015 Prius
    Model:
    Two
    Just wondering - why would you be motivated to learn this programming unless you own or have access to one of these vehicles?
     
  3. cnschult

    cnschult Active Member

    Joined:
    Jan 9, 2008
    772
    96
    0
    Location:
    Michigan
    Vehicle:
    2005 Prius
    Model:
    N/A
    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.
     
  4. Ichiro

    Ichiro Member

    Joined:
    Apr 25, 2008
    335
    13
    0
    Location:
    SF
    Vehicle:
    2008 Prius
    I'm strangely tempted to take this class!
     
  5. walter Lee

    walter Lee Hypermiling Padawan

    Joined:
    Oct 26, 2009
    1,126
    376
    5
    Location:
    Maryland
    Vehicle:
    2010 Prius
    Model:
    III

    I like robots and cars so it's a natural for me. :D 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 :confused: (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.