Table des matières:

Fauteuil roulant contrôlé par vision par ordinateur avec mannequin : 6 étapes (avec photos)
Fauteuil roulant contrôlé par vision par ordinateur avec mannequin : 6 étapes (avec photos)

Vidéo: Fauteuil roulant contrôlé par vision par ordinateur avec mannequin : 6 étapes (avec photos)

Vidéo: Fauteuil roulant contrôlé par vision par ordinateur avec mannequin : 6 étapes (avec photos)
Vidéo: Ce Policier Piège Les Voleurs ! 2024, Juin
Anonim
Image
Image
Fauteuil roulant contrôlé par vision par ordinateur avec mannequin
Fauteuil roulant contrôlé par vision par ordinateur avec mannequin
Fauteuil roulant contrôlé par vision par ordinateur avec mannequin
Fauteuil roulant contrôlé par vision par ordinateur avec mannequin

Projet de AJ Sapala, Fanyun Peng, Kuldeep Gohel, Ray LC. Instructable par AJ Sapala, Fanyun Peng, Ray LC.

Nous avons créé un fauteuil roulant avec des roues contrôlées par une carte Arduino, elle-même contrôlée par un Raspberry Pi exécutant openCV via Processing. Lorsque nous détectons des visages dans openCV, nous déplaçons les moteurs vers lui, en tournant le fauteuil roulant pour qu'il fasse face à la personne, et le mannequin (à travers sa bouche) prendra une photo très effrayante et la partagera avec le monde. C'est le mal.

Étape 1: Conception, prototype et schémas du fauteuil roulant

Conception, prototype et schémas du fauteuil roulant
Conception, prototype et schémas du fauteuil roulant
Conception, prototype et schémas du fauteuil roulant
Conception, prototype et schémas du fauteuil roulant
Conception, prototype et schémas du fauteuil roulant
Conception, prototype et schémas du fauteuil roulant
Conception, prototype et schémas du fauteuil roulant
Conception, prototype et schémas du fauteuil roulant

Le concept initial était basé sur l'idée qu'une pièce mobile serait capable d'espionner des camarades de classe sans méfiance et de prendre des photos laides d'eux. Nous voulions pouvoir effrayer les gens en nous dirigeant vers eux, même si nous n'avions pas prévu que les problèmes mécaniques du moteur seraient si difficiles. Nous avons envisagé des caractéristiques qui rendraient la pièce aussi attrayante (d'une manière maléfique) que possible et avons décidé de mettre en œuvre un mannequin sur un fauteuil roulant qui peut se déplacer vers des personnes utilisant la vision par ordinateur. Un prototype du résultat a été réalisé par AJ à partir de bois et de papier, tandis que Ray et Rebecca ont fait fonctionner OpenCV sur un Raspberry Pi, s'assurant que les visages peuvent être détectés de manière fiable.

Étape 2: Matériaux et configuration

Matériaux et configuration
Matériaux et configuration
Matériaux et configuration
Matériaux et configuration
Matériaux et configuration
Matériaux et configuration

1x fauteuil roulant (https://www.amazon.com/Medline-Lightweight-Transpo…

2x moteurs de scooter

2x cartes moteur Cytron

1x arduino UNO R3 (https://www.amazon.com/Arduino-Uno-R3-Microcontrol…

1x framboise pi 3 (https://www.amazon.com/Raspberry-Pi-RASPBERRYPI3-M…

1x caméra raspberry pi v2 (https://www.amazon.com/Raspberry-Pi-Camera-Module-…

1x batterie rechargeable 12v

contre-plaqué

supports en L

revêtement de sol en caoutchouc

Étape 3: Fabrication de la fixation du moteur au fauteuil roulant et de la tête de mannequin

Fabrication du moteur au fauteuil roulant et de la tête de mannequin
Fabrication du moteur au fauteuil roulant et de la tête de mannequin
Fabrication de l'attache du moteur au fauteuil roulant et de la tête de mannequin
Fabrication de l'attache du moteur au fauteuil roulant et de la tête de mannequin
Fabrication de l'attache du moteur au fauteuil roulant et de la tête de mannequin
Fabrication de l'attache du moteur au fauteuil roulant et de la tête de mannequin
Fabrication du moteur au fauteuil roulant et de la tête de mannequin
Fabrication du moteur au fauteuil roulant et de la tête de mannequin

AJ a fabriqué un appareil qui fixe les moteurs du scooter (2) au bas du fauteuil roulant et a fixé le support d'inclinaison à une courroie de distribution en caoutchouc sur mesure. Chaque moteur est installé séparément et est fixé à une roue correspondante. Deux roues, deux moteurs. Les moteurs sont ensuite alimentés en courant et en terre via deux cartes moteur Cytron vers Arduino (1) vers Raspberry Pi (1), tous les éléments sont alimentés par une batterie rechargeable de 12 volts (1). Les appareils à moteur ont été créés à l'aide de contreplaqué, de supports en L, de supports carrés et de fixations en bois. En créant un renfort en bois autour du moteur lui-même, l'installation du moteur en place sur le bas du fauteuil roulant était beaucoup plus facile et pouvait être déplacée pour serrer la courroie de distribution. Les appareils à moteur ont été installés en perçant le cadre métallique du fauteuil roulant et en boulonnant le bois au cadre avec des supports en L.

Les courroies de distribution étaient fabriquées à partir de revêtements de sol en caoutchouc. Le revêtement de sol en caoutchouc avait déjà un pas de taille similaire à celui du support de rotation des moteurs. Chaque pièce a été coupée à la largeur qui fonctionne avec le support de rotation des moteurs. Chaque morceau de caoutchouc coupé a été fusionné pour créer une "ceinture" en ponçant une extrémité et l'autre extrémité et en appliquant une petite quantité de colle Barge pour se connecter. La barge est très dangereuse, et vous devez porter un masque lors de son utilisation, utilisez également une ventilation. J'ai créé plusieurs variétés de tailles de courroie de distribution: super serré, serré, modéré. La courroie devait alors être reliée à la roue. La roue elle-même a une petite surface sur la base pour accompagner une ceinture. Ce petit espace a été augmenté avec un cylindre en carton avec du caoutchouc de courroie de distribution collé à chaud à sa surface. De cette façon, la courroie de distribution pourrait saisir la roue pour l'aider à tourner en synchronisation avec le moteur du scooter en rotation.

AJ a également créé une tête factice qui intègre le module de caméra de Raspberry Pi. Ray a utilisé la tête factice et a installé la caméra Pi et la carte dans la région buccale du mannequin. Des fentes ont été créées pour les interfaces USB et HDMI, et une tige en bois est utilisée pour stabiliser la caméra. La caméra est montée sur une pièce imprimée en 3D personnalisée qui a une fixation pour vis 1/4-20. Le fichier est joint (adopté pour l'ajustement par Ray de thingaverse). AJ a créé la tête en utilisant du carton, du ruban adhésif et une perruque blonde avec des marqueurs. Tous les éléments sont encore au stade de prototype. La tête factice a été fixée au corps d'un mannequin féminin et placée dans le siège du fauteuil roulant. La tête était attachée au mannequin à l'aide d'une tige en carton.

Étape 4: Rédaction et calibrage du code

Rédaction et calibrage du code
Rédaction et calibrage du code
Rédaction et calibrage du code
Rédaction et calibrage du code

Rebecca et Ray ont d'abord essayé d'installer openCV directement sur raspi avec python (https://pythonprogramming.net/raspberry-pi-camera-… mais cela ne semble pas fonctionner en direct. Finalement, après de nombreuses tentatives d'installation d'openCV en utilisant python et en échec, nous avons décidé d'aller Processing sur pi car la bibliothèque openCV dans Processing fonctionne assez bien. Voir https://github.com/processing/processing/wiki/Rasp… Notez également qu'il fonctionne avec les ports GPIO que nous pouvons ensuite utiliser pour contrôler l'arduino en utilisant la communication série.

Ray a écrit le code de vision par ordinateur qui s'appuie sur le fichier xml joint pour détecter les visages. Fondamentalement, il voit si le centre du rectangle du visage est à droite ou à gauche du centre, et déplace les moteurs dans des directions opposées afin de faire pivoter la chaise vers le visage. Si le visage est suffisamment proche, les moteurs s'arrêtent pour prendre une photo. Si aucun visage n'est détecté, nous nous arrêtons également afin de ne pas causer de blessures inutiles (vous pouvez modifier cette fonctionnalité si vous pensez que ce n'est pas assez maléfique).

Rebecca a écrit le code Arduino pour s'interfacer avec la carte du moteur en utilisant la communication série avec le traitement sur le pi. Les clés importantes ouvrent le port série USB ACM0 à Arduino et connectent Raspberry Pi à Arduino via un câble USB. Connectez l'Arduino à un pilote de moteur à courant continu pour contrôler la vitesse et la direction d'un moteur, en envoyant des commandes de direction et de vitesse de Raspberry Pi à Arduino. Fondamentalement, le code de traitement de Ray indique au moteur la vitesse à laquelle Arduino fait une estimation juste de la durée de la commande.

Étape 5: Intégrez le fauteuil roulant, le mannequin, le code et le test

Image
Image
Intégrez le fauteuil roulant, le mannequin et le code et le test
Intégrez le fauteuil roulant, le mannequin et le code et le test
Intégrez le fauteuil roulant, le mannequin et le code et le test
Intégrez le fauteuil roulant, le mannequin et le code et le test

En rassemblant toutes les pièces, nous avons constaté que le problème principal était la connexion du moteur aux roues du fauteuil roulant, car les courroies de distribution glissaient fréquemment. Les deux moteurs ont été installés avec le

fauteuil roulant à l'envers pour une installation plus facile. Les deux moteurs fonctionnaient bien lorsqu'ils étaient connectés à une source de batterie de 12 volts. Lorsque le fauteuil roulant lui-même a été renversé, les moteurs ont eu du mal à déplacer le fauteuil d'avant en arrière en raison du poids du fauteuil lui-même. Nous avons essayé des choses comme changer les largeurs de courroie de distribution, ajouter des chevilles sur les côtés de la courroie et augmenter la force motrice, mais aucun ne fonctionnait de manière fiable. Cependant, nous avons pu démontrer clairement lorsque les faces sont de chaque côté de la chaise, le les moteurs se déplaceront dans la direction opposée appropriée en raison de la détection de visage avec le raspberry pi, de sorte que les codes de traitement et Arduino fonctionnent comme prévu et les moteurs peuvent être contrôlés de manière appropriée. Les prochaines étapes consistent à créer un moyen plus robuste de conduire les roues de la chaise et de rendre le mannequin stable.

Étape 6: profitez de votre nouveau mannequin-fauteuil roulant maléfique

Profitez de votre nouveau mannequin-fauteuil roulant maléfique
Profitez de votre nouveau mannequin-fauteuil roulant maléfique
Profitez de votre nouveau mannequin-fauteuil roulant maléfique
Profitez de votre nouveau mannequin-fauteuil roulant maléfique
Profitez de votre nouveau mannequin-fauteuil roulant maléfique
Profitez de votre nouveau mannequin-fauteuil roulant maléfique
Profitez de votre nouveau mannequin-fauteuil roulant maléfique
Profitez de votre nouveau mannequin-fauteuil roulant maléfique

Nous avons beaucoup appris sur la fabrication de moteurs et de pilotes. Nous avons réussi à exécuter la détection de visage sur une petite machine avec un noyau de framboise. Nous avons compris comment contrôler les moteurs avec des cartes de moteur et comment fonctionne la puissance des moteurs. Nous avons fabriqué des mannequins, des figurines et des prototypes sympas, et nous avons même mis un appareil photo dans sa bouche. Nous nous sommes amusés en équipe à nous moquer des autres. Ce fut une expérience enrichissante.

Conseillé: