Self-driving Cars Software Development

Archer Blog - Self-driving cars software development

In this article, we want to talk about promising automotive technologies and best practices in the field of self-driving cars software development. Some of them have already been introduced into production, while others exist only on the paper.

Who could have ever predicted that a regular phone will get rid of the wires and, then, become an indispensable mobile assistant, that can replace a dozen different devices? Something similar is happening with cars now. Perhaps it is not too noticeable at the moment, but we are on the verge of the great automotive revolution that will radically change the concept of a 4-wheel vehicle.

Currently, there is no established terminology and even the common name for smart cars of the future. But more often they are called “connected or autonomous cars”. This implies a full integration of electronics in all car components, as well as a constant high-speed connection to the Internet for data exchange.

Typically, such a vehicle has a central processing unit that provides a variety of different functions. But still, there is no consensus about what operating system to use in autonomous cars.

Operating Systems in Autonomous Cars

A couple of years ago Google has announced the creation of an Open Automotive Alliance in collaboration with Audi, General Motors, Honda, and Hyundai. This alliance aims to develop software for driverless cars based on the Android OS. Meanwhile, in 2014 Apple presented their own product called CarPlay. Ferrari, Mercedes-Benz, and Volvo have announced the imminent release of their cars with their full support.

Microsoft Projects look much less promising. Although work on the Windows Embedded Automotive has begun before any of the competitors’ projects and proceeded in collaboration with Ford, it hasn’t become common.

Let’s see now, what is a “smart car” today and what ideas driverless cars software developers tend to implement in the very near future.

Control

A lot of companies have succeeded in the development of self-driving cars. However, does this mean that we will soon be able to get into the car, tell the autopilot where to go, and quietly read the newspaper until the arrival? Unfortunately no. Or rather, not yet.

A fully automatic mode of operation is too challenging and the software solution can only cover particular circumstances. In the urban environment saturated with traffic, far from being ideal roads and unpredictable drivers, it’s too early to rely on the autopilot.

Here, the main task faced by driverless cars software developers is to make a product that will adapt to external environmental factors as quickly as possible. With that in mind, developers start to implement a lot of ideas connected with road warning systems, traffic signs identification and notification, automatic parking, and so on.

In other words, the equipment yet is acting as a driver’s useful assistant, performing separate operations. But every year systems become more sophisticated, that gives us the right to say that very soon the driver will find himself in the role of car assistant.

Today one can not be surprised by navigation systems that are able to find a way to the most remote places on the planet. However, future navigators that are learning to communicate with other systems, will be completely different.

  • As for the self-driving car software, new navigation systems will be able to collect data on the common driver routes and anticipate his wishes. For example, if you drive to work every morning, pick up your children from school in the afternoon, and on Fridays’ evenings go to the gym, the navigation system will remember your route and will be prepared for the trip in advance. That means the system will get a weather forecast, road report, compose the best route and even put the driver’s favorite music on. All necessary information will be displayed directly on the windshield of the vehicle in the way it is done in the military jets now.
  • Another global trend of self-driving car software development is the integration of navigation systems into a common information field. The vehicles will be able to obtain information not only from satellites but also from other cars and even city infrastructure. For example, before a car approaches traffic lights the automotive software system will be aware of its operation, as well as of the number and speed of vehicles traveling ahead. After processing these data, the navigator can easily advise the suitable mode of movement to a driver.
  • No less interesting is the active safety systems that are being implemented today. For example, BMW’s Emergency Stop Assistant is able to keep track of a surrounding traffic situation with the help of sensors and avoid unexpected danger. In the case of a traffic accident, it can immediately call the emergency services.

Monitoring

Today’s car is so complex that electronics have been engaged in tracking the state of all its various parts. The vehicle software system can suggest the driver changing oil or filters when it’s due. But self-driving car software of the future will be able to also carefully monitor the driver’s body condition and his/her state.

With the help of a heart rate monitor installed to a steering wheel, the system will be able to track wellbeing, a blinks sensor on the rearview mirror will allow not to fall asleep, and a breathe analyzer won’t leave any chance for those who are too drunk to drive. If the system decides that the driver’s condition does not allow him to drive a car, it just will block the engine. And if a driver will get sick during the journey, the system will turn on the autopilot, which will gently park the car on the curb.

Anti-theft systems are being rapidly developed as well. If we pack our car with different sensors, then why not to build one that will be responsible for the authorization processes. In order to open the car and start the engine, the key in its physical sense is no longer needed. It will be enough to have a smartphone in the pocket, which will be able to open the car.

If the driver wants to give access to someone else, he just mails the key and the person gets access. The security system works not only on the smartphone but also in the car. It is not enough to hack the phone to get into the car. Emailed key also can not be intercepted, because data go through the cloud server, not directly to car hardware. Anyone who is not the authorized recipient, would not be able to receive an electronic key.

Some self-driving car software companies tend to imply the retina scanner for the process of identification, while others are in Apple’s footsteps and tending to use fingerprints. The important thing is that now no hacker will be able to open and start the car. And if you want to entrust the car control to another person, then you just need to add his data to the car onboard system, the same way you do when create another user profile on your PC.

Entertainment

Thanks to the high-speed network access smart cars turn into real entertainment centers, offering passengers the opportunity to watch videos, listen to music, surf the Internet, and chat with friends. For example, Volvo and Ericsson joint project offers the following features in the entertainment area:

  • Sensus Connect Multimedia System, which supports all popular formats.
  • Remote updating of a multimedia system. The car software system updates exactly the same as your smartphone does.
  • Bluetooth-connection in the vehicle with the help of which driver answers calls without being distracted from the road.
  • Siri-based voice control – from the “Play my favorite song” to “Find the nearest petrol station”.
  • Special mobile applications to control some functions of the car using a smartphone.

This is just an example of the car multimedia software features that are available today. There is still room for perfection – for smart car developers and software development companies.​

Autonomous Cars Software Groundwork

As you can see, the future of these cars is no longer fiction, it’s real. Now more and more often we hear that self-driving cars will replace today’s vehicles and it is inevitable. The question is how fast we will adapt to a new reality providing the infrastructure software for this technology. It is self-driving car development that can be our chance to discover and develop a new niche in the automotive industry.