# Plan na uruchomienie systemu autonomicznego RT12e ## Systemy potrzebne do uruchomienia AS 🏎 ![](https://i.imgur.com/xyKytJB.png) - [ ] **ASMU** - [ ] działający package `autonomy_system` - **SEE** - [ ] działająca percepcjia (przynajmniej jedna kamera) - [ ] działająca komunikacja CAN (`can_interface`) - odbieranie wszystkich potrzebnych informacji z CAN-u - komunikacja z RES [CANopen] - status VDCU [0x110] - Steering Wheel System - wybór misji [0x120] (opcjonalne) - ASB status [0x150] - SA status [0x155] - Wheel speed [0x170] - Bosch MM5.10 IMU [0x175-0x177] - IAM 20860 IMU (własnej roboty) [0x200, 0x201] (opcjonale, raczej nie potrzebne, IMU nie jest na aucie) - Brakes and steering [0x220] - Xsens GNSS/INS [0x321, 0x332, 0x334, 0x371, 0x376] - **THINK** - [x] mission and status controller - logika wyboru misji - zablokowanie wyboru misji jeżeli status inny niż *AS Off* - logika wyboru AS status - zgodnie z regulaminem - logika R2D request - sprawdzanie regulaminowych 5 sekund - [ ] motion estimation - przynajmniej podstawowe działanie - [ ] SLAM (opcjonalne) - na pierwsze jazdy można pomiąć - trzeba skonfigurować pod jazdę w realną percepcją i motion estimation - [ ] path planner - trzeba skonfigurować do jazdy z realnymi danymi - [ ] vehicle controler - trzeba skonfigurować do jazdy na realnym torze - **ACT** - [ ] działająca komunikacja CAN (`can_interface`) - wysyłanie wszystkich potrzebnych informacji na CAN - komunikacja z RES-em [CANopen] - AS command [0x030] - ASMU status [0x160] - DV driving dynamics 1 [0x500] (opcjonalne) - DV driving dynamics 2 [0x501] (opcjonalne) - DV system status [0x502] - DV ASF signals 1 [0x511] (opcjonalne) - DV ASF signals 2 [0x512] (opcjonalne) - [ ] działające uruchamianie systemu podczas uruchomienia ASMU - [ ] działający CAN - uruchamianie CAN-u przy uruchomieniu ASMU - poprawna konfiguracja - poprawne połączenia - [ ] działająca komunikacja przez Ethernet z LiDAR-em (opcjonalne) - [x] komunikacja przez hotspot WiFi - uruchamianie hotspota przez Jetsona - łączenie się z hotspotem (optymalnie przez Ubuntu nie Windowsa) - [ ] sensowne wyprowadzenie kabla do podłaczenia się przez SSH - [ ] poprawne połączenie Jetsona w ASMU - kamery - LiDAR - zasilanie - CAN1 i CAN2 - SSH - WiFi - [x] podłączenie Xaviera/Orina - [x] **ASSIs** - [x] odbieranie stanu systemu (ramka 0x502) - [x] informowanie o stanie ASSI (ramka 0x15A-0x15C) - [x] świecenie zgodnie z zasadami (status AS) - [x] **ASB** - [x] działający EBS - działająca logika supervision - działający *initial checkup* ![](https://i.imgur.com/3mdJPg3.png) - działający *continous monitoring* ![](https://i.imgur.com/61rJMaf.png) - działające czujniki ciśnienia penumatyki - działające elektrozawory - działające czujniki ciśnienia układów hydraulicznych (przód i tył) - działająca część mechaniczna, hydrauliczna i pneumatyczna - nabita butla matka - [x] komunikowanie o stanie ASB (ramka 0x150) - [x] działający serwomechanizm aktuatora hamulca - [x] odbieranie od ASMU ramki komendy i statusu (0x030, 0x502) - [x] logika zamykania SDC dla jazdy autonomicznej i manualnej - software - hardware - sterowanie serwomechanizmem - ustawianie ciśninia na podstawie komendy jeżeli jest to legalne - pomoc przy EBS - [x] **Steering Actuator** - [x] odbierania stanu AS (ramka 0x502) - [x] wysyłanie stanu SA (ramki 0x155, 0x156) - [x] odbieranie komendy AS (ramka 0x030) - [x] aktuacja układu kierowniczego zgodnie z komendą jeżeli legalne - [x] zabespieczenie przez zbyt dużym momentem - [ ] działające sprzęgło odłączające SA od układu, sterowane prez ASMS (opcjonalne) - [x] naprawnienie palącej się przetwornicy - [x] założony steering acutator na auto - **Percepcja** - [ ] kamery - [ ] LiDAR (opcjonalnie) - [ ] mocowanie percepcji - [x] **RES** - [x] działająca logika otworzenia SDC - [ ] działający bypass (opcjonalne) - [x] działająca komunikacja z ASMU po CANopen - [x] działająca komunikacja odbiornik - nadajnik - [ ] **VDCU** - [ ] software do obsługi komunikacji z ASMU: - odbieranie informacji o wybranej misji i przechodzenie w tryb autonomiczny jeżeli misja jest inna niż manualna (ramka 0x502) - komunikowanie o stanie TS (ramka 0x110) - obieranie AS command i sterowanie silnikami na jego podstawie (prędkość samochodu, ramka 0x030) - Emergency sound (w teorii da się bez tego jechać, ale to system bezpieczeństwa!, ramka 0x502) - [ ] przechodznie w stan R2D w trybie autonomicznym (z R2DS) - odebranie z ASMU sygnału o chęci przejścia w R2D (ramka 0x030) - weryfikacja czy jest to możliwe (przynajmniej 5 sekund w AS_Ready, ramka 0x502) - informowanie o przejściu w R2D (ramka 0x110) - [ ] uruchamianie TS - [ ] sterowowanie silnikami - [x] **TS** - [x] działający TS z zabezpieczeniami - [x] działające przyciski aktywacji TS dla jazdy autonomicznej i manualnej - [x] działająca logika wyłączenia przycisku w kokpicie jeżeli jazda autonomiczna (robione przez ASB) - [ ] **SDC** - [ ] działająca poprawnie logika SDC. Do zweryfikowania z regulaminem. - [ ] latchowanie SDC przy otworzeniu przez AS - [ ] integracja RES-a - [ ] ASMS - [ ] elektrozawory EBS-u - [ ] logika aktywowania TS - [ ] **Kierownica** - [x] działająca AMI - wyświetlanie aktualnie wybranej misji - [ ] wybranie misji z poziomu kierownicy (opcjonalne, można przez RQT) - [ ] **ACAN** - dla systemu autonomicznego niepotrzebny bezpośrednio, ale wypadało by mieć odczyty temperatur dla TS - [ ] **PDM** - działające kanały dla modułów systemu autonomicznego - [ ] ASMU - [ ] SA - [ ] ASB - [ ] Serwo - [ ] LiDAR (opcjonalne) - [ ] działający soft do logowania prądu na kanałach (opcjonalne) - [ ] **Xsens MTi-670 GNSS/INS** - [ ] poprawna konfiguracja - [x] komunikacja CAN - [x] działający akcelerometr + żyroskop - [ ] działający GPS - [ ] **Bosch MM5.10 IMU** - [ ] komunikacja CAN - [ ] działający akcelerometr + żyroskop ## Plan działania 🗓 1. [x] Uruchomienie RES-a 1. Założenie RES-a na bolid 2. Podłączenie wiązki 3. Przetestowanie komunikacji z ASMU 2. [x] Uruchomienie steering actuatora 3. [ ] Uruchomienie komunikacji między ASMU i VDCU 4. [x] Uruchomienie ASB 6. [ ] Uruchomienie wszystkich potrzebnych czujników dla AS 7. [ ] Przetestowanie działania `autonomy_system` na ASMU - [x] misja inspecji 8. [x] Uruchomienie TS w trybie autonomicznym 10. [x] Przetestowanie działania supervision ASB 11. [x] Przeprowadzenie misji inspekcji 12. [ ] Przetestowanie ASMU pod pełnym obciążeniem (z kamerkami) 13. [ ] Shakedown systemu autonomicznego 🎉 ## Notatki 📋