Nieuwe methode verbetert autonome robotsystemen

Fri Jul 01 2022

07 01

Nieuwe methode verbetert autonome robotsystemen

23/06/2022

Door Ad Spijkers

MIT-onderzoekers ontwikkelden een methode om het ontwerp van lopende robots, zelfrijdende voertuigen en andere autonome systemen versnellen.


     

Autonome robots hebben een lange weg afgelegd sinds de eerste robotstofzuiger. In de afgelopen jaren zijn kunstmatige intelligentie systemen ingezet in zelfrijdende auto's, bezorging op de laatste kilometer, restaurantservice, patiëntenscreening, vloer- en ruimtereiniging, maaltijdbereiding, gebouwbeveiliging en magazijnen.

Elk van deze robotsystemen komen voort uit een ontwerpproces dat specifiek is voor dat systeem. Bij het ontwerpen van een autonome robot moeten ingenieurs talloze proefondervindelijke simulaties uitvoeren, vaak gebaseerd op intuïtie. Deze simulaties zijn afgestemd op de componenten en taken van een bepaalde robot om de prestaties ervan af te stemmen en te optimaliseren. In sommige opzichten is het ontwerpen van een autonome robot tegenwoordig als het helemaal opnieuw bakken van een cake, zonder recept of bereide mix om een succesvol resultaat te garanderen.

Nieuwe optimaliseermethode

Ingenieurs aan het Massachusetts Institute of Technology hebben een algemene ontwerptool ontwikkeld die robotici kunnen gebruiken als een soort geautomatiseerd recept voor succes. Het team heeft een optimalisatiecode bedacht die kan worden toegepast op simulaties van vrijwel elk autonoom robotsysteem. Het kan worden gebruikt om automatisch te identificeren hoe en waar een systeem kan worden aangepast om de prestaties van een robot te verbeteren.

Het team toonde aan dat de tool in staat was om snel de prestaties van twee verschillende autonome systemen te verbeteren. Bij de een navigeerde een robot een pad tussen twee obstakels, bij de ander werkten een een paar robots samen om een zware kist te verplaatsen.

De onderzoekers hopen dat de nieuwe algemene optimaliseermethode kan helpen om de ontwikkeling van een breed scala aan autonome systemen te versnellen. Dat varieert van lopende robots en zelfrijdende voertuigen tot zachte en behendige robots en teams van collaboratieve robots.

Omgekeerd ontwerpen

De wetenschappers realiseerden zich de behoefte aan een algemene optimalisatietool na het observeren van een schat aan geautomatiseerde ontwerptools die beschikbaar zijn voor andere technische disciplines. Als een werktuigbouwkundig ingenieur een windturbine wilde ontwerpen, kon hij een 3D CAD-tool gebruiken om de constructie te ontwerpen. Vervolgens kon hij een eindige elementen analysetool gebruiken om te controleren of deze bepaalde belastingen weerstaat. Volgens de onderzoekers is echter sprake van een gebrek aan deze door computers ondersteunde ontwerptools voor autonome systemen.

Normaal gesproken optimaliseert een roboticus een autonoom systeem door eerst een simulatie te ontwikkelen van het systeem en de vele op elkaar inwerkende subsystemen, zoals de planning, besturing, perceptie en hardwarecomponenten. Vervolgens moet hij of zij bepaalde parameters van elk onderdeel afstemmen en de simulatie uitvoeren om te zien hoe het systeem in dat scenario zou presteren.

Pas na het met vallen en opstaan uitvoeren van veel scenario's kan een roboticus de optimale combinatie van ingrediënten identificeren om de gewenste prestaties te leveren. Een vervelend, overdreven op maat gemaakt en tijdrovend proces. In plaats van te vragen: "Gegeven een ontwerp, wat is de prestatie?", wilden de onderzoekers dit omkeren om te zeggen: "Gezien de prestatie die we willen zien, wat is het ontwerp dat ons daar brengt?"

Raamwerk

De onderzoekers ontwikkelden een optimalisatieraamwerk, of een computercode, die automatisch tweaks kan vinden die aan een bestaand autonoom systeem kunnen worden aangebracht om een gewenst resultaat te bereiken. Het hart van de code is gebaseerd op automatische differentiatie ('autodiff'), een programmeertool die is ontwikkeld binnen de machine learning gemeenschap en aanvankelijk werd gebruikt om neurale netwerken te trainen. De techniek kan snel en efficiënt de afgeleide evalueren, ofwel de gevoeligheid voor verandering van een parameter in een computerprogramma.

De methode vertelt hoe ontwerpers kleine stappen kunnen zetten van een eerste ontwerp naar een ontwerp dat de doelen bereikt. De onderzoekers gebruiken autodiff om in wezen in de code te graven die een simulator definieert en erachter te komen hoe deze inversie automatisch kan worden uitgevoerd.

Betere robots

De ingenieurs testten hun nieuwe tool op twee afzonderlijke autonome robotsystemen. Ze toonden aan dat de tool de prestaties van elk systeem snel verbeterde in laboratoriumexperimenten, vergeleken met conventionele optimalisatiemethoden.

Het eerste systeem bestond uit een robot op wielen die een pad moest plannen tussen twee obstakels, op basis van signalen die het ontving van twee bakens die op verschillende locaties waren geplaatst. Het team zocht naar de optimale plaatsing van de bakens die een duidelijk pad tussen de obstakels zou opleveren. Ze ontdekten dat de nieuwe optimaliseertool snel terugwerkte door de simulatie van de robot en de beste plaatsing van de bakens binnen vijf minuten identificeerde, vergeleken met 15 minuten voor conventionele methoden.

Het tweede systeem was complexer en bestond uit tweewielige robots die samenwerken om een doos naar een doelpositie te duwen. Een simulatie van dit systeem omvatte veel meer subsystemen en parameters. Desalniettemin identificeerde de tool van het team efficiënt de stappen die de robots nodig hadden om hun doel te bereiken, in een optimalisatieproces dat twintig keer sneller was dan conventionele benaderingen. Als een systeem meer parameters heeft om te optimaliseren, kan de tool exponentieel meer tijd besparen. Het is eigenlijk een combinatorische keuze: naarmate het aantal parameters toeneemt, nemen ook de keuzes toe, en onze aanpak kan dat in één keer verminderen.

De onderzoekers hebben de algemene optimaliseermethode beschikbaar gesteld om te downloaden. Ze willen de code verder verfijnen voor toepassing op complexere systemen, zoals robots die zijn ontworpen om te communiceren en samen te werken met mensen. Hun doel is om mensen in staat te stellen betere robots te bouwen. Ze bieden een nieuwe bouwsteen voor het optimaliseren van hun systeem, zodat ze niet helemaal opnieuw hoeven te beginnen.

Foto: MIT