""" 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()
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()
"""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()
"""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()
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()