180 likes | 316 Views
Tím číslo : 20 Bc. Maroš Bednár Vedúci projektu : Bc. Adam Brček Ing. Peter Vilhan Bc. Marek Briš Bc. Marián Florek Bc. Vojtech Juhász Bc. Juraj Kosmeľ Bc. Ivan Valenčík. The Open Racing Car Simulator Simulated Car Racing Championship Návrh autopilota Moduly
E N D
Tím číslo: 20 Bc. Maroš Bednár Vedúci projektu: Bc. Adam Brček Ing. Peter Vilhan Bc. Marek Briš Bc. Marián Florek Bc. Vojtech Juhász Bc. Juraj Kosmeľ Bc. Ivan Valenčík
The Open Racing Car Simulator • Simulated Car Racing Championship • Návrh autopilota • Moduly • Zhrnutie a výsledky
TORCS • Open source simulátor • Prepracovaný fyzikálny model • Vývoj vlastných botov • Dostupné informácie o trati/protivníkoch • Usporadúvanie medzinárodných súťaží Obrázok prebratý z http://www.slideshare.net/dloiacono/2010-simulated-car-racing-championship-cig2010
Championship • Klient-server architektúra • Vrstva senzorov a efektorov • Deväť pretekov počas troch súťaží • Tréning, kvalifikácia, závod • Bodovanie Obrázok prebratý z http://www.slideshare.net/dloiacono/2010-simulated-car-racing-championship-cig2010
Championship • 19 senzorov (rýchlosť, vzdialenosť, diaľkomery, uhol k osi trate, poloha na trati, poškodenie, palivo) • 7 efektorov (plyn, brzda, spojka, zatočenie, rýchlostný stupeň, focus, meta) • Vnesenie umelého šumu do senzorov
Návrh autopilota • Modulárna architektúra • Na komunikáciu s TORCS serverom použitá predprogramovaná trieda • Nevyhnutné moduly (driving, recovery, stability assistant)
Controller • Centrálny modul, ktorý má na starosť rozhodnúť, ktorý modul použije na určenie akcie v jednotlivých tikoch • Akcia, ako odpoveď serveru je v prevažnej väčšine prípadov vytváraná viacerými modulmi. • Rozhodnutia robí na základe senzorov a prepínačov s akými bol pilot spustený • Odstraňuje šum so senzora rovnobežného s osou vozidla, ktorý sa využíva pri riadení v prvom kole a výpočte rýchlosti
Modul riadenia (Driving modul) • Základné funkcie sú prejazd prvým kolom, prejazd zákrut, jazda po strede trate a radenie. • V rámci všetkých fáz preteku je aktívny najdlhšie • Využitie stabilizačných systémov Radenie • Pri zmenách prevodového stupňa sa uvažujú intervaly otáčok a ich správanie (rast/klesanie) • Využívanie spojky pri štarte a pri radení z prvého na druhý prevodový stupeň
Modul riadenia (Driving modul) Prejazd prvým kolom • Ide o bezpečnú jazdu, počas ktorej sa pilot drží celý čas stredu trate • Výpočet priľnavosti μ=v²/(2*g*s) • Maximálna rýchlosť v=√(2*g*μ*s) -60 • Odvodenie funkcií zatáčania z množiny natočení volantu a prejdenej vzdialenosti • Údaje (natočenie volantu, rýchlosť, vzdialenosť od štartu, ...) z akcií v prvom kole sú využívané na zostavenie modelu trate
Modul riadenia (Driving modul) Jazda po strede trate a v zákrute • Jazda po strede trate aktívna na rovine, pokiaľ riadenie neprevezme Line assist alebo Opponent modul • Postupné točenie do smeru najdlhšieho senzora, kde sa podľa stupňov najdlhšieho senzora zväčšuje pridávaná hodnota exponenciálne k natočeniu • Natočenie sa mení, pokiaľ sa pilot nenachádza v rámci vnútornej časti vnútornej strany vozovky
Modul modelu trate • Zodpovedný za získavanie a spracovanie informácií o trati • Implementovaný v inom vlákne • Vytvorený na základe vykonaných akcií • Určený začiatok a koniec zákruty, maximálna rýchlosť a zatočenie, kategória • Údaje o trati (zákruty, šírka trate, nehodové udalosti) ukladané a aktualizované počas jazdy
Modul podpory riadenia (LineAssist modul) • Nastavenie sa na vhodnú pozíciu pred začiatkom zákruty • Informácie z modelu trate • Dostatočná vzdialenosť pred zákrutou • Celkové zakrivenie zákruty • Optimalizácia zatočenia
Výpočet a optimalizácia rýchlosti • Výpočet rýchlosti z max. brzdnej vzdialenosti • Nedokonalý odhad rýchlosti podľa modelu – priestor na zvýšenie resp. potreba zníženia • Zvyšovanie na základe laterálneho zrýchlenia • Úprava priľnavosti • Po vyleteniach mimo trať úprava vstupnej rýchlosti v zákrute alebo v skoku
Modul obnovenia • Auto mimo trate, jazda v protismere, auto zablokované na trati • Rýchly návrat pilota na trať • Akcia vykonaná na základe aktuálneho stavu • Využitie prevodových stupňov 1 a R
Modul oponent • Pravidlový systém • Zohľadňuje ľubovoľný počet oponentov • Dve fázy pre štart a počas preteku • Modifikácia zatočenia • Obrana proti predbiehaniu (zamietnutá)
Modul telemetria • Spätná analýza dát senzorov a efektorov • Výber veličín pre zostavenie grafov • Porovnanie spôsobu jazdy viacerých pilotov • Prenositeľný na ľubovoľného autopilota
Zhrnutie a dosiahnuté výsledky • Implementácia navrhnutých modulov • Vytvorenie konkurencieschopného prototypu autopilota • Vytvorenie modulu telemetrie využiteľného ľubovoľnými tímami • Konkurencieschopné riešenie – 3. miesto v kvalifikácii (trať OldPeak) • Predpoklad ešte lepších výsledkov (odstránenie známych problémov)