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).