Creating self-healing cars with human-like intelligence

Editor's Note: Anyone born after 1970 should take the time to click on the links pretty funny stuff.

Oscar Wilde said life imitates art. In our industry, technology imitates the imaginations of TV producers from the 60s, 70s and 80s. Maxwell Smart of Get Smart was the first to use a mobile phone - so mobile it was embedded in his shoe. The Jetsons were the first to have a "smart house" and KITT from Knight Rider was the first intelligent car based on the "Knight Industries Two Thousand" (KITT - acronym and all) processor.

 

Here we are heading into 2019 and expectations are that the number of mobile phones around the globe will pass the 5 billion mark; robots are being used in homes and enterprises, and based on the automotive industry's transition from hardware to software-centric offerings - we are on the cusp of the intelligent car.

AI and Machine Learning will be cornerstone technologies used to develop an intelligent and independent car, allowing autonomous vehicles to conduct and continuously learn how to do human-like activities. The car will soon be driving itself allowing people to do other things during the time they are being transported. Even imagine a pedestrian walking down the street and the autonomous car knows enough to flash the headlights - or blink his/her eyes - to let the person know it is safe to walk across the street.

Also like the human body, imagine this car with software so sophisticated that the software itself detects anomalies, stops bad processes from causing the car to malfunction and seamlessly updates with new features and functionality - fixing itself like the human body heals itself.

Similar to the realization on Get Smart's mobile phone and the Jetson's smart home, Aurora Labs believes that advances in AI and Machine Learning weaved into our Self-Healing Software solution will help make the vision of the intelligent self-healing car a reality.

Engineering the software car

According to a recent Wall Street Journal article "The global auto industry thinks it sees the future, and it will require a transformation without precedent in business history: The giant industrial sector has to turn itself into a nimble provider of software and services."

This transformation started happening a few years back and is offering major opportunities for a certain segment of the population - the software engineer.

Right now, there are more than 14,000 automotive software job openings in the US alone, based on a very quick and unscientific search on the Indeed career website. The need for automotive software engineers is huge due to the fact that more than 1 billion lines of code are expected to be required to run a level 5 autonomous car. In this era, software engineers are in a position to be kingpins in the automotive industry.

The truly interesting bit is that new technologies, like AI and Machine Learning - technologies that are exciting for young and seasoned engineers alike - are cornerstone technologies in the realization of the autonomous car.  The jobs available to software engineers offer creative opportunities for the development of new driving and passenger experiences.

Aurora Labs is excited to be working with car manufacturers delivering Self-Healing Software for software engineers throughout the organization to succeed in this new automotive world.

With Self-Healing Software engineers can shorten development cycles, flash and test infinite variations of software configurations, and update the car guaranteeing the best user experience after the car has left the lot.

Updating, and still waiting

Yay! There is a new software version available for my car head unit. I wasn't informed about it by the OEM or my dealer, I found out about it on one of the car owner forums I am on. I followed the link and downloaded the 2.16GB(!) image to my pc, transferred it to a USB drive and went out to my car. 30 minutes in, 34% and this is going to take a long time! It wouldn't be so bad if I could leave it running in the car but, and I quote from section 18 of 32 from the 20-page official update guide: "Press and release the clutch pedal (Manual Transaxle) or the brake pedal (Automatic Transaxle) and proceed with the following steps without stopping. NOTE: If the ignition is left in the ACC position it will automatically switch off after 25 minutes. Performing this step resets the timer to ensure the vehicle does not switch off while installing the reinstallation package."

Not exactly the user experience I have come to expect from any of the many connected consumer devices I possess. This process wouldn't be any different if I had taken my car to the garage - they too would have had to follow this same 32 step procedure. Software management including steady updates of features and functionality need to become the norm and not the exception. Our cars need to start behaving the same way as our smartphones - seamlessly updating, without requiring user intervention, to give us new features and improved functionality on an ongoing basis. I'm working with a team that are developing a clientless OTA update technology that will enable all and any ECUs in the car to be updated instantly without requiring user intervention and with zero downtime. This technology will enable the car software to seamlessly and constantly improve, making me feel more positive about buying another car from the same brand next time around.

Now if you'll excuse me, I've still got 12 more manual steps to do before I complete this update and I need to keep my foot on the brake!

Stepping up to meet the challenge of software complexity

The 2018 Automotive Elektronik Kongress in Ludwigsburg was not about autonomous cars or any other technology that comes with a 10-year engineering horizon. When the industry's most senior people that are actually tasked with building the cars and technologies of the future met in one room, they talked about stepping up to meet the challenge of software complexity and continuous integration & development.

Over half of the 25 companies who presented at the 2018 Automotive Elektronik Kongress talked about the critical need for Software Lifecycle Management and Continuous OTA Updates. These included: Elektrobit, Bosch, TTTech, BMW, Escrypt, Audi, Deutsche Telekom, Volkswagen, Harman, Here, Continental, Intel, and others.

There was wide agreement in the Kongress that Software Lifecycle Management is essential to speed up a time to markets of new product functionality, fix software bugs, enable new mobility and post-sale business models, and continuously maintain the car's security.

In interesting discussions I had with many of the attendees, there was a widespread agreement of the need for a next-generation OTA Update technology that enables the updates to happen with zero downtime, without requiring additional memory and a higher BOM. Improved user experience is paramount for OTA updates to become widely used throughout the vehicle.

OEMs have already embarked on the journey to not only introduce new technology but also change the organization and processes to meet this need for a continuous software release world.

Perhaps best summarizing this change in Volkswagen, Dr Rolf Zoeller quoted Charles Darwin: "It is not the strongest or the most intelligent who will survive but those who can best manage change."