Cookies op Tweakers

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. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Door , , 38 reacties

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)

Reactiefilter:-138034+127+23+31
Moderatie-faq Wijzig weergave
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?
Een klein kind kan inderdaad heel veel mensen zien lopen, maar desondanks leert hij/zij het toch nog echt wel helemaal helemaal van scratch. Iemand zien lopen is niet genoeg, je kan iemand niet vertellen of uitleggen hoe hij moet gaan lopen, dat moet hij/zij zelf doen en ervaren.

Bij fietsen kan je het nog deels afkijken, je weet hoe je stuur werkt, ze vertellen je dat je voeten rondjes moeten draaien op die trappers, en er is zelfs iemand die je fiets tijdelijk recht houdt. Maar again, je zal toch zelf je evenwichtsorgaan onder controle moeten krijgen. Uitvinden en ontdekken wat je moet doen om maar niet om te vallen.
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]

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. ;)
In de echte wereld hoef je ook zelden iets helemaal van scratch te leren. Vrijwel altijd zijn er genoeg voorbeelden beschikbaar van mensen die het gewenste gedrag voordoen, bijvoorbeeld lopen of rennen. Een speciale vorm van reinforcement learning die hier rekening mee houd wordt apprenticeship learning genoemd. Het idee hierbij is dat het voor een expert makkelijker is om iets voor te doen dan het te beschrijven in de vorm van een reward of cost functie.
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]

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.
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]

Hoewel er in het lab zeker veel "3Mxels" gebruikt worden zitten er in LEO inderdaad gewone RX-28s.
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.
volgens mij zegt hij ook in het filmpje dat het (door iedereen verkrijgbare) dynamixels zijn.
Een van de andere robots waar ze mee bezig zijn in het robotics-lab op 3ME van de TU-Delft
is een 'ren' robot op hetzelfde principe met 2 vrijheidsgraden, om behalve lopen ook het rennen (en hinkelen, huppelen en vallen) te 'leren'. Extra moeilijkheidsgraad hierin is de input: Leo loopt en heeft een continu input van zijn voetsensoren of deze op de grond staan (en dus ook de hoogte en hoek).
een robot die rent laat de grond ook los waardoor deze ook kan duiken (vallen) en input mist.
genaamd Phenix. http://www.youtube.com/watch?v=MHqkC1vS7qA

Een van de robots die meerdere vrijheidsgraden heeft en zeer stabiel staat is een robot die wordt ontwikkeld voor de Robo-cup wedstrijden in Humanoid League.

Meer informatie:
http://www.dbl.tudelft.nl/ *delft biorobotics lab*

Veel van deze technologie vindt behalve in de robotica ook zijn weg terug naar proteses voor mindervaliden en zelfs atleten.


*Leeghwater / slurf*
In 3D dynamica worden veel problemen die in 2D nog lineair zijn niet-lineair. Dit is heel veel complexer om te regelen en wordt grotendeels opgelost door het traject te beperken tot een boloppervlak. Inderdaad zal de robot, als je hem helemaal los laat lopen heel waarschijnlijk direct omvallen en niet op kunnen staan. De robot is trouwens ook asymmetrisch gebouwd, met slechts één gewone arm.
Los daarvan is de arm natuurlijk erg praktisch, omdat de robot zo veel minder ruimte nodig heeft en makkelijk van elektriciteit kan worden voorzien.

Op dit item kan niet meer gereageerd worden.



LG G4 Battlefield Hardline Samsung Galaxy S6 Edge Microsoft Windows 10 Samsung Galaxy S6 HTC One (M9) Grand Theft Auto V Apple iPad Air 2

© 1998 - 2015 de Persgroep Online Services B.V. Tweakers vormt samen met o.a. Autotrack en Carsom.nl de Persgroep Online Services B.V. Hosting door True