Et ça a quand même plus de gueule, pour un prix équivalent. En tout cas, il a son petit succès quand je l'exhibe, autant auprès des petits que des grands. Je l'ai appelé Felix, (ce n'est pas difficile de deviner pourquoi :->).
Outre les 4 servomoteurs pour les jambes et les pieds, il est équipé de 4 LEDs RGB, d'un buzzer, d'un haut-parleur, et d'une matrice de LEDs, ainsi que d'un capteur ultra-sonique, d'un capteur infrarouge (pour la télécommande) et d'un module Bluetooth.
Ce modèle s'appuie sur un Raspberry Pi Pico. On peut l'acheter sans Pico, avec le Pico de base (sans WiFi), ou avec un Pico W (avec WiFi). Il est fournit en kit, donc il faut le monter. Ça prend du temps, mais c'est bien expliqué (la preuve : j'y suis arrivé). Même monté, on peut facilement retirer le Pico pour l'utiliser dans d'autres projets.
Ayant déjà un Pico W, j'ai acheté la version sans Pico. En théorie, avec un Pico W, le module Bluetooth est inutile, puisque le Pico W est également équipé du Bluetooth. On devrait aussi pouvoir utiliser un Pico 2 (W).
Voilà pour la partie matérielle.
Pour ce qui est de la partie logicielle, il y a une série de programmes C++ sous forme de sketches à utiliser avec l'IDE Arduino. En plus d'un ensemble de programmes ciblant chacun un composant précis, il y en a un dédié au calibrage des servomoteurs, ainsi qu'un autre dit multi-fonction qui permet de piloter le robot via la télécommande ou une application mobile. Je n'ai jamais réussi à me connecter au robot avec l'application mobile, mais, vu la description qui en est faite et ce qu'il m'a été possible de faire avec la télécommande, il y a déjà de quoi s'amuser.
Les logiciels fournis ne m'intéressaient pas plus que ça, car j'ai acheté ce robot pour tester la bibliothèque Python qui me permet de piloter des microcontrôleurs via le WiFi (https://github.com/epeios-q37/ucuq-python).
Comme indiqué, pour pouvoir utiliser cette bibliothèque, il faut installer Micropython sur le microcontrôleur, ainsi que le programme de contrôle, et un fichier de configuration. Ça a été très facile avec le Pico, et j'ai, en effet, pu alors développer, en Python, des applications pour contrôler à distance tous les élément du robot, sans jamais avoir à reconnecter le Pico à mon ordinateur.
J'en ai profité pour écrire une application servant au calibrage des servomoteurs (l'application Tweak), ainsi qu'une autre dédiée aux servomoteurs (Servos).
Cette dernière gère une sorte de langage de pilotage de servomoteurs. Ainsi, pour faire avancer le robot ci-dessus, j'utilise la séquence :
l-3:r L+20:R+20 l:r+3 L-20:R-20
L correspond à la jambe gauche du robot, l son pied gauche, r son pied droit et R sa jambe droite, les + et - permettent de spécifier le sens de rotation suivi de l'angle en °. Lorsqu'il n'y a pas d'angle de spécifié, cela correspond à l'angle 0, et le : est pour actionner plusieurs servomoteurs en même temps.
Voilà une autre séquence permettant de faire « danser » le robot.
Le % permet de modifier la vitesse de rotation des servomoteurs.
Cette application n'est pas propre à ce robot. Pour l'utiliser avec d'autres robots (comme celui ci-dessous), il suffit de lui fournir un fichier de configuration faisant le lien entre les identifiants (les L, l, r et R ci-dessus, mais on peut en choisir d'autres) et les différents servomoteurs.
J'aime bien cette application car elle permet de faire faire tous les mouvements que l'on veut à un robot, ce que ne permettent pas les applications fournies avec ces robots, qui ne proposent qu'un ensemble de mouvements préprogrammés.
Pour résumer, il suffit d'installer Micropython sur le Pico, plus le programme de contrôle et le fichier de configuration, et, coté ordinateur, récupérer le dépôt ci-dessus (qui n'a pas de dépendances) pour pouvoir piloter le robot à distance à partir d'un environnement de développement Python tout ce qu'il y a de plus classique.
Et cela fonctionne aussi avec des ESP32, comme pour le robot suivant :
Avec une imprimante 3D ou une découpeuse laser, on peut aller jusqu'à créer son propre robot basé, comme les modèles ci-dessus, sur des servomoteurs connectés à un microcontrôleur.
On peut également piloter ses propres montages, comme celui-ci que j'ai crée à partir de composants bon marché achetés séparément :
Les robots ci-dessus ne sont que quelques exemples parmi la multitude de robots et de kits basés sur un ESP32 ou un Raspberry Pi Pico. Ils peuvent, tous, bénéficier de cette bibliothèque.
Pour en venir (enfin !) au sujet évoqué par ce journal, on peut faciliter la mise en œuvre de ces robots en utilisant Brython, qui permet d'exécuter du code Python dans un navigateur web. Ainsi, une fois le microcontrôleur préparé comme indiqué ci-dessus, on peut le piloter en Python directement avec une application web, sans rien avoir à installer. Et pour se rapprocher encore plus des outils éducatifs proposés par les solutions évoqués dans ce journal, on peut, grâce à Blockly, piloter robots et montages électroniques par assemblage de blocs, à l'instar de Scratch.
# Une fois de plus, je m'incruste...
Posté par Claude SIMON (site web personnel) . En réponse au journal Le père Noël, Ubuntu, Chrome et le robot Edison sont sur un traîneau.... Évalué à 10.
...mais il y a, on va dire, (beaucoup) plus polyvalent que les Thymio, Edison et consorts.
Il y a ça, par exemple :
FRobot bipède basé sur un Raspberry Pi Pico
Et ça a quand même plus de gueule, pour un prix équivalent. En tout cas, il a son petit succès quand je l'exhibe, autant auprès des petits que des grands. Je l'ai appelé Felix, (ce n'est pas difficile de deviner pourquoi :->).
Outre les 4 servomoteurs pour les jambes et les pieds, il est équipé de 4 LEDs RGB, d'un buzzer, d'un haut-parleur, et d'une matrice de LEDs, ainsi que d'un capteur ultra-sonique, d'un capteur infrarouge (pour la télécommande) et d'un module Bluetooth.
Ce modèle s'appuie sur un Raspberry Pi Pico. On peut l'acheter sans Pico, avec le Pico de base (sans WiFi), ou avec un Pico W (avec WiFi). Il est fournit en kit, donc il faut le monter. Ça prend du temps, mais c'est bien expliqué (la preuve : j'y suis arrivé). Même monté, on peut facilement retirer le Pico pour l'utiliser dans d'autres projets.
Ayant déjà un Pico W, j'ai acheté la version sans Pico. En théorie, avec un Pico W, le module Bluetooth est inutile, puisque le Pico W est également équipé du Bluetooth. On devrait aussi pouvoir utiliser un Pico 2 (W).
Voilà pour la partie matérielle.
Pour ce qui est de la partie logicielle, il y a une série de programmes C++ sous forme de sketches à utiliser avec l'IDE Arduino. En plus d'un ensemble de programmes ciblant chacun un composant précis, il y en a un dédié au calibrage des servomoteurs, ainsi qu'un autre dit multi-fonction qui permet de piloter le robot via la télécommande ou une application mobile. Je n'ai jamais réussi à me connecter au robot avec l'application mobile, mais, vu la description qui en est faite et ce qu'il m'a été possible de faire avec la télécommande, il y a déjà de quoi s'amuser.
Les logiciels fournis ne m'intéressaient pas plus que ça, car j'ai acheté ce robot pour tester la bibliothèque Python qui me permet de piloter des microcontrôleurs via le WiFi (https://github.com/epeios-q37/ucuq-python).
Comme indiqué, pour pouvoir utiliser cette bibliothèque, il faut installer Micropython sur le microcontrôleur, ainsi que le programme de contrôle, et un fichier de configuration. Ça a été très facile avec le Pico, et j'ai, en effet, pu alors développer, en Python, des applications pour contrôler à distance tous les élément du robot, sans jamais avoir à reconnecter le Pico à mon ordinateur.
J'en ai profité pour écrire une application servant au calibrage des servomoteurs (l'application Tweak), ainsi qu'une autre dédiée aux servomoteurs (Servos).
Cette dernière gère une sorte de langage de pilotage de servomoteurs. Ainsi, pour faire avancer le robot ci-dessus, j'utilise la séquence :
Lcorrespond à la jambe gauche du robot,lson pied gauche,rson pied droit etRsa jambe droite, les+et-permettent de spécifier le sens de rotation suivi de l'angle en °. Lorsqu'il n'y a pas d'angle de spécifié, cela correspond à l'angle 0, et le:est pour actionner plusieurs servomoteurs en même temps.Voilà une autre séquence permettant de faire « danser » le robot.
Le
%permet de modifier la vitesse de rotation des servomoteurs.Cette application n'est pas propre à ce robot. Pour l'utiliser avec d'autres robots (comme celui ci-dessous), il suffit de lui fournir un fichier de configuration faisant le lien entre les identifiants (les
L,l,retRci-dessus, mais on peut en choisir d'autres) et les différents servomoteurs.J'aime bien cette application car elle permet de faire faire tous les mouvements que l'on veut à un robot, ce que ne permettent pas les applications fournies avec ces robots, qui ne proposent qu'un ensemble de mouvements préprogrammés.
Pour résumer, il suffit d'installer Micropython sur le Pico, plus le programme de contrôle et le fichier de configuration, et, coté ordinateur, récupérer le dépôt ci-dessus (qui n'a pas de dépendances) pour pouvoir piloter le robot à distance à partir d'un environnement de développement Python tout ce qu'il y a de plus classique.
Et cela fonctionne aussi avec des ESP32, comme pour le robot suivant :
Robot chien basé sur un ESP32
Avec une imprimante 3D ou une découpeuse laser, on peut aller jusqu'à créer son propre robot basé, comme les modèles ci-dessus, sur des servomoteurs connectés à un microcontrôleur.
On peut également piloter ses propres montages, comme celui-ci que j'ai crée à partir de composants bon marché achetés séparément :
Montage DIY basé sur un ESP32
Les robots ci-dessus ne sont que quelques exemples parmi la multitude de robots et de kits basés sur un ESP32 ou un Raspberry Pi Pico. Ils peuvent, tous, bénéficier de cette bibliothèque.
Pour en venir (enfin !) au sujet évoqué par ce journal, on peut faciliter la mise en œuvre de ces robots en utilisant Brython, qui permet d'exécuter du code Python dans un navigateur web. Ainsi, une fois le microcontrôleur préparé comme indiqué ci-dessus, on peut le piloter en Python directement avec une application web, sans rien avoir à installer. Et pour se rapprocher encore plus des outils éducatifs proposés par les solutions évoqués dans ce journal, on peut, grâce à Blockly, piloter robots et montages électroniques par assemblage de blocs, à l'instar de Scratch.
Exemples : https://zelbinium.q37.info/fr/ucuq/online.
Les prochaines versions de cette bibliothèque prendront en charge plus de composants, et en particulier tout ce qui est capteur.
Zelbinium: pour la génération qui crée, pas celle qui scrolle...