Comma Two Devkit
comma.ai
comma.ai
It took me a very long time to realize that this was a self-driving solution for existing vehicles. The hero just says
"Driven over 6 million miles" and then a "Buy Now".
When I scrolled down and looked at the product and read:
> We’ve added an infrared camera to provide 24/7 driver monitoring, an integrated panda, a custom cooling solution, and an OBD-C port with power supplied directly from the car.
I thought it was some kind of dash cam + driver sleep monitor? Also, most of those words don't mean anything to me.
Only after deeply investigating it did I realize that it's basically Tesla Autopilot for existing vehicles.
You have an awesome value prop though, "Bring autopilot features, to your car." Make that clear!
https://techcrunch.com/2016/10/28/comma-ai-cancels-the-comma...
...Wow. Maybe don't develop autonomous driving tech then?
Skipping regulators seems fine, given (unlike their competitors) they're acting responsibly. Their eye-tracking tech is really cool, too, and prevents the Tesla problem of drivers losing focus.
Because from the scraps that I've managed to put together, he seems childish and irresponsible.
This Lex Friedman interview is pretty explanatory on the topic of responsibility.
A couple of highlights, which point to Comma being at minimum more responsible than Tesla: Comma doesn't advertise itself as anything beyond L2, unlike Tesla; Comma doesn't fuck up eye-detection, it refuses to cooperate with a driver who has their eyes off the road.
how can anyone make that statement in the same breath as declaring that dodging regulators is fine? Who the hell evaluates the quality of the product if not regulators?
Are we supposed to take George Hotz's or the companies word for it?
The only way to actually access the quality of these products is through independent testing by a body that is qualified and reputable enough to do so. Which in my opinion should happen before even a single one of these devices is actually allowed to participate in regular traffic.
https://medium.com/@chengyao.shen/decoding-comma-ai-openpilo...
Unless something changed I missed, the part I emphasized is not true. There’s binary blobs in the source code that last I heard would not be released.
I have used every single pilot assist out and they're all quiet frankly terrible in comparison. I will give GM Supercruise a nod in how well it's done but again, it's Geofenced.
>The comma two does not ship preloaded with software capable of controlling your car. Open source software can be installed separately.
But then I figured that if it actually did that, they'd be screaming about it, not talking about how you can watch your drives.
Kind of hilarious.
I've had to scan the entire website and still cannot find a reference to a simple term like "self-driving" anywhere in the website. It seemed like a dashcam that warns the driver.
The FAQ clears some of this up (https://comma.ai/faq), but I agree with the idea that it is purposefully obtuse to keep regulators off their back.
When I watched the videos it made it clear what it does, i was lost before that.
From comma's discord:
"if people can’t figure out what it is, it isn’t for them"
Call me crazy, but when it comes to products that could so easily cause death, a barrier to entry is a good thing.
The problem with regulatory capture and arguing it's a good thing, is that there's a downside/cost to the barrier it creates. And often that downside outweighs the upside.
To be clear, no one is arguing regulation shouldn't exist. Just that the nature of regulation is to be captured by incumbents and serve a purpose orthogonal to protecting the people.
I can't speak for insulin injectors, but I know for a fact that the reason Indian pharmaceuticals are often times massively cheaper is because they ignore patents by which the majority of the world abides.
Now in many cases, the patent system is set up for incumbents who have enough legal muscle to develop and patent isomers, metabolites, or "extended release" versions of successful drugs which are losing their patent privileges. But that's not the whole story. We know that some patents and copyrights are needed to encourage investment in R&D.
India (used to?) just blindly copy drugs, ignore paying royalties, and take the profits. I haven't ever been on any blockbuster meds developed natively in India. Have you?
(I’m actually fairly bearish on level 5 self-driving being “close”, but if it was, speeding that up would almost surely be worth throwing the switch on the trolley tracks for both the lives saved and the reduction in wasted attention of those who would have otherwise used a lot of their lifetime driving.)
Regulatory capture is a thing. Regulators, at least in part, exist to maintain a barrier to entry for any new players trying to enter a field dominated by large players.
Several major tech companies only exist because they broke rules in their early days. And most people agree the outcome was a net benefit to society.
Which makes it a ton safer than '''autopilot''' because by the time those users are done installing it they have a pretty clear understanding of its capabilities and limitations.
vs. the endless videos of morons driving tesla in '''autopilot''' mode with hands off the wheel because it's an incomprehensible black box of magical self-driving capability for them.
The regulator hasn't stopped tesla autopilot from causing accidents. It's just a competitive moat.
Sort of proving the point that the resource pool of the incumbent doesn't necessarily translate to the value of the product.
None of those specs give any indication to the relative safety of the two systems though. And this is exactly what incumbents want. They want a small player to have to match their massive cash holdings to enter their market, even if the small player has a better product.
Here's some food for though: Tesla has been slapped with multiple lawsuits for misleading advertising of Autopilot. Regulators all agree that Autopilot is just an SAE level 2 system, same like those found on much cheaper cars with far less hardware and none of the marketing oversell.
I also listed the number and type of inputs each system has. This might correlate with money, but it clearly also correlates with safety. One simple example, it is impossible for the Comma system to have 360 degree visual coverage of what is around you with just two cameras in the locations they are in.
Humans have two eyes, a pretty narrow field of view, no radar, no sonar. By your logic they're even worse, yet theyre so much better than Autopilot that it's unattainable for it to match.
>Humans have two eyes... yet theyre so much better than Autopilot that it's unattainable for it to match.
These two statements are pretty ironic back to back.
I'm not sure if we are ever going to convince each other of anything if we can't agree that there is a clear difference in track record when one product has been used for 2 billion miles and the other for 6 million.
Fun story: I wanted to build a hypermilling coach/trainer system about 10 years ago and got to the point of having a poor mans ACC in a Scion. It didn’t brake though, only coasted to lose speed (thus requiring driver input). So I got the wild idea of tapping into the electronic brake distribution system to apply brake pressure when I needed to slow down. I figured out the system and was ready to tap into it when I had a dream that night. I was on the highway and all of a sudden two wheels decided to lock up from braking too hard. I stopped all testing on that car on public roadways after that.
My current car is hacked to provide lane centering when lane assist is on, but it’s still operating within the bounds of the factory electronic steering (so it can’t self drive/make 90 degree turns)
I’m okay with enthusiasts repairing and modifying their cars and driving them on public roads, because I’d rather have that than a world where only certified cars, maintained at certified dealers, using only certified parts are permitted on the roads.
Maybe you're not a "car person". Apply the same principles to whatever field you have passion for. Only certified Intel parts may be added by Intel technicians to Intel computers, which must run only certified operating systems. Or only certified Edison lightbulbs may be added to certified Edison light fixtures by certified Edison technicians. Only certified firmware may be run on devices you're being allowed to rent from the certified manufacturer.
The reason I ask is because there is a general topic of whether we should preemptively block new technology based on hypotheses, whether we should seek supporting evidence, or whether we should wait for confirming data before blocking freedoms to experiment. Said differently, do we ban everything until “proven” safe, allow everything until “proven” unsafe, or something in middle.
That's Comma AI's approach. Their hardware spoofs the stock computer so it can send commands to the car's active safety systems. So there are some stock limitations, like the steering torque, that openpilot doesn't bypass.
(Hint: I hope you have good insurance)
Most things in a modern car are controlled by software that's far more opaque than OpenPilot. Don't get me wrong, a lot of their software and hardware architecture choices scare the heck out of me, but at least it's transparent.
Air BnB is not a tech company, it is in the holiday let's game.
The stuff required to pass the regulators is the long, slow, boring process of pushing reliability and failure modes into "safe" territory, while documenting the fact. This is the 'engineering' part. Making a system that works (probably, most of the time) isn't engineering, it's hacking.
... doing their R&D on public roadways, with unwitting / unwilling participants.
Better information / overview.
Look very promising tho!
It's move fast and break things all over again.
Think about how the tech community rips apart Boeing and demands the utmost in quality engineering, reliability, redundancy, testing. And then we have comma, which controls your vehicle on a non-realtime system...
If you ran comma.ai in your car and had a serious crash, you could possibly be found criminally negligent.
https://news.ycombinator.com/item?id=12840368
https://techcrunch.com/2016/10/28/comma-ai-cancels-the-comma...
I use open pilot for highway driving and love it. But Comma AI is intentionally making design decisions to get around regulation.
I like him, personally.
The Bully wins
> Currently, openpilot performs the functions of Adaptive Cruise Control (ACC) and Automated Lane Centering (ALC) for compatible vehicles. It performs similarly to Tesla Autopilot and GM Super Cruise. openpilot can steer, accelerate, and brake automatically for other vehicles within its lane.
Notably, the NHTSA called out these exact features in their letter to Comma.ai: https://techcrunch.com/2016/10/28/comma-ai-cancels-the-comma...
Look at the directory structure for the software - it has a "selfdrive" directory where all the code is![2]
[1] https://venturebeat.com/2020/01/07/comma-ai-launches-comma-t...
[2] https://github.com/commaai/openpilot#directory-structure
I don't know that it's much different than using cruise-control and then having a serious crash. If there's criminal negligence when using cruise control, it's because you weren't aware-enough to shut it off when the conditions cruise-control is built for no longer applied; the mere fact of using cruise-control isn't criminally negligent, as long as you're "just waiting for it to slip up so you can take the wheel."
For that matter, the same is true of teaching a teenager to drive. There's no negligence to having them at the wheel if you're ready to supercede their bad driving at all times.
What's suddenly different, if the "thing that doesn't really know how to drive yet, but which you're ready to supercede the bad driving of" is an AI instead of a teenager?
If a serious crash involving comma.ai went to trial, it would look like the driver was using unapproved, unregulated software, unnecessarily, putting others at risk. Recent Autopilot incidents show us that expecting a human to take over within a second is not reasonable. I would be very worried that the court would indeed find the driver negligent.
I use open pilot on the highway, and I love it. I had to physically tap into the CAN bus for my car's safety system, that made me very nervous. But the installation is completely reversible, and I'm much more comfortable with it's limitations. I just treat it as a really great adaptive cruise control and active lane keep assist.
But that's all it is. I would be completely responsible in most situations if my car caused an accident while open pilot was active. Open pilot's design has it immediately drop all control of the car if you touch the brake or gas, it does not aggressively follow cars, and the driver is still required to control the car. So if I start to become uncomfortable I need to immediately take over.
Assuming that open pilot will always act within it's safety guidelines doesn't mean that its safe. Toyota's paid tens of millions in fines and settled multiple lawsuits over unintended acceleration. I believe that using openpilot on the highway means I'm a safer driver. But I do understand that if I did get in an accident proving I'm not negligent might be extremely difficult.
I agree with you, liability is a very important part of self driving functionality. I won't think a car has full self driving capability until I can get in the back of that car, go to sleep, have it drive me somewhere, and hold no legal or financial responsibility for any accidents that occur. Openpilot is nowhere close to that, but I do think it's really good for what it's meant to do.
Lol. This is what I found extremely shocking and is the first thing that I noticed. I don't think anyone serious about embedded design would touch it. They are trying to ignore decades of experience in real time systems and build some hacky stuff and make it open source.
In reality the comma-AI isn't controlling the car, a number of peripherals on the canbus are controlling the car. All those peripherals are hard-real time, and the comma-AI is bridging the non-deterministic neural networks and those hard-real-time peripherals.
At some point you need to deal with the non-deterministic neural networks, and bridge them into a hard real-time control system. People complaining that part of the system isn't real-time just seems like they haven't thought about it very much. Of course the UI and neural networks aren't going to be hard real-time.
The neural net will never be late. It just might be inaccurate.
I'm still somewhat confused as to how multi-object recognition works in a real-time way, naively I'd presume that recognizing n+1 objects in a frame would take longer than n objects.
You might be able to more practically get real-time neural networks using something like YOLO (you only look once)?
Either way it seems to me like hard real-time neural networks are a very challenging problem.
And this time it's people what they're moving :P
This can't be true ... ?
Tesla trying to kill someone: https://www.youtube.com/watch?v=0GnysB0rO3s
The super reliable "Level 3" Audi system not being able to go straight on a highway, the most simple problem there is in self-driving: https://www.youtube.com/watch?v=WsiUwq_M8lE&t=297
Several cars "pedestrian safety system" failing on detecting pedestrian (You had one job..) https://www.youtube.com/watch?v=7Y8JG7kepwc
Let's be honest, there is not a single driving assistant that isn't dangerous. Why care for "realtime" if your model tries to kill you once per minute? Realtime is one of the final touches you need to make your software perfect. That's just how the industry works, and if you want to keep up with them you have to go the same route, or do you know of any exception? Most manufacturers tell you that you should closely watch what your car is doing on autopilot, and they limit it's torque and acceleration, so the human driver is reliability, redundancy, testing and the realtime system.
Comma Two is an aftermarket dash cam that adds features like adaptive cruise control, automatic lane centering, and forward collision warning to cars using open source software.
It uses a combination of the dash cam and the vehicle’s built in radar to accomplish this. It is able to control the car and receive its radar data by connecting to the vehicle’s OBD port.
The unit is $1000 and also requires the purchase of a vehicle specific harness for $200.
A list of compatible vehicles can be found here: https://comma.ai/vehicles
The source code that performs the driver assist functionality has to be loaded by the user and is available here: https://github.com/commaai/openpilot
There’s also a “prime” subscription which pays for cell service on an included SIM card and allows you to see video footage or location data from your vehicle remotely.
I was very skeptic too. However using their system for almost an year everyday, I can deffo say it makes me a safer highway driver.
I have overall more awareness of the road since I don’t always have to keep eyes on the lane in front. I look around more around the car and look side mirror/rear mirror more. Once this asshole driver was zipping left and right over taking and was gonna squeeze through us, I could spot him/her from distance and I gave more space. If I didn’t he would have deffo crashed into us. Granted half an hour later he/she did get into a crash.
Another time, car in front suddenly brakes, system immediately alerted and started braking. Even If I was manually driving, I couldn’t have had the same reaction time. Car ahead crashed, ours didn’t.
Some humans are very dangerous highway drivers since they don’t maintain distance with car infront.
This is testament to both commaai and Toyota. I can set I want 2 seconds-ish reaction time with car infront and it always mantains that safe distance. Really neat.
Also commaai driver mobitoring has gotten quite good. Move your eyes off the road for a bit and it yells with an alert to touch the steering wheel and get eyes back on the road. That alone makes you more attentive.
All I can say is give it a shot, it’s quite an ingenous solution to make other brands of cars, highway self lane following.
I’m not gonna say self driving, because essentially it’s a driver monitoring + alert system + lane following system. Very narrow but does a good job at it.
Okay, what's it do?
"We’ve added an infrared camera to provide 24/7 driver monitoring, an integrated panda, a custom cooling solution, and an OBD-C port with power supplied directly from the car."
Great, so it monitors cars... For what? Quick movements? What's a panda? I'd be interested if I knew what it was.
"comes with three free months of comma prime"
So the 1000$ onboard computer that does something comes with a free* subscription.
They need a total marketing rework, can't imagine the sales they've already lost.
>Great, so it monitors cars
I think it's monitoring the driver (against sleep).
I don’t even drive a car, but I don’t see why anyone would buy something like this yet. My point being that it’s not full self driving, and frankly its safety is entirely questionable.
Self driving is supposed to make driving less stressful, but does having a system like this actually do that? Or does it make you more stressed because you have to be conscious of the computer?
Don’t get me wrong, I like what George Hotz is trying here, but what incentive is there to be an early adopter?
As far as safety goes, their safety policy is outlined here: https://github.com/commaai/openpilot/blob/devel/SAFETY.md
the short of it is:
"""
The driver must always be capable to immediately retake manual control of the vehicle, by stepping on either pedal or by pressing the cancel button.
The vehicle must not alter its trajectory too quickly for the driver to safely react. This means that while the system is engaged, the actuators are constrained to operate within reasonable limits.
"""
Those checks are separately coded into both OpenPilot, the self-driving software, and Panda, the microcontroller responsible for communicating between OpenPilot and the vehicle.
Do you happen to know what the hardware safety is like? Just curious.
OpenPilot generates all of the control messages to send to the vehicle based off of feedback from the cars sensors and it's own camera. it has rate limits for all control messages it generates so that it can't jerk the steering wheel or slam on the brakes (as of now it leaves Collision Avoidance up to the stock system)
Steering limits: https://github.com/commaai/openpilot/blob/a2ae18d1dbd1e59c38...
Accel/Decel limits: https://github.com/commaai/openpilot/blob/a2ae18d1dbd1e59c38...
These control messages are then passed to the Panda over USB. Panda is a microcontroller that converts the control messages into CAN messages that the vehicle can understand. The Panda has the same rate limits checks hardcoded into the firmware and it will reject any control messages that are outside the limits
Panda Safety code: https://github.com/commaai/openpilot/blob/a2ae18d1dbd1e59c38...
Finally, because Panda is sending the same CAN messages as the stock ADAS system, whatever safety mechanisms the OEM implemented apply to OpenPilot as well. Most cars have some form of torque caps and some form of rate limiting baked into the EPS firmware.
They also has a narrower than commonly used limits and that is reportedly insufficient for tighter curves on some highways but are done so in good faith I guess.
Open Pilot keeps me in my lane on the highway following a safe distance behind other cars. I have a Toyota with TSS 2.0, so the steering is powerful enough on curves. My only complaint about steering is that on tight turns like highway onramps it will slow down a little too much.
While I was driving my last car I got in an accident when I was driving down the highway at highway speeds and everyone in my lane came to a complete stop. I'm convinced I would not have gotten in that accident if I was driving my current car with open pilot active.
On a recent long trip (24 hour drive) TSS 2.0 by itself made the driving stress free.
It seems like comma is extending the boundaries of TSS by a little bit beyond what Toyota/Honda can legally do at their scale.
Here's how I compare the two systems. Stock adaptive cruise control is decent and useful. Stock also allows you control the follow distance. Openpilot doesn't allow you to adjust follow distance but it's conservative. OP is really smooth, so I think it's better than stock.
Stock lane keep assist is mildly annoying at best. I find the alarms annoying. And stock active lane keep assist is weak. I wouldn't generally consider stock LKA to be worth using for me. OP LKA is really good. It's great at keeping you in a lane, and it's extremely smooth. OP LKA is something I really appreciate.
You can technically use OP ACC without OP LKA, but the combination of the two is greater than the sum of its parts. Driving with OP is a surprisingly good experience. I was showing it to a relative recently and she said she was surprised at how smooth and how comfortable she was with it active. She mentioned if she wasn't watching the steering wheel she would not have noticed that I was not actually steering.
> Keep your eyes on the road.
> "While engaged, openpilot includes camera based driver monitoring that works both day and night to alert the driver when their eyes are not on the road ahead"
Also, if there are deaths around other autonomous systems like we have seen from Tesla and Uber then perhaps they're even more dangerous as they are closed-systems, unlike this then.
https://github.com/commaai/openpilot/blob/a2ae18d1dbd1e59c38...
https://github.com/commaai/openpilot/blob/a2ae18d1dbd1e59c38...
One can say it is like Tesla Autopilot for any car.
Comma’s products explicitly state you still need to pay attention when driving with their system which is almost hard to ignore.
On a more meta note: I find the comments here ironic given this project fits within the spirit of HN and hacker culture but commenters find this project displeasing.
I agree their marketing is kind of vague and needs improvement, but I encourage HN to view videos of the system in action before jumping to conclusions.
Comma.ai is for cars what Linux is for PCs, meaning that you use open-source software and a hardware kit to make your existing car self-driving. Very clever!
You sure this is where you want to save money on a self-driving system?
God forbid there's an accident, what then? There's no big company you can point at for recourse and I guarantee that Comma.ai isn't going to stand by and accepted responsibility - their website makes it clear that the dev kit does not ship with any self-driving software.
>Very clever!
Very dangerous!!
If there's an accident, the driver has to be pretty stupid. it's predictable, you know where its strong and weak points are. It has weak points when the roads get tricky. Previously it would panic through an intersection, this has since been improved upon.
Its eyes don't leave the road, people on their phones do. I wonder which cause more bumper to bumper collisions!
They probably won't accept responsibility, that's on the driver since openpilot is a driver assist system, not a higher level (L3+) self-driving system
> The person in the driver’s seat is only there for legal reasons. He is not doing anything. The car is driving itself.
[1] https://www.tesla.com/videos/autopilot-self-driving-hardware...
It controls your throttle and steering so it appears there may be other errors that could occur.
Made by Geohot, jailbreaker of iPhone and PS3 fame
Out of curiosity, I checked for my car. It says it's not supported. BUT, Comma is open source, so I could add it myself.
Does this imply they're encouraging anyone to write buggy code and drive their cars with it?!?
For many cars the CAN messages will be the same as similar models so porting a new vehicle just means adding tuning values that can be captured by driving with OpenPilot connected but not controlling the vehicle e.g.: https://github.com/commaai/openpilot/pull/866
Which cars have these sorts of actuators? How can I see if mine does?
It’s different for (almost) every car, but you’d be amazed how easy and fun cars are to hack on, as long as you keep it off the streets.
If your car is in this list:
https://github.com/commaai/openpilot#supported-cars
then it definitely works and you can use these tools to control it https://github.com/commaai/openpilot-tools
If it's not in that list then the rough heuristic is whether or not your car has some sort of existing driver assist features e.g. Adaptive Cruise Control, Lane Centering, Forward Collision Warning, etc. There are some exceptions to that rule (I think Hyundai ships some cars that have full control of steering and gas even if you don't option out the ADAS features) but that's all case by case.
If you join the Comma Discord (https://discord.comma.ai/) there are manufacturer specific channels that can answer any questions you've got.
This makes it a nonstarter for a lot of people.
The fact that the comma guys aren't locking it down out of a misguided paternalistic belief that they no better is a good thing. Don't blame them for providing the hardware, blame people if they write buggy code. This is analogous to blaming a firearms manufacturer for a murderer's crime.
Well done for finding the right price point. You have a solid business case here.
Not commenting on safety like everyone else because it seems from the ISO 26262 (not easy to comply) and architecture that you’ve put some thought into this. Will be good to see it improve further. I understand that you need to sell units to do so, so I do not hold that against you.
If there was a bug in comma ai program (like jerking the driving wheel and slam my car in the guard rail without giving me time to react) I guess I am liable?
That sounds like a bad idea.
https://github.com/commaai/openpilot/blob/a2ae18d1dbd1e59c38...
The safety.h you pointed to is using "int" for variable declaration instead of using stdints to control size. Is there are reason for that?
From safety.h, I tried to follow addr_allowed function parameters. I get here (https://github.com/commaai/openpilot/blob/c025b96e8a15640ee4...) and see this:
int addr = GET_ADDR(to_send); int bus = GET_BUS(to_send);
Where are GET_ADDR and GET_BUS macros declared? There are no header declaration to follow dependencies.
panda/board/drivers/llcan.h
It’s a trolley problem, this thing WILL KILL, the question is how more/less often compared to humans.
Would never go back to manual highway driving.
> People who have done well at math competitions (USAMO, IMO, PUTNAM), competition programming (ACM, USACO, codejam, topcoder), science fairs (ISEF, STS), or capture the flag (DEFCON, secuinside, GITS). Those competitions don't just select for ability, they also select for quickness. We are in a very competitive space.
...it's absurdly low. Companies like Google hand out close to $200k total, liquid compensation to new grads who haven't placed in any of those competitions. The people who have ranked in any of those (especially the math ones, and doubly so the Putnam) can easily write their ticket to a job paying double $130k right out of college.
Anyone with that kind of competitive math/programming experience and real world machine learning engineering experience could earn triple that range if they wanted to. That's a ridiculously small and competitive set of candidates to be targeting. It's also not necessary, because strong performance on the e.g. IMO doesn't a priori map to outperformance, on a per dollar basis, writing autonomous driving logic.
Basically: no it's not competitive for San Diego, Comma is asking for wildly overqualified people to sacrifice significant amounts of money to work there, and it's not clear they should be using those kinds of qualifications as a filtering criteria in the first place.
This kind of cargo culting does not inspire confidence in their recruiting.
1. Some car manufacturers will limit the torque applied to the steering wheel. So Comma can only perform small "drifts" rather than full turns
2. The cooling fan is pretty loud
Pretty cool stuff.
This is a nonsensical reply. Begs the question what is it that Comma does not do that every proper self-driving or driver assistant solution does.
Yeah, nah. Driving isn't meant to be "chill". Driving "chill" is how collisions occur. Fuck this product and fuck the SV cocksucks making it.
[0] https://github.com/commaai/openpilot/tree/aa365e0d48ba29fd44...