We were initially skeptical of this article by [Aleksey Statsenko] as it read a bit conspiratorially. However, he proved the rule by citing his sources and we could easily check for ourselves and reach our own conclusions. There were fatal crashes in Toyota cars due to a sudden unexpected acceleration. The court thought that the code might be to blame, two engineers spent a long time looking at the code, and it did not meet common industry standards. Past that there’s not a definite public conclusion.
[Aleksey] has a tendency to imply that normal legal proceedings and recalls for design defects are a sign of a sinister and collaborative darker undercurrent in the world. However, this article does shine a light on an actual dark undercurrent. More and more things rely on software than ever before. Now, especially for safety critical code, there are some standards. NASA has one and in the pertinent case of cars, there is the Motor Industry Software Reliability Association C Standard (MISRA C). Are these standards any good? Are they realistic? If they are, can they even be met?
When two engineers sat down, rather dramatically in a secret hotel room, they looked through Toyota’s code and found that it didn’t even come close to meeting these standards. Toyota insisted that it met their internal standards, and further that the incidents were to be blamed on user error, not the car.
So the questions remain. If they didn’t meet the standard why didn’t Toyota get VW’d out of the market? Adherence to the MIRSA C standard entirely voluntary, but should common rules to ensure code quality be made mandatory? Is it a sign that people still don’t take software seriously? What does the future look like? Either way, browsing through [Aleksey]’s article and sources puts a fresh and very real perspective on the problem. When it’s NASA’s bajillion dollar firework exploding a satellite it’s one thing, when it’s a car any of us can own it becomes very real.
The build is pretty cool. She had to give up her passenger seat, but it’s a small price to pay for independence. He removed the door paneling on the passenger side. Then he welded on a few mounting points. Next he had to build the device.
The well-built device has a deceptively simple appearance. The frame is made from CNC milled panels and the ever popular aluminum extrusion. It uses a 12V right angle drive and some belting to lift the chair. There’s no abundance of fancy electronics here. A toggle switch changes the direction of the motor. There are some safety endstops and an e-stop.
Now all she has to do is strap the walker to the door. She picks the direction she wants the lift to go and presses a button. After which she walks the short distance to the driver’s seat, and cruises away.
Self-driving cars are something we are continually told will be the Next Big Thing. It’s nothing new, we’ve seen several decades of periodic demonstrations of the technology as it has evolved. Now we have real prototype cars on real roads rather than test tracks, and though they are billion-dollar research vehicles from organisations with deep pockets and a long view it is starting to seem that this is a technology we have a real chance of seeing at a consumer level.
Unexpectedly they have eschewed the many ARM-based boards as the brains of the unit, instead going for an Intel NUC mini-PC powered by a Core i5 as the brains of the unit. It’s powered by a laptop battery bank, and takes input from a webcam. Direction and throttle can be computed by the NUC and sent to an Arduino which handles the car control. There is also a radio control channel allowing the car to be switched from autonomous to human controlled to emergency stop modes.
They go into detail on the polarizing and neutral density filters they used with their webcam, something that may make interesting reading for anyone interested in machine vision. All their code is open source, and can be found linked from their write-up. Meanwhile the video below the break shows their machine on their test circuit, completing it with varying levels of success.
It wasn’t the first time his group had worked together on something a little different, such as a robot that can deploy an antenna by climbing poles. However, this one had a time limit and they ended up trying to fit it all in the week before the race.
They had a pretty good design. [ITMAN496] had modeled the entire frame in SketchUp and even did physics simulations to get the steering just right. However, the best laid plans of mice and men often don’t fully take into account just how hard it is to get the motor drivers they bought working.
In the end, what they really needed was time to test. The setscrews couldn’t hold the motor on the shaft, the electronics needed debugging, and one of the belts was too long. The design was solid, but without time to percussively maintain the last bugs out of the system, it just wasn’t going to run.
[ITMAN496] is taking this lesson properly; he’s already planning for next year’s run, but this time he’ll have time to test. We must commend him — the build under these time constraints was still impressive. Even more so that he took the time to document everything while it was happening, and to share the story of shortfall after the fact. We’re always on the hunt for documented fails (the best way to really learn something).
[Greg’s] hack uses a Raspberry Pi Foundation display, which includes a touch screen, so you don’t need a mouse or other controls. Node.js displays the speed, RPM, and engine temperature (check engine lights and other warnings are planned additions) through a webpage displayed using Chromium. The Node page is pulling info from another program on the Pi which monitors the CAN Consult bus. It would be interesting to adapt this to use with more futuristic displays, maybe something like a pico projector and a 1-way mirror for a heads-up display.
To power the system [Greg] is using a Mausberry power supply which draws power from your car battery, but which also cleanly shuts down the Pi when the ignition is turned off so it won’t drain your battery. When you throw in an eBay sourced OBD-II Consult reader and the Consult Dash software that [Greg] wrote to interpret and display the data from the OBD-II Consult bus, you get a decent digital dash display. Sure, it isn’t a Tesla touchscreen, but at $170, it’s a lot cheaper. Spend more and you can easily move that 60″ from your livingroom out to your hoopty and still use a Raspberry Pi.
What kind of extras would you build into this system? Gamification of your speed? Long-term fuel averaging? Let us know in the comments.
UPDATE – This post originally listed this hack as working from the OBD-II bus. However, this car does not have OBD-II, but instead uses Consult, an older data bus used by Nissan. Apologies for any confusion!
Initial self-driving add-on hardware only works with Honda and Acura models that already have lane-keeping assist features because those vehicles already have built-in front radar. The package, which replaces the rear view mirror, adds a front facing camera. Those lucky (or brave, foolish, daring?) beta users can trade $999 and $24/month for what is currently a green 3D printed enclosure with some smartphone-like hardware inserted.
The company has taken an interesting approach to acquiring data needed for this particular flavor of self-driving. [Hotz] is teasing a chance at beta test invites to those who contribute driving data to the company. This is as simple as downloading an app to your phone and letting it roll from your windshield as you go bumper to bumper from Mountain View to San Francisco. That’s right, the plan is to support just that stretch of the nation’s highway system — although [Hotz] did make a brazen estimate of 90% of commutes for 90% of users within a year. Hey, it’s a startup so it’s either that, selling to a bigger fish, or closing their doors.
That narrow route support is actually an interesting constraint. In fact, the company is most interesting because of its chosen constraints: a small subset of cars, a chosen stretch of highway, and dare we say sanity when it comes to self-driving expectations. Grandiose claims have the general public thinking a vehicle with no human driver will slide up to your stoop and take you anywhere you want to go. That is a dauntingly difficult engineering challenge (dare we say impossible). What [Hotz] is selling is a more stress-free commute, not a nap in the back seat. You still need to be paying attention at all times.
Will this system work? Undoubtedly the engineering is possible (Tesla is already doing it). The biggest question mark that remains is human nature. This system demands your attention even though you’re doing nothing. That seems unrealistic — users are bound to lapse in attention much more frequently than if they were the primary driver. The question then becomes, will people pay attention at the very rare yet very crucial moments, and can a system like this prevent more fatal accidents than it causes?
[James Liang], an engineer at Volkswagen for 33 years, plead guilty today to conspiracy. He was an engineer involved in delivering Diesel vehicles to market which could detect an emissions test scenario and perform differently from normal operation in order to pass US emission standards.
A year ago we talked about the Ethics in Engineering surrounding this issue. At the time we wondered why any engineer would go along with a plan to defraud customers. We may get an answer to this after all. [Mr. Liang] will cooperate with authorities as the VW probe continues.
According to information in the indictment, none of this happened by mistake (as we suspected). There was a team responsible for developing a mode that would detect a test and pass inspection after the company discovered the engine could not otherwise pass. It’s not hard to see the motivation behind this — think of the sunk cost in developing an engine design. The team responsible for cheating the tests went so far as to push software updates in 2014 which made the cheat better, and lying about the existence of these software “features” when questioned by authorities (again, according to the indictment).