diff --git a/src/dynamic_graph/sot/dyninv/meta_tasks_dyn.py b/src/dynamic_graph/sot/dyninv/meta_tasks_dyn.py
index f7583118169230181ac717956b35320ad02723b7..d453fad5c68456157d6e11f2e6978b520d6200ba 100644
--- a/src/dynamic_graph/sot/dyninv/meta_tasks_dyn.py
+++ b/src/dynamic_graph/sot/dyninv/meta_tasks_dyn.py
@@ -2,8 +2,8 @@ from dynamic_graph.sot.core.meta_task_6d import toFlags
 from dynamic_graph import plug
 from dynamic_graph.sot.core import *
 from dynamic_graph.sot.dyninv import *
-from dynamic_graph.sot.core.matrix_util import matrixToTuple, vectorToTuple,rotate, matrixToRPY
-from numpy import matrix, identity, zeros, eye
+from dynamic_graph.sot.core.matrix_util import matrixToTuple, vectorToTuple, rotate, matrixToRPY, rpy2tr
+from numpy import matrix, identity, zeros, eye, array
 
 
 def setGain(gain,val):
@@ -19,7 +19,10 @@ def goto6d(task,position,gain=None):
     M=eye(4)
     if isinstance(position,matrix): position = vectorToTuple(position)
     if( len(position)==3 ): M[0:3,3] = position
-    else: print "Position 6D with rotation ... todo"
+    else:
+        #print "Position 6D with rotation ... todo" # done?
+        M = array( rpy2tr(*position[3:7]) )
+        M[0:3,3] = position[0:3]
     task.feature.selec.value = "111111"
     setGain(task.gain,gain)
     task.featureDes.position.value = matrixToTuple(M)
@@ -29,7 +32,10 @@ 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
-    else: print "Position 6D with rotation ... todo"
+    else:
+        #print "Position 6D with rotation ... todo" # done?
+        M = array( rpy2tr(*position[3:7]) )
+        M[0:3,3] = position[0:3]
     if isinstance(selec,str):   task.feature.selec.value = selec
     else: task.feature.selec.value = toFlags(selec)
     task.featureDes.position.value = matrixToTuple(M)