Les codes que nous avons écrit pour mener ce projet à bien sont open-source, et sous licence GNU. Libre à vous de les étudier ou même d'y contribuer. Toutes les informations à ce sujet sont sur Github : pour le projet Câble-Robot, et pour le projet de machine learning.
Pour la maquette à l’échelle 1/5, nous avons codé les trajectoires pour pouvoir réaliser n’importe quel mouvement commandé par l’utilisateur. A l’échelle 1, c’est bien le mouvement du soleil qui nous intéresse. Il faut donc répondre à deux contraintes :
Ceci est une première étape du calcul. Une fois trouvé la hauteur du soleil maximale dans le ciel en fonction du jour et de la latitude, on pourra donc connaitre parfaitement la trajectoire.
Le mouvement de la maquette est difficile à prévoir. Il faut comprendre comment les moteurs seront asservis et comment s’assurer que les câbles restent tendus sans pour autant avoir des tensions trop importantes qui provoqueront une rupture de la maquette ou des câbles.
Pour cela, nous avons émis un certain nombre d’hypothèses sur la manière dont réagiraient les moteurs en fonction d’un asservissement. Nous avions envisagé de piloter certains moteurs en couple et d’autres en déplacement (ce qui aurait imposé de pouvoir changer d’asservissement à chaque changement de mouvement). Nous nous sommes rendus compte que tous les MCC pouvaient être commandés en déplacement et qu’en rajoutant un correcteur proportionnel on pouvait maintenir une tension qui ne serait pas croissante dans les câbles (il ne faut pas mettre de correcteur intégral sinon les couples divergent). Pour vérifier cette hypothèse, nous avons simulé avec MATLAB la situation en 1D en introduisant une erreur pour vérifier nos hypothèses.
Suite à ce dimensionnement, on se rend compte que notre hypothèse fonctionne à condition que les correcteurs soient bien réglés, sans quoi les couples et longueurs divergent. Il faudra donc réussir à étendre ce modèle pour le cas 3D.
Il y bien une différence de 0.5Nm entre les deux couples (liée au couple extérieur) et un couple constant non nul pour les deux moteurs en régime permanent.
Pour une consigne de 1.5m, avec les correcteurs choisis, on obtient une sortie de 1.38m en haut et en bas.
Cette section est destinée à faciliter le montage de la maquette pour un étudiant ou un client n'ayant pas participé à sa conception. Les instructions sont accompagnées de schémas pour leur bonne compréhension.
Pour monter la structure principale, se munir des profilés et des raccords en cube et en T.
3. Fixer les berceaux avec une vis et une rondelle, avec l’écrou disposé dans le profilé.
4. Se munir des moteurs et des tambours imprimés : enfoncer les tambours sur les axes moteurs jusqu’à la butée.
5. Utiliser les vis fournies avec les moteurs pour les fixer sur les berceaux : insérer les vis dans les trous des berceaux prévus à cet effet, vers l’extérieur, et y visser le moteur en insérant le tambour dans le berceau. Bien faire attention à ce que le plan dont sort l’axe moteur soit bien plaqué contre le berceau : il n’est pas parfaitement circulaire et la forme de l’ouverture du berceau est complémentaire.
1. Visser les porte-cartes au centre des profilés qui portent deux groupes moteurs. Assembler la carte Kangaroo sur la carte Sabertooth.
2. Brancher les rallonges de câbles sur la sortie encodeur des moteurs. Relier à la carte Kangaroo comme indiqué sur le schéma. Répéter l’opération pour les 8 moteurs.
3. Pour l’alimentation : brancher les moteurs sur la carte Sabertooth (voir schéma à droite) et respecter la configuration suivante, qui permet de n’utiliser qu’une seule alimentation.
Un certain nombre de vidéos ont été filmées pendant la conception du code source de l'algorithme d'intelligence artificielle. Même si elles ne sont plus forcément en phase avec l'implémentation, elles permettent sans doute de comprendre le principe de l'outil et certaines subtilités de son implémentation.
Toutes les vidéos de travail sont disponible publiquement sous la licence "Creative Commons" sur YouTube.