[The fancy lecture theatre, with seats more comfortable than my bed and audience michrophones in every other arm rest for questions! (though it looks rubbish in my panarama)]
Alice managed 8 miles in the last challenge (won by stanford), before getting a taste for journalists and mounting a concrete barrier. Unlike Stanley, Alice appears to have been programed totally by hand, mostly by CalTec undergrads. Though i was thwarted again on the post talk question front, i did send him an email (as he suggested while leaving):
I attended the lecture this evening, but the schedule was such that you had to leave before I had a chance to speak to you.
From what I can see, Alice was/is a system entirely hand crafted by very talented engineers. Have you used, or considered using, any automated design processes (genetic algorithms, etc) or machine learning techniques to reduce the volume the programming required to produce such a complicated system?
Do you feel that a fully automated vehicle, as a finished consumer product, would need to be carefully pieced together by engineers in order that it meets safety, predictability, or any other requirements?
While having enormous respect for the abilities of you, your colleges and students, and robust development techniques, I personally can not foresee a complete solution to the real-world automated driving problem using solely these methods.
I understand you are extremely busy and these are quite open questions; a link to related discussions you have had previously would be gratefully received.
Cybernetics undergraduate at the University of Reading
I'll post a reply if such unlikly event transpires...
...2 hours later (I shall eat my words):
Sorry we didn't get a chance to talk at the lecture.
You are right that Alice is pretty much "hand crafted", at least atthe design stage (meaning: we use lots of optimization inside, butreal-time optimization rather than design-style optimization). Wedid do some spreadsheet analysis for looking at different sensoroptions, but I can't think of much else beyond that.
The difficult in applying automated design tools, at least for me, isfiguring out how to parametrize the system. If there are good toolsavailable for doing this for software systems (where there are almostno physical constraints that can guide the design), I would certainlybe interested in considering them. Nothing that I know of is capableof deciding what the content of a message should be and how we amodule should reactive to a directive that is sent to it. This maybe something where I am ignorant though. Definitely let me know ifyou have heard of something along these lines.
We have talked about doing work with machine learning, but haven'tcurrently put anything like that into our design. These can betricky, I think, since they can only learn about things they haveseen. For example, it seems hard to believe that we could learn howto handle the failure that occurred in our 2005 vehicle. Inretrospect there are many fixes to the problem, but with a system ofthis complexity we can't possibly explore all of the options.
Having said that, we are very interested in how to design reliablesoftware control systems. A link to a separate project that we arepursuing with those goals is
This takes the point of view that whatever your design method, youeventually have to verify that it meets your specification and alsovalidate the design in the presence of things you haven't thoughtabout. In the project above we are focused on the first part of thisproblem.
Thanks very much for coming to the talk and for you questions!