def __init__(self, dmps, bfs, used=None, default=None, type='discrete', timesteps=100): self.used = ones(dmps * (bfs + 2), dtype=bool) if used is None else array( used, dtype=bool) self.default = zeros(dmps * (bfs + 2)) if default is None else array(default) self.motor = copy(self.default) self.n_dmps = dmps self.n_bfs = bfs self.timesteps = timesteps if type == 'discrete': self.dmp = DMPs_discrete(dmps=dmps, bfs=bfs, dt=2. / timesteps) elif type == 'rythmic': #dt = 6.28 / timesteps self.dmp = DMPs_rhythmic(dmps=dmps, bfs=bfs) #, dt=dt) else: raise ValueError('Invalid type specified. Valid choices \ are discrete or rhythmic.')
def __init__(self, dmps, bfs, used=None, default=None, type='discrete', run_time=1): self.used = ones(dmps * (bfs + 2), dtype=bool) if used is None else array( used, dtype=bool) self.default = zeros(dmps * (bfs + 2)) if default is None else array(default) self.motor = copy(self.default) self.n_dmps = dmps self.n_bfs = bfs if type == 'discrete': self.dmp = DMPs_discrete(dmps=dmps, bfs=bfs) elif type == 'rythmic': self.dmp = DMPs_rhythmic(dmps=dmps, bfs=bfs) else: raise ValueError('Invalid type specified. Valid choices \ are discrete or rhythmic.') self.dmp.cs.run_time *= run_time