Inhoudsopgave:

Computer Vision gecontroleerde rolstoel met paspop - Ajarnpa
Computer Vision gecontroleerde rolstoel met paspop - Ajarnpa

Video: Computer Vision gecontroleerde rolstoel met paspop - Ajarnpa

Video: Computer Vision gecontroleerde rolstoel met paspop - Ajarnpa
Video: ? Древний путь к внутренней свободе с Ричардом Хейтом... 2024, Juli-
Anonim
Image
Image
Computer Vision gecontroleerde rolstoel met etalagepop
Computer Vision gecontroleerde rolstoel met etalagepop
Computer Vision gecontroleerde rolstoel met etalagepop
Computer Vision gecontroleerde rolstoel met etalagepop

Project door AJ Sapala, Fanyun Peng, Kuldeep Gohel, Ray LC. Instructable door AJ Sapala, Fanyun Peng, Ray LC.

We hebben een rolstoel gemaakt met wielen die worden bestuurd door een Arduino-bord, dat op zijn beurt wordt bestuurd door een Raspberry Pi met openCV via Processing. Wanneer we gezichten detecteren in openCV, bewegen we de motoren ernaartoe, draaien we de rolstoel zodat deze naar de persoon kijkt, en de mannequin (door zijn mond) zal een heel enge foto maken en deze met de wereld delen. Dit is kwaad.

Stap 1: Ontwerp, prototype en schema van de rolstoel

Ontwerp, prototype en schema's van de rolstoel
Ontwerp, prototype en schema's van de rolstoel
Ontwerp, prototype en schema's van de rolstoel
Ontwerp, prototype en schema's van de rolstoel
Ontwerp, prototype en schema's van de rolstoel
Ontwerp, prototype en schema's van de rolstoel
Ontwerp, prototype en schema's van de rolstoel
Ontwerp, prototype en schema's van de rolstoel

Het oorspronkelijke concept was gebaseerd op het idee dat een verplaatsbaar stuk nietsvermoedende klasgenoten kan bespioneren en lelijke foto's van hen kan maken. We wilden mensen bang kunnen maken door naar hen toe te gaan, hoewel we niet hadden verwacht dat de motorische mechanische problemen zo moeilijk zouden zijn. We hebben functies overwogen die het stuk zo aantrekkelijk (op een slechte manier) mogelijk zouden maken en besloten een mannequin op een rolstoel te implementeren die naar mensen toe kan bewegen met behulp van computervisie. Een prototype van het resultaat werd gemaakt door AJ van hout en papier, terwijl Ray en Rebecca OpenCV op een Raspberry Pi lieten draaien, zodat gezichten betrouwbaar kunnen worden gedetecteerd.

Stap 2: Materialen en setup

Materialen en opstelling
Materialen en opstelling
Materialen en opstelling
Materialen en opstelling
Materialen en opstelling
Materialen en opstelling

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

2x scootermotoren

2x Cytron-motorkaarten

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

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

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

1x 12v oplaadbare batterij

multiplex

L-beugels

rubberen vloer

Stap 3: Fabricage van motor aan rolstoelbevestiging en etalagepop

Fabricage van motor aan rolstoelbevestiging en etalagepop
Fabricage van motor aan rolstoelbevestiging en etalagepop
Fabricage van motor aan rolstoelbevestiging en etalagepop
Fabricage van motor aan rolstoelbevestiging en etalagepop
Fabricage van motor aan rolstoelbevestiging en etalagepop
Fabricage van motor aan rolstoelbevestiging en etalagepop
Fabricage van motor aan rolstoelbevestiging en etalagepop
Fabricage van motor aan rolstoelbevestiging en etalagepop

AJ fabriceerde een apparaat dat de scootermotoren (2) aan de onderkant van de rolstoel bevestigt en bevestigde de pitch-beugel aan een op maat gemaakte rubberen distributieriem. Elke motor wordt afzonderlijk geïnstalleerd en is bevestigd aan een bijbehorend wiel. Twee wielen, twee motoren. De motoren worden vervolgens gevoed met stroom en geaard via twee Cytron-motorkaarten naar Arduino (1) naar Raspberry Pi (1), alle elementen worden gevoed met een 12 volt oplaadbare batterij (1). De motorapparaten zijn gemaakt met multiplex, L-beugels, vierkante haken en houten bevestigingsmiddelen. Door een houten beugel rond de eigenlijke motor te maken, was het veel gemakkelijker om de motor op zijn plaats op de bodem van de rolstoel te installeren en kon deze worden verplaatst om de distributieriem aan te spannen. De motorapparaten werden geïnstalleerd door door het metalen frame van de rolstoel te boren en het hout met L-beugels aan het frame te schroeven.

De distributieriemen waren gemaakt van rubberen vloeren. Op de rubberen vloer was al een veld gemaakt dat qua grootte vergelijkbaar was met de draaiende beugel van de motoren. Elk stuk werd bijgesneden tot de breedte die werkt met de draaiende beugel van de motoren. Elk stuk gesneden rubber werd aan elkaar gesmolten en creëerde een "riem" door het ene uiteinde en het andere uiteinde te schuren en een kleine hoeveelheid Barge-lijm aan te brengen om te verbinden. Barge is erg gevaarlijk, en je moet een masker dragen tijdens het gebruik ervan, gebruik ook ventilatie. Ik heb verschillende soorten distributieriemmaten gemaakt: superstrak, strak, matig. De riem moest dan aan het wiel worden vastgemaakt. Het wiel zelf heeft een kleine hoeveelheid oppervlak op de basis om een riem te begeleiden. Deze kleine ruimte werd vergroot met een kartonnen cilinder met tandriemrubber heet op het oppervlak gelijmd. Op deze manier zou de distributieriem het wiel kunnen grijpen om het synchroon te laten draaien met de draaiende scootermotor.

AJ creëerde ook een dummy-kop die de cameramodule van Raspberry Pi integreert. Ray gebruikte de dummy-kop en installeerde de Pi-camera en het bord in het mondgebied van de dummy. Er zijn sleuven gemaakt voor de USB- en HDMI-interfaces en een houten staaf wordt gebruikt om de camera te stabiliseren. De camera is gemonteerd op een op maat gemaakt 3D-geprint stuk met een bevestiging voor 1/4-20 schroeven. Bestand is bijgevoegd (aangenomen voor pasvorm door Ray van thingaverse). AJ maakte het hoofd met karton, ducttape en een blonde pruik met stiften. Alle elementen bevinden zich nog in de prototypefase. Het dummyhoofd werd aan het lichaam van een vrouwelijke paspop getuigd en in de zitting van de rolstoel geplaatst. Het hoofd werd met een kartonnen staaf aan de etalagepop bevestigd.

Stap 4: De code schrijven en kalibreren

De code schrijven en kalibreren
De code schrijven en kalibreren
De code schrijven en kalibreren
De code schrijven en kalibreren

Rebecca en Ray probeerden eerst openCV rechtstreeks op raspi te installeren met python (https://pythonprogramming.net/raspberry-pi-camera-… maar het lijkt live niet te werken. Uiteindelijk na vele pogingen om openCV te installeren met python en faalden, hebben we besloten om Processing op pi te gaan gebruiken omdat de openCV-bibliotheek in Processing best goed werkt. Zie https://github.com/processing/processing/wiki/Rasp… Merk ook op dat het werkt met de GPIO-poorten die we dan kunnen gebruiken om bestuur de arduino met behulp van seriële communicatie.

Ray schreef de computer vision-code die is gebaseerd op het xml-bestand dat is bijgevoegd voor het detecteren van gezichten. In principe ziet het of het midden van de rechthoek van het gezicht zich rechts of links van het midden bevindt, en beweegt de motoren in tegengestelde richtingen om de stoel naar het gezicht te draaien. Als het gezicht dichtbij genoeg is, worden de motoren gestopt om een foto te maken. Als er geen gezichten worden gedetecteerd, stoppen we ook om geen onnodig letsel te veroorzaken (je kunt die functionaliteit wijzigen als je denkt dat het niet erg genoeg is).

Rebecca schreef de Arduino-code om te communiceren met het motorbord met behulp van seriële communicatie met Processing op de pi. De belangrijke sleutels zijn het openen van de seriële USB-poort ACM0 naar Arduino en het verbinden van Raspberry Pi met Arduino via een USB-kabel. Verbind de Arduino met een DC-motordriver om de snelheid en richting van een motor te regelen, en stuur richtings- en snelheidscommando's van Raspberry Pi naar Arduino. In feite vertelt de verwerkingscode van Ray de motor de snelheid die moet worden bereikt, terwijl Arduino een goede schatting maakt van de duur van het commando.

Stap 5: Integreer de rolstoel, mannequin en code en test

Image
Image
Integreer de rolstoel, etalagepop en code en test
Integreer de rolstoel, etalagepop en code en test
Integreer de rolstoel, etalagepop en code en test
Integreer de rolstoel, etalagepop en code en test

Toen we alle onderdelen samenvoegden, ontdekten we dat het belangrijkste probleem de verbinding van de motor met de wielen van de rolstoel was, omdat de distributieriemen vaak weggleden. Beide motoren werden geïnstalleerd met de

rolstoel ondersteboven voor eenvoudigere installatie. Beide motoren werkten goed terwijl ze waren aangesloten op een 12-volt batterijbron. Toen de rolstoel zelf rechtop werd gekanteld, hadden de motoren door het gewicht van de stoel zelf moeite om de stoel heen en weer te bewegen. We probeerden dingen zoals het veranderen van de distributieriembreedtes, het toevoegen van pinnen aan de zijkanten van de riem en het vergroten van de aandrijfkracht, maar geen enkele werkte betrouwbaar. We konden echter duidelijk aantonen wanneer de gezichten zich aan elke kant van de stoel bevinden, de motoren zullen in de juiste tegengestelde richting bewegen vanwege gezichtsdetectie met de Raspberry Pi, dus de Processing- en Arduino-codes werken zoals bedoeld en de motoren kunnen op de juiste manier worden bestuurd. De volgende stappen zijn om een robuustere manier te maken om de wielen van de stoel aan te drijven en de etalagepop stabiel te maken.

Stap 6: Geniet van je nieuwe Evil Mannequin-rolstoel

Veel plezier met je nieuwe Evil Mannequin-rolstoel
Veel plezier met je nieuwe Evil Mannequin-rolstoel
Veel plezier met je nieuwe Evil Mannequin-rolstoel
Veel plezier met je nieuwe Evil Mannequin-rolstoel
Veel plezier met je nieuwe Evil Mannequin-rolstoel
Veel plezier met je nieuwe Evil Mannequin-rolstoel
Veel plezier met je nieuwe Evil Mannequin-rolstoel
Veel plezier met je nieuwe Evil Mannequin-rolstoel

We hebben veel geleerd over het maken van motoren en drivers. Het is ons gelukt om gezichtsherkenning uit te voeren op een kleine machine met frambozenpit. We hebben ontdekt hoe we motoren kunnen besturen met motorborden en hoe de kracht voor motoren werkt. We hebben een aantal coole mannequins en figuren en prototypes gemaakt en zelfs een camera in zijn mond gestopt. We hadden plezier als een team dat andere mensen voor de gek hield. Het was een dankbare ervaring.

Aanbevolen: