How can you play a key role in the development of the car of the future?
What is your first association with cars in everyday life? For most, it is mainly traffic congestion, vehicle maintenance and repair. But if we go one step further in our thinking and ask ourselves what all cars will be able to do in the future, and what they will be able to provide to people, we come up with incredible assumptions: self-driving vehicles, smart cities without traffic jams, remote diagnostics of vehicles, augmented reality, message projections on windshields, and motion control.
Newer generation vehicles are already driven by software almost as much as the mechanical systems. Code becomes as important as fuel. These vehicles have a large amount of software to improve the user's driving experience, as well as their safety, and millions of developers around the world work on their development every day.
With the accelerated development of new technologies, the automotive industry is becoming one of the most sought-after among developers. That's why in this text we wanted to bring you closer to what sets the auto industry apart, what exactly developers are working on in this area, and what all these technologies bring to our daily lives, even if we are not drivers.
To be as precise as possible, we will be helped by Aleksandra Vlasova, senior project manager at Luxoft, a company whose newly opened office in Belgrad, Serbia focuses primarily on the development of technological solutions for cars.
Accelerated automation and motivations for working in the auto industry
If the functions of cars in the near future seem too futuristic at the beginning of the text, it will surprise you that we are talking about only a small part of the auto industry.
Just look at this example:
The photo shows 5 stages to measure automation, which will lead to self-driving cars becoming a reality. At the moment, the majority of vehicles are in the second phase, but the market leaders are aiming for phase 3+, where we can observe what our car is capable of doing on its own. We will get there in 3-4 years. Whoever gets to that stage first will dominate the market.
Very inspiring for everyone who is part of this industry, isn't it?
First of all, it will be interesting to see who will win this technology race and be the first to reach the mentioned third stage of automation - Aleksandra tells us, looking back at what inspires her and many IT personnel to work in this industry. This is a highly competitive field and I really like the magnitude of the challenges ahead. It refers to the complexity of the developing systems as well as the responsibility of management. Second, I like that this project is realistic, not abstract, and that I can see the results of my work on the roads and touch them with my hands.
Automotive, in addition, includes all mainstream areas: ML, IoT, Cloud, big data, blockchain, 3D engines, 5G. Golang is becoming popular, C/C++ is commonly used to develop internal systems in vehicles, while Java and Python are used to support the development and testing infrastructure.
What do developers do in the automotive industry?
What is the role of developers in this exponential development? Where are the challenges, and motives, and how can progress be made?
Aleksandra below gives us an insight into the key role of software development for the further development of the car of the future, highlighting the following:
Complexity of the system. The complexity of the code and the entire car system becomes a real challenge for developers, testers, as well as all programmers who work with the code. The most important thing to emphasize here is that the "car" code has a lot of lines. A lot indeed. Let's say a fighter jet has 30 million lines of code, a Boeing 787 contains 6.5 million lines of code for control systems, and a Mercedes-Benz S-Class has 100 million lines of code. Impressive, isn't it?
Today, cars can be made with the help of a 3D printer, but the software for them is still very complex. Over time, it will become even more complex, so software development will represent the largest share of the cost of making a car, which is great news for IT experts.
High level of quality and high cost of error. According to NASA, 10,000 lines of code contain an average of one error. Therefore, it is easy to calculate how many errors can be found in 100 million lines of code. That's why automotive requires very strict quality standards, which means the need for additional systems that will support development and enable top-level validation and verification.
Safety first. Safety is a basic and necessary feature of a car, on which human lives literally depend. The simplest example is the seat belt, which saves millions of lives every year. But when it comes to software development, technologies have gone further. Take for example the Active Safety technology β various stabilization systems that take over driving at critical moments. That area directly affects the complexity of development in the auto industry.
Application of mathematics and algorithms. Everything is based on devices such as radar, lidar, cameras and ultrasound. For example, we developed some algorithms for lidar, in which the Kalman filter was used to filter the sound in the point cloud. In other words - mathematicians, C/C ++, and embedded developers, there is a lot of work for you here.
ADAS (Advanced Driver-Assistance Systems) also use sensors for navigation, active mapping with simultaneous tracking of your location on the map (so-called SLAM algorithms) as well as information from internal sensors.
Mass production. Technical support of the infrastructure for the production and assembly of cars is a very interesting field of work in the auto industry. Luxoft developed algorithms for lidar calibration at the end of the assembly line, using C++ and mismatch algorithms.
Technologies developed by developers
Which of these do companies in this area primarily focus on?
When asked what she does at Luxoft, Aleksandra answers: "Basically, everything." In this company, she explains, the automotive area is divided into three main units:
The digital cockpit refers to the technologies inside the cockpit:
β man-machine interface, control panels
β navigation systems
β Infotainment in the vehicle
Autonomous driving refers to self-driving technologies:
β development of various assistants, in accordance with the type of automatic parking
β embedded development, i.e. everything related to the operation of microcontrollers
β participation in the development of the AUTOSAR Classic and Adaptive platforms
β development of auxiliary tools, e.g. data management platform
Connected mobility refers to the communication of cars with each other and with the surrounding infrastructure:
β remote diagnostics
β telematics and infrastructure (smart city)
β interaction with services in the cloud
β various mobile assistants
β IoT platforms
What does it look like in practice?
Using the example of one of Luxoft's projects, we will show you how they are organized and what the projects look like and which technologies are used in practice.
Robotic Drive is an open joint solution from DXC and Luxoft for car manufacturers, a data and tool management platform that accelerates the development process, manages data collected from the vehicle during testing, extracts information from it and supplements the data with 3D rendered scenes used for validation.
The technologies they use on the platform are: Big data (Hadoop, Jarn, Java and more), Cloud: (Azure, AWS), ML algorithms for autonomous driving, recognition and data extraction, 3D simulation engines (Unity, Unreal Engine and tools based on them).
More than 40 people are currently working on this project. After the merger of DXC and Luxoft, the project's offer has been enriched with new functionality based on Luxoft's experience. There is now a joint development of new platform modules together with one of the Tier 1 automotive component suppliers.
Other interesting projects in the Luxoft Automotive practice include the creation of a growing code generation platform for large German equipment manufacturers, the development of the AUTOSAR Adaptive platform and real-time operating systems based on AUTOSAR Classic, which is used in the automotive industry, the creation of an architecture for a data analysis platform.
What next?
If the above has made you interested in the Automotive industry, these are the topics that you should further study and research:
β car design life cycle
β validation and verification
β CI/CD
β specifics of working with microcontrollers
β car networks
β operating systems
β programming languages ββand special standards
β tools used in the automotive industry
β ASIL (Automotive Safety Integrity Levels)
β A-SPICE methodology
β ISO 26262
Maybe you are already quite confident in your knowledge? Do you find that you could continue your further career path by developing software for the cars of the future? If your answer is yes, see more about the Luxoft company on the Joberty platform. They are also looking for new colleagues to work on many interesting automotive projects, so check out their currently open positions.