Auto­no­mo­us dri­ving— on eve­ry­one­’s lips, over­grown with myths. Inno­va­ti­ve tech­no­lo­gy is being gra­du­al­ly deve­lo­ped day by day. Howe­ver, is 100% code testing needed? Will inno­va­tion be dama­ged by strict ISO stan­dards and norms? We tal­ked to Artur Sto­lar­czuk, a Code­lab expert, who deve­lops advan­ced auto­mo­ti­ve IT pro­jects on a daily basis and yet who, after hours, dre­ams of the joy of dri­ving a tho­ro­ugh­bred, gaso­li­ne V8 🙂

Artur — what are you wor­king on in your cur­rent project?

I am invo­lved in the softwa­re deve­lop­ment of an ECU that assi­sts the dri­ver in object and obstac­le detec­tion in front of the vehic­le. It is a sys­tem based on a came­ra that cap­tu­res the ima­ge in front of the car and sends it out for fur­ther pro­ces­sing. This makes it possi­ble to detect other vehic­les, cyc­li­sts, pede­strians, or any other objects on the road and allows the car to react accor­din­gly (if the dri­ver does not react on time). In the futu­re, this sys­tem shall be fur­ther deve­lo­ped and adap­ted to ful­ly auto­no­mo­us driving. 

At this point, it is worth men­tio­ning that it must meet all the strict requ­ire­ments impo­sed by the ISO 26262 (Func­tio­nal Safe­ty for Auto­mo­bi­les) standard.

What is the dif­fe­ren­ce betwe­en the deve­lop­ment of ISO 26262 com­pliant sys­tems and any other software?

First of all, the­re is a signi­fi­cant focus on two aspects: secu­ri­ty and safe­ty of such sys­tems. To put it sim­ply: the first one deals with all poten­tial out­si­de thre­ats, whi­le the second one copes with all hazards from the sys­tem itself that could have an impact on people and reso­ur­ces (e.g. software/hardware malfunction).

The­re­fo­re, for the softwa­re to be com­pliant with ISO 26262, it must meet very strict quali­ty requ­ire­ments, guaran­tee the highest possi­ble test cove­ra­ge at pro­duc­tion sta­ge (e.g. 100% code cove­ra­ge with unit tests, requ­ired num­ber of hours of test dri­ves, etc.), and must be writ­ten in com­plian­ce with softwa­re deve­lop­ment stan­dards for the Auto­mo­ti­ve indu­stry (e.g. MISRA).

On the one hand, it makes the deve­lop­ment pro­cess quite com­pli­ca­ted and cum­ber­so­me, and on the other, we must keep in mind that the sys­tem we cre­ate shall be respon­si­ble for futu­re dri­vers’ and the­ir pas­sen­gers’ lives. Ergo, I think it is worth bothe­ring a bit more than usu­al abo­ut the quali­ty of code we wri­te, at least for our own peace of mind.

Are the cur­rent sta­te-of-the-art Acti­ve Safe­ty sys­tems real­ly safe enough?

Nowa­days, we can find Acti­ve Safe­ty sys­tems in almost eve­ry new car ava­ila­ble on the mar­ket. In the case of pre­mium brands, they have been offe­red for a couple of years alre­ady. I think eve­ry­one has heard abo­ut featu­res like adap­ti­ve cru­ise con­trol, par­king assi­stant, or lane depar­tu­re war­ning sys­tem, right?

Addi­tio­nal­ly, now we have sys­tems that can detect pede­strians and obstac­les by coope­ra­ting with the emer­gen­cy bra­king sys­tem, night vision came­ras, traf­fic jam assi­stants or sway war­ning systems.

Never­the­less, the­se are the sys­tems that still ope­ra­te on level 2 (of auto­no­my) and OEMs still high­li­ght that the dri­ver sho­uld keep the­ir hands on the ste­ering whe­el and watch the­ir sur­ro­un­dings care­ful­ly at all times.

I think that eve­ry­one who has ever used such goodies like adap­ti­ve cru­ise con­trol or lane depar­tu­re war­ning (no mat­ter the manu­fac­tu­rer) can spe­ak very easi­ly abo­ut the pros and cons of such solu­tions and indi­ca­te at least a few cor­ner cases whe­re the sys­tem did not beha­ve as expec­ted or failed to react at all. The adap­ti­ve cru­ise con­trol in my car, for instan­ce, can be very annoy­ing when it loses sight of the vehic­le ahe­ad on almost eve­ry curve (too nar­row of a radar beam) and starts acce­le­ra­ting, just to hit the bra­kes a few seconds later. On the other hand, I heard abo­ut use cases (dif­fe­rent car) whe­re the radar beam was too wide and it would wron­gly detect vehic­les moving in the oppo­si­te direc­tion, employ­ing une­xpec­ted emer­gen­cy bra­king until coming to a full stop. The­se cases show that the­re is no per­fect solu­tion and the num­ber of chal­len­ges is enormous.

In my opi­nion, the­re is still much room for impro­ve­ment, but when looking at recent sta­te-of-the-art solu­tions, the futu­re looks bri­ght. Eve­ry new softwa­re gene­ra­tion that hits the mar­ket works bet­ter and bet­ter. I am looking for­ward to seeing ful­ly auto­no­mo­us vehic­les in the stre­ets. In the end, I am respon­si­ble for the deve­lop­ment of such sys­tems as well…

Shall cars ever be autonomous?

I think the­re is a very long way to go befo­re we cre­ate ful­ly auto­no­mo­us vehic­les, despi­te the fact that some OEMs cla­im that the­ir sys­tems shall reach level 4, or even 5, very soon. I think that’s just boasting for the moment.

Besi­des, I see two dif­fe­rent appro­aches here fol­lo­wed by dif­fe­rent OEMs:

  • Small impro­ve­ments of alre­ady deve­lo­ped and deploy­ed sys­tems, incre­men­tal upda­tes with new featu­res and testing the­se chan­ges in the field, making the­ir custo­mers beta-testers (just like Tesla does for instance)
  • Focus on honing the sys­tem and deve­lop­ment and deploy­ment of requ­ired road infra­struc­tu­re in paral­lel; this inc­lu­des all needed com­po­nents that shall be part of highway/speedway infra­struc­tu­re and shall allow self-dri­ving from the spot. I heard such infra­struc­tu­re was being con­struc­ted in Ger­ma­ny and Chi­na alre­ady. Howe­ver, ful­ly auto­no­mo­us dri­ving shall be possi­ble up to 80kph only.

I belie­ve the first step is the most dif­fi­cult one, whe­re some cars shall be auto­no­mo­us among human dri­vers. This shall pro­du­ce a lot of une­xpec­ted cor­ner cases that are very hard to fore­see at the deve­lop­ment sta­ge. It may pro­du­ce very dan­ge­ro­us situ­ations. Inte­re­stin­gly, it could be much easier if all vehic­les would beco­me instan­tly auto­no­mo­us and com­mu­ni­ca­te with each other.

Howe­ver, I do hope it will not come true too fast and I will have a chan­ce to get some joy from a good-looking Young­ti­mer with a V8 under the hood befo­re it shall beco­me illegal…

Artur Sto­lar­czuk, softwa­re archi­tect with over 15 years of expe­rien­ce in deve­lop­ment of embed­ded sys­tems, mostly for the auto­mo­ti­ve indu­stry. Per­so­nal­ly a hus­band and father of two, casu­al bass guitar play­er and vol­ley­ball fan