ne t’excuse pas @spaceX le niveau des utilisateurs de la plateforme poppy est très hétérogène, mais c’est tant mieux, les plus aguerries peuvent aider le plus novice, on l’a tous était un jour
Il n’ai pas toujours évident de se représenter où s’exécute les choses:
au démarrage l’ordinateur du robot lance python.
un robot est instancier, une API est lancé ainsi qu’un serveur web pour générer la homepage poppy.
Depuis la homepage, on peut accéder à ipython notebook ou snap
- snap s’exécute directement (et uniquement) dans le navigateur de votre ordinateur. Il utilise les requêtes de l’API pour contrôler le robot.
- ipython s"affiche dans le navigateur de votre ordinateur mais s’exécute sur le robot. Il utilise les commandes native du robot.
Si vous connecter un périphérique (webcam, leapmotion, makey makey, etc) et que vous souhaitez le contrôler
- en snap, il doit être brancher à votre ordinateur.
- en python, il doit être brancher à l’ordinateur du robot ou le votre, mais la méthode diffère selon les cas.
une astuce: si vous souhaitez contrôler un périphérique branché sur le robot avec snap,
vous pouvez ajouter des ‘url’ spécifiques dans l’API rendant cela possible. un exemple ici: http://poppy.discourse.group/t/get-picture-from-ergojr-camera-with-api-e-g-for-snap/
ou exécuter snap dans un navigateur lancé sur l’ordinateur du robot (connectez écran, clavier, souri, et autres périphériques à la Raspberry.)
Concernant snap:
les blocs du robot sont construit à partir des blocs originel de snap. Tout ces blocs robot se clôture par une ‘url’ correspondant à une commande dans l’API. Dans sa, vous pouvez faire ‘clic droit’ editer le bloc pour observer comment il sont construit et remonter jusqu’a l’url de chacun d’eux.
On charge ces blocs robots dans via en ouvrant “un projet snap” contenant les blocs, et quelque variable indispensable. Vous pouvais créer vos propre blocs. Et vous pouvais ajouter des url dans le fichier de l’API poppy_src / pypot / server / snap.py1 via l’arboréssence ipython notebook qui vous permet d’accéder à ce fichier.
à la ligne 362 ajouter
@self.app.get(’/un_nom/<un_paramettre>/<un_deuxieme_paramettre>’)
def ma_fonction(un_paramettre, un_deuxieme_paramettre):
output=do_anythink
return output
Ce projet peut être chargé dans différente version de snap. La dernière enregistré dans le robot est la 4.0.10.1 ; la dernière disponible en ligne est la 4.1.2.7. Il y a eu de nombreuse amélioration de snap entre ces deux versions. Notamment l’icône, ‘execution pas à pas’ ou l’icône permettant de prendre un photo avec la webcam.
J’espère que c’est plus clair