From 082b7f785bc953ffa9e74e9d01215ff4735b1b9b Mon Sep 17 00:00:00 2001 From: Mansard <nmansard@laas.fr> Date: Thu, 17 Jan 2013 16:13:27 +0100 Subject: [PATCH] Minor modifs in the meta tasks. --- python/meta_task_dyn_6d.py | 30 +++++++++++++++--------------- python/meta_tasks_dyn.py | 9 ++++++--- 2 files changed, 21 insertions(+), 18 deletions(-) diff --git a/python/meta_task_dyn_6d.py b/python/meta_task_dyn_6d.py index c429485..75b4e74 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 0893fbd..111d8e4 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): -- GitLab