Sommario:

Sedia a rotelle controllata da visione artificiale con manichino: 6 passaggi (con immagini)
Sedia a rotelle controllata da visione artificiale con manichino: 6 passaggi (con immagini)

Video: Sedia a rotelle controllata da visione artificiale con manichino: 6 passaggi (con immagini)

Video: Sedia a rotelle controllata da visione artificiale con manichino: 6 passaggi (con immagini)
Video: Quando provi a fare un complimento a una ragazza... 2024, Dicembre
Anonim
Image
Image
Sedia a rotelle controllata da visione artificiale con manichino
Sedia a rotelle controllata da visione artificiale con manichino
Sedia a rotelle controllata da visione artificiale con manichino
Sedia a rotelle controllata da visione artificiale con manichino

Progetto di AJ Sapala, Fanyun Peng, Kuldeep Gohel, Ray LC. Instructable di AJ Sapala, Fanyun Peng, Ray LC.

Abbiamo creato una sedia a rotelle con ruote controllate da una scheda Arduino, a sua volta controllata da un Raspberry Pi che esegue openCV tramite Processing. Quando rileviamo i volti in openCV, spostiamo i motori verso di esso, girando la sedia a rotelle in modo che sia rivolto verso la persona e il manichino (attraverso la bocca) scatterà una foto molto spaventosa e la condividerà con il mondo. Questo è il male.

Passaggio 1: progettazione, prototipo e schemi della sedia a rotelle

Progettazione, prototipo e schemi della sedia a rotelle
Progettazione, prototipo e schemi della sedia a rotelle
Progettazione, prototipo e schemi della sedia a rotelle
Progettazione, prototipo e schemi della sedia a rotelle
Progettazione, prototipo e schemi della sedia a rotelle
Progettazione, prototipo e schemi della sedia a rotelle
Progettazione, prototipo e schemi della sedia a rotelle
Progettazione, prototipo e schemi della sedia a rotelle

Il concetto iniziale si basava sull'idea che un pezzo mobile sarà in grado di spiare i compagni di classe ignari e scattare brutte foto di loro. Volevamo essere in grado di spaventare le persone muovendoci verso di loro, anche se non ci aspettavamo che i problemi meccanici al motore fossero così difficili. Abbiamo considerato le caratteristiche che avrebbero reso il pezzo il più coinvolgente (in un modo malvagio) possibile e abbiamo deciso di implementare un manichino su una sedia a rotelle che può muoversi verso le persone usando la visione artificiale. Un prototipo del risultato è stato realizzato da AJ in legno e carta, mentre Ray e Rebecca hanno fatto girare OpenCV su un Raspberry Pi, assicurandosi che i volti potessero essere rilevati in modo affidabile.

Passaggio 2: materiali e installazione

Materiali e installazione
Materiali e installazione
Materiali e installazione
Materiali e installazione
Materiali e installazione
Materiali e installazione

1x sedia a rotelle (https://www.amazon.com/Medline-Lightweight-Transpo…

2x motori per scooter

2x schede motore Cytron

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

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

1x fotocamera Raspberry Pi v2 (https://www.amazon.com/Raspberry-Pi-Camera-Module-…

1x batteria ricaricabile da 12 V

compensato

staffe a L

pavimenti in gomma

Passaggio 3: fabbricazione del motore per l'attacco della sedia a rotelle e della testa del manichino

Fabbricazione di attacco motore per sedia a rotelle e testa di manichino
Fabbricazione di attacco motore per sedia a rotelle e testa di manichino
Fabbricazione di attacco motore per sedia a rotelle e testa di manichino
Fabbricazione di attacco motore per sedia a rotelle e testa di manichino
Fabbricazione di attacco motore per sedia a rotelle e testa di manichino
Fabbricazione di attacco motore per sedia a rotelle e testa di manichino
Fabbricazione di attacco motore per sedia a rotelle e testa di manichino
Fabbricazione di attacco motore per sedia a rotelle e testa di manichino

AJ ha fabbricato un apparato che fissa i motori dello scooter (2) alla parte inferiore della sedia a rotelle e ha fissato la staffa del passo a una cinghia dentata in gomma su misura. Ogni motore è installato separatamente ed è fissato a una ruota corrispondente. Due ruote, due motori. I motori vengono quindi alimentati con alimentazione e messa a terra tramite due schede motore Cytron ad Arduino (1) a Raspberry Pi (1), tutti gli elementi sono alimentati con una batteria ricaricabile da 12 volt (1). Gli apparati motori sono stati realizzati utilizzando compensato, staffe a L, staffe quadre e fissaggi in legno. Creando un supporto di legno attorno al motore vero e proprio, l'installazione del motore in posizione sul fondo della sedia a rotelle era molto più semplice e poteva essere spostata per stringere la cinghia di distribuzione. Gli apparati motori sono stati installati perforando il telaio metallico della carrozzina e imbullonando il legno al telaio con staffe a L.

Le cinghie di distribuzione sono state realizzate con pavimento in gomma. Il pavimento in gomma aveva già un passo che era simile per dimensioni alla staffa rotante dei motori. Ogni pezzo è stato tagliato alla larghezza che funziona con la staffa rotante dei motori. Ogni pezzo di gomma tagliata è stato fuso insieme creando una "cintura" levigando un'estremità e l'estremità opposta e applicando una piccola quantità di colla Barge per collegare. La chiatta è molto pericolosa e devi indossare una maschera mentre la usi, usa anche la ventilazione. Ho creato diverse varietà delle dimensioni della cinghia di distribuzione: super stretto, stretto, moderato. La cintura doveva quindi essere collegata alla ruota. La ruota stessa ha una piccola superficie sulla base per accompagnare una cintura. Questo piccolo spazio è stato aumentato con un cilindro di cartone con gomma della cinghia di distribuzione incollata a caldo sulla sua superficie. In questo modo la cinghia di distribuzione potrebbe afferrare la ruota per aiutarla a girare in sincronia con il motore dello scooter che gira.

AJ ha anche creato una testa fittizia che integra il modulo fotocamera di Raspberry Pi. Ray ha usato la testa del manichino e ha installato la fotocamera e la scheda Pi nella regione della bocca del manichino. Sono stati creati slot per le interfacce USB e HDMI e un'asta di legno viene utilizzata per stabilizzare la fotocamera. La fotocamera è montata su un pezzo stampato in 3D personalizzato che ha un attacco per viti 1/4-20. Il file è allegato (adottato per adattarsi da Ray da Thingaverse). AJ ha creato la testa usando cartone, nastro adesivo e una parrucca bionda con i pennarelli. Tutti gli elementi sono ancora in fase di prototipo. La testa del manichino è stata montata sul corpo di un manichino femminile e collocata sul sedile della sedia a rotelle. La testa è stata attaccata al manichino usando un'asta di cartone.

Passaggio 4: scrittura e calibrazione del codice

Scrivere e calibrare il codice
Scrivere e calibrare il codice
Scrivere e calibrare il codice
Scrivere e calibrare il codice

Rebecca e Ray hanno prima provato a installare openCV direttamente su raspi con python (https://pythonprogramming.net/raspberry-pi-camera-… tuttavia non sembra funzionare dal vivo. Alla fine dopo molti tentativi di installare openCV usando python e fallendo, abbiamo deciso di passare a Processing su pi perché la libreria openCV in Processing funziona abbastanza bene. Vedi https://github.com/processing/processing/wiki/Rasp…Nota anche che funziona con le porte GPIO che possiamo quindi utilizzare per controlla l'arduino usando la comunicazione seriale.

Ray ha scritto il codice di visione artificiale che si basa sul file xml allegato per rilevare i volti. Fondamentalmente vede se il centro del rettangolo del viso è a destra oa sinistra del centro, e muove i motori in direzioni opposte in modo da far ruotare la sedia verso il viso. Se il viso è abbastanza vicino, i motori si fermano per scattare una foto. Se non vengono rilevati volti, ci fermiamo anche per non causare lesioni non necessarie (puoi modificare tale funzionalità se ritieni che non sia abbastanza malvagio).

Rebecca ha scritto il codice Arduino per interfacciarsi con la scheda motore utilizzando la comunicazione seriale con Processing sul pi. Le chiavi importanti sono l'apertura della porta seriale USB ACM0 ad Arduino e il collegamento di raspberry pi ad Arduino tramite un cavo USB. Collega l'Arduino con un driver per motore CC per controllare la velocità e la direzione di un motore, inviando comandi di direzione e velocità da Raspberry Pi ad Arduino. Fondamentalmente il codice di elaborazione di Ray dice al motore la velocità a cui andare mentre Arduino fa un'ipotesi equa sulla durata del comando.

Passaggio 5: integrare la sedia a rotelle, il manichino, il codice e il test

Image
Image
Integrare la sedia a rotelle, il manichino e il codice e il test
Integrare la sedia a rotelle, il manichino e il codice e il test
Integrare la sedia a rotelle, il manichino e il codice e il test
Integrare la sedia a rotelle, il manichino e il codice e il test

Mettendo insieme tutte le parti, abbiamo scoperto che il problema principale era il collegamento del motore alle ruote della sedia a rotelle, poiché le cinghie di distribuzione si sfilavano spesso. Entrambi i motori sono stati installati con il

carrozzina capovolta per facilitare l'installazione. Entrambi i motori hanno funzionato bene mentre erano collegati a una fonte di batteria da 12 volt. Quando la sedia a rotelle stessa è stata capovolta in posizione verticale, i motori hanno avuto problemi a spostare la sedia avanti e indietro a causa del peso della sedia stessa. Abbiamo provato cose come cambiare le larghezze della cinghia di distribuzione, aggiungere pioli ai lati della cinghia e aumentare la forza motrice, ma nessuna funzionava in modo affidabile. Tuttavia, siamo stati in grado di dimostrare chiaramente quando le facce sono su ciascun lato della sedia, il i motori si sposteranno nella direzione opposta appropriata a causa del rilevamento del volto con il raspberry pi, quindi i codici di elaborazione e Arduino funzionano come previsto e i motori possono essere controllati in modo appropriato. I prossimi passi sono rendere più robusto il modo di guidare le ruote della sedia e rendere stabile il manichino.

Passaggio 6: goditi la tua nuova sedia a rotelle manichino malvagio

Goditi la tua nuova sedia a rotelle manichino malvagio
Goditi la tua nuova sedia a rotelle manichino malvagio
Goditi la tua nuova sedia a rotelle manichino malvagio
Goditi la tua nuova sedia a rotelle manichino malvagio
Goditi il tuo nuovo manichino-sedia a rotelle malvagio
Goditi il tuo nuovo manichino-sedia a rotelle malvagio
Goditi la tua nuova sedia a rotelle manichino malvagio
Goditi la tua nuova sedia a rotelle manichino malvagio

Abbiamo imparato molto sulla fabbricazione di motori e driver. Siamo riusciti a eseguire il rilevamento dei volti su una piccola macchina con fossa di lamponi. Abbiamo capito come controllare i motori con le schede motore e come funziona l'alimentazione per i motori. Abbiamo realizzato alcuni fantastici manichini, figure e prototipi e gli abbiamo persino messo una macchina fotografica in bocca. Ci siamo divertiti come una squadra prendendo in giro altre persone. È stata un'esperienza gratificante.

Consigliato: