Autonomous DeLorean drives sideways to move forward
news.stanford.edu
news.stanford.edu
It's interesting what's happening as the control theory people get into machine learning. The controls people don't typically run a neural net as a controller. They use the trained net as a tool for building a controller with known continuity properties. The trouble with pure neural net controllers is that they sometimes do something totally bogus for some data point within the normal input space. That's not OK in control systems.
This has all the math of machine learning plus the math of control theory and I don't understand it, although I sometimes look at the papers.
[1] https://news.stanford.edu/2015/10/20/marty-autonomous-delore...
This sentence and comment is a revelation to me so thanks!
I was very into control theory from 2001-2006 before jumping into Bayes nets and eventually ML. Having not really returned to CT since, it's always been a question in my mind how to use ML for SCADA & PLCs without running into the problems that you describe. As with most problems like this, it seems obvious now that it's described as such - though not actually obvious to those like me outside of it!
It seems like our options for ML are currently: self-play, dataset fitting, or human feedback. It's possible to solve any problem that can fit into one of those molds.
(Unfortunately the opposite is true: if a problem doesn't fit into those categories, it seems very hard to solve with any form of ML.)
But, now that I think about it a bit more, the sentence "use a trained net as a tool for building a controller with known continuity properties" seems neither obvious nor straightforward to do. I'm decently well-versed in AI techniques at this point, and I can't really think how I'd sit down and write a program that would generate such a system. Anyone have any leads?
Basically, the goal is to make a neural net that helps you design a system that can be predictable. One way would be to write a loss function that penalizes unpredictability, and then let it run until it converges on a predictable control system. But that's a bit like saying "Just draw an owl." Not so easy to think of the actual code to do that.
The machine learning part is used to get a predictor. You operate the thing and train a model of what will happen for various inputs. The machine learning system is just an observer in this training phase; it doesn't control anything. You train from recorded data.
Then you use the trained model to tune the controller. The model lets you get an output for any set of inputs, so you can now choose input test sets which are suitable for tuning the model, like changing one input at a time and noting the output change.
Automatically generating the structure of the controller (how those blocks are connected) is a separate problem. That's called "system identification".
See [1].
[1] http://www.mpc.berkeley.edu/research/adaptive-and-learning-p...
I’ve been struggling to find where machine learning starts and what is just good old statistics (used in data mining for ages) and search algorithms like A*.
In control systems you need to do inference to predict feedback signals +- noise.
So you can use a neural network for that. Train it on input and feedback data from your samples.
Your control system still needs to account for predictability, smooth behaviour etc so you have the rest of your machinery to handle that.
This is not an end-to-end system though.
Anyone know if there are end-to-end deep learning controllers with guarantees on the output space?
A friend's theory on Google Maps is that it sometimes intentionally sends you down a non-optimal path in order to gather data on alternate routes. This friend isn't in the ML space, so this is just their anecdotal observation. Are they right, then?
Google's implementation is impressive, but I see no reason why it would benefit from people traveling suboptimal paths.
Don't take that as a dismissal of Google maps: it's the most impressive path finder I know, working with high performance over long distances, taking into account real time information, and calculating meaningful alternative routes to choose from. It's an impressive piece of technology that actually makes the world a better place by saving humanity a lot of travel time that can now be spent on better activities.
Google Maps would certainly be high on my list of best inventions of the last few decades. At the same time the routing is just a good path finder with a good travel time estimator informed by real time data.
I'm not a bloody ant or part of their hyper-organism.
It sometimes suggests a route I don't normally take, then when I continue on the route I normally take, the ETA updates to say I will now arrive sooner.
Google Maps intentionally suggests to take longer routes.
However the interesting thing about braess paradox is that even if you keep the number of cars constant, introducing a new road can make travel times worse.
Is that actually true? Everything we do at work with neural nets seems to indicate continuity. We do stuff with mathematical simulations and imagelike processing. Latent space for auto encoders tend to be smoothly varying throughout the range of outputs.
I thought the problem is just that it isn't proven that neural nets are sufficiently smooth.
If you had all possible images of all possible roads in all possible (lighting, weather,..) conditions, etc. then the ideal behaviour is just a function from all inputs to all desired actions. In the absence of this infinity of data you need a model. Any model which has no explicit understanding of the causal behaviour of an environment is going to misbehave for one of those unseen data points (eg. an unseen road in a weather/lighting/etc. condition).
"Correct"(/Safe) behaviour is not a function of pixels. No statistical model which associates pixel patterns with action can be correct.
I disagree. That sounds like an older interpretation of behavior of simple deep nets like the inception family. My experience with auto encoders and GANs is such that the nets can and unquestionably do interpolate between training data points. What's more, the latent spaces display order reflecting logic - much in the way that you can perform arithmetic on BERT encodings in what amounts to a form of logic. This is the where SOTA is now and I think it's a strong step towards AI, though we're still far from it.
The trick is in understanding the boundaries in high dimensional space that your training data represents. So there is some degree of covering all your bases, so to speak, and that requires a new kind of intuition. These are very exciting times in tech/ML.
The problem is that the right behaviour is not a model fitted to that data. It isn't "fitted" at all.
When I turn the thermostat the temperature in the room increases. If the thermostat is broken, the temperature does not. The predicting the effect of the thermostat on the room requires intervening in the room to find out if it is broken; it requires having a model of the room, of the thermostat, etc.
No system that is not in direct causal contact with its environment can adapt to it. The system -- as it is in contact --- needs to be explicitly modelling the causally relevant features of that environment.
This isn't a statistical problem. You cannot learn a function over images to actions because the environment is absent from those images.
An infinite number of 2D images contain no 3D information. An infinite number of 3D images contain no skeletons (ie., inner-structure of objects). An infinite number of images of object pieces contain no information on object behaviour. An infinite number of videos of an object behaving contains no information of its behaviour when broken. An infinite number of videos of all possible breakages in all existing environments contains no information about behaviour in new environments.
Animals solve this problem by playing with objects, building models of those objects (their causal properties, ie., how they interact with other objects). That requires being-in an environment and explicitly modelling it.
There cannot be a "non-bogus" system arrived at via ML. Statistics itself is deficient in providing tools to design systems that "do what they should".
Any paradigm which makes the cartesian assumption that "behaviour is a function of data" is necessarily incapable of intelligent adaptation. Environments "as data" are infinities.
ie., For statistics to work you need all the relevant variables of an environment to make the "correct decision", and all the data needed to train against those. That's infinite.
The "child on road" column isn't going to be fed into the machine. The machine does not, and cannot, even model what a "child" is. Patterns among fractions of infinites is not a basis for saftey (, nor for intelligence).
I don't mean to dismiss your points, though. I wholely agree that if we really want to be moving towards an AI that is anything like animal intelligence, things like play are crucial. I'm a big fan of the attention schema theory. And if that is right, then building systems that can generate such models for their own mental state and others is the way to "consciousness".
https://en.wikipedia.org/wiki/Attention_schema_theory
It's all well and good to build systems that can look at faces and statistically say, "oh they're mad". And I think people have this idea that maybe if we build enough of these systems and jam them together, we'll make an SI. But until we can build systems that can model why that person is mad, based on the system's own experience and models, we're just making parlor tricks.
A model of that kind has to be able to generate predictions given the agents interaction with the object. Ie., how will the thermostat behave if I turn on the air conditioning.
The problem is that we acquire these models during an entire lifetime of being embedded in an environment, esp. a social one.
A self-driving car is never going to predict human behaviour given its own behaviour without having lived a human life. The question of what it should do given how another driver/pedestrian/etc. behaves isn't something it can solve with "mere statistics".
It might be that human behaviour around roads ends up being extremely predictable, I'm doubtful that's the case. I think a car is going to need a Theory-of-Mind to navigate complex social driving environments, ie., a causal model of the behaviour of other animals.
As someone with a lot of experience in self-driving cars, my opinion has changed over the course of the last decade from "we can create smart enough models of these separate problems to create a statistically safer product" to "first you need to invent general AI."
It becomes immediately obvious as you encounter more and more edge cases, but you would never even begin to think of these edge cases and you have no idea how to handle them (even when hard coding them on individual cases - and you couldn't anyway as there are too many) so you realize the car actually has to be able to think. What's worse, it has to be able to think far enough into the future to anticipate anything that could end badly.
The most interesting part of self-driving cars is definitely on the prediction teams - their job is to predict the world however many seconds into the future and incorporate that into the path planning. As you can guess, the car often predicts the future incorrectly. It's just a ridiculously hard problem. I think the current toolbox of ML is just woefully, completely, entirely inadequate to tackle this monster.
But translated to the problem at hand, your argument is correct.
start here: https://arxiv.org/pdf/1312.6199.pdf
I think this is exactly what the GP was trying to say (at least, this is what I understand from it). The continuity bit is about the (non ML) controller, not about the neural network.
Nearly all neural networks generate continuous output. They do interpolate between their learned points. The problem is that it is very hard to verify (and impossible to predict) the interpolation function, so it may cross outside of the safety area on any point.
Just in time for the 30th anniversary of back to the future. Nice.
When they try to compete with the best racers in the world, they do lose by a consistent amount. It turns out the human racers are constantly pushing the vehicle+tires to the limit of control to understand the sharpest possible turns they can make without losing time. As the tires wear, the human is in constant learning mode to compensate turn approaches as the coefficient of friction changes.
Work on the DeLorean will hopefully feed into their racing controls and then they might be able to beat the best human racers in the world on arbitrary tracks.
Moving from directly piloted controlled surfaces (rudder, elevator, flaps, ailerons etc) to using a computer to convert the pilot command input to servo actuators. Flight surfaces had much more authority, much better performance could be achieved, but the flight computer was in charge of safety and keeping the aircraft within limits.
Even servo assisted steering systems can easily become a bit numb. If you have ever driven a tractor it is very different from a light sports car without power steering for instance.
Sort of like how gaming driving peripherals added force feedback to make the controls more intuitive.
I'm curious how this would be applied in the real world. It almost seemed to suggest that a self-driving car would operate with those stability controls turned off, allowing it operate evasive maneuvers that would be impossible in a human-driven car.
Drifting as a sport exists to look cool and stylish. It's like figure skating with cars.
(There is one exception- off road racing on loose surfaces requires drifting. But driving that way off road is only useful for speed at the expense of safety and reliability.)
If you can't get the wheels to connect with the road, the first thing you'd want to fix are your tires - not your traction control system. Most people don't recognize how much better modern winter tires are compared to all season tires for driving on snow and ice.
so you need to have a "friction" (lateral and longitudinal) input to the model, so that the model forecasted car position matches the actual car future, to allow the autopilot to plan the correct avoidance maneuver
It's extremely difficult for me to contrive a scenario where this would help avoid an accident over a standard traction control model found in any modern automobile. But technically I guess it's possible it could help.
pretty easy actually. car ahead swerve to avoid an obstacle. autopilot don't see the obstacle until the car ahead swerve. autopilot has to change lane to avoid obstacle.
if it has recently snow some lane will have different traction than others.
this is what happens on most of these pileup videos you see on youtube, so while not common (there are a handful a year after all) they aren't just hypoteticals
tl;dr. nothing you can do on the black ice. but if you have tracking again there might be faster and saver ways then "first stop drifting, second start driving in the correct direction".
I’ve seen some technologies for doing just that. Black ice isn’t very easy to distinguish from other surface conditions cheaply, but the technology exists. (It just has to reach volume production).
But on a more serious note: it isn’t that hard to cope with if you are prepared. In general by choosing proper tyres and learning to drive in those conditions. In particular by learning to read the conditions so you can anticipate where there’s localized black ice.
It's possible to drive safely in black ice conditions with the right tires and appropriate levels of caution.
Can on/off detection response times and recovery strategies be improved for black ice (and hydroplaning)?
If a car hits black ice, should it power itself down or should it max out the CPU looking for the instant traction returns on any wheel and do whatever it takes to try to slow down?
Black ice is an exception because once you start sliding on it there is not much you can do to regain control except ride it out and hope you don't hit anything before you get out of the ice.
Drifting, as most things, has its place. If you've ever gone karting on a wet track, you know that you can't really place first against competent drivers unless you use drifting to a significant degree.
Same thing with off-road driving, or driving in general that requires rapid direction changes with low surface traction.
If you extend the envelope for what driving dynamics you can handle I would imagine you could make a much more smooth and safe experience.
That being said: I’ve driven somewhat newer cars on wet race tracks, at speed, and I have to say I’m a bit impressed with how well they behave under stress. Still meddlesome, but not as dangerous as they used to be.
(But track use in slippery conditions are outside the envelope for a road car, so you’re better off with the assists turned down or off to avoid surprises)
There's nothing unusual about a car without stability control. ABS and traction control have only become standard features relatively recently. Vehicle stability control builds on traction control by attempting to predict the driver's intent instead of just preventing slipping.
I think that you are right, that it enable more drastic responses in situations that required them. The normal control mode would probably focus on passenger comfort though.
The article says that the car does "doughnuts with inhuman precision" and they want to develop vehicles that can handle "emergency maneuvers or slippery surfaces like ice or snow". In this context, I feel this demo falls a bit short. The car can drive with superhuman precision, but it also gets superhuman capabilities like inch-precision localization (and an IMU is my guess) or superhuman steering wheel turning speeds. And the vehicle is heavily modified for this specific use-case. Drifting looks stable in the video but I really cannot judge how much easier it is with this car than a normal car. In addition, the asphalt also looks fresh and clean. I would like to see what happens if it suddenly encounters wet surfaces (or ice).
edit: typos
It also isn't out of the abilities of a bog standard optical SLAM+IMU.
It will be an interesting time when a $200k production car can whip the pants of a multi-million dollar F1 racecar.
The current lap record for street legal cars is 6:40 set by a Porsche GT2RS MR.
The overall record is 5:19.55 set by a Porsche 919 Evo.
F1 last raced the Nordschleife in the 70s. The lap record is 7:06.4, but the track was 22.835 km long back then.
The Roadster might have a chance at beating the lap record for street-legal cars, but physic will make sure that it will not come even close to an overall lap record.
The torque from the electric motors means they do really well in a straight line drag race, but they're fairly pathetic at any race that involves manoeuvring over a longer course.
https://www.thedrive.com/news/30846/tesla-model-s-prototype-...
I bet you could make some pretty good money with such a fleet running open races that members of the public can pay to drive in.
The self driving system could keep track of the number and severity of its safety interventions which could be used to give time penalties at the end of the race [1], so that the winner is determined by the skills of the humans.
Besides racing, you could also do car chases that recreate scenarios from action movies. Add in something to simulate guns, and you could do scenarios where a car with a driver and a couple armed passengers is trying to escape a couple pursuing cars, each with a driver and armed passenger.
[1] Or maybe actually do the time penalties during the race. If the self driving system has to take over from you, it could slow you down for a bit before returning control to you.
Autonomous cars aren't necessarily better than race car drivers.. would be interesting if human racers and autonomous compete
They probably already have a bunch of lubricant on that lot in order to reduce wear on the tires.
That's a real skid pad at a real road course[1] with real rules and regulations[2], not some expendable engineering testbed greased up to save tires.
[1] https://www.thunderhill.com/renting/skid-pad
[2] https://www.thunderhill.com/s/Skidpad-Event-Guidelines-2018-...
Disclaimer: I learned a thing or a thing and half sliding around the back roads of the Sacramento levee system with water hazards on both sides. }:]
As an example, imagine an autonomous car is going around a bend and hits a large patch of black ice and goes into a slide. Current systems will struggle to handle the car and it could result in a crash. With this knowledge added the car will know how to handle slides and will recover easily.
Another example (given in the article) is if a person darts out into the path of the car it can perform a sharp turn and gracefully handle manoeuvring around them without losing control using this knowledge.
Recently, I drove a big 4WD SUV at about 5 mph onto ice in the middle of a 90 degree turn and lost traction in the front, and instead of doing anything helpful, the system decided the thing to do was engage the parking brake, which instead of stopping the vehicle put it into a slide, and almost got damaged because of it- when the vehicle stopped, it was less than half an inch away from a big transformer box in the front and less than 5 inches away from a concrete pole on the passenger's side.
I think I honestly could have done better without traction control than the stupid stutter-stutter click slide that came with it in that situation.
Yes #1 is that this is mostly Drifting techniques, which are mostly for show/style competition. The tyre slip angles mentioned are around 40deg, far past the optimal level of grip.
Yes #2 Racing techniques are more explicitly seeking to optimize for maximum grip, often found around 3 to 6 degree slip angles (depending on tyres, tyre pressure, tread & road temps, road cleanliness, dryness, etc.).
Both still are in the ranges of tyre slippage, at the edges of control, and burn tyres at crazy rates vs street use (drifting just insanely so).
Moreover, as someone with race training & experience, I can say that anyone doing full race/drift techniques on the streets as an ordinary practice is a real a*hole & a hazard.
BUT, all that said, it is absolutely critical to have thise techniques in your bag of tricks, available to use when something exceptional happens. In those rare-ish events, being able to use the full performance envelope of the vehicle is a real life saver, both for you and the others nearby.
So, for sure not every day, but these guys are absolutely right about the need to work on the full dynamic range of the performance spectrum.
are you referring to during a road race, or ordinary driving on ordinary streets? It would be great if you could try to provide evidence for the latter. I've never heard of accidents being avoided on highways because someone knew how to do racecar drifting. My own 30 years of driving experience would suggest that not tailgating, keeping a safe distance from the other cars, and being alert for those occasional race-car-wannabes whipping in between everyone, invariably always driving BMWs, is likely to be statistically much more effective.
Of course, in road racing, these skills are critical multiple times per lap.
On the street - there are still too many examples to list from direct personal experience.
Long trips, find myself in a severe snowstorm, or an ice storm where it's too slippery to even stand, cars off the road everywhere, I'm able to drive (w/ managed sliding) to make it through to destination or shelter just fine. Similarly, coming onto a muddy or oiled patch, same thing -- very handy to be able to both minimize the consequences of lost grip, or recover from a sliding situation without hitting anything.
Also the occasions where an obstacle is in the road by surprise behind a visual obstacle -car pulls out, parked in road behind corner, whatever, available space is closing -- being able to drive with precision at the limits of available grip makes the difference between a <whew - close one!> and a <mash the brakes, turn the wheel, bash into whatever> incident.
Obviously, alertness is key to everything (even w/ the best skills), and of course maintaining safe distances, etc. is also key, and the basis of any sound skill set.
Edit:, additional clarification, the traction controls in many modern cars also eliminates the option for many of the high-slip-angle moves. You'd have to turn of all thise features, or unplug the fuse, which is not possible on the timescale of an emergency maneuver.
Overall I was curious if you were suggesting I'd need to go to racing school and learn drifting in order to keep my family safe. thanks for clarifying.
Excellent question
Absolutely need it? probably not. Many situations are like the tricky one you described, where picking the least-worst snowbank was probably your best move. That said, only chance will tell if anything more hairy comes up (the thing that wigs me out most is dashcams of things coming in from the oncoming lane -- gotta be really alert, quick, and dynamic to survive).
Highly recommended? Absolutely!
I cannot recommend enough going to some classes that are typically called Car Control Clinics, and are often offered by the local SCCA (Sports Car Club of America), BMWCCA (BMW Car Club of America), and others.
IMO, these should be obligatory for all new drivers. They cover the general principles of the limits of grip, and how to manage the car at the limits, and how to drive more precisely both at ordinary speed and in quick situations (e.g., sudden-lane-change drill), how to keep the car balanced in maneuvers, how to get the most out of brakes, steering, etc. I took my mom to one once, and she had decades of experience in snowy climates, and she learned a huge amount and had a ton of fun - started out timid and was smokin' the brakes by the end of the drills! A great investment of a day and entry fee to cover the site, and a lot of fun.
If you want to move up into track day classes, autocross, and road racing - you'll learn all kinds of hings you never knew existed (true for me even w/top-level experience in other speed sports) and have the most fun you cna have with your trousers on
Please ping me if I can help you find options in your area.
Knowing how to control oversteer is a crucial skill when driving on snow and ice.
He was on the way home from something in the winter with a sedan fully loaded with his friends, when a semi truck in the leftmost lane of a three-lane highway lost control of the trailer and it went sideways across traffic. He was in the rightmost lane and avoided crashing into the semi trailer by sliding his car into the concrete barrier and driving sideways on it, thus evading the semi trailer and saving him and his closest friends from what would've been serious injury and possible fatalities.
Driving sideways on walls is not good for vehicles- that stunt totaled the vehicle- every single body panel was damaged, the wheel rims were all toast, and the vehicle's frame and structure was not in good shape afterwards- but it did deposit its passengers on the other side of the trailer in one piece.
If my dad hadn't broken the rules he did- driving in the shoulder, driving with two wheels on the ground, pulling a handbrake on the highway, and excessively accelerating, he would likely not be around today.
Once when I was driving, I took a left-hand (cross-traffic) turn and a vehicle in the oncoming lane decided to speed up instead of slow down. If I hadn't stomped the accelerator pedal and burnt rubber, I would've had my first accident on my second day on the road.
This isn't to say that most of the stuff that people do is good, or smart- but performance envelopes of vehicles- how fast you can go from 0-60, 60-GTFO, and whatever speed you're going to dead stop matter quite a bit- not for normal driving, but for when it isn't normal anymore.
Speaking of which, my dad also once chased a driver who rear-ended someone and sped off to get his license plate number before he could escape- he hit about 120mph chasing the person across traffic long enough to memorize their plate number and make/model.
It seems though that if you are actually trying to design autonomous cars that feature greater maneuverability than what is normally possible you'd instead ditch the whole assumption of a single steering column and all of that and just consider all the wheels as independent, or maybe add more wheels that engage for some kinds of maneuvers, or probably a whole lot of other things that im sure all the car people here know are possible if you are no longer constrained to controls created for a single human with only four limbs and extremely limited coordination and reaction time.
Wish theme parks had rides like this.
Wait, that's called landing autopilot.
Now we have the answer. It’s game over people! Even the fictional drivers in the movies have no chance against real world AI today.
This means in the future when an autonomous car or robot is chasing you — you may as well give up. You just better hope it doesn’t get cheap enough that someone can simply hire a swarm of robots or autonomous cars to kidnap people or incapacitate them or wreak havoc en masse (eg crashing into 10,000 gas stations at once).
:-D
Too many software engineers overlook the fantastic opportunity for cleverness when naming things. It's one of the hardest problems in computer science, but one of the most rewarding.
> “We’re trying to develop automated vehicles that can handle emergency maneuvers or slippery surfaces like ice or snow,” Gerdes said. “We’d like to develop automated vehicles that can use all of the friction between the tire and the road to get the car out of harm’s way. We want the car to be able to avoid any accident that’s avoidable within the laws of physics.”
The video also has some very interesting points about how the AI should be able to control the acceleration and braking on each wheel individually - so we really don't need to limit AI driving with human safety or control systems.
If the friction were variable and unknown it would get completely lost.
I wasn’t clear on that from the article.
One of their stated goals is to drift in tandem with another human driven vehicle though, so they are likely aiming for complete, adaptable autonomy.
This sounds like what every racer will tell you: When the car is sliding, you control your direction with the throttle and control the angle of the slide with the steering.
Does this demo hide something that we should know?
What would impress me (seriously). I go out the L.A. Colliseum parking lot, set up cones / a track that the car can definitely do (based on radiuses & turns in this video), the car "studies" the track (I don't care if a drone looks at it & takes measurements), and then the car calculates and executes a perfect path through the course the first time without hitting anything.
Again, not trying to crap on this, I'm just saying that anyone who's worked in controls, automation, engine control, etc. (I've done all these & more) isn't utterly wow'ed by this. Kudos, but we didn't just put a man on Mars.
Cannot find the video, though.
The way I see it, if you’re going to build an automated drift car, why not do it with some style?
How so? From what I can tell they're working to improve autonomous vehicle handling in extreme situations. That seems very practical and useful. I'm curious how you arrived at that conclusion about "internet points." Because the question I really want to ask you is against the rules here.
Also the capabilities of your mechanical rig pale in comparison to what this can apparently do.
echo $NICK | s/80mph/88mph/I got a 3 year old gt in 2007 and with that money today I could barely get a panda.
They're still making them?