ENGINEERING ★ 300 upvotes 2012

Show HN: How I built a self-driving (RC) car.

The Founder's Submission

Direct narrative and submission text authored by @dps on Hacker News:

I have been taking Andrew Ng's Machine Learning course. The lecture module on Neural Networks ends with an intriguing video of the ALVINN autonomous car driving itself along normal roads at CMU in the mid 90s.

I was inspired by that video to see what I could build myself. A link to my incomplete write up was posted a couple of weeks ago (ouch!) but I finally finished it and open sourced the code tonight (so you can build your own self driving car).

What do you think? http://blog.davidsingleton.org/nnrccar https://github.com/dps/nnrccar

Retrospective Overview & Key Insights

Distilled analysis of the business dynamics, operational challenges, and strategic takeaways:

In this technical retrospective (2012), @dps shares practical architectural lessons learned from running, scaling, or migrating production software under lean constraints.

Core Principles for Independent Builders:
1
Defaulting to simpler architectures (such as monolithic frameworks, SQLite, or managed VPS) prevents early engineering bankruptcy.
2
Evaluating true compute and egress costs reveals that high cloud bills can often be slashed by 80%+ through judicious re-platforming.
3
Code you write at 2 AM as a solo engineer must be easy to debug six months later without complex microservice dependencies.
Community Debate Themes:

HN engineers debated the tradeoffs between cloud convenience and raw server economics, database indexing strategies, and resisting premature architectural complexity.

Founder's Discussion Replies (@dps)

Direct clarifications and follow-up comments shared by the author during the live discussion:

OP @dps Original Author
2012

The links:

http://blog.davidsingleton.org/nnrccar

https://github.com/dps/nnrccar

Community Discussions & Critical Reviews

High-signal perspectives, counter-arguments, and peer founder insights debated on Hacker News (21 total discussions):

LE @leoedin Peer Contributor

How practical is running the software onboard? Would you have to port it out of Octave to Java? There seems to be a useful library in the form of [jlmath] that may well let you run the program as-is.

jlmath: http://www.jmathlib.de/

I was going to suggest using the audio jack, but it seems you've already found a (really cool) project that's using it.

Anyway, it's a pretty awesome project. I'm building a robotic vacuum cleaner currently, although I'm building the chassis from scratch and that's proving to be a bit of a stumbling block with my current tools. My software right now is pretty much rudimentary collision detection, so something like this is pretty interesting as a far more sophisticated option.

GA @Game_Ender Peer Contributor

Very cool robotics project. Were you aware of FANN (http://leenissen.dk/fann/wp) before you started your neural network implementation? Also have you tried any other machine learning techniques on that data, comparison results would be interesting.

EN @endianswap Peer Contributor

What sort of latencies did you see in this project while the car was running? Specifically, from the point where you have access to the camera's preview buffer to encoding it, sending it, running it through the neural network, and sending the button bits to the microcontroller.

RI @richardburton Peer Contributor

What a great side-project! I wonder how long it will be before we are comfortable with the idea of self-driving cars on the road? The transition will be slow but I think it is inevitable. Humans are less reliable than robots. I hope.

JO @JoachimSchipper Peer Contributor

Hint: it's common wisdom that such things are best posted as links instead of "Show HN", since "show/ask" posts leave the front page more quickly. You can always add a # or ? if you want to fool the duplicate-detecting algorithm...

HISTORICAL ERA Web 2.0 Genesis (2007–2013)
COMMUNITY SCORE ★ 300 points
TOTAL DISCUSSIONS 21 comments
TOPICS & TECH STACK: