6 ms·
Looking at that github repo, its a handful of python scripts with around 30 odd commits? Am I missing something or is this really what is the core implementatio
by winteriscoming 10y ago
Looking at that github repo, its a handful of python scripts with around 30 odd commits? Am I missing something or is this really what is the core implementation of a complex thing such as a self driving car software?
Edit: Someone else in this thread commented that the repo linked in the article isn't the right one and apparently this is where the code resides
https://github.com/commaai/openpilot https://github.com/commaai/openpilot
- nitrogen 10y agoPrevious discussions came to the same conclusion, with the added realization that Python has no hope of maintaining the consistent latency required by a hard-real-time task such as driving a car.
- agumonkey 10y agoI don't know how much bandwidth and complexity is involved in processing the single cam setup, maybe with a recent core i7, the variability of python is swallowed by the cpu performance. That said, Hotz claimed to have read state of the art papers, but it doesn't seem he meant hard real time physics/mechanics computations; probably neural net, computer vision and deep learning. Hacker way ?
- tremon 10y agoI don't know how much bandwidth and complexity is involved It's not about bandwidth or complexity, it's about latency. And no, even a recent core i7 can be stalled for long enough to cause underruns in a simple audio stream.
- TickleSteve 10y agoreal-time is about maximum-bounded response time.... not performance. an i7 in this case will be significantly worse than a Cortex-M0. Entirely due to the features in the i7 that make it high performance, such as instruction reordering, branch prediction, etc. All those types of features make the performance less deterministic.
- jsjohnst 10y agoPython isn't the only code, there's also a bunch in C too, but that's mostly only provided in binary form.
- tlb 10y agoI was able to run walking robot control software in Python at 100 Hz hardly ever missing a tick. Because it uses reference counting for most garbage collection, Python performance is very consistent. Still, I wouldn't let it drive my car.
- nikanj 10y agoIf not enough for that, at least enough to get $3.1 million in funding
- agumonkey 10y agocomma.ai has other previous repos, maybe openpilot is just a release repo, which explains the low commit count. Also they rely on python neuralnetwork libs which lowers the line count, probably tremendously, with the right abstraction already done you can go pretty far without a lot of lines (think yacc).
- segmondy 10y agoI just cloned it, it's about 40,000 lines of C code. More than a handful.
- blauditore 10y agoWhat surprises me about the repo is that there is no commit history before making it public. Did they manually copy the code (why should they?) or not use a VCS at all before (can't imagine this)?
- phpnode 10y agoIt's common to sanitize a commit history before making code public. Old commits can contain potentially sensitive information, like certs committed by mistake and later removed, db dumps used for testing that contain unsanitized data, commit messages could be some value of unprofessional that you don't want to share with the world, that kind of thing.
- tomtomtom777 10y agoI find its absence much more unprofessional. Commits are an essential ingredient in a modern codebase to describe why each line of the code is there. I don't want to go back to blocks being commented out and code intertwined with comments like /* 6-dec-2016 tomtomtom: moved from other_function() to fix latency */
- joe563323 10y agoCan you point to one such project which is not planned from the beginning to be open sourced and then later the entire commit history is made public.
- kbutler 10y agoIIRC, the Java source code repositories included pre-public commit history (you had to accept a license to access them).
- tomtomtom777 10y ago> Someone else in this thread commented that the repo linked in the article isn't the right one and apparently this is where the code resides https://github.com/commaai/openpilot https://github.com/commaai/openpilot Hmm. Sorry, but no. I am not going to let my car being driven by dynamically typed code without any tests. Frankly, it looks like a hobby project that has grown a bit messy over time.
- undersuit 10y ago>I am not going to let my car being driven by dynamically typed code without any tests. How are you going to enforce that? Make Tesla show you their source? How are you not already enforcing that? Make the existing automobile makers show their source for the plethora of computer driven systems!
- tdb7893 10y agoEven if they don't show unit tests they will at least have done a ton of manual testing and a bunch of tests for regulators. This has none of that.
- undersuit 10y ago>they will at least have done a ton of manual testing That is a very quantifiable amount that I totally understand. >bunch of tests for regulators Oh and how many of our emissions testings have been gamed by at least one company?
- tdb7893 10y agoIn this case no one has verified it and it is obviously kind of a shoddy product (e.g. it has no unit tests) so I won't be satisfied until there has been some testing on it. I don't have a very specific amount that it needs to be tested and any number I put on it would be completely arbitrary anyway. Overall I trust regulators, the problem was the company specifically dodging regulations and it was in a way that wasn't apparent to the consumer so this is a different prospect and any issues would be immediately apparent to end consumers. This would make it so if you tried to game the system people would figure out pretty quickly.
- faragon 10y agoI guess that the hard real-time stuff is handled by a microcontroller board.