Пример #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()
Пример #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()
Пример #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()
Пример #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()
Пример #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()