Exemplo n.º 1
0
"""
Inverse model benchmark.
Inverse model performance is tested in function of the forward model, 
the inverse and forward parameters and the robots.
"""

import random
random.seed(30)

import robots
from models.learner import Learner
from models.plots.ercurve import ErrorCurve

# Robot
arm = robots.KinematicArm2D(dimM = 6)

# Learner
invlearners = ([Learner.from_robot(arm, fwd = 'WNN',   inv = 'BFGS',   k = 5, sigma = 5.0)]
			#+  [Learner.from_robot(arm, fwd = 'WNN',   inv = 'BFGS',          sigma = 10.0)]
			#+  [Learner.from_robot(arm, fwd = 'AvgNN', inv = 'BFGS',   k = 5, sigma = 5.0)]
			+  [Learner.from_robot(arm, fwd = 'ES-LWLR', inv = 'BFGS', k = 20)]
			)

# Plot
curve = ErrorCurve(arm, invlearners, side = 'inverse', trials = 1000, tests = 250, uniformity = 'sensor')
curve.plot()
curve.show()
Exemplo n.º 2
0
Inverse model performance is tested in function of the forward model, 
the inverse and forward parameters and the robots.
"""

import random
random.seed(30)

import robots
from models.learner import Learner
from models.plots.ercurve import ErrorCurve

# Robot
arm = robots.KinematicArm2D(dimM=6)

# Learner
invlearners = (
    [Learner.from_robot(arm, fwd='WNN', inv='BFGS', k=5, sigma=5.0)]
    #+  [Learner.from_robot(arm, fwd = 'WNN',   inv = 'BFGS',          sigma = 10.0)]
    #+  [Learner.from_robot(arm, fwd = 'AvgNN', inv = 'BFGS',   k = 5, sigma = 5.0)]
    + [Learner.from_robot(arm, fwd='ES-LWLR', inv='BFGS', k=20)])

# Plot
curve = ErrorCurve(arm,
                   invlearners,
                   side='inverse',
                   trials=1000,
                   tests=250,
                   uniformity='sensor')
curve.plot()
curve.show()
Exemplo n.º 3
0
"""Benchmarking a simple 3 DOF, 2D Kinematic Arm in function of timesteps."""
import random
random.seed(0)

import forest
import robots
from models.learner import Learner, fwdclass
from models.plots.ercurve import ErrorCurve

# Robot
cfg = forest.Tree()
cfg.dim     = 6
cfg.lengths = 1.0
cfg.limits  = (-360.0, 360.0)
arm = robots.KinematicArm2D(cfg)

fwdlearners = []
fwdlearners.append(Learner.from_robot(arm, fwd = 'ES-LWLR', inv = 'L-BFGS-B', k = 2*cfg.dim+1))

curve = ErrorCurve(arm, fwdlearners, side = 'forward', trials = 50000, tests = 200, uniformity = 'motor')
curve.plot()
curve.show()
Exemplo n.º 4
0
"""Benchmarking a simple 3 DOF, 2D Kinematic Arm in function of timesteps."""
import random
random.seed(0)

import robots
import models
from models.learner import Learner, fwdclass
from models.plots.ercurve import ErrorCurve

#models.disable_cmodels()

# Robot
arm = robots.KinematicArm2D(dim = 3)

#fwdlearners = [Learner.from_robot(arm, fwd = fwd, inv = 'NN', k = 5, sigma = 5.0) for fwd in fwdclass]
fwdlearners = []

#fwdlearners.append(Learner.from_robot(arm, fwd = 'ES-LWLR', inv = 'NN', k = 4))
#fwdlearners.append(Learner.from_robot(arm, fwd = 'ES-LWLR', inv = 'NN', k = 7))
fwdlearners.append(Learner.from_robot(arm, fwd = 'ES-LWLR', inv = 'NN', k = 3))
fwdlearners.append(Learner.from_robot(arm, fwd = 'ES-LWLR', inv = 'NN', k = 7))
fwdlearners.append(Learner.from_robot(arm, fwd = 'ES-LWLR', inv = 'NN', k = 10))
fwdlearners.append(Learner.from_robot(arm, fwd = 'ES-LWLR', inv = 'NN', k = 20))

curve = ErrorCurve(arm, fwdlearners, side = 'forward', trials = 2000, tests = 200, uniformity = 'motor', test_period = 5, test_pace = 1.5)
curve.plot()
curve.show()
Exemplo n.º 5
0
import robots
import models
from models.learner import Learner, fwdclass
from models.plots.ercurve import ErrorCurve

#models.disable_cmodels()

# Robot
arm = robots.KinematicArm2D(dim=3)

#fwdlearners = [Learner.from_robot(arm, fwd = fwd, inv = 'NN', k = 5, sigma = 5.0) for fwd in fwdclass]
fwdlearners = []

#fwdlearners.append(Learner.from_robot(arm, fwd = 'ES-LWLR', inv = 'NN', k = 4))
#fwdlearners.append(Learner.from_robot(arm, fwd = 'ES-LWLR', inv = 'NN', k = 7))
fwdlearners.append(Learner.from_robot(arm, fwd='ES-LWLR', inv='NN', k=3))
fwdlearners.append(Learner.from_robot(arm, fwd='ES-LWLR', inv='NN', k=7))
fwdlearners.append(Learner.from_robot(arm, fwd='ES-LWLR', inv='NN', k=10))
fwdlearners.append(Learner.from_robot(arm, fwd='ES-LWLR', inv='NN', k=20))

curve = ErrorCurve(arm,
                   fwdlearners,
                   side='forward',
                   trials=2000,
                   tests=200,
                   uniformity='motor',
                   test_period=5,
                   test_pace=1.5)
curve.plot()
curve.show()