Programmer le robot

Les robots Poppy sont pensés pour être programmé facilement. Voici les trois principales façons d'y parvenir : avec la programmation visuelle Scratch, avec la programmation visuelle Snap!, une variante de Scratch, avec Python et la possibilité de s'appuyer sur la puissance de l'API tout entière, avec REST API, qui permet de connecter les robots Poppy à d'autres outils ou d'utiliser n'importe quel langage de programmation.

: Tout comme le reste du projet, toute notre bibliothèque logiciel est open source (Licence GPLv3) et disponible sur GitHub.

Avec Scratch

Scratch

Scratch est un langage de programmation visuel. C'est un langage de programmation basé sur l'utilisation de blocs facilement déplaçables, qui permet une bonne introduction à l'informatique. Vous n'avez pas besoin d'installer quoi que ce soit pour l'utiliser. Il est open source et mis à jour régulièrement.

Exemple de projet Scratch utilisant un robot Poppy

Nous avons créé plusieurs blocs propre à l'utilisation des robots Poppy qui permettent de contrôler chaque moteur et de lire les valeurs rapportées par les capteurs de votre robot. Scratch permet d'avoir une interactivité constante entre son interface et le robot. Vous n'avez qu'à cliquer sur un bloc et la commande associée se lance. La simplicité apparente de Scratch n'empêche pas de développer des projets de plus en plus complexes.

Pour découvrir comment fonctionne Scratch et la programmation visuelle par blocs avec Poppy, rdv dans le chapitre dédié.

Avec Snap!

Logo Snap!

Snap! est un langage de programmation visuel - une variante du déjà très connu language Scratch. C'est un langage de programmation basé sur l'utilisation de blocs facilement déplaçables, qui permet une bonne introduction à l'informatique. It runs in your browser as it is implemented in JavaScript. Vous n'avez pas besoin d'installer quoi que ce soit pour l'utiliser. Il est open source et mis à jour régulièrement.

Exemple de projet Snap! utilisant un robot Poppy

Nous avons créé plusieurs blocs propre à l'utilisation des robots Poppy qui permettent de contrôler chaque moteur et de lire les valeurs rapportées par les capteurs de votre robot. This let you to directly jump into controlling and programming your robot without any syntax/compilation issue. Snap! permet d'avoir une interactivité constante entre son interface et le robot. Vous n'avez qu'à cliquer sur un bloc et la commande associée se lance. La simplicité apparente de Snap! n'empêche pas de développer des projets de plus en plus complexes.

Pour découvrir comment fonctionne Snap et la programmation visuelle par blocs avec Poppy, rdv dans le chapitre dédié.

Avec Python

Fonctionnant avec Python

Les bibliothèques logicielles Poppy ont été écrites en Python, ce qui permet un développement et une extensibilité rapide, ainsi que de pouvoir utiliser n'importe quelle autre bibliothèque scientifique. Python est d'ailleurs un langage très connu et largement utilisé dans les domaines de l'éducation et artistiques. En programmant Poppy en Python, vous aurez accès à tous les niveaux d'API, du plus bas au plus élevé.

L'API a été pensée pour du prototypage très rapide. Créer un robot et faire bouger ses moteurs ne doit pas prendre plus de quelques lignes :

from pypot.creatures import PoppyErgoJr

jr = PoppyErgoJr()
jr.m3.goal_position = 30

Nous aimons énormément le

Jupyter Project et de ses notebooks. Les Notebooks sont des documents qui contiennent à la fois du code en Python et des éléments textuels tels que des équations, des photos, des vidéos. Ils peuvent être édités à partir de l'interface Jupyter Web, ce qui permet aux utilisateurs de programmer les robots Poppy directement à partir d'un site hébergé par l'ordinateur du robot. Nous pensons qu’il s’agit d’un outil puissant permettant la création et le partage de code en direct, la visualisation des résultats et des textes explicatifs, le tout combiné en un seul document.

Logo Jupyter

La plupart des tutoriels, expérimentations et activités pédagogiques que la communauté Poppy et nous proposons sont disponibles sous forme de notebooks.

Exemple de Notebook

Vous pouvez retrouvez une mise à jour de la galerie de noteboks ici. Toute contibution est la bienvenue !

Avec ROS (Robot Operating System)

poru les utilisateurs avancés, les robots Poppy peuvent aussi être programmés avec ROS Noetic. Consultez le chapitre dédié.

Avec l'API REST

En plus de Scratch, de Snap!, de Python et de ROS, nous voulions donner la possibilité de recourir à d'autres options pour accéder et contrôler votre robot depuis n'importe quel système ou langage de programmation. Les robots Poppy fournissent une API REST. Les fonctionnalités les plus importantes sont accessibles depuis les requêtes HTTP GET/POST.

Vous pouvez retrouver la documentation relative à cette API ici.

D'un point vue plus pratique, cela vous permet de :

  • créez des passerelles pour controler le robot Poppy dans n'importe quel langage (des contributeurs géniaux ont déjà écrit des wrappers sur Matlab et Ruby).
  • Créez des des applications web connectées à votre robot, telle qu'une interface moniteur (encore une contribution !).
  • Faites intéragir votre robot avec d'autres objets connectés tels que les smartphones, les capteurs intelligent, ou encore votre compte Twitter...

results matching ""

    No results matching ""