Nazywam się Szymon Kosakowski i jestem Liderem Działu Software w PWR Racing Team – zespole Formuły Student działającym na Politechnice Wrocławskiej, który współpracuje z firmą Sii. Obecnie pracujemy nad czternastym bolidem, będącym jednocześnie naszym drugim pojazdem elektrycznym z systemami jazdy autonomicznej.
O tym, jak działa nasz system autonomiczny oraz jak wyglądają zawody Formuły Student, będziecie mogli dowiedzieć się z niniejszego artykułu, napisanego we współpracy z Maciejem Jagielskim, Delivery Managerem CC Embedded w Sii.
Zawody Formuły Student
Przygotowanie bolidu
Zawody Formuły Student to międzynarodowe zawody inżynierskie, w których studenci najlepszych uczelni rywalizują ze sobą w konstrukcji bolidów. PWR Racing Team skonstruował już 14 bolidów klasy Formuła Student, w tym dwa o napędzie elektrycznym z systemami jazdy autonomicznej.
W każdym, trwającym rok sezonie zespół konstruuje nowy bolid. W naszym przypadku okres od początku semestru do premiery jest podzielony na fazę projektową i wykonawczą liczące po około 4 miesiące.
W teamie funkcjonują „part reporty”, które każdy członek zespołu odpowiedzialny za dany element ma obowiązek przygotować przed końcem sezonu. Dzięki temu jesteśmy w stanie kontynuować rozwój poszczególnych części w kolejnych sezonach. Ostatnie miesiące zespół poświęca na testowanie nowego bolidu oraz zawody – te trwają zazwyczaj około tygodnia.
W tym sezonie nasz zespół jedzie na 4 edycje zawodów, z czego jedne w pełni autonomiczne. Rywalizować można na nich w jednej z dwóch klas: spalinowej lub elektrycznej. Dodatkowo, auta mogą wystartować jako pojazdy autonomiczne. Rywalizacja odbywa się na znanych, m.in.: z Formuły 1, torach takich jak Silverstone czy Hungaroring, a ich organizatorami są największe koncerny automotive.
Zespoły projektują i konstruują swoje bolidy zgodnie z wymaganiami bardzo rygorystycznego regulaminu Formuły Student.
Ponadto, dokument opisuje przebieg zawodów i poszczególne konkurencje.
Przebieg zawodów
Tor każdej konkurencji składa się z pachołków o zdefiniowanych wymiarach, rozłożonych w określony sposób w celu wyznaczenia trasy przejazdu auta. Pachołki znajdujące się po lewej stronie są niebieskie, natomiast po prawej – żółte. Miejsca szczególne, jak np. start i koniec toru, oznaczone są pachołki pomarańczowymi.
Podczas zawodów Formuły Student bolidy autonomiczne ścigają się w konkurencjach takich jak:
- Acceleration – konkurencja sprawdzająca przyspieszenie pojazdu na dystansie 75 metrów.
- Skidpad – przejazd dwóch okrążeń w prawo, a następnie w lewo po torze w kształcie „ósemki”.
- Autocross – przejazd po bardziej złożonym i dłuższym torze, którego kształt nie jest sprecyzowanym w regulaminie, a więc różni się pomiędzy edycjami zawodów.
- Trackdrive – podobna konkurencja do autocross, ale wykonuje się 10 okrążeń.
System autonomiczny bolidu
Sii, nasz doświadczony partner, nie tylko korzysta z najnowocześniejszych technologii i narzędzi, aby dostarczać skuteczne i innowacyjne rozwiązania dla swoich klientów, ale także stanowi inspirację do nieustannego poszukiwania coraz lepszych rozwiązań. Dzięki wsparciu firmy i wykorzystaniu potencjału języka C++ oraz platformy Gitlab z CI, możliwe było zbudowanie zaawansowanego systemu autonomicznego.
W naszym projekcie korzystamy głównie z języka programowania C++, który zapewnia wydajność i kontrolę nad niskopoziomowymi aspektami implementacji. Dzięki temu, możemy zoptymalizować działanie systemu, co jest niezwykle istotne w środowisku bolidów wyścigowych. System autonomiczny bolidu oparty jest o framework ROS 2.
Do efektywnej pracy nad projektem wykorzystujemy platformę Gitlab, umożliwiającą kontrolę wersji, zarządzanie kodem i współpracę zespołową. Dzięki integracji z Continuous Integration (CI) w Gitlabie, na bieżąco dodajemy unit testy, co pozwala nam szybko wykrywać ewentualne błędy i utrzymywać wysoką jakość kodu. W naszym bolidzie system funkcjonuje na komputerze NVIDIA Jetson Orin AGX.
Komunikacja w obrębie całego bolidu oparta jest o 2 magistrale CAN oraz Ethernet, które są powszechnie wykorzystywane również w Sii w Centrum Kompetencyjnym Systemy Wbudowane w projektach dla klientów z branży automotive. Dzięki temu, Sii zapewnia nam nie tylko wsparcie w obszarze zaawansowanej technologicznie komunikacji, ale również pełną zgodność z branżowymi standardami i oczekiwaniami.
System percepcji
W celu poprawnego i szybkiego przejechania określonego odcinka, niezbędne jest jak najdokładniejsze zmapowanie pachołków, które wyznaczają tor danej konkurencji. Dlatego pierwszym etapem naszego systemu autonomicznego było stworzenie systemu percepcji.
Percepcja opiera się na:
- dwóch kamerach stereoskopowych ZED 2i,
- czujniku LiDAR w technologii single-state – Velodyne Velarray M1600.
Czujnik LiDAR opiera się na wysyłanych wiązkach światła oraz pomiarze czasu, w jakim dana wiązka wróciła i z jaką intensywnością. Ta technologia pozwala na dokładne odczyty chmury punktów wokół pojazdu na dużym dystansie.
Załączona grafika prezentuje podział pola widzenia systemu percepcji w obecnym sezonie. Urządzenia są ustawione tak, aby sumaryczne pole widzenia wynosiło ok. 180 stopni. Najdokładniejsze odczyty uzyskujemy z LiDAR-u, a szacunkowa odległość w jakiej jesteśmy w stanie wykrywać pachołki, sięga 15 metrów. Dane z czujnika odczytujemy pod postacią chmury punktów.
Wykrywanie pachołków
Wykrywanie pachołków podzielone jest na kilka faz. Rozpoczynamy od wstępnej filtracji danych, a następnie odfiltrowujemy grunt i ściany. Kolejnym etapem jest wykrycie samych pachołków w okrojonej chmurze, co wykonujemy przez klastrowanie euklidesowe. Następnie na każdy klaster punktów aplikujemy szereg heurystyk, weryfikujących czy wskazane skupisko jest w rzeczywistości pachołkiem.
Realizując ten zakres prac, również moglibyśmy skorzystać z doświadczeń Sii zebranych w ramach projektów dot. obszaru ADAS realizowanych na zlecenie jednego z największych dostawców Tier 1 dla Automotive, które dotyczyły m.in.: szczegółowej analizy twarzy kierowcy.
Lidar ma 120 stopni pola widzenia, dlatego z obu stron bolidu dodaliśmy kamery w celu zwiększenia zakresu widoczności. Technologia kamer stereoskopowych pozwala nam nie tylko wykryć pachołki ze zdjęć za pomocą sieci neuronowej YOLO, ale również odczytać dystans dzielący nas od nich (w ramach pokazu możliwości technologicznych w Sii został zrealizowany projekt Slot Car Demo dla firmy Green Hills Software prezentujący technologię YOLO).
Efektywność kamer przy odczycie odległości szacujemy na około 8 metrów. Aktualnie pracujemy nad sposobem wyznaczania dystansu z punktów szczególnych, porównując je między sobą w obrębie samych wykryć i weryfikując ze stałymi wymiarami pachołków. Ta metoda ma na celu zwiększenie zakresu odległości odczytywania pozycji pachołków z kamer w naszym systemie. Wstępne testy pokazały, że to podejście ma bardzo duży potencjał.
Wykrycia pachołków z pojedynczych kamer są przekazywane do kolejnego etapu w systemie, który rzutuje je na wspólną płaszczyznę i łączy, jeżeli uzna, że wykryty został ten sam pachołek. Ten etap jest potrzebny, ponieważ część pola widzenia kamer się pokrywa. Na ilustracji widać również, że kamery dzielą pole widzenia LiDAR-u na pół. Nie jest to przypadkowe, ponieważ zadaniem kamer jest nie tylko wykrywanie pachołków, ale też kolorowanie wykryć z czujnika.
Ta praktyka jest jeszcze rozwijana, chcemy przetestować różne tego rodzaju metody – przede wszystkim rzutowanie chmury punktów na zdjęcie czy kolorowanie chmury punktów.
Podsumowanie
Cały proces konstrukcji bolidów jest niezwykle skomplikowany, jednak daje nam wiele radości. Każda część sezonu stawia przed nami inne wyzwania. Mimo to wszyscy członkowie zespołu są zgodni, że przejazdy naszych bolidów na zawodach w konkurencjach dynamicznych są bardzo satysfakcjonujące i zdecydowanie wynagradzają pracę podczas sezonu.
Nasz zespół niejednokrotnie stawał już na podium z bolidami spalinowymi – w tym roku bolid RT11B zajął drugie miejsce w klasyfikacji generalnej na zawodach Formula SAE Michigan. Liczymy na to, że w najbliższym czasie, przy współpracy z Sii, również z bolidem elektrycznym z systemami jazdy autonomicznej uda nam się znaleźć w czołówce.
Jednak nie tylko sukcesy na zawodach i bycie otoczonym ludźmi pełnymi pasji motywują nas do pracy i współpracy z doświadczonymi partnerami. Byli członkowie dzięki wiedzy zdobytej w zespole, często uzyskują pracę w topowych firmach motoryzacyjnych czy w zespołach Formuły 1.
***
Jeśli interesuje Cię branża automotive, sprawdź, co na temat pracy dla Porsche, pisze nasz inżynier: Jak wyglądała praca robotyka Sii przy linii produkcyjnej Porsche
Zostaw komentarz