Hacker News new | ask | show | jobs
by syntaxing 2742 days ago
I have mix feeling about comma.ai I like what they stand for and what they're trying to achieve. But after reading their Openpilot code, it seems completely irresponsible releasing the Eon dev kit they way it is especially after their NHTSA stunt (I only reviewed the code when it first came out so things may have changed). I also wonder why this code is not being ported to something like a Jetson TX2. Especially with the new 4GB version priced at $199, I cannot see the argument of cost savings to using an OnePlus 3.
3 comments

Can you buy them for $199 in quantity?

A phone is actually a very nice and reliable piece of hardware. It has everything you need CPU, GPU, DSP, two cameras (front and back), a backup battery, a screen and wifi/lte to upload your data.

Unfortunately the code powering OpenPilot is not very reliable. As the OP alluded to it's time-sensitive code written in (very hard to understand) Python.
It's not really that time sensitive. The main event loop for something like this only has to run at like 50hz. I didn't find the code to be all that hard to understand either (at least the car interface bits needed to port to another car).
That’s the sort of speed that has game developers, who can tolerate occasional pauses without getting anybody killed (although I’m sure some gamers act like they’re dying when it happens), avoiding memory allocations and tuning garbage collectors. That’s similar to how often the render callback for audio code will run, code where you carefully avoid taking locks or calling most system APIs and write the whole thing in C or simple C++ so implicit behaviors don’t result in audible glitches.

Python is good for many things (my whole web site runs on it) but it’s completely unsuitable for this job.

You're conflating speed and latency. The main event loop running at 50hz may or may not be fine, but a 50-100ms pause is certainly unacceptable, especially in the drive-by-wire / car interface components which are inexplicably combined with the entire platform and run on the same hardware.
How can this be not "really time sensitive"? The stability of these kind of controllers depend on smooth periods without jitter.

Putting these kind of controller on a phone written in Python is OK for a student project driving at 20 km/h on a closed off area. It actually madness and most likey illegal to use these modifications on public roads. Atleast it should be ...

The most recent Eon isn't a OnePlus 3 it's a LeEco LePro 3.

I don't see how it's really irresponsible also, it is a relatively complicated set up ( getting easier all the time ), but people definitely are aware this isn't a fully fledged product and that they should be keeping an eye at all times.

I was wondering what they were using since the Oneplus3 have been discontinued for so long.

It's irresponsible because they wrote an apk that patches to a python script... They could at least have some portion written in some hardware language like C++, especially the safety check section. Also, when I first read it there was zero redundancy. They could at a minimum do a soft watchdog how ROS does it. Putting your Drive by Wire node and the logic processing all in one unit is a horrible idea. They should have one device to do the inference like the TX2 and another do the DBW (the LePro 3).

There is a microcontroller between the phone and the car that monitors all communication and enforces safety limits. This code is written in C++.
I thought the microcontroller in the middle was doing the CAN injection only. Is this no longer the case?
Sorry, but where is a Jetson TX2 module available for <200$?
Jetson Tx2 4GB module is expected to be <$200 and released in Q3 of 2019. It's expected to replace the TX1 in price but double the CUDA cores. It's pretty much a budget version of the current TX2 since Xavier started rolling out.

[1]https://developer.nvidia.com/embedded/buy/jetson-tx2-4gb

expected, expected, expected. nvidia doesn't care about the jetson line and they keep overpromising and underdelivering.
Hmm not too sure about using it in the industry and their over-promises. However, I did buy a TX2 to build my portfolio personally and it's been pretty fun so far. 256 CUDA cores is definitely not a lot to play with though.
the DLA makes up for the low # of cores. doesn't matter though because you can't buy them in volume
You can get a Jetson TX2 Kit (edu bundle for $299, I think normal is Around 599.

https://www.nvidia.com/object/jetsontx2-edu-discount.html

Thanks for taking the time to share the link, was interested in diving into the deep rabbit hole for a self-driving contraption and 300$ off is quite an incentive.
Your welcome :)

It’s a nice board for sure (I have a few). I personally use a more powerful desktop setup with a few nvidia 1080ti cards, mounted in a trunk of a 2017 Honda. The tx2 is definitely a good platform for a powerful RC car setup or similar, especially with the discount. When it comes down to it, during the dev/learning cycle, any general setup will do.