Genetic Programming for Robot Learning
The aim is to develop methods to generate robot programs for
the problems in robot learning. The technique that we concentrate
on is Genetic Programming.
Robot Learning
-
a robot system learns how to perform a task (by trial and error).
-
a robot system improves its performance
Genetic programming
GP techniques is used to automatically generate robot programs.
A robot system requires a program to enable it to perform the task.
Example of a robot program (in VAL II)
; This is plan56 of the chair assembly using the Soma4
parts
;
CALL sinit()
;
CALL zjustz(b4.get, 2)
;
;------- The placing of fork3 -------
CALL zpatget(b4.get, RZ(90), -1.5, 0.5, RZ(0), -1.5,
0.5)
CALL zget(b4.get:RZ(0))
; -- No regrasping required.
CALL zput(b4.put:RZ(-270))
;
. . . .
What is Genetic Programming?
-
an unsupervised learning technique
-
an optimization technique
Koza (1992) invented it. It is evolved from Genetic Algorithm (John Holland,
1975).
GP encodes solutions in tree structures.
How does it work?
-
Generate randomly, solutions as initial population.
-
Evaluate the fitness of individual solution and Select
highly fit individuals.
-
Genetic Operation : Recombination, Mutation to generate next generation
population.
-
Repeat step 2-3
Example a solution (a robot program)
-
In a tree structure
-
In a linear form
(IF-AND w+ w+ e+ (IF-AND (IF-NOT (IF-NOT OUT? s-
w+) (IF-AND e+ s- e- (IF-OR (IF-NOT w+ s+ e+) s+ e- e-)) (IF-OR (IF-NOT
SEE? w- e-) w+ e+ e+)) w- (IF-OR SEE? (IF-OR e- (IF-OR (IF-OR HIT? e+ s+
e-) INC? w- e-) s+ w+) (IF-AND (IF-NOT w- e- e-) w- w- w+) s-) e+)))
-
In an encoded form
lbmhhnlfciikaljmmjhimfbehiljmmaegfmimaahajgagngnaacnfiedbddmihclajadh
Example of Robot Learning problems : Visual reaching task