Mis on liikumise planeerimine?

Liikumise planeerimine viitab sellele, kuidas saab robotites liikumisi planeerida, üldiselt kas selleks, et jõuda teatud teekonnapunkti või tabada mitut sihtkohta järjestikuses järjekorras. Seda saab teha, andes robotile arvutinägemise või programmeerides liikumise planeerimise kõigi antud ruumi takistustega, nii et robot tunneb koheselt ruumi geomeetriat. Lisaks lihtsatele liigutustele, nagu edasiliikumine, võib robot olla ehitatud ka keeruliste liikumiste jaoks, nagu trepist allaminek. Kuigi seda kasutatakse kõige sagedamini robootika jaoks, on sellel oma koht ka videomängude programmeerimisel, kus see ei lase tegelastel läbi seinu minna ja programmeerib mittemängitavaid tegelasi (NPC-sid).

Liikumise planeerimise peamine ülesanne on öelda robotile, kuidas liikuda. Juhtimine on tavaliselt peen ja robotile ei määrata kindlaksmääratud teed, kuid tavaliselt öeldakse robotile lõpp-punkti asukoht. Peen programmeerimine tähendab, et robot teab, kuidas liikuda, kuid talle ei öelda rangelt, et ta peab eesmärgi saavutamiseks teatud vahemaa edasi minema. Seda saab kasutada selleks, et anda robotile üks koht, kuhu jõuda, või saab robotile programmeerida mitu sihtkohta jõudmiseks järjestikuses järjekorras. Kui juhtimine on tavaliselt peen, kasutab robot kogu teadaolevat teavet, et leida oma tee sihtkohta.

Tavaliselt on liikumise planeerimisel kaks erinevat tehnoloogiat. Arvutinägemist või robotitel takistuste nägemise ja äratundmise võimaldamist saab kasutada, et robot teaks, mida ta võib sihtpunkti jõudes läbida ja mida mitte. Kõigi kosmose teadaolevate takistuste ja geomeetria (nt selle suurus ja kuju) programmeerimine võib olla sama kasulik kui arvutinägemine, kuid sellel kipub puuduma mitmekülgsus.

Põhilise liikumise planeerimise jaoks tuleb robot teha ainult lihtsate liigutuste jaoks, mis hõlmavad edasi-tagasi liikumist. Liikumise planeerimise täiustatud versioonid hõlmavad keerulisi liigutusi, näiteks trepist või kaldteest alla laskumist. Selle jaoks peaks robotil olema keha, mis suudab neid liigutusi sooritada.

Liikumise planeerimist kasutatakse tavaliselt robootika puhul, kuid seda saab kasutada ka videomängude programmeerimiseks. Mängija tegelaskuju puhul aitab see tagada, et tegelane ei saaks läbida mängu tahkeid objekte, nagu seinad ja mitmesugused esemed. NPC radade puhul, eriti nende puhul, mis pole rangelt programmeeritud, võib see tagada, et NPC läbib korralikult mänguruumi.