#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)
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)