Kinematische bewegingsplanner: hoe machines leren bewegen zonder te botsen
Stel je een pakketrobot voor in een groot magazijn, vol met stellingen, dozen en andere robots die kriskras rondrijden. Om van punt A naar punt B te komen, kan die robot niet zomaar in een rechte lijn rijden: hij moet een route uitstippelen die vrij is van obstakels, die past bij zijn eigen afmetingen en draaicirkel, en die hij ook daadwerkelijk kan uitvoeren met zijn wielen of gewrichten. Het systeem dat deze route berekent, heet een kinematische bewegingsplanner. Het is te vergelijken met een navigatiesysteem in een auto, maar dan een dat niet alleen straten en verkeersregels kent, maar ook precies weet hoe breed, hoe lang en hoe wendbaar het "voertuig" zelf is.
Dezelfde uitdaging speelt bij een robotarm die onderdelen moet oppakken zonder tegen een tafel of een collega-robot aan te botsen, bij een chirurgische robot die door nauwe ruimtes in een lichaam moet manoeuvreren, en bij een zelfrijdende auto die tussen fietsers en voetgangers door moet laveren. In al deze gevallen berekent een kinematische bewegingsplanner vooraf – en vaak ook continu tijdens de beweging – welke opeenvolging van standen en bewegingen veilig, haalbaar en efficiënt is. Het woord "kinematisch" verwijst naar de kinematica, het deel van de natuurkunde dat beweging beschrijft in termen van posities, hoeken en snelheden, zonder nog te kijken naar de krachten die nodig zijn om die beweging te veroorzaken.
Wat is het precies?
Om te begrijpen wat een kinematische bewegingsplanner doet, is het handig om eerst het verschil tussen kinematica en dynamica te kennen. Kinematica beschrijft hoe iets beweegt: welke positie en oriëntatie een robotarm op elk moment heeft. Dynamica gaat een stap verder en kijkt naar de krachten en motorvermogens die nodig zijn om die beweging ook echt uit te voeren. Een kinematische planner richt zich vooral op het eerste: hij bepaalt een geometrisch haalbaar pad, waarna aparte regelsystemen zorgen dat de motoren dat pad ook soepel en krachtig genoeg volgen.
De basis van elke planner is de zogeheten configuratieruimte. Dat is een wiskundige weergave van alle mogelijke standen die een robot kan aannemen: bij een robotarm met zes gewrichten is dat bijvoorbeeld een ruimte met zes dimensies, één voor elke gewrichtshoek. Obstakels in de echte wereld – een tafel, een muur, een ander object – worden vertaald naar "verboden gebieden" in die configuratieruimte. Een geldig pad is dan simpelweg een lijn door die ruimte die nooit door een verboden gebied gaat.
Het probleem is dat deze ruimte, zeker bij robots met veel gewrichten, extreem groot en complex kan zijn. Alle mogelijkheden stuk voor stuk uitrekenen is niet haalbaar. Daarom gebruiken planners slimme zoekalgoritmen. Een bekend voorbeeld is A* (spreek uit: "A-ster"), een algoritme dat een raster van mogelijke stappen doorzoekt en daarbij steeds de veelbelovendste richting kiest, vergelijkbaar met hoe een navigatiesysteem de kortste route door een stratenplan zoekt.
Voor complexere, hoog-dimensionale problemen zijn zogeheten sampling-based methoden populairder geworden. De bekendste is de RRT (Rapidly-exploring Random Tree, oftewel "snel verkennende willekeurige boom"). Dit algoritme genereert willekeurige punten in de configuratieruimte en bouwt daarmee stap voor stap een vertakkende boomstructuur die de vrije ruimte steeds verder verkent, totdat er een verbinding is gevonden tussen start- en doelpositie. Een verwante methode, de PRM (Probabilistic Roadmap), bouwt van tevoren een netwerk van willekeurige, onderling verbonden punten dat als een soort wegenkaart dient waarop later snel een route gezocht kan worden.
Zodra een geometrisch pad gevonden is, wordt dit meestal nog gladgestreken en vertaald naar snelheden en versnellingen die de motoren aankunnen, waarna een regelsysteem de daadwerkelijke uitvoering bewaakt en corrigeert als de robot van het pad afwijkt.
Wat wil men ermee bereiken?
Het belangrijkste doel van bewegingsplanning is veiligheid: voorkomen dat een robot tegen mensen, objecten of zichzelf aan botst. Dat klinkt vanzelfsprekend, maar wordt lastig zodra de omgeving verandert of onvoorspelbaar is, zoals een fabriekshal waar mensen doorheen lopen of een straat vol fietsers.
Daarnaast streeft men naar efficiëntie: niet zomaar een veilig pad, maar het snelste, kortste of energiezuinigste pad. In een magazijn met duizenden robots die continu routes plannen, scheelt een paar procent efficiëntiewinst per rit uiteindelijk enorm veel tijd en energie.
Een derde doel is autonomie: hoe minder een robot afhankelijk is van een mens die elke beweging vooraf programmeert, hoe flexibeler hij inzetbaar is. Dat is essentieel voor toepassingen waarbij vooraf programmeren onmogelijk is, zoals een Marsrover die kilometers van de aarde verwijderd is en niet in real time bestuurd kan worden vanwege de signaalvertraging.
Ten slotte is er de wens om planners aanpasbaar te maken aan sterk uiteenlopende, dynamische omgevingen: van een strak georganiseerde fabriekslijn tot een rommelige huiskamer of een drukke stadsstraat. Deze bredere inzetbaarheid maakt bewegingsplanning relevant voor sectoren als industriële productie, logistiek, zorgrobotica, ruimtevaart en zelfrijdend vervoer.
Voorbeelden uit de praktijk
De Amerikaanse Marsrover Perseverance, die in 2021 landde, gebruikt een systeem genaamd AutoNav waarmee de rover zelfstandig een pad plant over rotsachtig terrein, zonder dat elke meter vanaf de aarde bestuurd hoeft te worden. Gezien de communicatievertraging van meerdere minuten tussen Mars en aarde is dit type autonome planning noodzakelijk.
Bij industriële robotarmen wordt veel gebruikgemaakt van MoveIt, een open source planningsbibliotheek binnen het besturingsframework ROS (Robot Operating System). Fabrikanten als KUKA, ABB en Universal Robots passen dit soort software toe of bouwen er eigen varianten op, om robotarmen in fabrieken botsingsvrij te laten bewegen tussen machines en collega's op de werkvloer.
Boston Dynamics, bekend van de viervoetige robot Spot en de tweevoetige Atlas, ontwikkelt bewegingsplanners die real-time rekening houden met oneffen terrein, trappen en obstakels, zodat de robots hun evenwicht en looppatroon continu kunnen aanpassen.
In de logistiek gebruikt Amazon Robotics (voorheen Kiva Systems) vloten van magazijnrobots die tegelijk honderden routes plannen en op elkaar afstemmen, zodat robots elkaar niet in de weg lopen bij het verplaatsen van rekken met producten.
Ook zelfrijdende auto's van bedrijven als Waymo combineren kinematische bewegingsplanning met verkeersregels en voorspellingen van het gedrag van andere weggebruikers, om een rijbare en veilige route te bepalen binnen fracties van een seconde.
Hoe ver is de techniek?
In gestructureerde, voorspelbare omgevingen zoals fabriekshallen is bewegingsplanning inmiddels een volwassen technologie: robotarmen plannen en voeren dagelijks miljoenen bewegingen betrouwbaar uit. Een belangrijke doorbraak hierin was de introductie van het RRT-algoritme door onderzoeker Steven LaValle in 1998, waarmee complexe, hoog-dimensionale planningsproblemen ineens veel sneller op te lossen werden dan met oudere, uitputtende zoekmethoden.
Voor dynamische en onvoorspelbare omgevingen, zoals drukke straten, huizen vol mensen en huisdieren, of chaotische rampgebieden, is de techniek nog volop in ontwikkeling. De grootste uitdagingen zijn rekenkracht en snelheid: bij robots met veel gewrichten of bij situaties met veel bewegende obstakels moet een planner binnen milliseconden een nieuw pad kunnen vinden, wat enorme rekenkracht vergt. Daarnaast is er onzekerheid in sensordata: camera's en sensoren zien de wereld nooit perfect, waardoor een planner met foutmarges moet rekenen. Bewegende obstakels, zoals mensen die onvoorspelbaar van richting veranderen, blijven een lastig probleem.
Een duidelijke trend is de combinatie van klassieke, wiskundig onderbouwde planningsalgoritmen met machine learning: neurale netwerken die op basis van eerdere ervaring sneller goede paden voorspellen, waarna klassieke algoritmen die verfijnen en op veiligheid controleren. Dit hybride aanpak wint terrein, maar is nog geen uitgekristalliseerde standaard. Het is eerlijk om te zeggen dat volledig betrouwbare, algemeen inzetbare bewegingsplanning voor complexe, onvoorspelbare menselijke omgevingen nog niet is opgelost.
Wie werken eraan?
Academisch onderzoek naar bewegingsplanning wordt sterk gedreven door instituten als het MIT Computer Science and Artificial Intelligence Laboratory (CSAIL), Stanford University, het Robotics Institute van Carnegie Mellon University, en de robotica-groepen van de ETH Zürich in Zwitserland. Ook NASA's Jet Propulsion Laboratory (JPL) speelt een grote rol, met name voor planningsproblemen in de ruimtevaart.
In de bedrijfswereld investeren onder meer Boston Dynamics, Waymo en Tesla in bewegingsplanning voor respectievelijk lopende robots en zelfrijdende voertuigen. In de industriële robotica zijn KUKA, ABB en Universal Robots belangrijke spelers, terwijl Amazon Robotics zich richt op logistieke toepassingen.
Een groot deel van de fundamentele software is open source beschikbaar via ROS, onderhouden door de organisatie Open Robotics, en de bijbehorende planningsbibliotheek MoveIt, waaraan wereldwijd onderzoekers en bedrijven bijdragen. Op landenniveau investeren vooral de Verenigde Staten, Japan, Duitsland en China fors in robotica-onderzoek, elk met eigen accenten: Japan en Duitsland traditioneel sterk in industriële robotica, de Verenigde Staten breed in zowel onderzoek als commerciële toepassingen, en China met snel groeiende investeringen in zowel industrie als autonome voertuigen.