Cinématique inverse avec porteur de stylo (Poppy Ergo Jr)

Bonjour à tous,

J’ai commencé une application externe qui communique avec Poppy par l’API Rest.
Elle envoie des coordonnées (x, y, z) à Poppy par une primitive qui lance chain.goto:

class MoveToPosition(pypot.primitive.Primitive):

properties = pypot.primitive.Primitive.properties + ['position_to_go']
def __init__(self, robot, coord ='[0.0,0.0,0.0,0.0]' ):
    
		pypot.primitive.Primitive.__init__(self, robot)
		self._coord = coord
		self._robot = robot
                    
def start(self):
		pypot.primitive.Primitive.start(self)
		


def run(self):

		ergo = self._robot
		coord = str(self._coord)

		coord = coord[1:len(coord)-1]

		c = ','
		a = [pos for pos, char in enumerate(coord) if char == c]
		print a
		coord_x = coord[0:a[0]]
		coord_y = coord[a[0]+1:a[1]]
		coord_z = coord[a[1]+1:a[2]]

		time = coord[a[2]+1:len(coord)]

		print 'Coordonnées X : ' + coord_x
		print 'Coordonnées Y : ' + coord_y
		print 'Coordonnées Z : ' + coord_z

		print 'Durée (s) : ' + time 
		
		# Position(in meters)
		pos = 0.1*np.asarray([float(coord_x),float(coord_y),float(coord_z)])
		print pos

		#functiopn definition :goto(self, position, duration, wait=False, accurate=False)
		ergo.chain.goto(pos,float(time),True, True)

        
@property
def position_to_go(self):
		return self._coord
 
@position_to_go.setter
def position_to_go(self, coord):
        print "Nouvelles coordonees : " + coord
        self._coord = coord

J’aimerais savoir si il y a une façon pour que le stylo reste perpendiculaire à la surface
(le moteur m6 parallèle à la surface).