Table des matières:

Table de baby-foot autonome : 5 étapes (avec photos)
Table de baby-foot autonome : 5 étapes (avec photos)

Vidéo: Table de baby-foot autonome : 5 étapes (avec photos)

Vidéo: Table de baby-foot autonome : 5 étapes (avec photos)
Vidéo: Elle Était Coincée Donc Ce Policier L'aide 2024, Juillet
Anonim
Table de baby-foot autonome
Table de baby-foot autonome
Table de baby-foot autonome
Table de baby-foot autonome
Table de baby-foot autonome
Table de baby-foot autonome

L'objectif principal du projet était de terminer un prototype fonctionnel pour une table de baby-foot autonome (AFT), où un joueur humain fait face à un adversaire robotique. Du point de vue humain du jeu, la table de baby-foot est très similaire à une table ordinaire. Le ou les joueurs du côté humain sont contrôlés via une série de quatre poignées qui peuvent être déplacées vers l'intérieur et l'extérieur et tournées pour déplacer les joueurs linéairement sur le terrain de jeu et pour envoyer le ballon vers le but de l'adversaire. Le côté autonome se compose de:> Huit servomoteurs utilisés pour manipuler les poignées du baby-foot> Un microcontrôleur pour activer les servomoteurs et communiquer avec l'ordinateur> Une webcam en plafonnier pour suivre le ballon et les joueurs> Un ordinateur pour traiter les images de la webcam, la mise en œuvre de l'intelligence artificielle et la communication avec le microcontrôleur Les contraintes budgétaires du prototype ont quelque peu ralenti le projet et réduit ses fonctionnalités au minimum. Les moteurs appropriés pour déplacer les joueurs à une vitesse compétitive se sont avérés très coûteux, il a donc fallu utiliser des servos bas de gamme. Bien que cette mise en œuvre particulière soit limitée par le coût et le temps, un rapport de démultiplication plus élevé donnerait un robot de jeu plus rapide, bien que cela coûterait plus que le prix de base de 500 $ (prix sans alimentation ni ordinateur).

Étape 1: Assemblage de la carte de commande du moteur

Assemblage de la carte de commande du moteur
Assemblage de la carte de commande du moteur
Assemblage de la carte de commande du moteur
Assemblage de la carte de commande du moteur
Assemblage de la carte de commande du moteur
Assemblage de la carte de commande du moteur
Assemblage de la carte de commande du moteur
Assemblage de la carte de commande du moteur

Les images ci-jointes sont un schéma de circuit complet ainsi qu'une image du produit final pour la carte de commande du moteur. Toutes ces pièces requises peuvent être achetées dans la plupart des grands magasins d'électronique en ligne (y compris Digi-Key et Mouser. En remarque, toutes les pièces utilisées ici étaient des trous traversants et, par conséquent, les pièces peuvent être assemblées sur une protoboard/planche à pain, ou en utilisant la conception de PCB ci-joint. Un boîtier beaucoup plus petit pourrait être créé en utilisant un certain nombre de pièces de montage en surface. Lorsque nous avons mis en œuvre la conception, nous avons divisé les commandes du moteur en 2 circuits, bien qu'il n'y ait aucun avantage à le faire autre que tout schéma de câblage particulier utilisé. La petite carte bleue implémente le circuit de contrôle PWM, qui est fondamentalement juste un PIC-12F cadencé avec un code spécialisé.

Étape 2: Assemblage du servomoteur

Assemblage de servomoteur
Assemblage de servomoteur
Assemblage de servomoteur
Assemblage de servomoteur
Assemblage de servomoteur
Assemblage de servomoteur

Deux types de servos différents sont utilisés. Tout d'abord, le mouvement latéral est contrôlé par un groupe de quatre servos à couple élevé: Robotis Dynamixel Tribotix AX-12. Ces quatre fonctionnent sur une seule ligne série et offrent des fonctionnalités étonnantes. Le couple élevé permet à ces servos d'être adaptés de manière à fournir une vitesse tangentielle élevée pour le mouvement latéral. Nous avons pu trouver un ensemble d'engrenages et de chenilles de 3,5 pouces pour les accompagner chez Grainger à un coût d'environ 10 $ chacun. Les servos offrent une protection contre les surcharges de couple, un schéma d'adressage des servos individuel, des communications rapides, une surveillance de la température interne, des communications bidirectionnelles, etc. L'inconvénient de ces servos est qu'ils sont chers et pas très rapides (bien que l'engrenage les aide). Ainsi, afin d'obtenir un mouvement plus rapide pour les coups de pied, des Hitec HS-81 sont utilisés. Les HS-81 sont relativement bon marché, ont une vitesse angulaire assez rapide et sont faciles à interfacer (PWM standard). Cependant, les HS-81 ne pivotent que de 90 degrés (bien qu'il soit possible - et non recommandé - d'essayer de les modifier à 180 degrés). De plus, ils ont des engrenages internes en nylon qui se dénudent facilement si vous essayez de modifier le servo. Cela vaudrait la peine de trouver un servomoteur rotatif à 180 degrés qui a ce type de vitesse angulaire. L'ensemble du système est lié avec des morceaux de panneaux de fibres à densité moyenne (MDF) et de panneaux de fibres à haute densité (HDF). Cela a été choisi pour son faible coût (~ 5 $ pour une feuille de 6'x4'), sa facilité de coupe et sa capacité à s'interfacer avec pratiquement n'importe quelle surface. Une solution plus permanente serait d'usiner des supports en aluminium pour maintenir le tout ensemble. Les vis qui maintiennent les servos PWM en place sont des vis à métaux standard (n° 10) avec des écrous hexagonaux qui les maintiennent de l'autre côté. Des vis à métaux métriques de 1 mm, d'environ 3/4 de longueur, maintiennent l'AX-12 dans le MDF qui relie les deux servos ensemble. Un rail de tiroir à double action maintient l'ensemble vers le bas et aligné avec le rail.

Étape 3: Logiciel

Logiciel
Logiciel

La dernière étape consiste à installer tous les logiciels utilisés sur la machine. Celui-ci se compose de quelques morceaux de code individuels:> Le code exécuté sur le PC de traitement d'image> Le code exécuté sur le microcontrôleur PIC-18F> Le code exécuté sur chacun des microcontrôleurs PIC-12F Il y a deux prérequis à installer sur le traitement d'image PC. Le traitement des images est effectué via Java Media Framework (JMF), disponible via Sun ici. Également disponible via Sun, l'API Java Communications est utilisée pour communiquer avec la carte de commande du moteur, via le port série de l'ordinateur. La beauté de l'utilisation de Java est qu'il *devrait* fonctionner sur n'importe quel système d'exploitation, bien que nous ayons utilisé Ubuntu, une distribution Linux. Contrairement à l'opinion populaire, la vitesse de traitement en Java n'est pas trop mauvaise, surtout en boucle de base (que l'analyse de la vision utilise beaucoup). Comme le montre la capture d'écran, la balle et les joueurs adverses sont suivis à chaque mise à jour d'image. De plus, le contour de la table est situé visuellement, c'est pourquoi du ruban de peintre bleu a été utilisé pour créer un contour visuel. Les buts sont enregistrés lorsque l'ordinateur ne peut pas localiser le ballon pendant 10 images consécutives, indiquant généralement que le ballon est tombé dans le but, hors de la surface de jeu. Lorsque cela se produit, le logiciel lance un octet sonore pour se féliciter ou huer l'adversaire, selon la direction du but. Un meilleur système, bien que nous n'ayons pas eu le temps de le mettre en œuvre, serait d'utiliser une simple paire émetteur/capteur infrarouge pour détecter le ballon tombant dans le but. Tous les logiciels utilisés dans ce projet sont disponibles dans un seul fichier zip, ici. Pour compiler le code Java, utilisez la commande javac. Le code PIC-18F et PIC-12F est distribué avec le logiciel MPLAB de Microchip.

Étape 4: Montage de la webcam

Support de webcam
Support de webcam

Une webcam Philips SPC-900NC a été utilisée, bien que cela ne soit pas recommandé. Les spécifications de cet appareil photo ont été falsifiées par le personnel technique ou commercial de Philips. Au lieu de cela, n'importe quelle webcam bon marché ferait l'affaire, tant qu'elle est prise en charge par le système d'exploitation. Pour plus d'informations concernant l'utilisation des webcams sous linux, consultez cette page. Nous avons mesuré la distance requise par la focale de la webcam pour faire tenir l'ensemble du baby-foot dans le cadre. Pour ce modèle d'appareil photo, ce nombre s'est avéré être d'un peu plus de 5 pieds. Nous avons utilisé des étagères disponibles dans toutes les grandes quincailleries pour construire un support pour la caméra. Les étagères s'étendent vers le haut à partir de chacun des quatre coins de la table et sont entretoisées par des supports en aluminium inclinés. Il est très important que la caméra soit centrée et n'ait pas de rotation angulaire, car le logiciel suppose que les axes x et y sont alignés sur la table.

Étape 5: Conclusion

Tous les fichiers du projet associés peuvent être téléchargés sur ce site. Une sauvegarde de la majorité du contenu du site peut être trouvée ici, chez mon hébergeur personnel. Cela inclut le rapport final, qui contient une analyse marketing ainsi que les choses que nous changerions, nos objectifs initiaux et une liste des spécifications réellement atteintes. Le projet n'est PAS censé être l'acteur le plus compétitif au monde. C'est un bon outil pour montrer plus d'étapes utilisées dans la conception d'une telle bête ainsi qu'un prototype décent de ce type de robot construit pour un coût incroyablement bas. Il existe d'autres robots de ce type dans le monde, et certainement, beaucoup d'entre eux "battraient" ce robot. Ce projet a été conçu par un groupe de quatre ingénieurs électriciens/informaticiens de Georgia Tech en tant que projet de conception senior. Aucune aide n'a été reçue par des ingénieurs en mécanique et aucun financement de tiers n'a été utilisé. Ce fut un excellent processus d'apprentissage pour nous tous et une utilisation décente du temps de cours de conception senior. Je tiens à remercier> Dr. James Hamblen, notre conseiller de section, pour son aide continue dans les stratégies techniques> Dr. Jennifer Michaels, le professeur principal, pour ne pas nous avoir découragés de tenter un projet plus ambitieux > James Steinberg et Edgar Jones, les administrateurs principaux du laboratoire de conception, pour leur aide constante dans la commande de pièces, le dépannage et la recherche des « trucs sympas » à mettre dans le projet à faible coût et haute fonctionnalité> Et bien sûr, les trois autres membres de mon équipe, dont rien de tout cela n'aurait été possible: Michael Aeberhard, Evan Tarr et Nardis Walker.

Conseillé: