Wat is een robot? Een robot is een fysisch systeem wat in staat is zijn waar te nemen en te manipuleren. Artificiële Intelligentie 1 Robots Hoofdstuk 25 uit Russell & Norvig Soorten robots Manipulators. Mobile robot. Sensoren Passieve sensoren Sturen geen energie in de wereld, ontvangen enkel energie. Lichtsensor, camera,... Humanoid. (Ook prothetische toestelllen, intelligentie omgevingen,...) Actieve sensoren Sturen energie in de wereld. Sonar, laser scanner,... Afstandsensoren Geven informatie over afstand tot objecten. Sonar Stuur een geluidsgolf uit, en registreert terugkeertijd en sterkte van het signaal. Berekent hieruit afstand tot een object. Korte afstand Voelsensors: voelsprieten, contactsensoren,... Middelgrote afstand Sonar, laser range finders,... Grote afstand GPS Beeldvorming Camera s Bestaan in alle mogelijke vormen en soorten Stereocamera, IR-camera, lineaire camera, omnidirectionele camera,... Ondertussen erg goedkoop, dus waarschijnlijk de robot-sensor van de toekomst! 1
Proprioceptiesensoren Vertellen de robot iets over zijn eigen toestand. As-encoders Meten de rotatie van een as. Bijvoorbeeld: tellen het aantal toeren wat een wielas gemaakt heeft, en kunnen daardoor de robot iets vertellen over waar hij is (odometrie). Anderen Inertiesensoren. Krachtsensoren. Momentsensoren. Batterijsensoren.... Effectoren Een effector is een middel waarmee de robot beweegt. Bijvoorbeeld: arm, wiel, grijper,... Vrijheidsgraad (DOF) Tel één vrijheidsgraad voor elke onafhankelijke richting waarin een robot of een effector kan bewegen. Voorbeelden Een wiel heeft 1 DOF. Een trein op een spoor heeft 1 DOF. Een auto... Een onderwaterrobot... Vrijheidsgraden Vrijheidsgraden (2) Hoe meer vrijheidsgraden, hoe makkelijker het vaak is om het systeem in een bepaalde kinematische toestand te plaatsen. Vaak Aantal effectieve DOF aantal bestuurbare DOF. Bijvoorbeeld, een auto Deze robotarm heeft 6 DOF, Er zijn 6 vrijheidsgraden nodig om het eindeffector van de arm op een willekeurige plaats te zetten. zijn toestand kan in 6 nummers gegeven worden. q De toestand van de robot noemt men de kinematische toestand. De trein staat op 123,4 meter van de oorsprong. (x,y) De snelheid waarmee elke vrijheidsgraad veranderd, noemt men de dynamische toestand. De trein beweegt aan -24,8 m/s. Vrijheidsgraden (3) Nonholonomisch: Aantal effectieve DOF > aantal bestuurbare DOF. Kan geen transitie maken tussen alle twee infinitisimaal verschillende configuraties. Holonomisch: Aantal effectieve DOF = aantal bestuurbare DOF. Manieren van voortbewegen Wielen Differentiële aansturing Benen of poten Dynamisch stabiel Statisch stabiel Andere Blimps Propellers Schroeven... 2
Robotperceptie Robot maken een interne voorstelling van de wereld door middel van hun sensoren. Problemen De wereld is dynamisch. Slechts gedeeltelijk observeerbaar. Er zit ruis op de perceptie. De toestand van de wereld X t de staat van de wereld op ogenblik t Z t de observatie op ogenblik t A t de actie op ogenblik t Lokalisatie Lokalisatie: weten waar dingen, waaronder jezelf, zijn. Drie niveaus Lokale lokalisatie of tracking: je kent je begintoestand, probeer te volgen waar je bent. Globale lokalisatie: de robot kent begintoestand niet, zoek in welke toestand je bent. Kidnapping problem: extreem geval van globale localisatie. Lokalisatie voorbeeld Robot in 2D vlak, een kaart van omgeving is gegeven. Kinematische toestand van de robot gegeven in Dynamische toestand van de robot gegeven door snelheid en rotatiesnelheid Een model voor lokalisatie Aangezien er ruis aanwezig is Monte Carlo lokalisatie Je houdt een verzameling van N states X i bij van waar je denkt te zijn. Je neemt een sensorlezing en gaat een kans berekenen dat die sensorwaarden afkomstig zijn van X i. Kalman filters Robot heeft een lokalisatiemodel. De onzekerheid groeit naarmate de tijd verstrijkt. Wordt voorgesteld door een Gaussiaan. States X i waar de probabiliteit te laag is gooi je weg, en vervang je door states met een grote prob. 3
Mapping Voorbeeld: : 3D mapping van een mijn Lokalisatie: update je positie, gegeven een kaart en geobservaties. Mapping: bouw een kaart op, gegeven je positie en observaties. SLAM: gegeven observaties, bouw een kaart en update je positie. Dit is een kip of ei probleem. Simultaneous Localisation And Mapping Het berekenen van bewegingen Configuratieruimte Een kopje opnemen is voor ons heel eenvoudig, voor een robot is dit een ware uitdaging. Configuratieruimte Voorstelling van alle mogelijke toestanden waarin een robot zich kan bevinden. Path planning Het vinden van een pad doorheen de configuratieruimte. Opdracht: zoek een traject in de configuratieruimte. Kinematica en inverse kinematica Wanneer je een punt in de configuratieruimte kent (bv. hoeken van gewrichten), waar is je grijper dan in de werkruimte? Eenvoudig uit te rekenen als je de maten van je robot kent. Dit noemt men kinematica. Wanneer je de positie van je grijper kent, waar ben je dan in de configuratieruimte? Een traject zoeken in de C-ruimteC Probleem: er zijn D toestanden. We kunnen de C-ruimte opdelen Celdecompositie: je deelt de C-ruimte op in eenvoudige cellen. Skeletonisatie: je zoekt een eindig aantal geconnecteerde punten en bouwt zo een graf op. Dit is moeilijk uit te rekenen, vooral bij meerdere DOFs. De oplossing is meestal niet uniek. Dit noemt men inverse kinematica. 4
Celdecompositie Potentiaalveld Je bouwt een kaart op van meet waarden die toenemen met de afstand tot obstakels. Robot control Je weet waar je heen wil, je weet welk traject je moet volgen, maar hoe ga je nu je robot aansturen: dit is robot control. Voorbeeld: de potentiaalveld controller. Reactive control De meeste controllers vereisen een kaart of een perfecte localisatie van de omgeving. Stel, je hebt geen kaart en geen betrouwbare localisatie wat nu? reactive control Reactive control (2) Er is geen interne voorstelling (= kaart) van de omgeving, en geen kinematisch model. Enkel Reactive control (3) Reactive control is model-free Het gedrag wat de robot vertoont is een interactie tussen de eenvoudige controller en de complexe omgeving Emergent gedrag 5