Vision based motion planning using a topology representing neural

advertisement
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, yi
verbindingen,hebben een gewicht, wji
- netwerk heeft verschillende lagen:
input laag, krijgt informatie van buitenaf
output laag, krijgt informatie van input laag
via verbindingen*
- activatiefunctie: yj = yiwji
*
dit kan nog via meerdere hidden lagen verlopen
Neurale netwerken: een overzicht
output patroon
0.1
0.9
yk
output laag
yj = yiwji
wkj
yj
hidden laag
wji
input laag
input patroon
yi
0.3
0.6
0.4
0.8
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?
Vision-based robot motion planning
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!
Vision-based robot motion planning
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)
Outputlaag (k = 5)
1
2
3
4
5
d2
wkd
Inputlaag (d = 2)
2
1
3
(0.6,0.4)
Input
0.6
0.4
Outputactivatie: kt = (d1wt1+d2wt2+d3wt3+d4wt4)
4
5
d1
2D-PCM met 5 grid-nodes
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:
ckl = 0, wanneer geen edge tussen k en l
ckl = 1, wanneer wel edge tussen k en l
In ons geval hebben connecties met waarde 1 ook een leeftijd
N
1
2
3
4
1
X
1 (10) 1 (8) 1 (6) 0
2
1 (2) X
3
1 (12) 1 (3) X
4
1 (9) 0
5
0
1 (13) 0
5
1
1 (7)
3
1 (5) 1 (14)
1 (4) X
2
(0.6,0.4)
1 (9)
1 (1) 1 (5) 1 (15) X
Connenctie-tabel met connectiewaarden (bold)
en connectieleeftijd (italic)
4
5
d1
2D-PCM met 5 grid-nodes
en verbindingen
Vision-based robot motion planning
Topology Representing Network (TRN)
Leermethode:
Hybride algoritme van neural-gas methode (nodes) en competitive Hebbian
learning (edges).
1) gewichten (w1…wd) 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: wi(t+1) = wi (t) + (r,t)·(u - wi)
waar: (r,t) = een functie die afneemt naarmate r en t toenemen
- zet connectie ckl = 1 en leeftijdkl = 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
Een 2D voorbeeld
a) Gewichten worden random tussen
0.45 en 0.55 ingesteld.
B) Netwerk begint te leren:
- gewichten worden aangepast
- connecties worden aangemaakt
C) Netwerk is volleerd en benaderd
de PCM.
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
Tijd
training: enkele minuten
pathsearch: enkele seconden
hertraining: tientallen seconden
Robot setup
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?
Download