diff --git a/python/meta_task_dyn_6d.py b/python/meta_task_dyn_6d.py index c42948553b3bbd1b373c62eef256d31f819852ea..75b4e74b343fea35d6e95a5b540c49881b19ff0d 100644 --- a/python/meta_task_dyn_6d.py +++ b/python/meta_task_dyn_6d.py @@ -21,20 +21,20 @@ class MetaTaskDyn6d(MetaTask6d): def __init__(self,*args): MetaTask6d.__init__(self,*args) - self.opPointModif = OpPointModifier('opmodif'+self.name) - plug(self.dyn.signal(self.opPoint),self.opPointModif.signal('positionIN')) - plug(self.dyn.signal('J'+self.opPoint),self.opPointModif.signal('jacobianIN')) - self.opPointModif.activ = False +# self.opPointModif = OpPointModifier('opmodif'+self.name) +# plug(self.dyn.signal(self.opPoint),self.opPointModif.signal('positionIN')) +# plug(self.dyn.signal('J'+self.opPoint),self.opPointModif.signal('jacobianIN')) +# self.opPointModif.activ = False - @property - def opmodif(self): - if not self.opPointModif.activ: return False - else: return self.opPointModif.getTransformation() +# @property +# def opmodif(self): +# if not self.opPointModif.activ: return False +# else: return self.opPointModif.getTransformation() - @opmodif.setter - def opmodif(self,m): - if not self.opPointModif.activ: - plug(self.opPointModif.signal('position'),self.feature.position ) - plug(self.opPointModif.signal('jacobian'),self.feature.Jq) - self.opPointModif.activ = True - self.opPointModif.setTransformation(m) +# @opmodif.setter +# def opmodif(self,m): +# if not self.opPointModif.activ: +# plug(self.opPointModif.signal('position'),self.feature.position ) +# plug(self.opPointModif.signal('jacobian'),self.feature.Jq) +# self.opPointModif.activ = True +# self.opPointModif.setTransformation(m) diff --git a/python/meta_tasks_dyn.py b/python/meta_tasks_dyn.py index 0893fbd793b7558e80b2441a98ee3375f8f76c48..111d8e420b2e114df6b069b86db36e676a7f379e 100644 --- a/python/meta_tasks_dyn.py +++ b/python/meta_tasks_dyn.py @@ -8,7 +8,10 @@ from numpy import matrix, identity, zeros, eye def setGain(gain,val): if val!=None: - if isinstance(val,int) or len(val)==1: gain.setConstant(val) + if isinstance(val,int) or isinstance(val,float): + gain.setConstant(val) + if len(val)==1: + gain.setConstant(val[0]) elif len(val)==3: gain.set( val[0],val[1],val[2]) elif len(val)==4: gain.setByPoint( val[0],val[1],val[2],val[3]) @@ -22,7 +25,7 @@ def goto6d(task,position,gain=None): task.featureDes.position.value = matrixToTuple(M) task.task.resetJacobianDerivative() -def gotoNd(task,position,selec,gain=None): +def gotoNd(task,position,selec,gain=None,resetJacobian=True): M=eye(4) if isinstance(position,matrix): position = vectorToTuple(position) if( len(position)==3 ): M[0:3,3] = position @@ -30,7 +33,7 @@ def gotoNd(task,position,selec,gain=None): if isinstance(selec,str): task.feature.selec.value = selec else: task.feature.selec.value = toFlags(selec) task.featureDes.position.value = matrixToTuple(M) - task.task.resetJacobianDerivative() + if resetJacobian: task.task.resetJacobianDerivative() setGain(task.gain,gain) def addContactFromMetaTask(sot,contact,task=None):