PiRobot

 

Ça y es ! Après un mois de stage à Prague, puis un mois de congé, suivi d’une rentrée bien chargée, je retrouve enfin la motivation et surtout le temps de continuer la rédaction de ce blog. Quoi de mieux que d’introduire mon projet PiRobot, commencé depuis mai 2015 et qui est toujours en développement à l’heure où j’écris ces lignes. Je vais vous présenter ici une sorte d’introduction au projet, avec mes objectifs ainsi que les diverses pistes que j’ai exploré.

 

 

1. Mes idées…

Nous sommes fin 2014, en pleine période de fêtes, Noël, l’effervescence des retrouvailles avec la famille, les bons repas et les cadeaux… Un cadeau bien en vogue cette année-là sont les drones, nouvelle mode technologique, signe d’une nouvelle ère ? Les gadgets, jusqu’alors réservés à l’armée se démocratise en version simpliste et accessible au plus grand nombre… mais à quel prix ? J’ai alors fouiné internet à la recherche de ces derniers… les plus performants se montraient affreusement cher… Tout ça pour un peu de d’électronique et de polystyrène… Je me suis vite demandé s’il était possible de réaliser un quadcopètre sois-même ! N’étant pas encore très à l’aise en électronique programmable (microcontrôleurs Microchip, Arduino, etc…), je me suis donc naturellement tourné vers ce qui me passionnait le plus à ce moment-là : le Raspberry Pi.

Drone Parrot.

Drone Parrot.

Et j’en ai vu de nombreux exemples ! Tous les amateurs du DIY (Do It Yourself) se frottent aux mêmes problématiques sur Raspberry Pi : les temps de réponse du système. J’ai vu des cas bien différents :
– Ceux qui perdent le contrôle de leur drone Raspberriesque car ce dernier ne réagit pas à temps pour corriger immédiatement l’assiette. Les calculs sont trop long pour avoir un asservissement correcte, l’appareil n’est pas stable.
– Ceux qui arrivent à “piloter” leur drone Raspberriesque sans aucun asservissement sur la stabilité du système. Chaque moteur est contrôlé indépendamment par l’utilisateur, like a boss 8).
– Ceux qui patchent ou installent un système temps-réel sur leur Raspberry Pi. Ce n’est en réalité qu’un système que j’appelle semi-temps réel, je vous expliquerai pourquoi dans un article dédié. Ces personnes arrivent à avoir un drone quasi-stable, mais cela n’égale pas un système purement électronique, sans architecture soft.
– Ceux qui utilisent un mix électronique temps réel/soft Raspberry Pi. La stabilité de l’appareil est ici assurée par un microcontrôleur dédié (type microchip ou arduino) et les consignes ainsi que toutes les informations importantes sont traitées par le RPi. Parfois les consignes ne sont traitées que par le microcontrôleur via un contrôleur sans fil 2,4 GHz, ce qui augmente le temps de traitement de l’information et donc le temps de réponse. Certaines infos (vidéo, GPS, état appareil…) sont traitées par le RPi. Ces personnes là obtiennent de très bons résultats, proche des meilleurs drones vendu sur le marché.

Exemple de quadricoptère DIY

Exemple de quadricoptère DIY

J’ai donc commencé à élaborer des plans, ainsi que des manières de tester mon futur appareil avec différents paramètres. J’ai aussi étudié les filtres de Kalman qui me permettraient de corriger les éventuelles perturbation et de “prédire” les perturbations futures. J’ai également commencé à étudier l’électronique qu’il me faudrait mettre en place et malgré de bonnes bases, je suis tombé sur le simple constat que je n’avais pas l’expérience requise pour me lancer dans un tel projet. Je devais d’abord m’attaquer à un projet moins ambitieux, mais qui me permettrait d’en apprendre beaucoup sur la programmation robotique avec le Raspberry Pi. C’est ici qu’est né le projet PiRobot : un objet non pas volant, mais se déplaçant au sol. L’avantage ici est de s’astreindre de plusieurs contrainte présente dans la réalisation d’un quadricopètre : rapport poids/puissance, autonomie, temps de réponse rapide, contraintes de stabilité… Bien sûr, le rapport poids/puissance/autonomie sera toujours présent, mais il ne sera pas un élément déterminant à la viabilité du projet.

Les personnes qui ont lu cet article ont aussi lu :  [PiRobot] Partie 4 – Refactoring du code PiRobot et réflexions sur le pilotage

ExempleRoverPi1 ExempleRoverPi2

2. PiRobot, un projet plus ambitieux qu’il n’y paraît

Le projet PiRobot consiste à réaliser un robot se déplaçant au sol avec les caractéristiques suivantes :
– Possibilité de varier la vitesse du robot.
– Avoir une autonomie assez importante pour réaliser de longs trajets, ainsi que des tests d’efforts.
– Permettre la mesure de couple des moteurs.
– Le robot sera équipé d’une caméra.
– PiRobot évitera les obstacles.
– PiRobot sera contrôlable à distance via une manette Xbox 360 ou une tablette Android ou Microsoft.
– Le robot sera contrôlé par Wifi.
– Ce dernier devra avoir un temps de réponse raisonnable, qui ne dérange pas la fluidité du mouvement.

L’application distante de contrôle du robot aura les caractéristiques suivantes :
– Affichage de la vidéo du robot.
– Contrôle du robot.
– Possibilité d’afficher des courbes d’efforts (vitesse, couple…).
– Réaliser des rapports de suivi d’autonomie.
– Afficher les statistiques de l’appareil.

Plusieurs décisions devront être prises, comme par exemple, le choix de la structure, des moteurs, des convertisseurs… une première partie du projet consiste au choix hardware, c’est à dire aux différents composants à mettre en place. Ensuite viendra la partie sotfware, qui permettra le contrôle de l’appareil. La partie software se répartira en deux parties : coté serveur (Raspberry Pi) et coté client (tablette ou PC).

3. Conclusion

Ce projet est ambitieux, car il me permet de mettre en œuvre mes compétences acquises dans le domaine du Raspberry Pi et d’en apprendre plus sur les différents modules utilisables par le RPi. De plus, je serai amener à développer un serveur robotique sur Rasberry Pi (Python, C ou C++) ainsi qu’une interface client sur PC et tablette (C#, C++ ou Java Android…).

Les personnes qui ont lu cet article ont aussi lu :  [PiRobot] Partie 3 – Réalisation d'un serveur UDP sur notre Raspberry

Mon objectif est d’avoir une vision de ce qui est possible de faire en robotique avec un Raspberry Pi, et ce projet me semble idéal !

J’espère que vous aurez plaisir à suivre ce projet qui me tient à coeur. Cette série d’article sera entre coupée par d’autres articles et d’autres projets, plus petits. Le projet PiRobot est un projet conséquent et ambitieux que j’aimerai mener à terme avec succès.

PiRobot

Pin It on Pinterest

Shares
Share This