Waarom globale navigatienauwkeurigheid er niet toe doet (en waar je wél op moet letten)
Een vraag die we veel krijgen is “Kunnen we met jullie software navigeren met X mm nauwkeurigheid?” En natuurlijk, de vraag is begrijpelijk. Nieuwe generaties robots zijn niet verbonden aan enige infrastructuur zoals rails of andere geleiding, en ze navigeren in steeds ingewikkelder omgevingen. En over het algemeen zullen ze moeten samenwerken met andere apparatuur in hun omgeving. Zelfs een robotstofzuiger moet zichzelf nauwkeurig bij zijn docking station positioneren om op te laden. Dit betekent echter niet dat de robot altijd exact moet weten waar hij is. Maar hoe zorg je ervoor dat een robot betrouwbaar werkt, zonder nauwkeurige globale positionering?
Waarom moet een robot zichzelf lokaliseren?
Autonome mobiele robots (AMR’s) verplaatsen spullen van de ene plaats naar de andere, of voeren andere acties uit op verschillende posities. Hun mobiliteit geeft ze het vermogen om hun werk te doen zonder gebonden te zijn aan een specifieke plaats. Om te weten hoe je van A naar B komt, en of je op de goede weg bent, zul je een idee moeten hebben van waar je bent. Van de ene plek naar de andere navigeren is een kwestie van veiligheid, betrouwbaarheid en efficiëntie. Daarbij is nauwkeurigheid dus geen primaire vereiste.
Waar komt de wens vandaan?
Natuurlijk, als je wilt dat je robot zijn taak betrouwbaar uitvoert, moet hij bij zijn eindstation goed positioneren ten opzichte van andere componenten in het systeem. Op deze manier zijn de uitgevoerde acties op deze positie ook betrouwbaar en herhaalbaar. Denk bijvoorbeeld aan het opladen van de stofzuigerrobot bij zijn docking station. Ergens tussen nominaal navigatiegedrag en positionering bij een Point of Interest (POI) lijkt er dus een transitie plaats te moeten vinden in de benodigde nauwkeurigheid. Bij dit POI moeten we wel degelijk positioneren met die X mm nauwkeurigheid. Toch is daarvoor de globale nauwkeurigheid niet belangrijk, zolang de betrouwbaarheid van de werking maar gegarandeerd kan worden.
Hoe werkt dat zonder globale nauwkeurigheid?
Stel je voor dat je op vakantie bent, en de weg vraagt naar de dichtstbijzijnde supermarkt. De instructies die je krijgt zijn: “Neem de tweede links, volg de weg en je vindt de supermarkt aan je rechterkant.” Bewust of onbewust maak je wellicht een mentaal model van de route:
Zelfs al heb je nu nog geen idee van de coordinaten van de supermarkt, globaal of zelfs maar ten opzichte van je huidige positie, je kunt de supermarkt vinden. Deze zeer rudimentaire “kaart” is al voldoende om de nodige informatie te geven.
Onze robot-lokalisatiekaart komt in zekere zin overeen met deze mentale kaart. Hoewel het veel nauwkeuriger informatie bevat over afstanden en onderlinge hoeken, is het slechts een middel voor de robot om zijn weg te vinden van A naar B. Zo’n kaart is typisch niet perfect, dus lokalisatie op basis van de zichtbare landmarks geeft geen millimeter-nauwkeurige globale positie van de robot; al was het maar omdat dan al die landmarks ook met millimeter nauwkeurigheid op de kaart zouden moeten staan. Dus zelfs als hij heel precies weet waar hij is ten opzichte van zijn kaart, dan weet hij nog niet waar hij globaal gezien precies is. Echter, als onze docking station een van die landmarks is, is de nauwkeurigheid ten opzichte van die landmarks alles wat we nodig hebben.
Slim gebruik van sensordata
De nauwkeurigheid is goed genoeg als de robot veilig, betrouwbaar en efficient zijn taak kan uitvoeren. Als een robot met een vervormde kaart zijn POI’s kan vinden en hij is in staat om nauwkeurig op zijn POI’s te positioneren, dan voldoet hij aan de eisen.
Dat laatste kan hij doen door de focus te laten verschuiven van globale lokalisatie, naar lokale lokalisatie. Een soort “zoom-slider”. Dat kan expliciet gaan, bijvoorbeeld door in de nabijheid van een POI over te schakelen op een detectie- en tracking-systeem voor een herkenningspunt op het POI. Zo heeft een stofzuigerrobot vaak een infrarood baken in zijn dock om op te positioneren.
Maar het kan ook impliciet. Met een lidar-systeem neemt een object dat dichterbij komt steeds meer van het beeld in beslag. Meer en meer datapunten zijn dus metingen van het docking station als we dichterbij komen. Vanzelf vertekent dan het beeld van de robot, waardoor positionering ten opzichte van het POI ontstaat. Hiervoor moet de robot wel slim omgaan met de data die hij binnen krijgt van verschillende sensoren. Zo zou het kunnen dat encoders in de wielen deze verschuiving van focus tegenspreken. Sensor fusion (het vinden van een overeenstemming tussen verschillende sensoren) is en blijft hierbij een belangrijk aspect. Dit slimme gebruik van data maakt het mogelijk met millimeter nauwkeurigheid te docken, waar de kaart slechts een nauwkeurigheid heeft van centimeters.
Waarom globale coordinaten toch handig zijn
Dus globale lokalisatienauwkeurigheid is irrelevant? Nouja, niet volledig. Globale coordinaten geven de koppeling tussen de fysieke wereld en de representatie van de omgeving van een robot. We willen begrijpen wat de robot doet. Gedurende het integratieprocess, maar ook als we bepaalde commando’s naar robots sturen. Dus het is handig om een herkenbare overeenkomst te hebben tussen de fysieke wereld die wij kennen, en het beeld dat de robot daarvan heeft. Maar tenzij de robot blind is voor zijn POI’s en alles daaromheen, biedt precisie in de orde van centimeters voldoende nauwkeurigheid.
Tot slot
Het is praktisch onmogelijk om een robot altijd precies te laten bepalen waar hij is in de wereld. Gelukkig is dat in de meeste toepassingen ook niet nodig. Door ruwweg naar het doel te navigeren, en daar slim te positioneren aan de hand van de directe omgeving, kan een autonome mobiele robot veilig, betrouwbaar en efficiënt zijn werk doen met verbazende nauwkeurigheid.
Door samen naar jouw specifieke positioneringsprobleem te kijken, helpt RUVU Robotics met het selecteren van de juiste sensoren en bieden we de benodigde software om je nauwkeurigheidseisen te halen. Neem contact met ons op om de mogelijkheden te verkennen.