Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Je kunt ook een cookievrije versie van de website bezoeken met minder functionaliteit. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Door , , reacties: 38, views: 12.021 •

Aan de TU Delft worden diverse onderzoeksprojecten op het gebied van robotica uitgevoerd. Een van die projecten is onderzoek naar lopen bij robots. Een eenvoudige oplossing voor het laten lopen van een humanoïde, tweebenige robot zou het simpelweg programmeren van de benodigde loopalgoritmes zijn, maar dat zou de inzetbaarheid van dergelijke robots te zeer beperken. Er valt immers niet te programmeren voor elke variabele, zoals verschillen in ondergrond of het al dan niet dragen van een last en daarmee gepaard gaande veranderingen in de gewichtsverdeling. Een robot die zelf leert lopen en dat loopgedrag kan aanpassen aan verschillende omstandigheden, is daarom veelzijdiger.

Dat is precies wat Leo moet doen. Leo is een project van Erik Schuitema en de robot leert lopen door middel van machine learning, of preciezer: reinforcement learning. Na een simulatie van lopen in een computer wordt het algoritme dat Leo zichzelf heeft geleerd in de echte wereld getest en verbeterd. Mocht het programma de robot toch laten vallen, dan kan Leo zichzelf oprichten; een servo in de arm zorgt daarvoor. In elk van de twee 'benen' zitten nog eens drie servo's, een voor elk gewricht. Leo loopt zelfstandig, maar zit vast aan een arm voor voeding en zijwaartse stabilisatie. Alle benodigde berekeningen om het lopen mogelijk te maken worden uitgevoerd door de on-board-computer, een op 1,2GHz geklokte VIA Eden-processor, met 1GB werkgeheugen. Eriks collega Wouter Caarls gebruikt Leo nu voor een vervolgonderzoek naar verschillende leeralgoritmen.

Een andere 'looprobot', die tijdens de demonstratie aan de TU Delft niet te zien was, is Phides. Deze robot is groter en krachtiger dan Leo en vooral bedoeld voor onderzoek naar rennen. De robot moet op termijn helpen bij de ontwikkeling van protheses voor zowel gehandicapten als mensen die met technische hulpmiddelen verder, sneller en beter willen rennen. Anders dan Leo is Phides niet gebouwd voor machine learning.

Reacties (38)

Is leuk dat ze ermee bezig zijn, maar ze lopen echt heel erg achter, er zijn hobbyisten die maken al complexere robots en lerende robots kennen we ook al jaren. Verder hebben ze paar van die kant en klare leer robots, die ze aangekocht hebben. Zijn nog complex van alle robots die je in filmpje ziet. :D

Zou verwachten van universiteit dat ze minimaal op het niveau zou ontwerpen van wat commercieel te koop is. En kleine copy van rhex robot van boston robotica, leuk maar dat kan iedereen namaken die beetje verstand heeft van elektronica.

Als je van zo opleiding afkomt zit je nog steeds op laag niveau, op hobby niveau. Helaas is dat bij meeste studie in Nederland, sluit totaal niet aan op de praktijk of ze lopen heel erg achter. leerkrachten willen vaak niet echt meelopen omdat het veel inspanning kost om bij te blijven, geven liever les in stof die je al jaren herhalen. :(

Maar van professor mag je toch wel meer verwachten lijkt me, ik ben niet onder de indruk.

En snap dat ze de basis ook wel leren met wat oudere techniek, maar studenten zullen niet echt uitblinken.
Haha grappig.

Wel leuk om te zien tot hoever de techniek al instaat is.
Ik zie over een x aantal jaar. Zo'n robot al iets doen.
Bijvoorbeeld een kopje koffie brengen. ;)
Erg kort door de bocht.

Die Mitsubishi kan traplopen, maar dat is gewoon dom programmeren. Als een traptrede iets verschuift gaat 'ie ongerroepelijk op z'n (staal)plaat. (Is ook gebeurd)

De TU robot "leert" om dit soort situaties te herkennen en hierop te handelen door ervaringen uit het verleden te cross-referencen en hiermee een gepaste tegenactie toe te passen.
Is dit nou goed of slecht nieuws ;)
Een robot die je helpt in de huishouding of je zieke oma verzorgt. :P
De wereld verandert in razend tempo. Knap van de jongens van TU Delft, zeker als je weet wat er allemaal bij komt kijken. Als je een bewegende robot taken wilt laten uitvoeren, moet hij voortdurend weten waar hij zich bevindt en wat hij ziet. Een nieuwe techniek die ze in Delft hebben ontwikkeld is het gebruik van een stereocamera als de ogen van de robot. Deze vervolgens aangesloten op een speciaal hiervoor geprogrammeerde kernel. Dit stukje software selecteert opvallende punten uit de camerabeelden - denk aan de hoek van een kast of een scherpe overgang van donker naar licht. De AI maakt van deze punten razendsnel een 3D-kaart. De robot kan deze ruimtelijke kaart vervolgens gebruiken om vast te stellen waar hij is.
Ik vind de zin robots leren zelf lopen bedrieglijk. De robots leren namelijk niet ze kunnen zich slechts automatisch finetunen. Dit is geen leren dit is ook puur programmatische logica waar de robot niet buiten kan.

Nou kan men in de wereld van wetenschap en taal nog veel discussieerden wat leren is en waaronder we het kunnen verdelen. Een robot die zogenaamd leert volgt slechts een voorgeprogrammeerd script wat slechts enkele variabelen in zich zelf automatisch kan aanpassen. Hierdoor kan het zichzelf finetunen maar daarbij zal het ook blijven.

Leren draagt ook bij aan het aanpassen van bestaande kennis, gedrag, vaardigheden of waarden. Daarmee zou je kunnen stellen dat een robot zelf kan leren. Gedeeltelijk maar want hij kan nog steeds niet zelf leren lopen. Zichzelf bijstellen zou mij een betere titel zijn het kan namelijk al lopen hij stelt alleen de waarden van de logica die zijn makers het hebben gegeven.

Het idee dat een machine kan leren bestaat al langer en is al vaker op deze wijze bewezen. Ik vind dit dan ook niet zo bijzonder. Natuurlijk wel respect voor de kundige mensen die dit soort projecten kunnen waarmaken. Ik hoop over een paar jaar de doorbraak op kunstmatige intelligentie mee te maken. Echter denk ik dat hiervoor meer biologisch onderzoek nodig is dan robotisch onderzoek.

[Reactie gewijzigd door meneer william op 28 januari 2013 22:35]

Mensen hebben toch ook gewoon een beperkt aantal vrijheidsgraden? Elke spier kan je enkel zeggen hoe hard je hem wilt opspannen. Ons evenwichtsorgaan is heel vergelijkbaar met standaard accelerometers + gyroscopen.

Het aantal spieren dat je goed moet aansturen om te kunnen lopen is enorm hoog, maar toch eindig. Het duurt ook niet voor niets jaren om lopen volledig onder de knie te krijgen.

Mensen zijn zeker niet 100% autonoom bij het leren. Wanneer we andere mensen zien hebben we neuronen in onze hersenen die zich spiegelen aan hun acties en/of emoties (gebrek hieraan leidt tot autisme). Als baby's volwassenen zien rondlopen gaan ze dat proberen na te doen. We zijn zelf zo geprogrammeerd om in de eerste levensjaren alles proberen na te doen.

Gevolg is dat we zelf ook een goed idee van de paramaters hebben. We zien dat bij al de rest stappen begint bij het rechtstaan op 2 benen en je dan probeert 1 voet naar voren te zetten. Dit lukt natuurlijk niet van de eerste keer dus mama en papa komen je helpen zodat je niet zomaar omvalt. Ze beperken dus je vrijheidsgraden. Langzaam maar zeker leren kinderen dan steeds meer op hun eentje te lopen, via muren en uiteindelijk gewoon alleen. Het gaat nog steeds niet altijd goed, maar na het "finetunen" van de parameters komt alles in orde.

Mensen zijn eigenlijk op fysiek vlak weinig beperkt. We hebben ingebouwde reflexen die de allerbelangrijkste taken voor zich nemen en in een proces van miljoenen jaren zijn onze hersenen steeds beter geworden in fijne motorische taken en evenwicht.

Robots daarintegen hebben VEEL minder precieze "spieren" en hun hersenen zijn gemaakt om droge wiskunde mee te doen. Op fysiek vlak zijn robots even erg als een gehandicapt kindje. Daarbovenop hebben robots geen empathie dus kunnen ze zich niet spiegelen, tenzij we ze manueel een voorbeeld geven. Robots hebben ook geen reflexen, als ze beginnen te vallen hebben ze geen supersnelle reacties om de val nog op tijd te stoppen. Ze hebben ook gewoon last van beperkte processing power. Onze hersens zijn eigenlijk belachelijk goed in fysische simulaties/voorspellingen. Als ik een glas laat vallen dan ZIE ik het al uiteenspatten op de grond nog voor het de grond raakt. Dit heeft voor een groot deel ook te maken met ervaring, maar dan nog hebben we "gevoel" voor onze omgeving dat robots gewoon missen. Dit kan je natuurlijk bij in het leerproces steken maar dan moet je eerst nog eens realtime beeldverwerking inbouwen. Mensen zien objecten en relaties tussen objecten ipv pixels. We hebben nog altijd heel veel moeilijkheden om computers op dezelfde manier te laten kijken naar de wereld.

Robots moeten het dus doen met veel minder vrijheidsgraden, VEEEEEEL minder informatie, computers zijn niet gemaakt om dit soort data te verwerken en ipv miljoenen jaren trial & error hebben ze vaak slechts een ontwikkelingstraject van enkele jaren en wordt er relatief weinig "reflex" informatie doorgegeven die de ontwikkeling van een volgende generatie zou versnellen. Dit gaat niet omdat elke generatie fysiek te veel verschilt.

Ik vind het toch knap. Engineering hoeft niet in grote sprongen vooruit te gaan altijd. Langzaam maar zeker komen ze steeds dichter bij hoe mensen leren lopen, er zijn ontwikkelingen die lichtere en sterkere aandrijvingen voor robots gaan opleveren waardoor ze meer vrijheidsgraden krijgen. Daarbovenop worden processors steeds sneller waardoor we steeds meer informatie kunnen verwerken en bij in het leerproces opnemen. De auto zoals we hem vandaag kennen heeft ook een lange geschiedenis achter de rug. Zeker in het begin kon het niet opboksen tegen paard en kar. Maar kijk eens wat voor wonderbaarlijke stukjes technologie we tegenwoordig "for granted" nemen?
Ik vind de zin robots leren zelf lopen bedrieglijk. De robots leren namelijk niet ze kunnen zich slechts automatisch finetunen. Dit is geen leren dit is ook puur programmatische logica waar de robot niet buiten kan.
Dat is bij jou niet anders natuurlijk. Wij mensen leren door in onze hersenen (en door onze ouders) beloond te worden voor goed gedrag. Lopen leer je letterlijk met vallen en opstaan. Vallen doet pijn, dus als je een paar stappen zet zonder te vallen, onthouden je hersenen maar wat graag hoe ze de benen hebben aangestuurd. Dat is er door miljoenen jaren evolutie ingehamerd. Nu sta je niet meer stil bij hoe je je voeten neerzet, hoe je je benen buigt en wat er gebeurt als het tapijt niet mooi vlak is.

Deze robot "leert" zelf alle parameters die nodig zijn om stabiel te lopen. Natuurlijk zijn de functies door een mens ingeprogrammeerd, maar zoals ik al eerder zei: zo komt een baby ook op de wereld: vol informatie die later pas relevant zal zijn.
Nou kan men in de wereld van wetenschap en taal nog veel discussieerden wat leren is en waaronder we het kunnen verdelen. Een robot die zogenaamd leert volgt slechts een voorgeprogrammeerd script wat slechts enkele variabelen in zich zelf automatisch kan aanpassen. Hierdoor kan het zichzelf finetunen maar daarbij zal het ook blijven.
Maar jij bent net zo beperkt. Waar de graden van vrijheid bij deze robot wellicht deels door software worden beperkt, worden ze bij jou door spierkracht, bewegingsvrijheid van je gewrichten e.d. beperkt. En als je drie van deze robots neerzet, zullen ze verschillende paden volgen met alle bijbehorende fouten om te komen tot een lopende robot. Ook dat is bij mensen niet anders.
Leren draagt ook bij aan het aanpassen van bestaande kennis, gedrag, vaardigheden of waarden. Daarmee zou je kunnen stellen dat een robot zelf kan leren. Gedeeltelijk maar want hij kan nog steeds niet zelf leren lopen. Zichzelf bijstellen zou mij een betere titel zijn het kan namelijk al lopen hij stelt alleen de waarden van de logica die zijn makers het hebben gegeven.

Het idee dat een machine kan leren bestaat al langer en is al vaker op deze wijze bewezen. Ik vind dit dan ook niet zo bijzonder. Natuurlijk wel respect voor de kundige mensen die dit soort projecten kunnen waarmaken. Ik hoop over een paar jaar de doorbraak op kunstmatige intelligentie mee te maken. Echter denk ik dat hiervoor meer biologisch onderzoek nodig is dan robotisch onderzoek.
Als je het heel elementair bekijkt moeten we in staat zijn om een machine hetzelfde leerproces te geven als een mens. Onze hersenen zijn ook maar cellen met zeer voorspelbare chemische reacties erin.
Deze robot is juist op dit vlak anders. De gebruikte logica (reinforcement learning) is zeer generiek en het aantal parameters enorm (enkele miljoenen).

In het bijbehorende proefschrift kun je lezen dat deze robot zonder (of met zeer beperkte) voorkennis, met random geinitialiseerde parameters, helemaal zelf kan leren lopen vanaf nul, zonder vooraf geprogrammeerde oplossing of oplossingsvorm.

In dit filmpje kun je zien hoe het leerproces eruit ziet op de echte robot.

[Reactie gewijzigd door keez- op 28 januari 2013 22:57]

Werkt heel simpel, is gewoon metingen van de sensoren die steeds dicht bij de opgegeven waarde moeten komen, robot onthoud elke beweging en hoe succesvol die was, is die succesvol zal die vaker die beweging doen met nieuwe aanpassen, valt die dan doet die die beweging minder en gaat andere proberen. Is basis leerproces, vallen en opstaan proces.

Op geven moment loop je robot zoals je dat hebt opgeven in de waarde voor de sensoren.

Is overigens niks nieuws doen alle hobbyisten die bezig zijn met biped robots, is bij deze robot is het geautomatiseerd, wat overigens bij dure robots al heel lang is.

Voordeel is dat de robot het zelf kan aanpassen, en dus met rugzak op gewoon naar voren gaat hangen zonder dat daar extra nieuw code voor nodig is, eerste paar passen met nieuwe rugzak op heb je wel kans dat je dure spullen beschadig raken. :D

Edit/
Maar dat aanpassen kunnen veel robots ook al, gewoon door sensor metingen. Boston dynamics heeft paar leuke robots, kan je tegenaan trappen en dan corrigeren zich gewoon razendsnel. Eigen is er niet eens behoefte aan zelflerende lopende de robot, waarom iets laten leren als je het ook gelijk erin kan zet vanaf het begin. Kan beter gewoon programmeren en via sensoren laten corrigeren, dat kan heel efficiŽnt en snel met huidige giga samples adc's die we tegenwoordig tot ons beschikking hebben.

Waarom eigen onze gebreken als mensen in robot inbouwen, robot heeft nu juist voordeel dat je iets rechtstreeks in geheugen kan zetten zonder te hoeven leren, van een op andere moment kan robot ineens iets als je er de juist code inzet.

[Reactie gewijzigd door mad_max234 op 30 januari 2013 00:09]

Erg nuttige bijeenkomst daar in Delft! Ben er met collega geweest, goede zet die oprichting van het Robot Lab. Eindelijk weer eens een nuttige conferentie gehad!

@PjotrStroganov: ik hoorde dat de Jappanners Asimo niet wilden demonstreren als de vloer meer dan 4mm afwijkend was.

[Reactie gewijzigd door jopiek op 28 januari 2013 20:44]

Niet in de video getoond: 4 servo's aangestuurd door een Perl-script die op gepaste tijden op de toetsen Q,W, O en P duwen.

Op dit item kan niet meer gereageerd worden.



Populair: Vliegtuig Luchtvaart Smartphones Google Laptops Sony Apple Games Wetenschap Politiek en recht

© 1998 - 2014 Tweakers.net B.V. onderdeel van De Persgroep, ook uitgever van Computable.nl, Autotrack.nl en Carsom.nl Hosting door True

Beste nieuwssite en prijsvergelijker van het jaar 2013