Back to top

Le robot


Le robot que j’utilise est imprimé en 3D, selon les modèles de OTVINTA.


Mouvements

Le robot utilisé pour ce projet


Vous pouvez accéder à l’ensemble des informations sur le hardware ici.




Communication avec le robot

Ce robot est géré grâce à une Pololu Maestro 12, et comme mentionné précédement, Pololu ne propose pas de JDK afin de communiquer avec cette carte.

Manipuler des servomoteurs en Kotlin n’est donc pas une tâche aisée, mais cela a pu être réalisé grâce à une librairie non-officielle.

Cette dernière permet de réaliser des opérations simples :

  • Placer un servomoteur à une certaine position, avec une vitesse et accélération donnée.
  • Demander la position d’un servomoteur.

Et c’est là l’essentiel pour développer un robot.




Architecture du driver

Le driver développé pour ce projet possède trois couches d’abstractions, chacune utilisant la couche précédente :

  1. Une couche manipule les servomoteurs.
  2. Une couche offre des services tels que « tourner une face ».
  3. Une couche offre les services utilisateurs, tels que « se mettre en position d’accueil », ou « appliquer une séquence ».

Le robot garde aussi l’orientation du cube en mémoire, parce qu’il faut faire pivoter le cube lorsque la face à tourner se trouve à l’avant ou à l’arrière.

(Le robot possède 4 bras et 4 mains, mais il y a 6 faces à tourner)