Fordonsstandarden Autosar förvandlas nu till två parallella plattformar. Mjukvaruinnehållet i bilen ska kunna uppdateras – som appar i en smarttelefon – och det är det gamla statiska Autosar inte bekvämt med.
Webbtänk ger Adaptive adaptivitet |
Mjukvaruinnehållet i bilar fortsätter att öka. Automatisk parkering, smarta strålkastare, fjärrdiagnostik, uppdateringar av dynamiska kartor, V2X, V2V, bildelning, trådlösa lås och tändning – listan på funktioner för Autosar Adaptive tar aldrig slut. Adaptives programgränssnitt är det klassiska Posix. Det har ett gott renommé i den datavetenskapliga världen, och betyder att komponenter kan köras i Posix-operativsystem som Linux, Green Hills Integrity, QNX och PikeOS. Närmare bestämt används en profil av Posix kallad PSE51 som omfattar bland annat realtid, högupplöst klocka, och synkroniserad IO, men däremot inte behöver stödja bland annat processer, filsystem och fleranvändare. Klassisk Autosarkod är definierad i C, medan Adaptive använder C++. Objektorienterade språk anses ha ett bättre stöd för komponentisering – att stycka upp programvaran i väldefinierade funktioner. Steget från C är minimalt och C++ är dessutom populärt, exempelvis i programvara för AI. Du kan också fortsätta att utveckla i vilka språk du vill – Matlab och Simulink är populära – och sedan klistra samman din kod med Autosar som du idag gör i Classic. Kommunikationen mellan komponenterna använder ett webbtänkande kallat Rest (Representational State Transfer). Bilens olika mjukvarufärdigheter erbjuds som tjänster i servrar – exempelvis ”leta efter objekt i den här kamerabilden” – som bara anropas just när de behövs. Det här är en del av förklaringen till att appar kan laddas dynamiskt. Det diskuteras om det till och med skulle kunna vara användbart under Adaptive att kunna ersätta hårdvarukomponenter, till och med under drift. Tekniskt ryms den möjligheten i Rest-protokollen. Konsolidering är en av huvudpoängerna med Autosar ända sedan Oseks dagar – att definiera bilens funktioner i mjukvarukomponenter som kan sjösättas i samma fysiska hårdvara, istället för att kräva varsin fysisk ECU. Det gäller även Adaptive. I princip kan Adaptive- och Classic-komponenter snurra på samma hårdvara via exempelvis virtualisering. I praktiken kommer vi snarare att få se en enda kraftfull modul för Adaptive, och ett flertal mindre styrkretsmoduler som kör Classic. jt |
Självkörning, uppkoppling, elektrifiering och andra nya funktioner som adderas till bilarna, har fått biltillverkarna att tänka i nya banor kring hur Autosar – den arkitektur som hanterar bilens mjukvara – ska se ut.
Den existerande arkitekturen Autosar döps om till Classic, och kompletteras med den nya arkitekturen Adaptive, som ska ha en produktionsklar definition i oktober.
Båda kommer att fortsätta att utvecklas.
Smarttelefonen och dess appar som installeras och laddas dynamiskt är en av förebilderna för Adaptive. Den flexibiliteten vill biltillverkarna ha för funktioner i bilen – för allt från självkörning till smarta vindrutetorkare. Men dagens Autosar är för stelbent.
Adaptive är den tredje generationen av den europeiska bilindustrins försök att organisera mjukvaran i en bil på ett enhetligt sätt. År 1993 skapades Osek. Tio år senare utvidgades den till Autosar, och nu blir den Autosar Adaptive.
I mars i fjol släpptes en första specifikation av Autosar Adaptive. Ytterligare två har släppts halvårsvis sedan dess, och i oktober i år hoppas man att kunna sätta streck med en fjärde som ska vara produktionsklar och inkluderar hela Autosar med dess tre ben Classic, Adaptive och Foundation. Den sistnämnda definierar de gemensamma delarna.
Biltillverkare som BMW och VW, liksom underleverantörer, har börjat implementera Autosar Adaptive och visar upp prototyper.
När Autosar skapades spred den sig snabbt från Europa till Asien och USA och vi hittar idag även kinesiska tillverkare som Geely och Great Wall bland medlemmarna. Signalerna tyder på att även Adaptive kommer att plockas upp. De som idag använder Autosar väntas anamma även den.
Ett undantag som inte använder Autosar är Tesla, som kommer från en annan IT- och telekomtradition och bygger sina system på andra sätt.
Tesla har varit pionjär och bidragit med nytänkande till fordonselektroniken. Framtiden får utvisa om Tesla anpassar sig till fordonsvärldens teknik och den erfarenhet som finns där, av exempelvis personsäkerhet.
Konkret är det upp till företagen som utvecklar mjukvarukomponenter för fordon att anpassa dem för försäljning till beställaren. Att ta fram en version av sin komponent för Adaptive och sedan paketera om den för Tesla till exempel, är inte rocket science.
I det klassiska Autosar till vänster finns alla funktioner i ett statiskt kompilerat block. Autosar Adaptive kan ladda och köra appar dynamiskt. KLICKA PÅ BILDEN! |
Göteborgska Arccore har säkerhetskritisk Autosarkompatibel programvara för Nvidias självkörningsdator Drive PX. Den kör Linux på tre av PX:s cpu:er. |
I grunden gör Adaptive och Classic samma jobb – de är körmiljöer för bilens programvarukomponenter. Ett sätt att tänka på skillnaden mellan dem är att bilen är en smarttelefon på hjul där Adaptive tar hand om apparna och Classic om systemprogramvaran.
Mjukvarukomponenterna i Classic kompileras till ett statiskt program. Detta är en bra strategi för realtidsuppgifter. Det gör att det går att räkna ut i förväg hur lång tid olika operationer tar, vilket ger driftsäkerhet.
Adaptive kan däremot ladda, starta och stoppa program dynamiskt, även under drift.
Bilen du köper behöver inte längre ha en statisk funktion. Den kan laddas med nya appar. Längre räckvidd i batteribilen, för att ta ett exempel från Tesla, är något ägaren kan uppgradera över nätet.
Ett annat exempel är att Teslas nya bilar redan hårdvarumässigt påstås vara mogna för självkörning och att ägarna en vacker dag kommer att vakna med en självkörande bil, efter en appuppdatering i garaget under natten.
Självkörningen är den kanske mest diskuterade fundamentalt nya funktion som åläggs bilarna och som Adaptive är tänkt att hantera.
Den kräver artificiell intelligens och bildanalys. Adaptive är den av plattformarna som kommer att ha den överlägset vassaste hårdvaran.
Classic använder små chip med begränsat minne och prestanda, medan Adaptive kommer att köras på 64-bitars multikärnor och acceleratorer.
Vi kan se hur Intel och Nvidia stoppar in GPU:er, FPGA:er, DSP:er, och andra acceleratorkärnor i sina självkörningsdatorer för att öka prestanda.
Ekosystemet för Adaptive blir i stor utsträckning samma aktörer som idag för Classic. Att hantera prestandaberäkningar och AI är möjligen nya kompetenser som kan ge nya aktörer.
De vanliga underleverantörerna som Bosch, Continental, Autoliv och Delphi, väntas bli de som levererar hårdvaran, byggd på kretsar från företag som Intel, NXP, Freescale och Renesas.
Kring 2021 kan man tänka sig att den nya Autosarplattformen med Adaptive används skarpt i en bil.
Kanske blir infotainment den första appen? Den har en väldefinierad roll och är redan idag integrerad i en modell som liknar hur Autosar kommer att se ut. Infotainment blir ännu viktigare när föraren inte längre behöver hålla uppmärksamheten på körningen.
Också användargränssnittet omtalas som en tidig avnämare för Adaptive, med röststyrda och geststyrda användargränssnitt för passagerarna implementerade med hjälp av artificiell intelligens.
Autosar erbjuder bara en plattform och det är i slutänden bilbyggaren som avgör om Classic eller Adaptive är rätt val för en viss funktion.
Man kan generellt förvänta sig att program som snurrar nära aktuatorer och sensorer körs i Classic. Den implementerar klassisk bilteknik – reglerteknik, mekanik, bromsning, styrdonskontroll och sensoravläsning.
Adaptive arbetar på en högre nivå. Med självkörning till exempel. Classic kanske levererar tidsstämplade sensordata efter filtrering. Men därefter tar Adaptive över och tolkar dessa sensordata med AI, bestämmer rattutslaget för att hålla bilen i sin fil, och till slut kanske till och med gör upp en färdrutt med hänsyn till trafiksituation, batteriladdning och passagernas behov av bensträckare.