예제 #1
0
#HRR.incremental_weight = 0.5

#appr = Approximation(fn=fn_2dparab, size=3000)
#appr.learn(input_range=input_range, output_range=output_range, n_samples=200, stddev=0.02, use_incremental=False)
#appr.plot_result(input_range=input_range, output_range=output_range, n_samples=19)
appr = Approximation(fn=fn_plane, size=10000)
appr.learn(input_range=input_range,
           output_range=output_range,
           n_samples=(10, 10),
           stddev=0.01,
           use_incremental=False)

n_samples = (10, 10)

if True:
    input_tuples = []
    X = np.linspace(-1.0, 1.0, n_samples[0])
    Y = np.linspace(-1.0, 1.0, n_samples[1])
    for x in X:
        for y in Y:
            input_tuples.append((x, y))
    appr.verify(input_tuples=input_tuples,
                input_range=input_range,
                output_range=output_range,
                suppress_input=True)

appr.plot3d_result(input_range=input_range,
                   output_range=output_range,
                   n_samples=n_samples)
예제 #2
0
HRR.verbose = False

armlengths = [1.0, 1.0]


def fn(x, y):
    tcp = TCP([x, y], arms=2, armlengths=armlengths)
    tcp.computeTcp()
    return tcp.tcp  # should be list of length 3


input_range = [(0.0, 360.0), (0.0, 360.0)]
sr = np.sum(armlengths)
output_range = [(-sr, sr), (-sr, sr)]

appr = Approximation(fn=fn, size=3000)
appr.learn(input_range=input_range,
           output_range=output_range,
           n_samples=(20, 20),
           stddev=0.02,
           use_incremental=False)

input_tuples = []
S = np.linspace(0.0, 360.0, 10)
for joint1 in S:
    for joint2 in S:
        input_tuples.append((joint1, joint2))
appr.verify(input_tuples=input_tuples,
            input_range=input_range,
            output_range=output_range)