Vad är rörelseplanering?

Rörelseplanering hänvisar till hur rörelser kan planeras i robotar, vanligtvis antingen för att nå en viss waypoint eller för att träffa flera destinationer i sekventiell ordning. Detta kan göras genom att ge roboten datorseende eller genom att programmera rörelseplaneringen med alla hinder i det givna utrymmet så att roboten omedelbart känner till utrymmets geometri. Tillsammans med enkla rörelser som att röra sig framåt, kan roboten också behöva byggas för komplexa rörelser som att gå nerför trappor. Även om detta oftast används för robotik, har det också en plats i videospelsprogrammering, där det hindrar karaktärer från att gå igenom väggar och programmerar icke-spelbara karaktärer (NPC).

Rörelseplaneringens främsta uppgift är att tala om för en robot hur den ska röra sig. Kontrollen är normalt subtil och en definierad väg tilldelas inte roboten, men roboten brukar få veta var ändpunkten befinner sig. Subtil programmering innebär att roboten kommer att veta hur den ska röra sig, men den kommer inte att bli tillsagd strikt att gå framåt en viss sträcka för att nå målet. Detta kan användas för att ge roboten en plats att nå, eller så kan roboten programmeras med flera destinationer att nå i sekventiell ordning. Eftersom kontrollen normalt är subtil kommer roboten att använda all känd information för att ta reda på sin egen väg till destinationen.

Det finns normalt två olika tekniker som kan användas för att hjälpa till med rörelseplanering. Datorseende, eller att göra det möjligt för robotar att se och känna igen hinder, kan användas så att roboten vet vad den kan och inte kan gå igenom när den försöker nå destinationen. Programmering i alla utrymmets kända hinder och geometri – som dess storlek och form – kan vara lika användbart som datorseende men tenderar att sakna mångsidighet.

För grundläggande rörelseplanering behöver roboten endast vara gjord för enkla rörelser som innebär att röra sig framåt och bakåt. Mer avancerade versioner av rörelseplanering involverar komplexa rörelser, som att gå nerför trappor eller ramper. För att klara detta bör roboten ha en kropp som kan utföra dessa rörelser.

Rörelseplanering används vanligtvis med hänvisning till robotik, men den kan också användas för programmering av videospel. När det kommer till spelarens karaktär bidrar detta till att karaktären inte kan gå igenom spelets solida föremål, såsom väggar och diverse föremål. För NPC-vägar, särskilt de som inte är strikt programmerade, kan detta säkerställa att NPC:n går igenom spelets utrymme ordentligt.