Le but du projet est de réaliser un InMoov plus petit pour gagner du poids , afin de le rendre autonome avec une plateforme équipée de moteurs DC.
Beaucoup de fichiers de Gael sont modifiés , afin d'installer des Servo-moteurs plus petits .
Les articulations sont équipées de roulements à billes pour simplifier le montage.
Pour réaliser ce projet vous devez imprimer les fichiers à l’échelle 0.64
L'avantage de la taille permet de merger beaucoup de fichiers STL de Gael . (cela permet de gagner du temps de montage et rend plus rigide le robot)
Le bassin est modifié pour utiliser des grands servo-moteurs .
La taille du Mini Inmoov une fois terminé est de 1 mètre 15 et sont poids de 6 kg
Divers éléments sont déplacés vue la place (type caméra , HP) , et certains supprimés comme les paupières .
L'avant Bras et la main seront remplacés par un système Pan/tilt et une autre main articulé .
La tête étant réduite , la caméra ne peux être fixée dans l’œil .
Je l'ai déporté sous le cou , avec un micro servo-moteur SG92 pour la motoriser (version V1 ).
Les fichiers STL sont dans le menu téléchargement .
La caméra utilisée est la LifeCam3000 Microsoft
Le micro sort sur le coté gauche de la caméra , il faudra dénuder la prise USB
Toute l'électronique rentre au dos du Mini InMoov (Bon c'est un peu juste).
Vous trouverez dans le menu téléchargement les supports pour les différentes cartes .
A gauche et à droite les Méga arduino , avec les Nervo Board de Gael .
en bas le bloc alimentation .
Au centre l'amplificateur , avec 2 Nano arduino , un pour la syncronisation de la bouche , l autre pour le néopixel .
Sur le bassin les deux servo-moteurs pour les hanches , et en dessous le Hub USB.
Le Pc sera fixé sur le dos ou au pied sur le socle motorisé.
Un pour le néopixel ring 16 leds et les leds RGB à clignotement lent pour les yeux, l' autre pour la synchronisation de la bouche .
Le câblage est réalisé sur une plaque d'essai à pastilles (en Epoxy).
Le servo-moteur ,les leds, le néopixel ring seront raccordés dessus .
Dans le montage des épaules , pour plus de fluidité, j'ai modifié les fichiers des épaules en ajoutant des roulements à bille .
Vous trouverez ses petits roulements sur le site www.123roulement.com
Ci joint les références .
MR126 taille 6x12x3 mm
61706-zz-zen taille 30x37x4 mm
. Le servo-moteur est également modifié avec le déport du potentiomètre. (attention utiliser un fer à souder a panne fine)
- Caméra déporté sous le coup.
Autre solution pour la caméra . Modification du crâne pour intégrer la caméra. Avantage plus besoin d 'un servo-moteur supplémentaire pour diriger la caméra . les fichiers sont dans la rubrique téléchargement . Sous le nom cranecamera.zip
- Modification du sternum pour installer un haut parleur .
- Création d un cache sexe entre les jambes . L'entre jambes est fixé avec un serre-câble sur le tube de support.
- Modification du support Néopixel pour installer une loupe et un Néopixel ring de 16 LEDs.
- Le Kinet n'ayant pas la place , création d'un cache à cet emplacement.
(A suivre ultérieurement pour installer des détecteurs)
Voici la main gauche avec le système pan/tilt pour le coude . (le holder du coude se trouve dans le fichier biceps.zip)
Cette main commandée sur Ali-express est livrée sans documentation .
Ci joint le fichier PDF trouvé sur internet (en anglais) .
voici la video du montage
Une fois terminé , j avais des ronflements dus aux servomoteurs dans l'amplification audio .
J' ai donc supprimé les nappes et remplacé les cartes de gael , par des cartes keyestudio Mega capteur bouclier carte d'extension pour Arduino Mega2560 en branchant directement les servomoteurs sur la carte bouclier .
J'ai alimenté l'amplificateur par une pile 9v indépendante avec un interrupteur .
Les servomoteurs des mains restent fragiles , je les ai donc protégés avec des fusibles . 2.5 A
fichiers stl (support arduino et support pile)
le fichier "demidoassemble.stl" est déjà réduit a l'échelle 0.64 . Il est possible de fusionner ce fichier avec le fichier "supporarduino2.stl " , pour rendre plus rigide votre petit InMoov .
Le But du montage est de motoriser notre robot avec des roues , pour qu'il puisse se déplacer .
Matériel nécessaire :
Ci - joint le schéma de câblage .
L alimentation du pont pourra accepter de 5v à 12 volts en fonction de vos moteurs bien sur .
les broches PWM utilisées pour les moteurs sont 5,6, 10,11.
les broches 3 et 4 pour le capteur ultrason.
Le câblage est réalisé sur une plaque d'essai à pastilles (en Epoxy), le pont H est fixé par 4 entretoises le tout enfiché sur la carte Arduino.
Le montage terminé , il nous reste à programmer tout cela dans MRL (myrobotlab) .
Il existe dans MRL un service nommé MotorDualPwm nous allons donc l'utiliser .
Pour le capteur nous avons le service UltasonicSensor . Il faudra aussi que notre mini InMoov nous obéisse à la voix . (exemple viens vers moi, marche,recule,tourne à droite,tourne à gauche).
Si il rencontre un obstacle il devra s'arrêter et demander de l'aide .
Le projet est complété d'un pilotage par un smartphone android ( j'ai ecris une mise à jour du logiciel InMoov Android .)
Lien pour télécharger l'application sur le store google
Page de l'application InMoov Version 2.5
Il nous faut donc :
Ci joint le fichier que j'ai appeler I_moteur.py pour suivre la philosophie des concepteurs InMoov.
Créer le fichier et déposer le dans le répertoire ...../InMoov/services (dans le fichier , modifier le port com , selon votre configuration).
(attention ne pas mettre d'accents dans les commentaires)
Ci joint le fichier exemple des mouvements de mon plateau. Vous pouvez bien sur l'adapter à vos besoins .
Comment cela marche ?
Dans la fonction def onRange(distance):
- on teste la valeur de l'ultrason , si inferieur ou égale à 20 cm on arrête les moteurs .
Dans la fonction avance() :
- motor1.move(0.5) fais avancer le moteur 1 a 50 % de sa vitesse (valeur 1 = 100%)
- motor2.move(-0.2) fais reculer le moteur 2 a 20 % de sa vitesse (valeur 1 = 100%) etc ....
- La commandes sr04.startRanging démarre le scan de l'ultrason
Dans la fonction recule() :
- motor1.move(-1) fait tourner le moteur en sens inverse .
Dans fonction stop() :
- moteur1.stop() arrête le moteur 1.
- La commande sr04.stopRanging() , arrête le scan de l'ultrason SR04.
Dans la fonction tourneD() :
- On fait tourner une roue dans un sens et l'autre dans l'autre sens .
Dans la fonction tourneG():
- Idem que la fonction tourneD.
Vous pouvez bien sur modifier ses fonctions à votre guise .
Nota : dans l'application android les noms des fonctions appelées sont non modifiable dans le programme . Il vous faudra les conserver si vous voulez utiliser le joystick de l'application .
Une fois votre programme Python construit , copiez le dans le répertoire ; .../inMoov/custom
Ci joint le fichier AIML , une fois construit , copiez le dans le répertoire ...../InMoov/chatbot/bots/fr/aiml/ votre fichier aiml
Voila votre InMoov n'est plus statique , effectivement il est sur des roues pour le faire marcher avec ses deux jambes , c 'est une autre HISTOIRE ...........
à suivre.