Visualisointi / V_safety

Törmäyksenesto, läpinäkyvästi.

Pitch-sivun Hamiltoniin kuuluu repulsiivinen turvapotentiaali Vsafety. Tällä sivulla näet sen toiminnassa: säädä parametreja, katso miten kenttä muuttuu, seuraa miten agentit navigoivat sen läpi. Mukana myös kolme tilannetta jotka rikkovat algoritmin — koska rehellinen demo näyttää myös mitä yksinkertainen kenttä ei osaa.

FIG.01 / Top-down · 1000×625 yks.
— fps
Klikkaa lisätäksesi este

Skenaariot — kun se toimii ja kun ei.

Mitä yksinkertainen kenttä ei osaa.

01 / Lokaalit minimoit

Jos esteet muodostavat U-muotoisen "laakson", agentti voi jäädä siihen jumiin. Gradientti pakottaa pois esteistä, mutta ei näe ulos laaksosta. Tuotantojärjestelmissä tämä ratkaistaan globaalilla reitityksellä (A*, RRT*) jonka päällä Vsafety hoitaa lokaalin törmäyksenestoon — kerrosajattelu ei kahta peruskeinoa keskenään, vaan käytetään molempia.

02 / Symmetrinen deadlock

Kaksi agenttia vastakkain saman akselin suuntaan. Voimat ovat täsmälleen yhtä suuria ja vastakkaisia, joten ne pysähtyvät keskelle. Käytännössä mikä tahansa pieni kohina rikkoo symmetrian, mutta kenttä yksin ei osaa neuvotella. Tämä on syy miksi V2V-koordinaatio (ei vain Vsafety) on tarpeen — agenttien pitää päättää kuka väistää.

03 / Värähtely ja yliampuminen

Liian voimakas k tai liian jyrkkä p (esim. 1/r⁴) tekee kentästä numeerisesti epästabiilin. Agentti ohittaa tasapainotilan, palaa, ohittaa, palaa. Ratkaisu: vaimennusta nopeuteen, askelkoon (dt) lyhentäminen, tai siirtyminen pehmeämpään kaavaan kuten eksponentiaaliseen pudotuseksponenttiin. Yritä säätää k=2500, p=3.5 nähdäksesi tämän.

04 / Mittakaavaongelma

Tämä demo on 1000×625 yksikön ruudukko. Oikea kaupungin ilmatila on miljoonia kertoja suurempi. Naiivisti laskettu kenttä skaalautuu O(N²) agenttimäärään — tuotannossa käytetään spatial hashing -tekniikkaa (oktrii, BVH) jolla kompleksisuus saadaan O(N·log·N) tai parempaan.