[R-Pi] RPi-kee – Partie 1 :Généralité et Mécanique

by Matthieu

J’avais déjà commencé à en parler un peu à droite à gauche, évoquer deux ou trois idées de réalisation, mais voilà, je me suis lancé, j’ai quelque chose qui commence à être montrable, et donc je le montre. L’article faisait une 10 pages, je me permettrais de le publier en 3 fois.

RPi-kee

Un peu d’histoire d’abord, pourquoi RPi-kee ? Il y a bien longtemps, quand j’étais étudiant, j’avais fait mon projet de fin d’étude sur le thème « IHM Innovantes, télé opération d’un robot via un terminal sans-fil ». J’en ai déjà parlé 50 fois ici et , mais pour les retardataires, un bref résumé s’impose.

Le Pekee

Nous sommes en 2006, je viens d’avoir une Nintendo DS Lite, et je souhaite faire un peu plus de chose que poutrer des Aliens dans Metroid et cueillir des noix de coco dans Animal Crossing. Je découvre alors le monde fabuleux des linkers Slot 2 avec leur carte Compact Flash qui déborde de la console, et surtout le développement d’application Homebrews. C’est de là que me vient l’idée d’utiliser la console pour un projet de fin d’étude, et je découvre alors que le département Système Embarqué de mon école dispose d’un « petit » robot, le Pekee. C’est un machin en forme d’aspirateur qui, au moment où je le découvre, possède le fonctionnement suivant : le robot se connecte à un point d’accès wifi, on connecte un PC sous Linux au même réseau et on le pilote avec un petit programme en C++. Je vous passe tout le développement, mais au final on termine avec une DS qui possède six interfaces différentes (boutons physiques, boutons virtuels, cercle de contrôle, accéléromètre, reconnaissance de dessins et reconnaissance vocal low cost) qui dialogue avec le PC, qui transfère les ordres au robot. Ça marche plutôt pas mal, et ça plait, si j’en crois les 270k vues sous YouTube. Pas mal pour l’époque, surtout que toutes les interfaces qu’on propose sont arrivés avant le monde des smartphones (et oui, début 2007, point d’IPhone, si si, rappelez-vous).

Au final si la partie IHM de contrôle est réalisée, toute la partie robot est déjà existante, et surtout, pas à moi. A 6000€ le bestiau, hors de question d’investir mes deniers. A l’époque, je m’étais dit qu’un jour, je ferais le robot qui va avec. Sans trop savoir comment.

Raspberry Time !

Premier montage avec une sonde de température

Après mes études, j’ai continué dans les systèmes embarqués professionnellement parlant. J’ai donc appris plein de chose, découvert des processeurs divers, mais au final ils nécessitent la plupart du temps une carte électronique faite pour et je n’ai pas les moyens ni l’envie de partir dans la réalisation de carte, et pas envie de mettre des sous dans des cartes d’évaluation aux possibilités limitées par des IDE bloqués par des licences hors de prix.

C’est alors que vint le Saint Graal de l’électronique domestique, le Raspberry Pi. Plus versatile et moins complexe à mettre en route que les Arduino, plus puissant, prêt à l’emploi, pas cher, bref, pile poil ce qu’il me fallait. Le nom du projet est donc un mélange de Pekee et Raspberry Pi.

RPi-kee, le cahier des charges

La base que je désirais pour RPi-kee, c’était de faire au moins ce que je faisais faire au Pekee, c’est à dire :

  • Avancer
  • Reculer
  • Tourner
  • Etre compatible d’un point de vue communication avec le « protocole » qu’on utilisait entre la DS et le PC sous linux.

Le truc est un robot mobile, donc tant qu’à faire :

  • Fonctionner sur batterie
  • Etre connecter au réseau en Wi-Fi

Au fur et à mesure que je cherchais comment faire ça, j’ai également découvert pas mal de chose sur le Raspberry Pi, et connaissant ses possibilités, j’ai donc décidé de rajouter quelques fioritures comme :

  • La possibilité de suivre une ligne au sol
  • Détecter les obstacles à proximité
  • Se balader de façon autonome (même si aléatoire)
  • Lancer des frappes nucléaires sur les Etats-Unis
  • Monitorer certaines grandeurs physiques propres (tension d’alimentation, température)
    Fonctionner dans le noir

Organisation du projet

Bien évidemment, c’est un projet personnel qui s’étend sur plusieurs domaines de compétences, que je maitrise plus ou moins. Les trois grands axes sont :

  • Réalisation mécanique : qui dit robot mobile dit structure, roue, moteur, etc.
  • Réalisation électronique : un Raspberry Pi c’est cool, mais seul, il n’est qu’un micro PC. Il faut donc lui trouver les composants qui réalisent les fonctions du cahier des charges, et qui soit facilement intégrables dans la troisième partie …
  • Réalisation informatique : de là où j’en suis, c’est la partie la plus conséquente. Avoir des capteurs, des actionneurs et des idées pour en faire quelques choses, c’est bien. Mais coordonnées tout ce petit monde, c’est une autre paire de manche. En revanche contrairement aux deux axes précédents, c’est mon boulot, donc j’y suis nettement plus à l’aise.

Mécanique

Des robots mobiles (je précise mobile, car je ne parle pas de ce qui font la cuisine, ou de la soudure sur poste), il en existe des tas de type. Avec des roues, des chenilles, des bipèdes, quadrupèdes, hexa ou octo, mixte roues/bras, des nageoires, des hélices et j’en passe. Moi je veux un truc simple à réaliser, et je choisis donc le type « char ». Non, pas comme un caractère en C/C++/C#/Java, mais comme le Pekee, deux roues qui permettent d’avancer, de reculer et de tourner en fonction du sens de rotation. Pour tourner on fera donc tourner une roue dans un sens, et l’autre dans le sens opposé. Ca a pas mal d’avantage, comme le faite de pouvoir faire demi-tour très facilement, et d’être facile à réaliser. Prenez une voiture par exemple, deux roues qui avancent/reculent, une/deux roues qui permettent la direction. Si les roues motrices sont simples, mécaniquement la direction est très chiante à réaliser.

La homemade roue folle

Évidemment, pour une question d’équilibre, il faut au moins trois points d’appui, et j’ai choisis une roue folle (mettez en deux, ça fait un caddie de supermarché). A l’heure où j’écris, j’ai réalisé moi-même la roue folle, mais j’ai également acheté une roue à bille. Il faudra que je teste et compare les deux.

Ensuite vient la structure. Son but, pouvoir attaché les différents composants (moteurs, Raspberry Pi, montage électronique) de façon stable et solide. N’ayant pas envie d’être contraint par une structure toute faite achetée dans le commerce, j’ai décidé de la fabriqué moi-même. De plus, j’ai fabriqué l’ensemble de façon à pouvoir désolidariser facilement les composants de la structure. Ainsi, le Raspberry Pi, la plaquette de prototypage (breadboard), la batterie et la caméra se démonte facilement. C’est surtout pour des raisons de modularité. Faire des tests de déplacement sans la batterie est plus facile, car je gagne 300g sur la balance.

Ah, j’oubliais : parce que je n’ai pas d’imprimante 3D, et parce que c’est très pratique, l’ensemble de la structure est faite avec … des Meccanos. Parce que ça donne une côté « Short Circuit », et parce que j’ai beau avoir passé fraichement la trentaine, faire des Meccanos le dimanche, c’est super cool. Et surtout, c’est parfaitement adapter à un proto. Bien sûr, je n’ai pas de modèle, j’ai donc tout construit, déconstruit et reconstruit pas mal de truc. Au final j’ai atteint mon but, avoir une structure permettant le montage et démontage rapide des composants. En revanche, le hic, c’est que c’est assez lourd. Je pourrais me tourner vers les Lego (Technics), mais je crains pour la solidité de l’ensemble. La vie est une question de compromis…

Première version du chassis

V2 du chassis

V2 du chassis, vu arrière, sans électronique de contrôle

Avec l'électronique, la batterie, bref, quasi full option

La suite dans quelques jours …


Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

Theme by Ali Han | Copyright 2024 Embarquement ! | Powered by WordPress