Subscribe to EDN

Toyota learns the tyranny of software complexity

March 1, 2010

As a former auto engineer, I feel sorry for Toyota, I really do. To me it seems like their primary error was just believing their stuff has to be superior and can never break. Unfortunately, as cars get more and more complex, horrid problems like these unintended acceleration events are sure to occur. The rocket scientists that designed the Space Shuttle thought they were infallible and hot stuff too, until the ridiculous complexity of the machine caught up to them and the inevitable disasters started occurring. Maybe Toyota did the same kind of oversimplification of analysis that NASA did.

And believe it, a modern car is a wickedly complex device. Dozens if not hundreds of microprocessors are all whirring away, and they must communicate of the CAN bus to sense and control critical vehicle functions. The government has been concentrating on the reliability of pollution control functions, since it never occurred to them a car would get so complex its safety would fail in these subtle ways. When I was an engineer at Ford Motor I would often hear engineers exclaim “That is a million to one!” when I pointed out some subtle failure mode. I would respond, “Right, and how many cars does Ford make every year?” After they hemmed and hawed and admitted we were shipping 6 million vehicles year, I would ask which 6 people they wanted to kill, and what would they say to that person’s mother and loved ones?

I do think the news media is piling on a bit, and the government is more than happy to oblige since they hold a major stake in General Motors. ABC News led the battalions of incompetent non-technical journalists acting like they had a big scoop when they accused Toyota of knowing about a “surge problem”. What idiots. Surge is slight speeding up and slowing down under constant speed—usually due to a fuel-injection or spark-retard mapping problem. It is not the same as unintended acceleration.

Of course, Toyota, just like the American car companies, cannot quite believe the alacrity with which our citizens can wrap cars around trees. There is no motor so powerful that you just can’t stomp on the brakes and bring the car to a stop. The proper procedure is to put the car in neutral and let the motor scream, bring the car to a halt and then turn off the motor. Turning of the motor while underway locks the steering wheel and now you have really got a problem.

Months before the Toyota scandal, I had the pleasure of talking to Mentor Graphics CEO Wally Rhines at a diner function. I mentioned being a former auto engineer and talk turned to the insane complexity facing vehicle engineers. Wally told me how the Airbus people were struggling with the determinism of data on the hundreds of serial communication buses in their aircraft. On top of that they had configuration management and change-control problems. Thing about how huge the task is. How to insure that a rev C module will properly work with a rev G controller and not clobber that rev B module you just added to the system? Mentor offers simulation environments and wiring tools like their Vesys package to help engineers deal with this brutal problem.

The importance of these simulation and verification tools became apparent when I was visiting a friend in Portland. We were waiting on his buddy to show up for a barbecue. We got a panicked call from the guy, a usually unflappable retired cop. His brand-new GMC pickup truck was acting really weird, with the door locks cycling and transmission display going crazy and the instrument panel flashing and acting broken. We all agreed he should park the truck and we should pick him up. Subsequent phone calls revealed he had just picked up the truck from the dealer where he had a failed rain sensor replaced. This sensor is a whiz-bang feature that turns on your wipers when it rains. I think stuff like this is a waste for the exact reason for what happened. We told the guy to turn off the switch for the automatic rain sensing. The problem went away and he drove the truck the rest of the way. Now what kind of goofy CAN bus disaster could make a bad module trigger door locks and many other functions is beyond me. I have a hard time believing that some noise on the line could case so many false actuations. Let us hope that GM kept the windshield wiper CAN buss away from the ABS brake or engine control CAN-bus, but what kind of buffoons could design any system that has such an egregious failure mode? Maybe GM should stick to bending tin and let us electrical engineers design the electronic systems, the mechanical engineers that are lapdogs to the MBA finance types who are destroying the US auto industry are doing a pretty poor job.

The system level error that Toyota made is not letting a brake signal override a throttle signal. I designed speed control systems at Ford, and everything was dependent on having a tap on the brake cancel any speed control function. A throttle-by-wire car like Toyota makes is almost free to add speed control, you just have to have a button to tell the ECU (engine control module) to hold speed and a brake signal, and that is probably already sent to the module. So it was just software, a couple lines of typing, that means that once a car accelerates a brake input will send the throttle angle to zero. I have to assume that Toyota engineers talked themselves into thinking there are times when you want to hit the throttle and brake at the same time. Motorcycle racers do this to put torque loads on the frame so when they do let off the brake coming out of a corner, the bike is already “bent” by the chain loads and then handles more predictably. I can’t think of a reason a car needs to have brake and throttle on at the same time, but somebody must have dreamed it some sports-car-dork reason to not have the brake single cancel the throttle signal.

I don’t want to let Toyota off the hook, it does look like they could not bring themselves to admit they had a problem and then covered it up once they did. We can forgive them for not being perfect, but we have a harder time forgiving sleazy wickedness.

You might want to put this Toyota recall into context however. Look at the Ford Explorer rollover problems. A tire blowout would cause the vehicle to spin out of control and overturn. Car and Driver magazine could not replicate the problems on a test track; their drivers were always able to bring the car to a safe stop. But the reality of the situation is that an amateur driver not expecting a blowout would jerk the wheel and the SUV would end up flipping. According to my auto industry pals the reasons were straightforward. One, the roll center of the Explorer was too high, making a rollover possible. Two, Ford under-specified and under-inflated the tires to give that Ford boulevard ride they have sought for 4 mush-filled decades. OK, you want your truck to ride like limo? Fine, you don’t do that by under inflating the tires. And if you do, you put high-temp rated tires on the vehicle so they don’t fail prematurely. And since when is a tire failure supposed to trigger a rollover? These are not military Jeeps, these are million-selling passenger vehicles. The answer is what Ford is all about and why I quit. Cheap cheap cheap. Putting in high-temp tires costs money. Using mushy shocks means you need better sway bars and that costs money. Designing the roll center to be lower costs money. So for some filthy lucre and that boulevard ride, Ford killed dozens of people, many of them completely innocent people who where hit by that overturned Explorer. Now I don’t know about your moral compass, but I think Ford has a lot more culpability over this than Toyota does for any unintended acceleration.

Want another Ford recall? The ignition switch would catch fire. The cause for one of these recalls was that the Ford told the vendor, I believe it was ITT, to lower the height of a creepage fin between the switch terminals. The plastic was not 3 cents a pound polyethylene, like Ford likes to make every component out of. I think the plastic was polyamide or an expensive engineering thermoplastic that cost 80 cents a pound. So to save maybe a tenth of a cent on the cost of the switch, they cost-reduced a working design into something that killed the baby of the mother who trusted enough to leave her child in the car while she took the groceries into the house. If I remember right, the vehicle was not even running.

Ford had a design philosophy of starting with something so cheap and crappy it would never work, and then they added pennies until the thing seemed to work. GM would tend to design the thing to work solidly and then take the cost out. Unfortunately they often took too much cost out and were as bad as Ford. All this is 30 years ago, so I don’t know if Ford and GM are still so incompetent, but the linked website above that accuses MBAs of trying to design cars at Ford was sure right. I had to spend days explaining to those Ford MBAs why we could not make the wiper motor out of plastic or use aluminum battery cables instead of copper.

I can tell you this; Toyota still builds the most reliable car on earth. When I was at Ford in 1980, our goal, which we thought was impossible, was to be only twice as bad as a Toyota mini-pickup. I drive Honda since I think Soichiro is a real engineering hero, but if I ever give up on my Accord, I might buy a Nissan, since my buddy Bruce works there, or a Toyota for the best reliability. I would no sooner drive a Ford than I would play Hacky Sack with nitroglycerine.

 

Posted by Paul Rako on March 1, 2010 | Comments (14)

March 2, 2010
In response to: Toyota learns the tyranny of software complexity
Deon commented:

So much so for the GM way - GM just called back 1.2m vehicles.


March 2, 2010
In response to: Toyota learns the tyranny of software complexity
Steve commented:

Regarding the need for left foot braking, and this is a reason I am getting rid of my Audi - in snow or loose conditions, to control the car from understeering off of the road, application of left foot braking while throttle on is going to save your life. My Audi cuts the throttle at the wrong times right when the driver is demanding more throttle on a front wheel or all wheel drive car, and is very unnerving. I am replacing this pile of engineering junk with an earlier vintage car, most likely an awd Subaru, with a throttle linkage and stability control that I can either shut off or is non existent. Too much technology takes the driver away from driving and is a good excuse to talk on the phone, text, put on eye makeup or all of the above. Toyota just ruined it for those that actually LIKE TO DRIVE their cars, not just ride around in them, especially in the snow.


March 2, 2010
In response to: Toyota learns the tyranny of software complexity
William Ketel commented:

Check also the Design News blog on the Toyota Travails! lots of good comments there. ON this one: the solution for the brake-throttle override problem is to only enable the override above 10 or 15 MPH, then all situations are covered. The can bus problems are undoubtedly in the software, not in the hardware, and setting priorities incorrectly, just like one of the major OS companies does all the time. As for the 3 second hold for a forced shutoff? That sounds like software to me. My most reliable cars had an actual in-line hard switch in the ignition power circuit, some of the less reliable ones used a relay under the hood. But there was no software to ask "Why would you ever want to do that", and then say "action denied". I did have a throttle lock on a lab car while at Chrysler, maintaining a 4700RPM "idle" after the engine warmed up. I wound up driving the 70 or so miles back from the proving grounds all the way to their Highland Park engineering center in that mode. Braking was indeed difficult, and quite likely my grandmother would have had a problem. But the only casualty was the brake pads. That problem was caused by a stuck experimental idle speed control motor, easily diagnosed and easily fixed, except, not on the road, without tools.


March 2, 2010
In response to: Toyota learns the tyranny of software complexity
Automotive Electronics Engineer commented:

Re: "I can?t think of a reason a car needs to have brake and throttle on at the same time..." Answer: It doesn't matter. From an FMEA standpoint, if it can be done someone will do it and it doesn't matter why. More food for thought: I would guess that most operators don't think or care about electronic throttle control (vs. a mechanical linkage). They expect that the vehicle will do what their last vehicle and the vehicle before that did: braking with the throttle depressed does not cut the throttle.


March 1, 2010
In response to: Toyota learns the tyranny of software complexity
Widar commented:

I have been in two major accidents in Saturn sedans. I was hit from behind by a semi truck who did not see that traffic was stopped and I had a collision with a ford mustang that pulled out in front of me while I was going 30mph. In both cases all of the safety systems worked and I came out with only minor bruises. I would recommend buying a Saturn but GM is no longer making them. I guess Saturns didn't make enough money for them.


March 1, 2010
In response to: Toyota learns the tyranny of software complexity
Eliot J commented:

I always thought there would be more to Toyota?s recall than the floor mats. What?s with all the Ford bashing? I bought my 1972 Mach 1 off the showroom floor 38 years ago. It?s a wonderful car. I?m about the only person that still drives these around town on a regular basis. Have had very few problems and those are usually easy to repair. So you think Honda?s are immune? Recently my Accord would just sporadically die. I tried everything I could think of to resolve the problem, dirty intake, EGR, Idle air control, tune up?nothing worked. Searching the internet, I found an old recall notice from about the time I bought the car. A faulty ignition switch would shut off the ignition. OK, not as bad as Toyota?s but still could leave you stranded somewhere. Luckily, my would eventually restart, but still un-nerving not knowing when I would get stuck.


March 1, 2010
In response to: Toyota learns the tyranny of software complexity
ok so only #$%@ would do this commented:

i am replying to the question: "why would someone want to have the throttle live and the brake live at the same time?" Front wheel drive motocross racers often will approach a turn and get on the brake and push the throttle at the same time. The braking 'loads up" the front end for better traction and the gas is needed to keep acclerating thru the turn:) These are race car drivers of course....not normal humans:) (give them software RCEX 1.0)


March 1, 2010
In response to: Toyota learns the tyranny of software complexity
Kent Lennartsson commented:

I have been working with CAN for 20 years and it is wrong to use a expression ? goofy CAN bus disaster could..?. The CAN bus is very robust and safe and it is almost impossible that data will be corrupted during the communication. If you have that much noise in the CAN-communication that could cause any problem in the CAN-link, it could be detected and you will know you have problem. The problem is the layout of the system and the mixing of all type of information into a complex mix. The only signal that must be working in a car at any time is two signals acceleration and direction of the car (at night it is nice to also have headlight). All other signals are not necessary but nice to have to increase safety and comfort when driving the car. If you prepare your system with multiples MCU it is possible double/triple check each other to detect units with problem and isolate them from causing any damage in the system. If you include into the system such means to detect and isolate units you will get a safe system. CAN itself is not the problem and not the solution, but it is good enough to be used in a proper system.


March 1, 2010
In response to: Toyota learns the tyranny of software complexity
John L commented:

Was the root cause of the problem: a) software ? (lack of brake over ride, lack of data logging sensor error) b) hardware (lack of detecting sensor failure)? c) Quality assurance testing ? (no detection of above issues) d) bad (poor) engineering? (stupid people) e) A manager's decision ? (all the above, plus greed/politics thrown in.) f) Lack of industry standards for testing/certification of complex control systems in cars? g) lack of government oversight? ... any many other areas/issues.... A lot of places to place blame. Lot of places the problem(s) could have been caught, before any one was hurt. All can share blame... The real question.. with all the examples of recalls/failures.. Have we found a better system for making highly complex systems more reliable/safer? and if we have .. why aren't we using it? The answer is ... everything continues to evolve. expectations. solutions. everything.... including the thresholds for defining "failures"


March 1, 2010
In response to: Toyota learns the tyranny of software complexity
Just-a-Tech commented:

I love it...finally someone who says something that is coherent.... for pennys...manufacturers will cut costs and bring a death situation into reality....all for the profit....Heartless Capitalism.... Bring them before the courts and chop their heads off. I say AMEN to that.


March 1, 2010
In response to: Toyota learns the tyranny of software complexity
Tim the engineer commented:

The most reliable car on earth is a Toyota? Tell that to my wife. In one accident where a 16 year old rammed into the rear of her stopped car, the seat belts failed to lock. Only the threat of a lawsuit convinced Toyota to replace faulty seat belts in the car, a 1991 Celica. I was always suspicious of the car's belts as they would not lock in panic stops. It was miserable to have to find out the hard way they were defective. Two years later some codger rams into her head-on coming out of a parking lot. Eye witnesses to the accident said she was going under the speed limit and had no chance to stop in time. The airbag did not deploy in a 25mph head-on collision. Second safety system failure in this "reliable" car. I filed complaints with NHTSA and Toyota to no avail. I paid to have the system checked out at a local Toyota dealership. The mechanic said the system checked out. When I showed him a picture of the car after the wreck, his only reply was "those air bags are faulty, no matter what the diagnostics say; that kind of head-on collision should have made the bag deploy". I don't want to ever see a Toyota again. They are death traps as is finally coming out.


March 1, 2010
In response to: Toyota learns the tyranny of software complexity
Charlie commented:

There is one time that you might want a little trottle with the brake on. If you are stopped on a hill and someone has pulled up right behind you, pressing down on the gas so you do not roll backwards is the solution. Even with automatic transmissions this might be needed. However, like you, I can see no reason to have the accelerator and brake depressed at the same time. The company I work for designs automation equipment. We always include a background software task that checks for problems such as these and disables the machine when they occur. With every machine we design that can pose a danger to a human being, we provide the manditory E-Stop switch. This is a big red switch circled with the words Emergency Stop. Hitting this switch removes all energy from the machine. In the case of a car, I would think everything except braking and steering should be disabled. I live in San Diego California and daily pass the area where the four people lost their lives on highway 125 when they ran out of freeway. I was also witness to a fatal collision where they suspect that the driver had a stroke and was pressing on the accelerator and brake at the same time. We need a simple a quick method of detecting failures and overriding possible error conditions in a safe manner.


March 1, 2010
In response to: Toyota learns the tyranny of software complexity
Tom Mathes commented:

Several of the drivers, like the TN grandmother that testified before the House subcommittee, did indeed try to pop the transmission into neutral but it did nothing. So your prescription, which is what I would recommend, will not work in this case.


March 1, 2010
In response to: Toyota learns the tyranny of software complexity
First the facts commented:

Involuntary Recalls by Toyota in the company?s history ? 1 Involuntary Recalls by Ford/General Motor/Chrysler in the last 12 months ? 37 I was always instructed to work from first principles and start with the facts.

POST A COMMENT
Display Name
captcha

Before submitting this form, please type the characters displayed above. Note the letters are case sensitive:

Advertisement
Advertisement
Advertisement
About EDN   |   Site Map   |   Contact Us   |   Subscription   |   RSS
© 2012 UBM Electronics. All rights reserved.
Use of this Web site is subject to its Terms of Use | Privacy Policy

Please visit these other UBM Canon sites

UBM Canon | Design News | Test & Measurement World | Packaging Digest | EDN | Qmed | Pharmalive | Appliance Magazine | Plastics Today | Powder Bulk Solids | Canon Trade Shows