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.
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.