Samochody autonomiczne. Czyli jakie?

Jak działa autonomiczny pojazd i w jaki sposób może samodzielnie się poruszać? Czy zapewnia bezpieczeństwo w ruchu drogowym? W artykule postaramy się udzielić odpowiedzi na te pytania.

Nad autonomicznymi samochodami, nazywanymi też samochodami samosterującymi, pracują obecnie nie tylko tacy giganci technologiczni jak: Google, Apple, Tesla i Uber, ale również szereg firm motoryzacyjnych, m.in.: Mercedes, Volkswagen/Audi, BMW, General Motors, Volvo, Ford, konsorcjum Renault-Nissan-Mitsubishi i Toyota. Swój wkład w autonomiczne systemy sterowania pojazdami wniosły też dobrze znane ze świata pecetów firmy Nvidia i Intel, przygotowując szereg rozwiązań wykorzystywanych w wielu testowych rozwiązaniach i pojazdach bez kierowcy. Oprócz tego spora grupa luksusowych modeli samochodów dostępnych w salonach motoryzacyjnych charakteryzuje się pewną dozą autonomiczności, czego przykładem jest Mercedes klasy E, radzący sobie nawet w ruchu miejskim, czy Audi A8, który potrafi samodzielnie jechać na autostradzie. Co więcej, takie systemy jak asystent parkowania stały się codziennością, a to również mechanizm niezbędny w autonomicznym samochodzie.

Aby usystematyzować i posegregować autonomiczne możliwości samosterujących się samochodów, organizacja standaryzująca SAE International (Society of Automotive Engineers) wprowadziła pięciostopniową klasyfikację pojazdów autonomicznych zgodną z normą SAE J3016. Najniższy poziom, 0, to brak autonomiczności. W pojeździe takim kierowca odpowiada za wszystkie aspekty kierowania pojazdem. Poziom 1 to jazda ze wsparciem. W samochodach tego typu wprowadzono pewne elementy automatycznie wspomagające jazdę. Może być to system zachowania odległości od poprzedzającego pojazdu, czy system awaryjnego hamowania w sytuacji zagrażającej bezpieczeństwu czy mechanizm zatrzymania pojazdu, w momencie zasłabnięcia kierowcy.

O samochodach samosterujących możemy zacząć mówić od poziomu 2. Pojazdy te cechują się opcją jazdy częściowo zautomatyzowaną. Są to najczęściej takie systemy, jak: asystent jazdy w korku, gdzie automat sam optymalizuje prędkość poruszania się i odpowiada za przyśpieszenie do określonej prędkości, hamowanie, zatrzymywanie oraz ruszanie pojazdu. Niemniej system ten musi być cały czas nadzorowany przez kierowcę.

Tak, w praktyce, dla pojazdu autonomicznego Google Waymo działa algorytm wykrywania obiektów. Ogranicza on przestrzenną lokalizację wszystkich rozpoznanych obiektów za pomocą specjalnej ramki (źródło: Google).

Tak, w praktyce, dla pojazdu autonomicznego Google Waymo działa algorytm wykrywania obiektów. Ogranicza on przestrzenną lokalizację wszystkich rozpoznanych obiektów za pomocą specjalnej ramki (źródło: Google).

Poziom 3 to jazda wysoce zautomatyzowana. Do tej grupy pojazdów zaliczyć można wspomniane Mercedesy klasy E i Audi A8 potrafiące poruszać się samodzielnie w standardowych warunkach drogowych po autostradzie, przyspieszać, hamować utrzymywać odległość czy zmieniać pasy ruchu. Oczywiście, w systemie poziomu 3 kierowca nie musi stale nadzorować prowadzenia pojazdu. Istotne jest to, że system samodzielnie rozpoznaje granice swoich możliwości, a więc punkt, w którym warunki otoczenia nie mieszczą się już w zakresie jego działania, np. gwałtowne zajechanie drogi na autostradzie czy niestandardowe zachowania innych kierowców na drodze. Wówczas kontrolę nad pojazdem musi natychmiast przejąć kierowca, inaczej doprowadzi to do zatrzymania pojazdu.

Poziom 4 to jazda w pełni zautomatyzowana. Obecnie nie ma jeszcze seryjnie produkowanego samochodu, który mógłby być zakwalifikowany do kategorii 4, ale pojazdem zaliczanym do tego poziomu jest autonomiczny Volvo XC90 wykorzystywany w testach Ubera, który śmiertelnie potrącił pieszą (patrz: ramka „Śmierć pod kołami autonomicznego pojazdu”).

Ostatnią kategorią jest poziom 5. Jest to jazda w pełni autonomiczna. Kierowca przekazuje systemowi całkowite prowadzenie pojazdu, jednak w określonych warunkach może zaistnieć potrzeba przejęcia pełnej kontroli nad samochodem. W aucie poziomu 5 nie ma kierownicy, a użytkownik wprowadza jedynie punkt docelowy, gdzie się chce dostać. Przykładem tego typu pojazdu jest prototyp opracowany przez firmę Google, Waymo Firefly, niewielkie, miejskie autko bez ręcznego systemu sterowania, w tym kierownicy, dźwigni zmiany biegów czy pedałów.

Samochody autonomiczne. Zmysły autonomicznego samochodu

Do orientacji w terenie samochody samosterujące wykorzystują wiele czujników. Na początku warto wspomnieć o systemie nawigacji satelitarnej, która pozwala z bardzo dużą precyzją, dochodzącą nawet do 20 cm, określić pozycję samochodu w terenie, co jest już wystarczającą dokładnością do zastosowań drogowych. Tak wysoką precyzję ustalania pozycji uzyskano dzięki temu, że nawigacja autonomicznego samochodu używa nie tylko systemu GPS, ale również satelitów systemów GLONASS, Galileo i BeiDou. Ponadto stosuje się mechanizm zwiększania dokładności geolokalizacji bazujący na poprawkach uzyskiwanych z sieci referencyjnych stacji NTRIP (Networked Transport of RTCM via Internet Protocol).

System sztucznej inteligencji na bieżąco przewiduje wszystkie możliwe drogi poruszania się widocznych obiektów, które zostały wcześniej zidentyfikowane i zlokalizowane. Na zdjęciu ramki lokalizujące obiekty z naniesionymi współrzędnymi przewidywanego ruchu (źródło: Google).

System sztucznej inteligencji na bieżąco przewiduje wszystkie możliwe drogi poruszania się widocznych obiektów, które zostały wcześniej zidentyfikowane i zlokalizowane. Na zdjęciu ramki lokalizujące obiekty z naniesionymi współrzędnymi przewidywanego ruchu (źródło: Google).

W uproszczeniu, działa to w ten sposób, że po połączeniu się przez modem LTE za pośrednictwem internetu z serwerem NTRIP autonomiczny samochód wysyła do niego swoją przybliżoną pozycję. Na tej podstawie serwer NTRIP określa najbliższą stację referencyjną sieci, a następnie generuje odpowiednie dane korekcyjne, które odsyłane są do systemu nawigacji samochodu. Oczywiście, sieć NTRIP wykorzystywana jest nie tylko przez autonomiczne samochody, ale np. przez służby ratownicze. W Polsce sieć NTRIP składa się obecnie ze 139 stacji referencyjnych.

Drugim istotnym systemem czujników stosowanych w samochodach autonomicznych jest zestaw kilku laserowych urządzeń skanujących określanych nazwą LiDAR (Light Detection and Ranging). LiDAR-y działają na podobnej zasadzie jak radary, ale zamiast mikrofal wykorzystują światło laserowe o długości fali niewidocznej dla ludzkiego oka. LiDARy nieprzerwanie skanują otoczenie autonomicznego pojazdu i na podstawie odbitego promieniowania tworzą w czasie rzeczywistym trójwymiarowy obraz wysokiej rozdzielczości przestrzeni wokół samochodu i poruszających się w ich zasięgu obiektów, ludzi, pojazdów, zwierząt itp. Ich zasięg to około 200 metrów, a działanie jest niezależne od pogody oraz pory dnia i nocy. W samochodach autonomicznych montuje się od kilku do kilkunastu LiDAR-ów.

Rezultatem wykonywanych obliczeń jest wyznaczenie optymalnej i bezpiecznej trasy, którą powinien poruszać się autonomiczny pojazd (zielona linia). Aby pokonać tę trasę, komputer sterujący samochodem wydaje podzespołom pojazdu szereg komend dotyczących skręcania, przyspieszania, hamowania, włączania kierunkowskazów itp. (źródło: Google).

Rezultatem wykonywanych obliczeń jest wyznaczenie optymalnej i bezpiecznej trasy, którą powinien poruszać się autonomiczny pojazd (zielona linia). Aby pokonać tę trasę, komputer sterujący samochodem wydaje podzespołom pojazdu szereg komend dotyczących skręcania, przyspieszania, hamowania, włączania kierunkowskazów itp. (źródło: Google).

Kolejnym systemem czujników jest system radarowy, uzupełniający działanie LiDAR-ów i pozwalający ustalić położenie i prędkość poruszających się w pobliżu pojazdów. Zaletą radaru jest większy zasięg, dochodzący do 250–300 metrów, oraz niewrażliwość na warunki atmosferyczne, takie jak: deszcz, mgła czy opady śniegu. Zwykle w samochodzie autonomicznym stosuje się od czterech do sześciu radarów.

Samochód autonomiczny nie może się też obejść bez czujników obrazu. Jest to po prostu system kamer wysokiej rozdzielczości działających zarówno w świetle widzialnym, jak i w podczerwieni, które cały czas obserwują otoczenie niczym wzrok kierowcy. System ten uzupełnia systemy radarowy i LiDAR, a dodatkowo odpowiada za interpretację znaków drogowych, linii na jezdni, sygnalizacji świetlnej itp. Kamery na podczerwień są w stanie wykryć na przykład wyłaniających się się ludzi czy zwierzęta, czego nie jest w stanie dokonać kamera działająca w świetle widzialnym. W samochodach autonomicznych montowanych jest zwykle od sześciu do 12 kamer, z czego część to kamery działające w podczerwieni, które są w stanie rozpoznawać obiekty w odległości do 120–150 metrów.

Ostatnim systemem sensorycznym spotykanym w samochodach autonomicznych są czujniki ultradźwiękowe. Stosuje się je do rozpoznawania najbliższego otoczenia pojazdu w maksymalnej odległości do 5 metrów. Działają one jak system echolokacyjny nietoperzy i odpowiadają za wykrywanie takich przeszkód, jak: krawężniki, słupki, łańcuchy, znajdujące się blisko zwierzęta czy ludzie. System czujników ultradźwiękowych pozwala m.in. zaparkować bezbłędnie samochód. nawet na bardzo wąskim miejscu parkingowym.

Samochody autonomiczne. Jak samochód widzi drogę

Opisane wcześniej czujniki pozwalają oprogramowaniu sterującemu samochodem autonomicznym na stworzenie mapy otoczenia i na bieżącą analizę zmieniającej się sytuacji na drodze. W pamięci komputera budowany jest wirtualny odpowiednik otaczającego samochód świata. Wszystkie zauważone i zeskanowane przez czujniki obiekty są następnie rozpoznawane i klasyfikowane. Dopiero na tej podstawie algorytmy sztucznej inteligencji podejmują decyzje o trasie, którą należy jechać, i o sposobie jazdy samochodu.

Trasa ruchu autonomicznego pojazdu wyznaczona na autostradzie (źródło: Google).

Trasa ruchu autonomicznego pojazdu wyznaczona na autostradzie (źródło: Google).

Jedną z najbardziej zaawansowanych technologii rozpoznawania obrazu uzyskanych z systemów LiDAR-owo-radarowych oraz z tradycyjnych kamer dysponuje obecnie firma Mobileye, przejęta przez Intela na początku 2017 roku za, bagatela, 15 mld dolarów! Izraelska spółka od 1999 roku pracowała nad rozwojem systemów automatycznego rozpoznawania obiektów, takich jak: inne pojazdy, przeszkody i piesi, zarówno nieruchomych, jak i będących w ruchu. Stosowane są tu algorytmy uczenia maszynowego, w tym przy wykorzystaniu chmury obliczeniowej, a więc na zewnątrz pojazdu, co pozwala zwielokrotnić moc obliczeniową, którą dysponuje autonomiczny samochód. Jak twierdzi Intel, autonomiczne samochody będą musiały dysponować mocą obliczeniową pozwalającą przetwarzać 1 GB danych wizyjnych w ciągu sekundy, tak aby zachować rygor przetwarzania danych w czasie rzeczywistym.

Standardowa procedura rozpoznawania obrazu przez autonomiczne pojazdy składa się z dwóch uzupełniających się algorytmów. Pierwszym, bardziej skomplikowanym, jest segmentacja semantyczna pikseli, które składają się na uzyskany z kamer obraz komputerowy. W jej trakcie rozpoznaje się, jakie piksele (lub bloki pikseli) należą do obiektów z poszczególnych klas, takich jak: pojazdy, ludzie, rowerzyści, zwierzęta, budynki, droga, znaki drogowe itp. W ten sposób komputer pokładowy autonomicznego samochodu jest w stanie dokładnie określić trajektorię ruchu, po jakiej powinien się poruszać.

Algorytm wykrywania obiektów realizowany przez komputer pokładowy Nvidia Drive PX Pegasus  (źródło: Nvidia).

Algorytm wykrywania obiektów realizowany przez komputer pokładowy Nvidia Drive PX Pegasus (źródło: Nvidia).

Drugim z algorytmów to algorytm wykrywania obiektów, co rozumiane jest jako zdolność ograniczenia lokalizacji obiektu za pomocą specjalnej ramki – właśnie działanie tego algorytmu najczęściej pokazywane jest na ekranach komputerów przy okazji różnego rodzaju prezentacji możliwości samochodów autonomicznych. Jego działanie jest najbardziej widowiskowe ponieważ każdy samochód czy każda osoba są otaczane na ekranie własną, podążająca za obiektem ramką.

Co ważne, dzięki wykrywaniu obiektów można bardzo łatwo przewidzieć i prześledzić trajektorie ruchu. W algorytmach wykrywania obiektów istotna jest też możliwość wykrywania wielu klas obiektów w tym samym czasie. Oczywiście, standardowo identyfikowani muszą być przede wszystkim ludzie oraz inne pojazdy. Jak można się domyślić, ramki ograniczające są znacznie prostszym i wymagającym mniejszej mocy obliczeniowej sposobem identyfikacji obiektów i ich lokalizacji niż segmentacja semantyczna, ale zdanie się jedynie na algorytm wykrywania obiektu może doprowadzić do kolizji ze znajdującym się blisko pojazdem, z którego wystają elementy, np. lusterka. Algorytm wykrywania może bowiem, zgodnie z zasadą swojego działania, niezbyt ściśle dopasować ramkę do obrysu omijanego pojazdu, dlatego w praktyce stosuje się jednocześnie obie metody, w zależności od odległości od obiektów, tak aby zminimalizować liczbę wykonywanych obliczeń.

Działanie algorytmu segmentacji semantycznej pikseli pozwala ze znacznie większą dokładnością wyznaczyć granice poruszających się obiektów (źródło: Nvidia).

Działanie algorytmu segmentacji semantycznej pikseli pozwala ze znacznie większą dokładnością wyznaczyć granice poruszających się obiektów (źródło: Nvidia).

Samochody autonomiczne. Co zrobić z danymi

Pod koniec 2017 roku Nvidia zaprezentowała specjalny, jednopłytkowy komputer pokładowy dla samochodów autonomicznyc, Nvidia Drive PX Pegasus. Jest on w stanie wykonać około 320 trylionów operacji na sekundę, dziesięć razy więcej niż jego poprzednik, Nvidia Drive PX 2. Pegasus to specjalizowana jednostka stosująca algorytmy uczenia maszynowego, przeznaczona do rozpoznawania obrazu zarówno metodą segmentacji semantycznej, jak i wykrywania obiektów, a także do bezpośredniego kierowania samochodem za pomocą algorytmów sztucznej inteligencji, o czym za chwilę.

Najważniejszą zaletą tego jednopłytkowego komputera są jego niewielkie rozmiary, zbliżone do wielkości tablicy rejestracyjnej. Do tej pory komputery pokładowe używane przez samochody autonomiczne zajmowały niemal cały bagażnik. Po prostu umieszczano tam zestawy serwerowe wraz z agregatem prądotwórczym, który odpowiadał za zasilanie tej maszynerii. Miniaturyzacja oraz zmniejszenie ilości zużywanej energii przybliża możliwość rozpoczęcia seryjnej produkcji autonomicznych pojazdów.

Komputer pokładowy Nvidia Drive PX Pegasus (źródło: Nvidia).

Komputer pokładowy Nvidia Drive PX Pegasus (źródło: Nvidia).

Sama szybkość przetwarzania danych to jednak nie wszystko. Istotnym problemem jest olbrzymia ilość danych generowanych w ciągu sekundy przez systemy sensorów samochodu samoprowadzącego – zdaniem Intela może to być nawet 4000 GB dziennie. Co więcej, różnorodność stosowanych czujników utrudnia integrację tych danych w jeden spójny obraz, który może być przetwarzany przez komputer pokładowy. Co ciekawe, z pomocą przychodzą tu aplikacje do realistycznego odwzorowania pracy robotów przemysłowych. Jest to oprogramowanie stosowane w systemach rozproszonych, które przeznaczone są do łączenia sygnałów z różnych źródeł, a następnie ich modelowania ich rozmieszczenia w przestrzeni.

Pojazd zdolny do samodzielnego podejmowania decyzji podczas ruchu na drodze powinien wiedzieć o swoim otoczeniu jak najwięcej. Zakłada się, że przetwarzane dane pochodzić będą nie tylko z sensorów, ale także odbierane będą z innych pojazdów i aktywnych systemów infrastruktury drogowej, co sprawia, że pojazd taki musi korzystać z zaawansowanych systemów łączności i wymiany danych.

Samochody autonomiczne. Sztuczna inteligencja

Samo przetworzenie zebranych danych nie sprawi jeszcze, że samochód będzie w stanie samodzielnie jechać. Potrzebny jest jeszcze układ decyzyjny, który zastąpi kierowcę. Tym brakującym elementem są algorytmy sztucznej inteligencji i uczenia maszynowego. Wspomniany Nvidia Drive PX Pegasus oprócz funkcji rozpoznawania obrazu ma na tyle dużą moc obliczeniową, że można zaprząc go do sterowania pojazdem. Co więcej, zaszyte, sprzętowe algorytmy uczenia maszynowego sprawiają, że może on uczyć się na błędach. Toyota Motor Corporation i Nvidia nawiązały partnerstwo, w którego ramach ten japoński producent samochodów ma zaadaptować platformę sztucznej inteligencji Drive PX do prac nad samoprowadzącymi się pojazdami. Platformą tą interesują się również inni producenci pojazdów.

Z kolei Intel oferuje dla samochodów autonomicznych platformę o nazwie Intel Go. Intel Go w wersji bazującej na energooszczędnym układzie Intel Atom ma według producenta zapewniać wystarczającą moc dla samochodów poziomu 3, zaś komputer samochodowy zbudowany na bazie najwydajniejszych obecnie procesorów Intel Xeon udostępnia moc obliczeniową wystarczającą dla pojazdów poziomu 4 i 5.

Intel Go to platforma Intela opracowana z myślą o sterowaniu samochodami autonomicznymi. Komputer pokładowy Intel Go Xeon umożliwia autonomiczną jazdę zarówno samochodom poziomu 4, jak i 5 (źródło: Intel).

Intel Go to platforma Intela opracowana z myślą o sterowaniu samochodami autonomicznymi. Komputer pokładowy Intel Go Xeon umożliwia autonomiczną jazdę zarówno samochodom poziomu 4, jak i 5 (źródło: Intel).

Pojazdy autonomiczne w najbliższych latach będą też testowane w Polsce. Wybór padł na Jaworzno, które w marcu br. zostało specjalnie zeskanowane pod kątem przygotowania map dla samochodów autonomicznych. Na początek wybrano trzy miejsca: drogę dojazdową do autostrady A4, trasę autobusu nr 321 oraz okolice rynku.

Co ciekawe, skanowanie LiDAR-ami obszaru, na którym będzie się poruszał autonomiczny pojazd, i stworzenie dla tych ulic wirtualnej mapy związane są z tym, że inżynierowie pracujący nad rozwojem pojazdów autonomicznych doszli ostatnio do wniosków, że znacznie lepszym rozwiązaniem jest to, aby komputer pojazdu autonomicznego analizował jedynie zmienne parametry, takie jak inne pojazdy i piesi, a resztę przestrzeni otrzymał właśnie w postaci szczegółowej mapy otoczenia. W ten sposób zaoszczędzoną moc obliczeniową można skierować na analizę sytuacji na drodze, co pozwoli w większym stopniu unikać wypadków.

Śmierć pod kołami autonomicznego pojazdu

Pod koniec marca 2018 roku opinią publiczną wstrząsnął pierwszy w historii śmiertelny wypadek z udziałem autonomicznego samochodu (wcześniej były tylko niegroźne stłuczki). Do wypadku doszło na przedmieściach Phoenix w Arizonie. 49-letnia kobieta, Elaine Herzberg, została potrącona przez autonomiczne auto Ubera i trafiła do szpitala, gdzie zmarła na skutek odniesionych obrażeń.

Sprawa od razu wzbudziła ogromne kontrowersje, zwłaszcza po opublikowaniu przez lokalną policję nagrania z wypadku, zarejestrowanego przez kamery feralnego samochodu. W momencie uderzenia pojazd Ubera poruszał się z prędkością około 61 kilometrów na godzinę. Według ustaleń policji, przed miejscem wypadku nie było śladów hamowania. Samochód testowy Volvo XC90 poruszał się w trybie w pełni autonomicznym, choć za jego kierownicą znajdował się, zgodnie z wymaganymi przepisami, kierowca sprawujący nadzór nad przebiegiem jazdy. Pracownik Ubera, 44-letni Rafael Vasquez, stwierdził, że nie miał czasu, aby zareagować i zapobiec uderzeniu. Widać to też wyraźnie na nagraniu.

Istotne jest jednak to, że nie zareagowały czujniki w samochodzie, pomimo że kobieta, przechodząc przez jezdnię, pokonała trzy pasy ruchu, zanim wpadła pod samochód. Jak stwierdzono, zainstalowane w pojeździe kamery mogły nie dostrzec pieszej, gdyż wyszła z cienia, dziwny natomiast jest fakt, że nie rozpoznał jej również laserowy czujnik LiDAR, służący do skanowania przestrzeni wokół pojazdu. System ten, wykrywający obiekty na drodze, działa niezależnie od pory dnia. Ponieważ pojazdy autonomiczne podejmują decyzje na podstawie tego, co wykrywają ich czujniki, brak informacji ze strony sensorów spowodował, że pojazd nie zareagował. Sprawa skończyła się zawarciem ugody pomiędzy rodziną potrąconej kobiety a Uberem, dlatego nie doszło do procesu sądowego, niemniej testy samochodów autonomicznych na amerykańskich drogach zostały na jakiś czas wstrzymane.