 So, hi everyone, welcome to DEF CON CZ 2022. My name is Lenka and I'm the moderator for this session. And next we have Sarish Pandit and Parv Goswami with the emergence of in-vehicle OS. There will be time for your questions at the end. You can interact in the session chat and write the questions in the Q&A section. And there will also be some poll questions for you. Sarish Pandit is a principal technical training developer and a part of P&T associate experience team at Red Hat. He had developed technical training modules for OpenShift virtualization, OpenStack, kernel and networking group. He had joined Red Hat as a platform intern and prior to Red Hat he was a part of the telecom industry for almost three years. He likes to organize, participate and collaborate in open source communities and events. And Parv Goswami is working as a technical training developer at Red Hat and mostly works with Kubernetes and networking. He's an open source enthusiast and contributes to open source by hosting meetups and interacting with the community. So without any further delay, I'm giving a word to Parv. Thank you, Lanka, for the introduction. Hope I'm audible. Again, thank you, folks, for joining this session. And let's start with the outline of this session. Okay. So we'll start with, by understanding what exactly the shift that is we are experiencing in the automotive industry, we'll speak about a couple of ongoing autonomous vehicle projects, then we'll see how the community response is and the contribution to the open pilot project. We'll see what are the challenges and opportunities in the automotive sector. And then Sarvesh will introduce us to the in-vehicle OS, he will speak about the important industry standards and certifications and how we as developers and individual contributors can get involved with the projects. All right, over the last two, three decades, the automotive industry is kind of undergoing some shifts and changes. I remember around 10 years ago, there were this newly launched electric vehicles which could emit pollutants twice as less as normal IC engines. These battery powered vehicles were very compact, mostly suited for two persons with less to no luggage capacity. Then we saw this concept of autopilot or advanced driver assistance system abbreviated as ADAS being introduced in some premium hired cars. The ADAS would include cruise control, it would provide alerts, signals and warnings to driver while driving and also some functions that would help the driver park their vehicle. There is no doubt that this resulted in an increased overall car and road safety. Now we are heading towards an era where we are seeing lots of big technology companies entering the automotive industry and developing autonomous vehicles. These cars are no less than a robotic car that would self-drive from point A to point B without any human interaction or human intervention. Next. Yeah, so who are in this autonomous vehicle market? To build an ecosystem for the autonomous vehicles, we must understand that what exactly is needed. The fleet must be connected to the cloud for data sharing and quick processing. The vehicles would need powerful processors and batteries. It would also require the AI and ML capabilities and an OS to look after all these processes. Hence, big technology and cloud companies are the obvious choice for providing such an ecosystem. Going a step further, the car would also need a smart infotainment system with maps, weather updates, voice assistance, camera, Wi-Fi, U-Name, and what not, and internet connectivity, touchscreen panel, and hence major mobile phone manufacturers are also coming up with their own autonomous vehicle products. And then we have the existing traditional car manufacturers whose car we have been driving since the time we learned to drive a car. And these car manufacturers have decades of experience in building and manufacturing cars. Even these companies are looking obviously to get tied and partnered up with IT and cloud companies and offer a product with self-driving capabilities. To better understand why we need an in-vehicle OS, first let's talk about some of the existing products and developments going around in the autonomous vehicle industry. This is Zooks. It was founded in the year 2014. So Zooks is a company that is creating an entirely new autonomous vehicle targeted at the robot taxi market. The company's approach is different from the other tech companies. Its approach is basically centered around the fact that a retrofitted vehicle is not optimized for autonomy. So this vehicle is fully autonomous and electric, which is built for riders and not for drivers. There is no driving seat. It is bi-directional, which means it has no front or back. It cannot, I mean it can go either way as needed. So pickups and drop-offs seem less, it becomes a bit easy. The Zooks is trying to provide its product as mobility as a service in dense urban environments where there are space constraints. The vendor will be handling the driving, charging maintenance and upgrades for their fleet of vehicles. The rider will simply pay for the service. Next we have Vemo. Unlike Zooks, which creates autonomous cars, Vemo is a company that develops autonomous driving technology. It operates a commercial self-driving taxi service called Vemo-1. It also develops driving technology for use in other vehicles, including delivery vans and tractor or trailers for delivering logistics. So Vemo-1 is the tracking division of Vemo. In other words, Vemo-1 is for moving people, whereas Vemo-1 is for moving goods. Then we have Tesla Autopilot. It's basically a suite of ADAS features offered by Tesla. Its features are lane-centering, traffic-aware, cruise control, automatic lane changes, semi-autonomous navigation on limited-axis freeways, self-parking and the ability to summon the car from a garage or parking spot. One big difference between Tesla's Autopilot and Vemo or Zooks is that in all of these features the driver is responsible and the car requires constant supervision. So this is where the differentiation is. This software was developed with an intent to reduce accidents caused by driver negligence and fatigue from long-time driving. Now that we have seen what these cars are capable of doing, let's talk a bit about the OpenPilot project. The ADAS software currently which is being used is mostly proprietary in nature, which we obviously do not want. So this, why we do not want, this increases, because it increases the possibility of vendor locking, which most car manufacturers also do not want to get into. Hence, many car manufacturers are headed towards this OpenPilot project, which is developed by Coma and are coming up with their own versions of ADAS. So what exactly this OpenPilot project is? It is an open-source driver assistance system. We'll talk about its functionality in the next slide, but for now just understand that this project is basically used to modify your existing car, not in a mechanical hardware way, but by increasing the computing power, adding sensors to receive data and other continuously updated driver assistance features. To be able to run this project in your car, you would need to install OpenPilot on a device called Coma 3, which is its latest version as of January 2022. We have shared the link to its GitHub page in the reference slide. Moving ahead, let's take a look at what OpenPilot is capable of doing. So currently, OpenPilot performs the functions of adaptive cruise control, meaning the vehicle will maintain a safe fall in distance and stay within the speed limit. It is capable of doing automated lane centering, which helps in relieving the driver from the task of steering, then forward collision warning, lane departure warning, which is kind of self-explanatory, I believe. OpenPilot is capable of functioning for a growing variety of supported car mix models and model years, because every vendor will come up with its own way of building a car. So the OpenPilot project has to adjust to the car mix, the models and even the model years. Then in addition, while OpenPilot is engaged, a camera-based device driver monitoring feature alerts the distracted and kind of drowsy drivers. So this again increases the safety of the overall car and the driver as well. Now, let's see how to contribute to OpenPilot. OpenPilot is, as stated earlier, developed by Coma and by many community users. There are a couple of ways to contribute to this project. Full request and issues, both are welcome on their GitHub pages. You can also join Discord to discuss car ports. Most car makers have a dedicated channel for this. Again, related links can be found in the reference page. Now, if some of us are curious to explore more about this project and try it out for real, we can add OpenPilot support in our cars. To use OpenPilot in a car, you would need four things. First is the software itself, which is free and available on GitHub page. Second is a car from one of the 150 supported car lists, cars listed on the project's GitHub page. If your car is not supported but has at least adaptive cruise control and lane keeping assist, it's likely that it should be able to run the OpenPilot project. Next is a supported device to run this software. This can be a Coma 2, Coma 3, or if you would like to experiment a bit more, and Ubuntu computer with webcams would also work. Lastly, a way to connect to your car with a Coma 2 or 3, you need only a car harness. Car harness is an universal interface to your car. All right, now that we've talked about paradigms in the automotive industry, discussed a couple of major players in the industry, talked about ADAS and its open source option, let's now delve deeper into the subject, which we'll start by knowing what exactly an in-vehicle OS is. Over to you, Savage. Thank you, Paar, for sharing an interesting open source project called OpenPilot project. So before going into the need of an in-vehicle OS first, understand what exactly is in-vehicle OS. We have seen just OpenPilot is a driver assistance system, but in-vehicle OS is a kind of a software platform for the automotive application that can serve as the facto standards. So in simple terms, if we talk about OS, a bare metal or a virtual machine system, that would be capable of running customers' applications as a container. The main goal of creating an in-vehicle OS is like that it should incorporate modern ideas around the workload orchestration, secure process isolation, consideration of mixed critical workloads, field updateable, and continuously certified for the functional safety. So let's identify the challenges in the automotive industry. So basically, big auto manufacturers are concerned about the transformation of the tech industry going through and advanced innovation is happening at those companies. Parth already shared a few examples around the tech companies who are working on autonomous vehicles. So what these companies are doing is they have their own internal chip teams, which use the license-building blocks from the best chip in the market to innovate rapidly and effectively and creating competitions for big automakers. So manufacturers also have to accumulate a huge amount of data for a machine learning technology associated with the driverless systems to work. That can be a challenge for a manufacturer. And for the development of ADAS and unmanned vehicles, it is necessary to ensure as well the compatibility of all the systems and software inside the smart car that can think and communicate with each other and other vehicles as well. It is also important to keep the final product or final cost of the product of a car with an ADAS and man cars. It has to be at least slight premium to the existing pricing standards of the car. There is also a challenge to decide how the safety of automated vehicles should be and tested who would be testing and by whom. And when there is a data is involved, there's also a chance of a cyber bridge activity as well. So we have just seen the challenges in the automotive industry, but let's see the opportunities which we can use to address those challenges. So for a standard automobile manufacturers are looking for the way we can compete the tech for our mindset of the industry disturbance, which is happening. The manufacturer has to need to think about decreasing the requirement of a human driver to create a safer road for pedestrians, bicycles and two-wheelers. The most high-profile way data is shaping the automotive innovation is through the automation of the driving experience action. So manufacturers have begun to incorporate the ADAS system into their vehicle, which is right now, which is already happening with existing car as well. We can see those kind of to create a convenient and safer experience for other drivers. Manufacturers must be able to also quickly contextualize, correlate, analyze the hundreds of terabytes of daily to extract a value from data while the test vehicle travels millions of the miles. As data and digitalization is there, are helping auto manufacturers to identify the manufacturing errors and faulty parts in their early stage, thereby reducing the cost and time spent in building and manufacturing the final product. There is also push to improve the driving experience with the connected cars as they share the data in a real time through the consistent connections to the data centers and public cloud providers. So we have seen this opportunities and a lot of challenges. So we have seen a lot of data related things. So we need OS, we now know. So the automotive computing world is likely a many other industries, like is going through a lot of transformation and advanced computing facilities within the car. As vehicles become increasingly more like a mobile data centers from advanced driver assistance systems to automated vehicles to implement system, the operating system plays a very fundamental role in the resulting software. This is where creates opportunity for the Linux based operating system, such as CentOS to lead the transition from the car as an isolated set of embedded systems into a cohesive intelligent age device. There is another one, which is like these are all open source projects. The second one is automotive grade Linux. And the automotive grade Linux is a kind of a collaborative open source project that brings together automakers, suppliers and technology companies for the purpose of building a Linux based open source software platform for automotive applications. And the main advantage of Azure, it addresses all software in the vehicle, starting with infotainment system, instrument cluster, heads up display, telematics, connected car, advanced driver assistance systems, functional safety and autonomous driving. The main motto behind this is like adopting a share platform across the industry due to its fragmentation and allows automakers and suppliers to reuse the same code base, which leads to rapid innovation and faster time to market for the new products. Like we know how open source creates a faster innovation. Then there is a third project, which is related to connected car. The connected vehicle system Alliance is an open collaborative and impactful technology Alliance, accelerating the full potential of the connected vehicles. And there's one fun fact, if you like remote control car, then you can check self driving car project called as donkey car, which is also open source. And it is worth exploring. You can learn a lot of self driving car related things. Then when we are making any automobile or automobile related products, the standards and certifications are required. So one of the important requirements for in vehicle OS project is like being ISO 262 certified. Any offering in autonomous industry is expected to comply with this ISO 262 standard to be accepted by the broader automotive vendor community. ISO 262 defines the functional safety for automotive equipment and addresses the possible hazardous caused by the malfunctioning of the electronic and electric system in the passenger vehicle. Automotive safety, integrity level, ASIL is a risk classification scheme defined by the ISO 262 function safety for the road vehicle standard. The main goal of the certification is to prevent a safety related application from failing. And a part of this is preventing unsafe application from interfering with a safe application. So let's take an example of what can be the unsafe and safe application. For example, when you lock your car and that controls the turn signal lights, you don't want that car key lock application to control these lights while you are driving. And then how the certification is performed is like certification is performed via partnership between a software vendor and a certification vendor. These vendors are independent and compete for the business. So they have the strong incentives to perform valid legitimate safety analysis to avoid any reputational damage. If they certify junk and that junk fails then they suffer. So there is also ongoing efforts to update ISO 262 certification known as ISO PAS-PAS-8926, which has been accepted as a new working item proposal to the ISO community. The reason is not all the criteria as what automotive industry following ISO 262 will be applicable with the same like for exact as to the in-vehicle OS. That's the reason this ongoing effort happening and a lot of contribution happening on shaping this update to the ISO 262 in terms of in-vehicle OS. Other than those, there are other associations like motor industry, software reliability association that actually use to provide assistance to automotive industry in the application and creation within the vehicle system of safe and reliable software. The mission of enabling this Linux in a safety application that is ELISA project is to make it easier for the companies to build and certify the Linux with safety critical application system systems whose failure could result in loss of human life, significant property damage and environmental damage. So ELISA is not just applicable in vehicle OS but wherever like medical applications where there is a human life is there and anything related to damage is there. So we are also sharing these two special interest groups related to in-vehicle OS along with their primary functions and goals. So one is CentOS Automotive Grid Linux, Automotive is SIG and another is Automotive Grid Linux. So you can also find this kind of complete information of the respective groups and their documentation in the wiki pages. So for those who like to attend the participate in the events related to automotive or related to markets, you can attend these events such as AGL at Embedded Linux, Automotive Linux Summit and Consumer Electronic Show. So here are a few important links for a future reference. We are also hyperlinking this most of the resources in the slides wherever it is necessary. Thank you so much for your interest in the session. If anyone has any questions we can discuss. Thank you Pard and Sarvesh, amazing presentation. So far there are no questions in the Q&A sections and for the poll answers there were some correct answers. So the parent company of ZUX is Amazon and is OpenPilot Project an open source version of InVehicle OS? No it's not and the correct ISO standard important for testing of softwares in vehicles is the third option 26262. So I have two questions that I would like to ask. So in the poll questions you asked about the parent company of ZUX and I'm curious to know who is the parent company of Waymo. So I can take that. So parent company of Waymo is Alphabet. So Alphabet is if you know Google it is so it is a kind of a thing. So Alphabet is a parent company of Waymo so they are heavily investing in that. So AIML kind of a capabilities also they are thinking of introducing. So that's the answer for it. Any other question? Thank you and we have another question in the Q&A section. As the future of CentOS in Uncertain do you plan to replace it with another this this throw? At this moment I can't comment on it. I mean not sure about the maintenance I've decided or I mean the folks or the team who runs this SIG about their plans as of now but maybe I can check and get back. Okay thank you and also I would like to ask about the taxi service. I personally like the experience of a driving stick vehicles but if I can simply use Waymo or ZUX as a taxi service why should I purchase an autonomous vehicle? Well that's that's actually a good question. It makes sense if you already have some options to use autonomous vehicles in the form of a taxi and if you already like the experience of driving why would anyone purchase. So of course the answer is no there is no completion or there is no reason persistent enough for me to convince anybody to purchase that I myself would like to continue to drive and feel that experience but there is a middle way you can go for a system which allows you to modify your car in a semi-autonomous way. For example the driving of the car itself won't be autonomous but the parking or taking out of taking the car out of garage or keeping the car centered in the lane at least those functionalities can be made autonomous. So that is not going to hamper our experience of driving the car and which I believe is a better way than purchasing a fully autonomous car. Awesome thank you. Okay and unfortunately our time is up so thank you Parf and Sarvesh and thank thanks to all of you who joined this session you can now join the speakers in the work adventure or join another session rooms and in 40 minutes at stage room you can look forward to today's first break activity guided coffee tasting with double shoe. So enjoy and bye for now. Thank you. Thank you.