George Hotz is on a hacker crusade against the ‘scam’ of self-driving cars
theverge.com
theverge.com
Their low level control is done in Python, on top of Android, on a smartphone. No further comment, your honor.
https://github.com/commaai/openpilot/tree/devel/selfdrive/co...
it used to be that certain chipsets could do motor control by bitbanging the parallel port, but modern pcs/phones can no longer do this due to latency.
They weren't connected to other shuttle computers, were they?
https://airandspace.si.edu/collection-objects/calculator-han...
I remembered reading it in the newspapers at the time which would have probably make the reports generally pre internet (or pre newspapers on the internet) in the 1980's. Of course I could be remembering it wrong or it could have been a HP calculator ad.
* consumer hardware does not normally fulfil automotive safety requirements. It could for instance go into thermal shutdown or into a degraded mode if the temperature is too high. Additionally, there is no HW redundancy, I assume that if any of the HW components of the smartphone fail, the system cannot continue to maintain its safety properties.
* Android is a consumer OS, designed for consumer workloads. A real-time, safety certified OS like INTEGRITY, ThreadX, Nucleus etc should be typically used for such workloads.
* The safety-relevant software running on top of the OS is developed with specific toolchains and using specific programming languages. Some requirements [1] for a language used in safety-critical context are defined behaviour, explicit dependability support (e.g. design by contract), predictable timing, suitability for static verification, significant field use, strong typing (not necessarily static typing!), feasibility to restrict the language to a subset (e.g. MISRA, JSF, etc).
One of the most popular languages for such software is C, which is not safe and doesn't fulfil several of the above criteria. This is mitigated through tooling, processes, code generation, design validation & verification and so on.
[1]: Taken from Embedded Software Development for Safety-Critical Systems, Hobbs. Interestingly the author would personally choose D or Rust for safety-critical development with the condition of having enough confidence in the compilers.
This sounds crazy even to a person who makes living from running software on commodity hardware (x86/x86_64). Android does not sound like a hard real-time OS. I've seen it hang up in a fsckin' coffee machine! I don't want it at the center of two tons of steel that move 100km per hour.
Python has a GC as well, but we turn it off for the control loop processes. https://github.com/commaai/openpilot/blob/devel/selfdrive/co...
Haters love to bring up the Python, but they never stick around long enough to explain exactly why it's a problem.
Great for scripts, but there is a reason why most large companies start bolting on types on whatever dynamic language they started with.
Edit: also, Python does eagerly signal type errors, unlike say Javascript or C, so you don't get silently wrong answers. C is the default language in auto industry. .
Yeah, this is a bit of whataboutism, certainly it would be nice if the state of the art in production languages was closer to the ideal of statically verified... Haskell and Rust are in the right direction, and would be clearly superior in this regard
Statically typed languages are mature and you have no excuse not using them if your doing anything that approaching a need for reliability. Cars do, social cat pictures, not so much.
Why does everyone assume the phone is doing all the work?
Having your code open source means that outsiders will notice flaws in it, try not to "push back" too much against them. Sometimes they will point out serious flaws that allow you to improve your code significantly, sometimes they will point out non-issues or simply be wrong about things. So instead you should embrace it and take the time to consider the feedback. The crowd is a valuable resource that you have, that closed source projects don't.
Sounds like they're just using open source to avoid liability and side step regulators. I love open source, but I do not think it's being used for benevolent reasons here.
Such software needs to react in real time though, if the task that's turning the steering wheel gets preempted in the middle of taking a curve on a cliff your self-driving car will become a self-flying car.
Such a system would be the equivalent of a driver that suddenly starts texting at all sorts of poorly chosen times.
Among the processes that runs on the Eon, you can find algorithms for perception, planning and controls. Most of it is actually autogenerated code in C++ (see model predictive controls). Python code is used mainly as a wrapper and for non-computational expensive parts. To use functional safety terminology, the Eon functionality is considered QM (Quality Management). This means that any failure in delivering the desired output at the right time is perceived as bad quality and has no safety implications. So, how often those algorithms deliver the wrong output because some parts are written in Python? How often because RT isn’t enforced? Negligible. Pretty much all the mistakes of a level 2 driver assistance system are due to the quality of the algorithms, the models, the policies etc… There is a long way to go before changing the coding language will be the lowest hanging fruit to improve the system. Until then, using the simplest and most agile coding language (given performance constraints) is probably the best way to maximize quality.
However a analysing a million edge cases, making sure all failures fail in a safe way takes a lot of time and knowledge.
It made me think that this is a great demonstration of the difference between hobbyist hacking and professional engineering.
Thats true for a lot of things. Most developers can whip up a Slack clone in a weekend, create an uber clone in a weekend or create a Netflix clone in a weekend. But dealing with all the edge cases, the details, making it scalable, etc. that's were the pain is.
You make what you measure. This encourages companies to have their safety operators take over less often: if you tell the operators to err on the side of safety and take over more often, your car will look less safe.
I don't have a solution here, just pointing out how this actually can benefit companies that care less about safety.
The original rap diss of Sony who was suing him, actually badass :)
The biggest use of some kind of driver assist system is something that can keep me going straight and at a constant speed on a relatively open road while I twist open a bottle cap and take a sip of a drink. Making me have a death stare out of the windshield to avoid disengagement is about as useful as standard cruise control. Except standard cruise control isn't going to be prone to making a mistake about whether or not I'm paying attention, and then stopping my car because it isn't satisfied.
I don’t need to sleep or work for an hour during a commute. Not now not tomorrow. I can drive the damn thing or at least watch it drive itself. And like mr Hotz I believe that’s what it will be like for decades to come. My prediction is flying cars before completely self driving ones. And not some novelty one person quadcopter. I mean the proper Blade Runner ones.
Baby steps, man... baby steps
You’re teaching the AI in Tesla’s case. Theoretically, your drive is safer with driver augmentation safety systems in other manufacturers’ vehicles, even if they’re not contributing data back for algo refinement.
https://medium.com/@comma_ai/the-half-way-point-55662cef04f2
I mean, today, ditto. But for like at least 100M of the 300M+ Americans, that's not an option for various reasons...
You can't give bits and piece of automation for a vehicle. Mainstream tech is all about making it fool proof. Not giving warnings and calling about weighted death stats.
No level 1-3 system can get you from A to B unassisted.
Real self driving cars, on the other hand, only exist in inspirational videos.
A 24/7 transport system that gets you to the last mile and is cheap is an impressive achievement.
That's an interesting way to describe trains
I think (like Hotz) that very good assist tech is the future, and dodgy self driving tech is a temporary fad.
Complete autonomy on geofenced highways may well be good enough soon that we can sleep or work for 90% of the commute because the autonomous system can give us 20 sec to take over when confused, rather than 1. And that can probably be solved with very cheap hardware (1-2 cameras, a front radar) compared to the huge expensive lidar and camera arrays you need for driving in complex scenarios.
So if someone can make a system that offers fantastic assist and limited but safe autonomy for 10% of the roads but 90% of the driving time - that’s not a bad thing.
I think Hotz is wrong about the predictions of self driving cars, but he doesn’t have to be right to make this business succeed in the medium term because he is filling an entirely different market niche here.
A reliable and smarter cruise control can save so many lives. I think we’re trying to jump the gun sometimes.
The number of highway deaths is insane. If software just augmented humans better and saved those people/animals we’re coming out ahead as a civilization.
Curious, what kind of regulations does your country have in place?
Cars need to be registered to legally be on the road, and you couldn't register a car with some homemade self-driving tech attached to it.
If you had a small startup selling the tech, I'm sure there's some painful and lengthy process to prove it's safe. But certainly if the code is user-modifiable, it wouldn't be approved.
How do other countries operate without such regulations? Certainly I've seen some crazy car mods on the road in US TV shows that would never be allowed without masses of red tape here in Australia. Even to import a normal car from Japan to Australia you need to get child restraint attachments installed/engineer approval/etc.
I don't know how a car could possibly be considered safe otherwise. Some of those "Pimp my Ride"-type show mods just don't seem safe.
All of that begs the question of whether autonomous cars will save lives. It is always asserted that it will "because humans are such bad drivers compared to computers," but there's no actual, real-world data to back up that claim. Oh yes, some of these vehicles have been tested with millions of road miles, but that is far from the scale of billions or trillions of road miles on every kind of road under all conditions where people travel currently.
It behaved like a chronic dud. A bad self driving car would probably develop the same reputation.
Trips passing floors 3, 7, or any floor in which any resident has recently taken a shower, may revert this Fully Autonomous Lifting Device to human operated mode immediately following a n assertive audio tone. Failure to correctly operate the pop-up controls during this unlikely occurrence may result in death or serious injury to you and any other passengers. Please take the time to familiarise yourself with all operating controls that will rarely if ever be required."
I think the real reason that elevator operators stayed on for a period of time is the same reason that some older people sometimes reject new technology, such as smartphones or in-home digital assistants, even when it ostensibly makes a lot of things easier. The same thing probably happened with push-button elevators. People didn't want to have to think about pushing buttons when they were used to just stepping into the elevator and telling the operator what floor they needed, or more likely the operator already knew.
The designs for some of the first push button elevator circuitry was really cool tech.
It was a complicated problem because elevators could appear and disappear in a given building at will. Some would appear and operate within a building for only a few minutes. Otherwise could leave seconds after they arrived without signaling their departure. The circuitry had to account for this unreliability within the "network" of all possible elevators within a given city block.
The circuity in each elevator car also had to handle collision avoidance as new elevators appeared within the same shaft as other elevator cars that were already moving in that shaft.
It's fascinating to look at the designs:
www.archive.org/apples-and-oranges.html
Self-driving cars seem like a cake walk by comparison.
But it's fine for a lifestyle business I suppose. You can market to them and sell them over-priced odb2 fit-bit-for-your-car dongles. Until Honda or whoever comes out with a "good enough" consumer grade "auto-pilot" (whatever that means these days because you still have to watch the car like a teenage driver), you'll loose a huge swatch of users right there who are only spending time on it to be on the cutting edge of tech and to look cool for their friends. Once it becomes a blender, those users will leave and go on to the next thing that grabs their attention in a banner ad. Or else people will get bored, loose interest after the first few joy rides with their friends. I'd imagine retention would be difficult in a business like that which takes a lot of sustained effort and engagement from the users.
The only possible path forward in this market is to partner with an OEM (car manufacture vroom vroom), have access to users, or make some kind of must-have tech that you can then con one of the real big money backed self-driving companies into buying. I've seen a bunch of web apps popping up lately that offer to annotate your training data, those seem like a lot better pump and dump tech companies than this dashcam that plays Pandora and runs some cool python PID controller.
Also maybe in a country small, rich, authoritarian, and organized enough to build infrastructure around it and limit liability like Singapore or Luxembourg.
And oh look, a cheap and open source solution that gets you started in CommaAI. I think they (or a fork of them) are quite good candidates for the first system to reach one trillion miles driven. There will no doubt be carnage. But the benefits of self driving are going to be first on display outside of US markets.
People who know what they're doing technically are deeply aware of the issues with their technology. Anyone in this area knows how hard it is to make these vehicles work. He is finding out the reality of what he promised two years late and is spinning it to get more attention.
https://github.com/commaai/openpilot
No ability to deliver?
In general, are there any standardized tests for self driving cars, like car safety ratings but for the driving part? Basically, is there even a way to measure how good a driving system is?
In addition to us, we have a community of users on slack with thousands of miles of experience with each system. I think most would generally agree with the quality assessment. You'll also find a bunch of YouTube videos comparing them.
>> Not really. It's mostly subjective.
No. The quality of a safety-critical system is not subjective.
>> I think most would generally agree with the quality assessment.
You are not qualified to make that claim, and neither are your users.
Unlike crash safety, crash and burn, topple etc, there are no open tests or third party certifications that can verify that car model X is subjectively this safe and passes this scenarios.
The big cos are notoriously secretive and throwing a lot of marketing money to create hype.
I’m just glad that certain states have allowed such cars to be tested on the streets.
We have to start somewhere.
I still consider geohot too egotistical in his approach, and that it will not bear fruits. That big commercial companies are pulling bad tricks is one thing but that doesn't mean one lone motivated (and talented) wolf can reach the goal.
Try to poach some waymo guys or some robotics to team up.
I think they are very capable. Maybe their tech is not ready now, but who knows in 2-5 years where they will be.
[0] https://www.theverge.com/2016/4/18/11454858/george-hotz-self...
I believe the only way out of the security pit is to double down on rigorous physics and not rapid ML
So far what we see about Tesla and the likes is that they jumped early on the ML fad as very naive feedback loops on basic car controls (estimate lanes -> center the car. estimate obstacle distance -> adapt speed). It's not physics first.
And the requirement is not just braking action, like with a railroad crossing it is active avoidance.
https://www.pge.com/en_US/safety/electrical-safety/what-to-d...
My point is - corner cases like these tend to create "IF" statements in a "pure physics model" that is used for decision making under uncertainty. And engineering such models without "ML fad" is difficult.
Meanwhile there are a few of these: https://www.youtube.com/watch?v=3HrN12WG-2Q
Do as you wish.
edit: correction. out of your project we are probably having more hackers that understand at least some aspect of the problem - you still might be doing something very useful.
We aren't trying to help big automotive companies, they are our competition. We are trying to disrupt them.
Car companies, even luxury brands like MB, BMW, and Audi are akin to cell phone companies running Symbian, Windows Mobile, Palm OS, and Symbian before the iPhone came along.
Now we have innovators like Tesla and open source DIY stuff from comma.ai which can churn out great tech in a very short amount of time, without the need for getting a new year model vehicle.
> Hotz has been teasing a $1,000 after-market kit called Comma One that would let customers transform their dumb cars into smart, self-driving ones. But after a sternly worded letter from the US National Highway Traffic Safety Administration last year, Hotz abandoned those plans
http://www.reuters.com/article/us-selfdriving-safety-idUSKCN...
Sounds like you have a nice demo in a controlled known environment. It's a far way off the promise made previously about building a self driving car, a claim which is now being retracted. Best of luck turning it into a product. Watch out for those edge cases.
The system also seems to have a single front facing camera. How will this detect for example a cyclist riding along the car and prevent the car from turning into him?
All it takes is 5 minutes to know that it actually uses the built-in safety systems in cars like ADAS, LKAS, ACC. Hence, they only support only specific make/models. It's not just the "single front facing camera".
You are exactly right! which is why NEITHER comma.ai, Tesla's Autopilot, Nissan's Propilot, and GM Supercruise are being marketed as such i.e. only as L2/Partial Automation at the moment.
Second the camera is for the vision system and comma.ai hooks in the car via CANBUS to interpret the OEM radar signals.
What do you think whale-sounds and bird-songs are?
And if so, then why would a human not be able to create an AI that is capable of creating information?
The second question does not follow. If intelligence is defined by the ability to do something non-algorithmic (i.e. create information), then AI can never be intelligent.
No. Evolution created RNA, DNA, all kinds of animal languages, both sound- and chemical-based.
I actually don’t believe this guy. He may be brilliant, but there are quite a few brilliant people working on this problem - so no.
You've piqued my inner language geek, but cursory Googling / Google Translate hasn't given me any luck. What language(s) would that be?
Edit: looked it up... Unknown etymology. I guess if you count Moldovan as a separate language then it means thief in at least two languages...
So, yes, cioara could come from there, but not sure how you get from there to hot. And, DEX lists cioara as coming from the Albanian sorrë.
Interestingly it means cold in Basque and hotspot in Estonian.
What languages are you referring to?
As another user has mentioned, the only results in your query are links to this thread. Perhaps your results are different than mine?