PHOTO | a torcs
페이지 정보
작성자 지연 작성일18-11-14 01:01 조회314회 댓글0건관련링크
본문
Maga a program a The Open Racing Car Simulator, ami igazából azért jó, mert nyílt forráskódú meg ingyenes meg minden (és azért rossz, mert a konzulenseimnek nem volt idejük belemélyedni, úgyhogy ha elakadtam, csak tippelgetni tudtak, nem feltétlen igazi segítséget adni). Amúgy rendkívül fain kis program - rendesen van benne rendesen aerodinamika, kerékslip (lényegében az, hogy a kerék mennyire “pörög ki”, ha nagyon le akarom egyszerűsíteni), futóműmodell, stb. Azonban ami számomra nagyon fontos: úgy lett megírva, hogy egy egyszerű kiegészítő letöltése után könnyen lehessen írni hozzá saját “robotpilóta” programot.
Lényegében ki lehet nyerni egy csomó kimenetet, szenzoradatokat, például ilyeneket, hogy sebesség, oldalirányú hiba, szöghiba (a pálya középvonalához képest), 19 db távolságszenzor, ami a pálya szélének a távolságát jelzi (mint a fenti képen is látszik), meg hasonlóak. Nagy hátránya, hogy ez így sajnos alkalmatlan lookahead tervezésre (azaz mindig csak a pálya adott pontjában ismerem az adatokat, nem látom előre a trajektóriát, de még azt sem, hogy mikor lesz kanyar, ami mondjuk tök jó lenne - úgyhogy erre nekem kellett írni függvényt).
A bemeneti adatok pedig igazából nem túl sokak - gázpedálállás, fékpedálállás, kormányszög és sebességi fokozat (meg még 1-2 dolog, amit úgyse használ senki). De amúgy még egy rendes blokkolásgátló sincsen benne, szóval eléggé alacsony szintű az egész.Az ilyen programokat, amik arra íródtak, hogy kommunikáljanak a TORCS-szal, klienseknek nevezzük. A TORCS 20 milliszekundumonként elküldi az adatokat a kliensnek (vagyis pontosabban az kérdezi le :D ), és 10 milliszekundum múlva válaszol. Ha addig nem sikerült megszülni, hogy mi a válasz, akkor az előző parancsot küldi el. Ráadásul ha nem fér bele a 20 ms-ba sem, akkor nem egyszerűen kihagyja a progi a következő lekérdezést, vagy késve kérdez le, hanem késve kapja le az időben megtörtént lekérdezést - ez tud cukiságokat művelni, főleg, ha neurális hálókkal dolgozunk. Ugyanis az egy rendkívül számításigényes dolog, erős gép kell hozzá, hogy időben ki tudjuk számolni a dolgokat. Az pedig nem vicces, hogy 10 helyett tegyük fel 30 ms, amíg elküldi a válaszokat, akkor már pár másodperc múlva tetemes késésben lesz az egész önmagához képest - az autó már megtett mondjuk 500 métert, de még a 200 méterhez tartozó adatokra számol valami kimenetet, és ez a különbség egyre csak nő a pályával haladva. Így sajnos egy eléggé satnya neurális hálóval kellett dolgoznom, ami nem feltétlenül képes visszaadni a nüanszokat, amik fontosak lennének a pálya maradéktalan tejlesítéséhez. Ez nagy hátránya az egész környezetnek, és a következő félévben ezért lesz az, hogy “hátralépek kettőt”, és saját környezetet írok majd a teszteléshez - sajnos csak 2D-s, felülnézetit, de ott majd tetszőleges időm lesz számolni, mert egyébként sem real time-ban kell dolgoznom, nincsen ez a megkötés, mint ez a program esetén. Reménykedjünk a legjobbakban ^^
댓글목록
등록된 댓글이 없습니다.