Skip to content
Snippets Groups Projects
Commit 082b7f78 authored by Nicolas Mansard's avatar Nicolas Mansard
Browse files

Minor modifs in the meta tasks.

parent e496b99c
No related branches found
No related tags found
No related merge requests found
...@@ -21,20 +21,20 @@ class MetaTaskDyn6d(MetaTask6d): ...@@ -21,20 +21,20 @@ class MetaTaskDyn6d(MetaTask6d):
def __init__(self,*args): def __init__(self,*args):
MetaTask6d.__init__(self,*args) MetaTask6d.__init__(self,*args)
self.opPointModif = OpPointModifier('opmodif'+self.name) # self.opPointModif = OpPointModifier('opmodif'+self.name)
plug(self.dyn.signal(self.opPoint),self.opPointModif.signal('positionIN')) # plug(self.dyn.signal(self.opPoint),self.opPointModif.signal('positionIN'))
plug(self.dyn.signal('J'+self.opPoint),self.opPointModif.signal('jacobianIN')) # plug(self.dyn.signal('J'+self.opPoint),self.opPointModif.signal('jacobianIN'))
self.opPointModif.activ = False # self.opPointModif.activ = False
@property # @property
def opmodif(self): # def opmodif(self):
if not self.opPointModif.activ: return False # if not self.opPointModif.activ: return False
else: return self.opPointModif.getTransformation() # else: return self.opPointModif.getTransformation()
@opmodif.setter # @opmodif.setter
def opmodif(self,m): # def opmodif(self,m):
if not self.opPointModif.activ: # if not self.opPointModif.activ:
plug(self.opPointModif.signal('position'),self.feature.position ) # plug(self.opPointModif.signal('position'),self.feature.position )
plug(self.opPointModif.signal('jacobian'),self.feature.Jq) # plug(self.opPointModif.signal('jacobian'),self.feature.Jq)
self.opPointModif.activ = True # self.opPointModif.activ = True
self.opPointModif.setTransformation(m) # self.opPointModif.setTransformation(m)
...@@ -8,7 +8,10 @@ from numpy import matrix, identity, zeros, eye ...@@ -8,7 +8,10 @@ from numpy import matrix, identity, zeros, eye
def setGain(gain,val): def setGain(gain,val):
if val!=None: 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)==3: gain.set( val[0],val[1],val[2])
elif len(val)==4: gain.setByPoint( val[0],val[1],val[2],val[3]) elif len(val)==4: gain.setByPoint( val[0],val[1],val[2],val[3])
...@@ -22,7 +25,7 @@ def goto6d(task,position,gain=None): ...@@ -22,7 +25,7 @@ def goto6d(task,position,gain=None):
task.featureDes.position.value = matrixToTuple(M) task.featureDes.position.value = matrixToTuple(M)
task.task.resetJacobianDerivative() task.task.resetJacobianDerivative()
def gotoNd(task,position,selec,gain=None): def gotoNd(task,position,selec,gain=None,resetJacobian=True):
M=eye(4) M=eye(4)
if isinstance(position,matrix): position = vectorToTuple(position) if isinstance(position,matrix): position = vectorToTuple(position)
if( len(position)==3 ): M[0:3,3] = position if( len(position)==3 ): M[0:3,3] = position
...@@ -30,7 +33,7 @@ def gotoNd(task,position,selec,gain=None): ...@@ -30,7 +33,7 @@ def gotoNd(task,position,selec,gain=None):
if isinstance(selec,str): task.feature.selec.value = selec if isinstance(selec,str): task.feature.selec.value = selec
else: task.feature.selec.value = toFlags(selec) else: task.feature.selec.value = toFlags(selec)
task.featureDes.position.value = matrixToTuple(M) task.featureDes.position.value = matrixToTuple(M)
task.task.resetJacobianDerivative() if resetJacobian: task.task.resetJacobianDerivative()
setGain(task.gain,gain) setGain(task.gain,gain)
def addContactFromMetaTask(sot,contact,task=None): def addContactFromMetaTask(sot,contact,task=None):
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment