Vision-based robot motion planning using a topology representing neural network Gebaseerd op onderzoek verricht door Prof. M. Zeller et al. (1997), verbonden.

Slides:



Advertisements
Verwante presentaties
Vincent Poté Nelis Vandermeiren Simen Akkermans Kevin De Neef
Advertisements

Performance management
Motorsturing met de Arduino
Work shop nieuwe functionaliteit Roy-data Nieuwe bevragings- en procesmogelijkheden release voorjaar 2014 Tjeerd Wierda.
Project Software Engineering
1 Motion Planning (simpel) •Gegeven een “robot” A in een ruimte W, een verzameling obstakels B, en een start en doel positie, bepaal een beweging voor.
Algoritmen en Datastructuren (ALDAT)
How to build a robot Sander van Dijk Kunstmatige Intelligentie
Opdrachttaak kennissystemen:
Ontwikkelruimte onderzocht In gesprek over onderzoeksstappen VU, 13 september 2010.
Multiple Moving Objects Siu-Siu Ha Marlies Mooijekind.
Simulatie van gedistribueerde voetbalstrategieën Tim Vermeulen Promotor: dr. Katja Verbeeck Copromotoren: ing. Tony Wauters, ing. Koen Vangheluwe, Opdrachtgever:
Schatgraven in Gegevensbergen
Prof.dr. Ger Koole PICA, kenniscentrum patiëntenlogistiek VU/VUmc
Representing Time in GIS Sander Florisson GIA 2004.
Advanced Algorithms Groep: EII7AAb
ICT onderzoeksverkenning? Frank Linde primair vanuit een IC-technologie gebruikers perspectief.
Background Subtraction for Urban Traffic Monitoring using Webcams Master Thesis Verdediging Begeleider: Rein van den Boomgaard door: Mark Smids 19 maart.
Project D2: Kempenland Sander Verkerk Christian Vleugels
Hoofdstuk 6: Controle structuren
Jan Talmon Medische Informatica Universiteit Maastricht
Motion Planning in Games Pathfinding with A * Ronald Treur.
1 Indeling Inleiding Opbouw van potentiaalvelden Pathplanning in potentiaalvelden Alternatieve potentiaalvelden Gerandomiseerde pathplanning.
1 Datastructuren Sorteren: alleen of niet alleen vergelijkingen College 5.
Terrain Analysis Seminar GIA najaar 2004 Joost Voogt.
Kinematic Constraints Door Ronald Treur en Jeroen Resoort.
Coordinated path planning for Multiple Robots Siu-Siu Ha.
Visibility-based Probabilistic Roadmaps for Motion Planning Tim Schlechter 13 februari 2003.
1212 /n Metingen aan de hoogte van een toren  D  wordt gemeten met onzekerheid S  =0.1 o. Vraag 1: Op welke afstand D moet je gaan staan om H zo nauwkeurig.
The Logic of Adaptive Behavior Knowledge Representation and Algorithms for the Markov Decision Process Framework In First-Order Domains Martijn van Otterlo.
Neurale Netwerken Kunstmatige Intelligentie Rijksuniversiteit Groningen Mei 2005.
Neurale Netwerken Kunstmatige Intelligentie Rijksuniversiteit Groningen Mei 2005.
Neurale Netwerken Kunstmatige Intelligentie Rijksuniversiteit Groningen April 2005.
Neurale Netwerken Kunstmatige Intelligentie Rijksuniversiteit Groningen April 2005.
Overzicht samenvatting en discussie hc1 t/m hc4 samenvatting en discussie hc1 t/m hc4 inleiding tot de rest van het vak inleiding tot de rest van het vak.
Fast and Effective Query Refinement B. Velez, R. Weiss, M.A. Sheldon, D.K. Gifford SIGIR 1997.
Development of measurement device for determination of homogeneity presentatie eindwerk Pieter Dekeyzer Industrieel Ingenieur Informatica.
De bedradingslijst.
Approximate Cell Decomposition
Effiecient Mining of Spatiotemporal Patterns GDM 2003 Dènis de Keijzer.
1 Complexiteit Bij motion planning is er sprake van drie typen van complexiteit –Complexiteit van de obstakels (aantal, aantal hoekpunten, algebraische.
Movable Objects Richard Jacobs Robin Langerak. Movable Objects Introductie en definities Aanpak Aangepaste algoritmen Grasp planning Assembly planning.
Motion planning with complete knowledge using a colored SOM Jules Vleugels, Joost N. Kok, & Mark Overmars Presentatie: Richard Jacobs.
Indeling Inleiding op PRM-planners & Medial Axis Retraction van configuraties op de Medial Axis Verbetering van retraction Verbetering van sampling Expliciete.
Path planning voor elastische objecten Robin Langerak Planning paths for elastic objects under manipulation constraints LamirauxKavraki.
Workshop teamvorming en leiderschap
Aanstuurmethodes en toepassing van robotica
Geometrie en topologie Rob Kromwijk, 26 juli 2012.
Principes Geo-informatie Nico de Graaff. 2 Van werkelijkheid naar model Bron: Longley et al
Workshop ISC – Overstromingen Bepalen van de hoogste waterlijn door een statistische benadering met omhullende curven Voorbeeld: het Loire-estuarium Thierry.
Neurale Netwerken Kunstmatige Intelligentie Rijksuniversiteit Groningen April 2005.
Een concreet voorbeeld gebracht door Willem De Meyer
Planning With Nonholonomic Constraints By Jeroen Resoort & Ronald Treur.
Challenge the future Delft University of Technology Netwerk transmissie model Verkeersmodel voor groot-stedelijke gebieden Victor L. Knoop.
@Vise Business Consultancy Author: Hans Groen
Lokaliseren en volgen van personen en objecten met behulp van camera’s Informatie Scriptieprijs November 2007 Sofie De Cooman.
Controllers en automatisatie
Neurale Netwerken Genetische Algorithmen
Management Accounting Management Control
Polymorphisme en Interfaces: inleiding
11 Diversiteit & inclusie July 30, Overzicht Diversiteit en inclusie zijn een integraal onderdeel van onze business. Het is essentieel dat u.
Presentatie titel Rotterdam, 00 januari 2007 Computer Vision Technische Informatica
TALENT- & ORGANISATIEPROCESSEN: VAN ORGANISATIE TOT INDIVIDU
OER: delen en hergebruiken Onderwijs- en inspiratiedag, Hasselt,
Het online opzetten, afnemen, beoordelen en verwerken van toetsen
Numerieke modellen voor water kwaliteit model
Moving objects in a geo-DBMS
Workshop 2D Spelontwikkeling
Promotie-onderzoek naar een 3D datamodellering
VIMTAG Keuzehulp voor het vinden van de juiste IP camera.
Transcript van de presentatie:

Vision-based robot motion planning using a topology representing neural network Gebaseerd op onderzoek verricht door Prof. M. Zeller et al. (1997), verbonden aan het Beckman Institute for Advanced Science and Technology, University of Illonois. Allard Kamphuisen

Neurale netwerken: een overzicht - neuraal netwerk = statistisch rekenmodel - 2 componenten: neuronen, hebben een activatiewaarde, y i verbindingen,hebben een gewicht, w ji - netwerk heeft verschillende lagen: input laag, krijgt informatie van buitenaf output laag, krijgt informatie van input laag via verbindingen * - activatiefunctie: y j =  y i w ji * dit kan nog via meerdere hidden lagen verlopen

Neurale netwerken: een overzicht input laag hidden laag output laag input patroon output patroon ykyk w kj w ji yjyj yiyi y j =  y i w ji

Neurale netwerken: een overzicht Leren van neurale netwerken: - Voer de input van een datapunt in. * - Bereken de output. - Vergelijk netwerkoutput met gewenste output. - Pas gewichten lichtelijk aan om het verschil te verminderen. - Herhaal voor alle datapunten. * traindata = (input, output)

Neurale netwerken: een overzicht Voordelen: - goed omgaan met onzekerheid - zelfstandig leren (= generaliseren) Nadelen: - niet exact - netwerken kunnen erg complex worden  geschikt voor vision based motion planning?

Vision-based robot motion planning Motivatie: - Workspace vaak onbekend  waarneming cruciaal. - Interne representaties zijn duur  gebruik de wereld. (“The world is its own best model.”) Probleem: Interne representaties nog steeds noodzakelijk.  Hoe integreer en calibreer je de waarneming met deze representaties?

Zeller’s onderzoek: Integratie van waarneming in configuratieruimte - Perceptual Control Manifold (PCM) - Topology Representing Neural Networks - Diffusion-based search algorithm - Implementatie in robotarm Vision-based robot motion planning

De PCM ruimte: C-space = configuratieruimte S-space = sensorruimte PCM = CxS-space Voorbeelden S-space dimensies: * - toonhoogte - kleur - coördinaten van punt in een camera-image * S-dimensies kunnen het gevolg zijn van preprocessing.

Vision-based robot motion planning Opzet van 3-dof robotarm met 2 externe cameras - 3-dof robotarm met gripper en 2 externe cameras - C = (q1,q2,q3), S = (s1,s2,s3,s4) - S berekend m.b.v. preprocessing: (s1,s2) = (punt) positie gripper camera 1 (s3,s4) = (punt) positie gripper camera 2 - PCM = CxS = (q1,q2,q3,s1,s2,s3,s4)

Vision-based robot motion planning Voorbeeld PCM: Een 2-dof arm en een 3D-projectie in de PCM. De Perceptual Control Manifold werkt net als gewone C-space!

Topology Representing Network (TRN) Principe: - Grid-achtige benadering van PCM m.b.v. neurale netwerken. Neuraal netwerk: - inputlaag = dimensies (activatie = dimensiewaarde) - input = robotconfiguratie - outputlaag = nodes in grid (activatie = afstand tot robotconfiguratie) - gewichten = posities van nodes Edges = connecties tussen neuronen in outputlaag (in tabel) Leermethode: - Neural-gas vector quantization - Competitive Hebbian learning Vision-based robot motion planning

Topology Representing Network (TRN) Voorbeeld: 2-dimensionale PCM met 5 nodes: - inputlaag met 2 neuronen - outputlaag met 5 neuronen (  5 nodes in grid) - 2 x 5 gewichten - robotconfiguratie = (0.6, 0.4) Inputlaag (d = 2) Outputlaag (k = 5) w kd Outputactivatie: k t = (d 1 w t1 +d 2 w t2 +d 3 w t3 +d 4 w t4 ) 2D-PCM met 5 grid-nodes d2 d1 (0.6,0.4) Input

Vision-based robot motion planning Topology Representing Network (TRN) Voorbeeld: 2-dimensionale PCM met 5 nodes: edges = waarden in tabel tussen neuronen k en l in outputlaag: c kl = 0, wanneer geen edge tussen k en l c kl = 1, wanneer wel edge tussen k en l In ons geval hebben connecties met waarde 1 ook een leeftijd 2D-PCM met 5 grid-nodes en verbindingen d1 (0.6,0.4) Connenctie-tabel met connectiewaarden (bold) en connectieleeftijd (italic)

Topology Representing Network (TRN) Leermethode: Hybride algoritme van neural-gas methode (nodes) en competitive Hebbian learning (edges). 1) gewichten (w 1 …w d ) van neuraal netwerk worden random ingesteld en alle connecties in de connectietabel op 0 gezet 2) for n random inputpatronen u (= robotconfiguraties) do - bepaal rank r van elk outputneuron gebaseerd op aktivatie (0 = aktiefst, 1 = daarna aktiefst, …, k = minst aktief) - pas gewichten aan: w i (t+1) = w i (t) +  (r,t)·(u - w i ) waar:  (r,t) = een functie die afneemt naarmate r en t toenemen - zet connectie c kl = 1 en leeftijd kl = 1 waar: k is neuron met r = 0, l is neuron met r = 1 - incrementeer leeftijd van alle connecties met 1 - zet connectiewaarde op 0 voor alle connecties met een leeftijd boven een bepaalde threshold Vision-based robot motion planning

a) Gewichten worden random tussen 0.45 en 0.55 ingesteld. Een 2D voorbeeld B) Netwerk begint te leren: - gewichten worden aangepast - connecties worden aangemaakt C) Netwerk is volleerd en benaderd de PCM. Vision-based robot motion planning calibreren waarneming = gewichten aanpassen

Vision-based robot motion planning PCM obstakel = TRN gebied zonder connecties Motion planning = pathsearch door TRN (diffusion based) Figuur: free space = gebied met connecties obstakel space = gebied zonder connecties motion plan = witgekleurde neuronen

Vision-based robot motion planning Toepassing: robotarm (SoftArm) - 3 dof: C-space = (q1, q2, q3) - 2 externe cameras die na preprocessing 4 dimensies opleveren (puntpositie gripper): S-space = (s1, s2, s3, s4) - PCM = (q1, q2, q3, s1, s2, s3, s4) - grid met 750 nodes - 1 rechthoekig obstakel - traindata: 5000 random robotconfiguraties  TRN: 7 input neuronen 750 hidden neuronen 3 output neuronen * * output stuurt pneumatische arm: 1 neuron per joint (neuron aktivatie = hydraulische druk)

Vision-based robot motion planning Deel van getrainde TRN met motion plan Robot setup Tijd training: enkele minuten pathsearch: enkele seconden hertraining: tientallen seconden

Vision-based robot motion planning Uitvoering motion plan

Vision-based robot motion planning Nadelen: - Motion plan voor gripper; niet voor arm - Nauwe doorgangen kunnen worden overgeslagen - Smalle objecten kunnen over het hoofd gezien worden (andere connectie-genereer methode?) Mogelijke verbeteringen en uitbreidingen: - Motion plan ook voor gripper - Meer hidden neuronen: smoothere planning - Meer input en output neuronen: meer sensoren en/of dof - Real-time motion planning (aktieve update connectietabel?) - eye-in-hand cameras

Vragen?