Live data from Hacker News

Autopilot: an open source driving agent

github.com

61–70 of 129 posts

Re: Autopilot: an open source driving agent

#61
post #48

Earlier quoted context omitted.

I'm not really following. If it works then why not use a control loop on top of Python? We are engineers, after all.

The thing that distinguishes an engineer from a bodger is not just observing what works but understanding why, how, and to what margin of safety it works. The reason the "realtime" designation exists at all is that, in a realtime system, it is possible to say what the worst-case timing is for any operation, and to guarantee by design what failure conditions can and cannot happen. You cannot guarantee in a python prog…

Believe it or not - many folks coding out there don't even understand the meaning "real time" in this designation. I recall asking some colleagues in a conversation, "So when you say 'real time' do you mean hard or soft?" To which they replied, "Just, real time, like in real time." I gave up pressing the point when I realized they simply meant "interactive" and didn't know such a designation existed.

Re: Autopilot: an open source driving agent

#62

Really, a safety critical hard realtime system with control loops on top of Python, a general purpose OS and a CAN-USB adapter? There are reasons why we have realtime operating systems, deterministic bus systems and dedicated CPUs for these kinds of applications. That might be an interesting research, prototyping or simulation platform. But nothing you want to have on a real public road.

It seems incredible that this is the source code for the $999 product originally destined to be available this year. I'm extremely familiar with OBD|CAN and car networks - the embedded code alone is an essay in how trivial something can appear (sending commands to a ECU) without considering the million edge cases that make this a safe product to use.

> It seems incredible that this is the source code for the $999 product originally destined to be available this year.

It's not

Re: Autopilot: an open source driving agent

#63
post #3

I have my reservations about this code. I am a long time free software developer so it is hard to say it but it seems clear to me that a single entity (from a legal perspective) has to "own" the self-driving car software. In the future bits of a self-driving car system may get open-sourced the way Facebook Open Compute has emerged in data centers, but first the proprietary implementations will need to pave the way in…

> it seems clear to me that a single entity (from a legal perspective) has to "own" the self-driving car software. That's not clear to me at all . It seems clear to me that the person operating the vehicle has ultimate responsibility for how it is driven, whether they're personally driving it or not.

Interesting opinion. However, this isn't current U.S. law. See, for example, the numerous successful suits against Toyota for unintended acceleration.

In addition, it may soon be questionable to say that an occupant of a vehicle is "operating" said vehicle if it drives entirely autonomously.

Re: Autopilot: an open source driving agent

#64
post #61
post #48

Earlier quoted context omitted.

The thing that distinguishes an engineer from a bodger is not just observing what works but understanding why, how, and to what margin of safety it works. The reason the "realtime" designation exists at all is that, in a realtime system, it is possible to say what the worst-case timing is for any operation, and to guarantee by design what failure conditions can and cannot happen. You cannot guarantee in a python prog…

Believe it or not - many folks coding out there don't even understand the meaning "real time" in this designation. I recall asking some colleagues in a conversation, "So when you say 'real time' do you mean hard or soft?" To which they replied, "Just, real time , like in real time." I gave up pressing the point when I realized they simply meant "interactive" and didn't know such a designation existed.

Hard real time is really only applicable when designing critical systems. Unless your anecdotal conversation was about one of those systems, it's pedantic to not simply infer soft/firm real time.

Re: Autopilot: an open source driving agent

#65
post #41

Earlier quoted context omitted.

The car would likely still be street legal. (IANAL) However, allowing this system to take control of your car on a public road would not. Another way to say this is, there's nothing dangerous about the hardware. You could be using it as a logging platform for the data on the CAN bus in your car. But letting the software send commands and take control from a driver is a different story.

> The car would likely still be street legal. (IANAL) However, allowing this system to take control of your car on a public road would not. IAANAL, but I don't think even that is true. I think it actually is legal to allow it to take control of your car, provided you are still sitting in the driver's seat and can take control back at any time.

> can take control back at any time

but if you're going down the highway and the AI decides to suddenly swing the wheel far right as quickly as possible, no human being would have reaction time good enough to recover without crashing. I'd be pretty concerned if you could add an autopilot to your car and drive it around on public roads without any sort of demonstration of safety.

Re: Autopilot: an open source driving agent

#66
post #64
post #61

Earlier quoted context omitted.

Believe it or not - many folks coding out there don't even understand the meaning "real time" in this designation. I recall asking some colleagues in a conversation, "So when you say 'real time' do you mean hard or soft?" To which they replied, "Just, real time , like in real time." I gave up pressing the point when I realized they simply meant "interactive" and didn't know such a designation existed.

Hard real time is really only applicable when designing critical systems. Unless your anecdotal conversation was about one of those systems, it's pedantic to not simply infer soft/firm real time.

I agree. And yes though that is inferrable from my anecdote, in fact I wasn't being pedantic. I actually probably used the terminology wrong myself, but all I really meant was, "what are your latency requirements in this system? How real time?" It was a conversational confusion because they kept using the term and I thought they were using it technically. When I realized they weren't, I didn't bother trying to correct them...

[edit] I'll add this conversation stuck out in my mind simply because I was a bit surprised that no one knew what I was talking about, that's all.

Re: Autopilot: an open source driving agent

#67

Really, a safety critical hard realtime system with control loops on top of Python, a general purpose OS and a CAN-USB adapter? There are reasons why we have realtime operating systems, deterministic bus systems and dedicated CPUs for these kinds of applications. That might be an interesting research, prototyping or simulation platform. But nothing you want to have on a real public road.

The big problem in my mind is that Python is the wrong tool for the job. It is 2016, there are more hard-RTOS prototyping platforms than ever before. My favorite is National Instrument's RIO platform, which lets you use C or LabVIEW (imho the best language for prototyping control algorithms by far). Mathworks also has a platform based on Matlab/Simulink, and the list goes on. Why use Python when there are existing to…

LabVIEW is great until you need a complicated data structure. I tried writing a tree to do kNN, and it turned out that doing a brute force search was faster even with 100k elements.

Re: Autopilot: an open source driving agent

#68

Earlier quoted context omitted.

Because by "works" you mean "I tried it out a bunch of times and nothing bad happened, so must be production ready", because that's what you do when you build websites and desktop CRUD apps and nobody ever died cause the web server choked under load or the web page rendered a bit funny or the request took a full quarter second because the GC kicked off as a wave of requests came in. And then one day a one-in-ten-mill…

I like that you reduced that to a one-liner, and I understand your point. I sure as hell wouldn't hook my car up to this software. But I also feel like you're being a bit hasty. Obviously a Python script isn't going to turn into a Tesla overnight. But maybe it'll help you find a few bugs before you throw all that time and effort into building the real deal. When I look at a Github repo that claims to be a self-drivin…

Yes, I absolutely agree with you on that. Nothing wrong with prototyping in whatever setting is most convenient.

I think w/ self-driving cars there is an interesting ethical question. The full auto cars on the roads today definitely aren't production ready, but they also have constant safety drivers. Probably even ACC systems are tested in the wild with a safety driver before production.

Basically, "is the safety driver sufficient to justify running prototype software in the real world?"

Re: Autopilot: an open source driving agent

#69

Earlier quoted context omitted.

> once your research has concluded and you are now building something for production I think the rub is that this code appears to be intended for "production" (or at least use on public roads), given the fact that it's published by a company that has tested its products on open roads?

It explicitly states: "THIS IS ALPHA QUALITY SOFTWARE FOR RESEARCH PURPOSES ONLY. THIS IS NOT A PRODUCT. YOU ARE RESPONSIBLE FOR COMPLYING WITH LOCAL LAWS AND REGULATIONS. NO WARRANTY EXPRESSED OR IMPLIED."

Does anything not have that warning (or similar) on it?

Re: Autopilot: an open source driving agent

#70

Earlier quoted context omitted.

It explicitly states: "THIS IS ALPHA QUALITY SOFTWARE FOR RESEARCH PURPOSES ONLY. THIS IS NOT A PRODUCT. YOU ARE RESPONSIBLE FOR COMPLYING WITH LOCAL LAWS AND REGULATIONS. NO WARRANTY EXPRESSED OR IMPLIED."

And yet comma ai were definitely testing their products on public roads, products which were presumably running this code.

Note: other comments in this thread indicate my assumption that comma ai was testing vehicles running this code was a bit hasty.
Post reply on HN