def __init__(self, name=None, *args, **kwargs): super(LearningPistonController, self).__init__(*args, **kwargs) pit_init = super(LearningPistonController, self).valveCommandFromFlow self.clay_pit_pos = OneDClayPit(min_x=1e-6, max_x=4.0 * gpm2cmps, n_points=64, init_func=pit_init, max_slope=1.0 / (6.0 * gpm2cmps), k=1.0, name=name + '_pos') self.clay_pit_neg = OneDClayPit(min_x=-4.0 * gpm2cmps, max_x=-1e-6, n_points=64, init_func=pit_init, max_slope=1.0 / (6.0 * gpm2cmps), k=1.0, name=name + '_neg') self.valve_cmd = 0.0