1 from dynamic_graph
import plug
2 from dynamic_graph.sot.core
import FeatureGeneric, GainAdaptive, Task
3 from dynamic_graph.sot.core.matrix_util
import matrixToTuple
4 from dynamic_graph.sot.core.meta_task_6d
import toFlags
5 from numpy
import identity
9 def __init__(self, dyn, config=None, name="config"):
14 self.
feature = FeatureGeneric(
"feature" + name)
16 self.
gain = GainAdaptive(
"gain" + name)
18 plug(dyn.position, self.
feature.errorIN)
19 robotDim = dyn.getDimension()
20 self.
feature.jacobianIN.value = matrixToTuple(identity(robotDim))
22 if config
is not None:
26 self.task.add(self.
feature.name)
27 plug(self.task.error, self.
gain.error)
28 plug(self.
gain.gain, self.task.controlGain)
40 def __init__(self, dyn, config=None, name="config"):
41 MetaTaskConfig.__init__(self, dyn, config, name)
42 self.
task = Task(
"task" + name)