Tartalomjegyzék:

Számítógépes látásvezérelt kerekesszék próbababával: 6 lépés (képekkel)
Számítógépes látásvezérelt kerekesszék próbababával: 6 lépés (képekkel)

Videó: Számítógépes látásvezérelt kerekesszék próbababával: 6 lépés (képekkel)

Videó: Számítógépes látásvezérelt kerekesszék próbababával: 6 lépés (képekkel)
Videó: GP 3000 GPU Ipari Számítógép RTX-4080 grafikus kártyával 2024, Július
Anonim
Image
Image
Számítógépes látásvezérelt kerekesszék manökennel
Számítógépes látásvezérelt kerekesszék manökennel
Számítógépes látásvezérelt kerekesszék manökennel
Számítógépes látásvezérelt kerekesszék manökennel

AJ Sapala, Fanyun Peng, Kuldeep Gohel, Ray LC projektje. AJ Sapala, Fanyun Peng, Ray LC által oktatható.

Létrehoztunk egy kerekesszéket kerekekkel, amelyeket egy Arduino tábla vezérel, amelyet viszont egy málna pi irányít, amely openCV -t futtat a Processing segítségével. Amikor arcokat észlelünk az openCV -ben, a motorokat felé mozgatjuk, a kerekesszéket úgy fordítjuk, hogy az a személy felé nézzen, és a manöken (a száján keresztül) nagyon ijesztő képet fog készíteni, és megosztja a világgal. Ez gonosz.

1. lépés: A kerekesszék tervezése, prototípusa és vázlata

A kerekesszék tervezése, prototípusa és vázlata
A kerekesszék tervezése, prototípusa és vázlata
A kerekesszék tervezése, prototípusa és vázlata
A kerekesszék tervezése, prototípusa és vázlata
A kerekesszék tervezése, prototípusa és vázlata
A kerekesszék tervezése, prototípusa és vázlata
A kerekesszék tervezése, prototípusa és vázlata
A kerekesszék tervezése, prototípusa és vázlata

A kezdeti koncepció azon az elképzelésen alapult, hogy egy mozgatható darab képes lesz gyanútlan osztálytársai után kémkedni, és csúnya képeket készíteni róluk. Szerettük volna megijeszteni az embereket azzal, hogy feléjük haladunk, bár nem számítottunk arra, hogy a motor mechanikai problémái ilyen nehézek lesznek. Fontolóra vettük azokat a funkciókat, amelyek a darabot a lehető legigényesebbé teszik (gonosz módon), és úgy döntöttünk, hogy egy kerekesszékes próbababát valósítunk meg, amely a számítógépes látást használó emberek felé mozoghat. Az eredmény prototípusát AJ készítette fából és papírból, míg Ray és Rebecca az OpenCV -t málna pi -n futtatta, ezzel biztosítva az arcok megbízható felismerését.

2. lépés: Anyagok és beállítás

Anyagok és beállítás
Anyagok és beállítás
Anyagok és beállítás
Anyagok és beállítás
Anyagok és beállítás
Anyagok és beállítás

1x kerekesszék (https://www.amazon.com/Medline-Lightweight-Transpo…

2x robogó motor

2x Cytron motorlap

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

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

1x málna pi kamera v2 (https://www.amazon.com/Raspberry-Pi-Camera-Module-…

1x 12V újratölthető akkumulátor

furnér

L-konzolok

gumi padló

3. lépés: A motor rögzítése a kerekesszékhez és a manökenfej

Motor rögzítése kerekesszékhez és manökenfej
Motor rögzítése kerekesszékhez és manökenfej
Motor rögzítése kerekesszékhez és manökenfej
Motor rögzítése kerekesszékhez és manökenfej
Motor rögzítése a kerekesszékhez és a manökenfej
Motor rögzítése a kerekesszékhez és a manökenfej
Motor rögzítése a kerekesszékhez és a manökenfej
Motor rögzítése a kerekesszékhez és a manökenfej

Az AJ gyártott egy olyan berendezést, amely rögzíti a robogó motorjait (2) a kerekesszék aljához, és rögzíti a szögtartót egy egyedi gyártású gumi vezérműszíjhoz. Minden motor külön van felszerelve, és a megfelelő kerékhez van rögzítve. Két kerék, két motor. A motorokat ezután árammal és földeléssel látják el két Cytron motorlapon keresztül az Arduino (1) és a Raspberry Pi (1) között, minden elemet 12 voltos újratölthető akkumulátorral (1) táplálnak. A motorberendezéseket rétegelt lemez, L-tartó, szögletes zárójel és fa rögzítőelemek felhasználásával hozták létre. Azáltal, hogy egy fa merevítőt hozott létre a tényleges motor körül, a motor felszerelése a kerekesszék aljára sokkal könnyebb volt, és mozgatható volt a vezérműszíj meghúzásához. A motorberendezéseket úgy telepítették, hogy átfúrták a kerekesszék fémvázát, és a fát L-konzolokkal a kerethez csavarozzák.

A vezérműszíjak gumiból készültek. A gumi padlóburkolat már olyan szögű volt, amely hasonló méretű volt a motorok forgó konzoljához. Minden darabot olyan szélességre vágtak le, amely a motorok forgó konzoljával működik. A vágott gumi minden egyes darabját összeolvasztották, és „övet” hoztak létre az egyik és a másik vég csiszolásával, valamint egy kis mennyiségű uszályragasztóval. Az uszály nagyon veszélyes, és használata közben maszkot kell viselni, és szellőzést is kell használni. A vezérműszíj méreteiből több fajtát hoztam létre: szűk, szoros, mérsékelt. Ezután az övet a kerékhez kellett csatlakoztatni. A kerék maga is kis felületű az alapon, hogy kísérje az övet. Ezt a kis teret egy karton hengerrel növelték, amelynek felszínéhez forró ragasztóval van ragasztva vezérműszíj gumi. Így a vezérműszíj megragadhatja a kereket, hogy segítsen szinkronban forogni a forgó robogó motorjával.

AJ létrehozott egy próbabábu fejet is, amely integrálja a Raspberry Pi kamera modulját. Ray használta a próbabábu fejét, és beépítette a Pi kamerát és a táblát a próbabábu szájába. Nyílásokat hoztak létre az USB és HDMI interfészekhez, és egy fából készült rudat használnak a kamera stabilizálására. A fényképezőgép egy egyedi 3D nyomtatott darabra van felszerelve, amely 1/4-20 csavarhoz van rögzítve. Az aktát csatoltuk (Ray elfogadta, hogy illeszkedjen a thingaverse -től). AJ a kartonból, ragasztószalagból és egy szőke parókából készítette a fejét. Minden elem még a prototípus fázisában van. A próbabábu fejét egy női manöken testéhez kötötték, és a tolószék ülésére helyezték. A fejet a manökenhez kartonrúd segítségével rögzítették.

4. lépés: A kód írása és kalibrálása

A kód írása és kalibrálása
A kód írása és kalibrálása
A kód írása és kalibrálása
A kód írása és kalibrálása

Rebecca és Ray először megpróbálta közvetlenül telepíteni az openCV-t a raspi-ra python segítségével (https://pythonprogramming.net/raspberry-pi-camera-…, de úgy tűnik, hogy nem működik élőben. Végül az openCV python használatával történő telepítése után, és nem sikerült, úgy döntöttünk, hogy a Pi -n dolgozunk, mert az OpenCV könyvtár a Processing -ben elég jól működik. Lásd: https://github.com/processing/processing/wiki/Rasp … vezérelje az arduino -t soros kommunikációval.

Ray írta a számítógépes látáskódot, amely az arcok észleléséhez csatolt xml fájlra támaszkodik. Alapvetően azt látja, hogy az arc téglalapjának középpontja a középponttól jobbra vagy balra van, és mozgassa a motorokat ellentétes irányba, hogy a széket az arc felé fordítsa. Ha az arc elég közel van, a motorok leállnak, hogy képet készítsenek. Ha nem észlel arcot, akkor is megállunk, hogy ne okozzunk szükségtelen sérülést (ezt a funkciót megváltoztathatja, ha úgy gondolja, hogy nem elég gonosz).

Rebecca írta az Arduino kódot, hogy csatlakozzon a motortáblához a soros kommunikáció és feldolgozás segítségével a pi -n. A legfontosabb kulcsok az ACM0 usb soros port megnyitása az Arduino -hoz, és a málna pi csatlakoztatása az Arduino -hoz USB -kábelen keresztül. Csatlakoztassa az Arduino -t egy egyenáramú motorvezérlőhöz, hogy vezérelje a motor sebességét és irányát, irány- és sebességparancsokat küldve a málna pi -ről az Arduino -ra. A Ray feldolgozási kódja alapvetően megmondja a motornak a sebességet, míg Arduino becsülni tudja a parancs időtartamát.

5. lépés: Integrálja a kerekesszéket, a próbababát, a kódot és a tesztet

Image
Image
Integrálja a kerekesszéket, a próbababát, a kódot és a tesztet
Integrálja a kerekesszéket, a próbababát, a kódot és a tesztet
Integrálja a kerekesszéket, a próbababát, a kódot és a tesztet
Integrálja a kerekesszéket, a próbababát, a kódot és a tesztet

Az összes alkatrészt összevonva megállapítottuk, hogy a fő probléma a motornak a kerekesszék kerekeihez való csatlakoztatása volt, mivel a vezérműszíjak gyakran lecsúsztak. Mindkét motort a

fejjel lefelé a kerekesszék a könnyebb telepítés érdekében. Mindkét motor jól működött, miközben 12 voltos akkumulátorforráshoz volt csatlakoztatva. Amikor magát a kerekesszéket függőlegesen felfordították, a motorok nehezen tudták a széket hátra és előre mozgatni a szék súlya miatt. Próbáltunk olyan dolgokat, mint a vezérműszíj szélességének megváltoztatása, csapok hozzáadása az öv oldalaihoz és a hajtóerő növelése, de egyik sem működött megbízhatóan. Mindazonáltal világosan meg tudtuk mutatni, amikor az arcok a szék mindkét oldalán vannak, a motorok a megfelelő ellenkező irányba fognak mozogni az arcfelismerés miatt a málna pi -vel, így a Processing és az Arduino kódok megfelelően működnek, és a motorok megfelelően vezérelhetők. A következő lépések egy robusztusabb módszer a szék kerekeinek meghajtására és a próbabábu stabilizálására.

6. lépés: Élvezze új gonosz manöken-kerekesszékét

Élvezze új gonosz manöken-kerekesszékét
Élvezze új gonosz manöken-kerekesszékét
Élvezze új gonosz manöken-kerekesszékét
Élvezze új gonosz manöken-kerekesszékét
Élvezze új gonosz manöken-kerekesszékét
Élvezze új gonosz manöken-kerekesszékét
Élvezze új gonosz manöken-kerekesszékét
Élvezze új gonosz manöken-kerekesszékét

Sokat tanultunk a motorok és meghajtók gyártásáról. Sikerült futtatni az arcfelismerést egy kis gépen, málnavetővel. Kitaláltuk, hogyan lehet motorlapokkal szabályozni a motorokat, és hogyan működik a motor teljesítménye. Csináltunk néhány bájos próbababát, figurát és prototípust, sőt kamerát is tettünk a szájába. Csapatként jól szórakoztunk, hogy másokat gúnyoljunk. Hálás élmény volt.

Ajánlott: