Présentation générale du robot
R.Ian est un robot conçu pour permettre l’apprentissage de la programmation. Il à pour objectif d’être facile à construire et assembler, tout en étant extensible. Le nom du robot est un hommage à Ian Murdock, le fondateur de la distribution Linux Debian décédé en fin 2015. Cette distribution a une importance cruciale pour Linux en général, pour le logiciel libre, et pour l’informatique dans son ensemble.
Objectifs de design
Pour ce robot, nous plaçons diverses contraintes et objectifs. Il ne s’agit pas de faire le robot le plus évolué du monde, mais de faire un robot simple, performant et économique. On cherchera donc à remplir les objectifs suivants :
- le tout doit être économique (sans que ce soit au détriment de la qualité/fiabilité);
- le robot doit être solide pour résister à un usage en milieu scolaire;
- il doit être facile à fabriquer avec les bons outils (une imprimante 3D et un fer à souder);
- il doit être simple à assembler, démonter et réparer;
- on doit pouvoir le faire évoluer simplement, remplacer certaines parties, modifier des options;
- il doit être simple à programmer pour les algorithmes simples;
- il doit également permettre d’aller plus loin avec des algorithmes plus complexes.
Conception générale
le châssis
La conception du châssis est abordée plus en détails dans ce billet.
Pour atteindre ces objectifs, certains choix de design ont été effectués. Ainsi, j’ai favorisé l’utilisation de l’imprimante 3D au maximum. Certes, ce n’est pas un outil que tout le monde possède, mais de plus en plus de fablabs, hackerspaces ou même établissements scolaires en disposent. La plupart des utilisateurs peuvent accéder à une telle machine non loin de chez eux. Le choix de l’impression 3D se justifie principalement pour le fait que cela nous permettra de designer des pièces complexes qui permettront de simplifier l’assemblage. J’ai donc passé beaucoup de temps sur la “planche à dessins”, afin de penser à divers éléments qui permettront de rendre simple l’assemblage, la réparation ou la modification du robot. En pratique, cela m’a permis de concevoir un chassis fait d’une seule pièce, comme on peut le voir ci dessous.
De nombreux trous sont présents, même si tous ne sont pas utilisés pour le moment. Cette version du châssis est pensée pour utiliser des servomoteurs à rotation continue, et une batterie lipo de type 18650 et une roulette sur un pivot. Le châssis est prévu pour que tous ces éléments puissent se fixer facilement dessus. Des emplacements sont prévus pour fixer des capteurs, et d’autres pour des extensions.
Ce châssis s’imprime en moins de deux heures en PLA, mais peut également être imprimé en nylon ou en ABS. Dans le cas du PLA, il m’a fallu un peu moins de 11 mètres de filament, soit 32 grammes (environ 97 centimes pour un PLA à 30€/kg). Le tout est pensé pour une impression facile, sans support ou technique avancée. Voici le lien direct vers le châssis prêt à l’impression, en stl.
La photo de droite illustre l’aspect du châssis imprimé en PLA gris sur ma Printrbot simple metal. Le code openscad du châssis est disponible sous licence GPL 3 en téléchargement sur ce lien.
L’électronique du robot
Ici, c’est simple : on s’appuie sur Arduino. Des bibliothèques et des exemples de codes innombrables sont disponibles, et la programmation par USB permet de travailler simplement sur à peu près n’importe quel ordinateur. De plus, les Arduino sont en OpenHardware, ce qui permet de poursuivre la logique ouverte du projet. On trouve en outre des clones chinois du Arduino Nano, offrant les mêmes fonctionnalités (voir mon test d’un de ces clones de l’Arduino Nano acheté sur Aliexpress), pour un coût d’environ 2€. Pour simplifier le tout, j’utilise des servomoteurs à rotation continue pour déplacer le robot, donc pas besoin de contrôleurs de moteurs. Il nous faut juste ajouter un régulateur 5V step up pour alimenter le tout depuis la batterie lithium de 3.7V utilisée, et nous sommes parés. De même, pour les interrupteurs, contacteurs, etc, on utilisera les résistances pull-up internes de l’Arduino pour simplifier l’ensemble (pas de résistances externes à souder). On ajoutera un petit circuit de charge de la batterie pour pouvoir recharger le robot par USB.
Motorisation et déplacement
Les aspects de la motorisation et des roues sont abordés plus en détail dans ce billet dédié au sujet.
Pour des raisons de simplicité, la motorisation se fait via des servomoteurs à rotation continue (bien qu’une version à moteurs DC soit prévue). Pour l’instant, il s’agit de moteurs fitec FS90R, vendus pour environ 5€ pièce chez pololu. Il s’agit de servos “9g”, assez compacts et basiques. Il faut pour aller avec ces moteurs des roues, également vendues chez pololu.
Toutefois ici, j’ai conçu des roues à imprimer en PLA, Nylon, ABS, ou un autre matériau suffisamment rigide. Il en faut deux, une pour chaque moteur. Ce modèle précis prend environ 25 minutes à imprimer, pour 2.54m de filament (8g, 23 centimes). Cette roue reçoit ensuite la fixation du servomoteur et se visse alors sur ce dernier.
Toutefois en l’état cela ne suffit pas, car ce plastique glisserait sur la plupart des surfaces. On imprimera de fait un pneu pour chaque roue en matériau souple, comme le ninjaflex ou le semiflex. On trouvera le fichier stl de la roue en suivant ce lien, et le fichier stl du pneu en suivant cet autre lien(il existe aussi un autre fichier stl pour un pneu lisse sur le github, mais il n’a pas été testé).
L’impression en ninjaflex prend environ une demi-heure par pneu, pour environ 40 centimes l’unité.
L’ensemble une fois assemblé donne ceci :
On ajoute alors la roulette sur pivot, achetée en magasin de bricolage, et nous avons les trois roues du robot.
Le robot assemblé
Une fois assemblé le robot ressemble à ceci :
Lorsque l’on rajoute l’électronique, le servomoteur avant et un capteur de distance, on obtient ce résultat :
Par la suite, on rajoutera un capot pour protéger l’électronique, les capteurs, etc. En l’état toutefois, le robot est fonctionnel et peut être utilisé (il l’a d’ailleurs été par des élèves de première S).
[…] R.Ian est un robot simple à fabriquer, extensible et économique. C’est en tous cas l’objectif dans la conception de ce robot. Comment s’assurer de tout cela? Je vais vous présenter dans ce billet mes solutions pour répondre à ces problèmes. […]
[…] comme pour R.Ian, un autre robot fabriqué à l’imprimante 3D, le châssis de R.Hasika a été conçu de […]
Je trouve sa cool !!!
hiz5r9
zx8naq
eclgwh
9d4c7n
1p7jsx
btm0tw
9mptww