Përmbajtje:

Robot i Kërkimit dhe Hedhjes në distancë i kontrolluar me Lëvizje Kërcimi: 5 hapa
Robot i Kërkimit dhe Hedhjes në distancë i kontrolluar me Lëvizje Kërcimi: 5 hapa

Video: Robot i Kërkimit dhe Hedhjes në distancë i kontrolluar me Lëvizje Kërcimi: 5 hapa

Video: Robot i Kërkimit dhe Hedhjes në distancë i kontrolluar me Lëvizje Kërcimi: 5 hapa
Video: Dëgjimi i drejtpërdrejtë: Koleksioni i plotë #BringYourWorth (Audio zyrtare) 2024, Nëntor
Anonim
Image
Image

Si pjesë e hyrjes sime për Leap Motion #3D Jam, unë isha i ngazëllyer për të ndërtuar këtë Robot Kërkimi/Shpëtimi të kontrolluar me gjest pa tel bazuar në Raspberry Pi. Ky projekt demonstron dhe jep një shembull minimalist se si gjestet pa tel 3D të dorës mund të përdoren për të kontrolluar dhe bashkëvepruar me sende fizike.

Meqenëse ky projekt përdor kornizën e njohur WebIOPi IoT në Raspberry Pi, mund të zgjerohet shumë lehtë për të kontrolluar dhe ndërfaqësuar zakonisht çdo Sensor/Pajisje/Elektronikë që mund të ndërlidhet me Raspberry Pi.

Disa skenarë të mundshëm që unë parashikoj se krijuesit e tjerë mund ta përdorin këtë projekt si kornizën e tyre bazë për të ndërtuar mbi:

1. Robot për asgjësimin e bombave të përdorura me gjeste të largëta (duke përdorur ndoshta një krah OWI etj)

2. Operacioni kirurgjik në distancë nga një mjek

3. Ekspozita Arti interaktive të kontrolluara me gjeste ose përmbajtje edukative

4. Mundësi/integrime të tjera të pafundme (jam i kufizuar nga imagjinata ime:))

Hapi 1: Vështrim i përgjithshëm

Kuptimi i Kuadrit WebIOPi
Kuptimi i Kuadrit WebIOPi

Ky projekt lejon një përdorues të kontrollojë në mënyrë interaktive një Robot duke përdorur gjeste 3D të dorës përmes një Lëvizje të Kërcimit të lidhur me një kompjuter.

Raspberry Pi në bordin e Robotit gjithashtu ka një Webcam USB që transmeton video drejtpërdrejt te përdoruesi, e cila mund të shihet në një Shfletues Web. Biblioteka LeapMotion JavaScript e përfshirë në këtë faqe në internet përpunon gjestet e duarve dhe dërgon sinjale kontrolli përsëri te Roboti, i cili më pas lëviz në përputhje me rrethanat.

Raspberry Pi në Robot është konfiguruar si Hotspot (modaliteti AP) me ndihmën e donglit USB WiFi të lidhur me të. Kjo lejon që kompjuterët/pajisjet tona të lidhen drejtpërdrejt me Raspberry Pi dhe të kontrollojnë përmes një faqeje në internet. Raspberry Pi gjithashtu mund të konfigurohet që të funksionojë në modalitetin e klientit, ku lidhet pa tel me AP -në e Router WiFi me të cilën PC/Pajisjet janë lidhur tashmë.

Ky projekt bazohet në WebIOPi (https://webiopi.trouch.com/) i cili është një kornizë popullore IoT për Raspberry Pi. Duke përdorur Paketën e Paketuar të IoT të Weaved (ose përmes përcjelljes së portit në Router), ky Robot mund të kontrollohet nga distanca dhe/ose të marrë të dhëna nga çdo pjesë e botës.

Komponentët e mëposhtëm janë përdorur për ndërtimin e projektit:

  1. Raspberry Pi B (100% përpara në përputhje me Raspberry Pi B+)
  2. Webcam USB Logitech (e vogël 1.3 Megapixel)
  3. L293D Motor Driver IC dhe Breakout Shield
  4. Dongle USB WiFi për Raspberry Pi
  5. USB Power Bank për Raspberry Pi
  6. Bateri e jashtme 4V/1.5A për drejtimin e Robot Motors

Hapi 2: Ndërtimi i projektit

Instalimi i WebIOPi, Shkrimi i Kodit të personalizuar dhe konfigurimi i Webcam:

Udhëzimet e instalimit të WebIoPi, bazat e kornizës dhe shumë shembuj janë në dispozicion në faqen e projektit këtu:

Në mënyrë që funksionet LeapMotion të ngulitura në faqen e internetit të nxisin veprimet GPIO në Raspberry Pi, ne kemi përdorur Macros, detajet e të cilave gjenden këtu:

Kam shkruar gjithashtu disa shënime për fillimin në lidhje me procesin e mësipërm që mund të gjenden të bashkangjitura.

Instalimi dhe konfigurimi i kamerës në internet

Ne po përdorim MJPG-Streamer në mënyrë që të transmetojmë videon nga Raspberry Pi përsëri në Shfletues përmes Webcam USB të lidhur në Pi. Ju lutemi ndiqni udhëzimet e konfigurimit dhe ndërtimit të treguara këtu https://blog.miguelgrinberg.com/post/how-to-build-… për të marrë MJPG-Streamer duke punuar në Raspberry Pi.

Konfigurimi i Raspberry Pi si një AP/Hotspot

Për të konfiguruar Raspberry Pi si Hostpot, ndiqni udhëzimet e dhëna këtu: https://elinux.org/RPI-Wireless-Hotspot. Unë konfigurova IP -në statike të Raspberry Pi si 192.168.42.1 që është ajo që ne do të futnim në shfletues sapo Pi të fillonte në modalitetin AP.

Shërbimi WebIOPi, MJPG-Streamer dhe WiFi janë konfiguruar që të funksionojnë automatikisht në nisje dhe kjo na lejon të hapim drejtpërdrejt një shfletues Web dhe të lidhemi me Robotin pasi të fillojë. Skedari rc.local i disponueshëm në repo përdoret për të drejtuar Webcam në nisje.

Hapi 3: Udhëzimet për ndërtimin/instalimin e telave

4 GPI të Raspberry Pi domethënë GPIO 9, 11, 23 & 24 janë të lidhura me IC L293D Motor Driver i cili i drejton motorët në përputhje me rrethanat pasi të ketë marrë kërkesa makro nga Uebfaqja të shërbyer nga korniza Webiopi. Dongle USB WiFi dhe Webcam USB Logitech janë të lidhura me 2 portat USB të disponueshme në Raspberry Pi. Një bankë 5V 4000 Mah Power furnizon fuqinë kryesore Pi. Një bateri 4V 1.5A Acid Plumbi përdoret për të drejtuar Motorët.

Shënim: Meqenëse rryma maksimale e prodhimit të bankës së energjisë që kam përdorur ishte një shumë pak 1000 Mah, më duhej të përdorja baterinë e jashtme të Acidit Plumbi për të drejtuar motorët. Nëse keni një bankë energjie që jep> = 2000Mah, mund t'i drejtoni drejtpërdrejt motorët nga hekurudha 5V në Pi (nuk do ta rekomandoja këtë për motorët e uritur me energji)

3 nënseksionet kryesore të projektit LeapMotion Javascript API, WebIOPi dhe MJPG-Streamer dhe puna/konfigurimi i tyre bazë janë përshkruar shkurtimisht më poshtë.

Hapi 4: Kuptimi i Kuadrit WebIOPi

Pjesa e përparme që shfaqet në Shfletuesin është e shkruar në HTML (Emri i skedarit: index.html) & Javascript ndërsa pjesa e pasme që drejton GPIO -të është e shkruar në Python (Emri i skedarit: script.py). Shënimet e hollësishme për krijimin e një WebApp të personalizuar bazuar në kornizën WebIOPi janë bashkangjitur si shënime në repon e Bitbucket.

Makrot e personalizuara të përcaktuara në shkrimin Python mund të nxiten nga skedari HTML.

P.sh.: webiopi (). CallMacro ("shko_para"); Kjo është një thirrje me porosi për një makro go_forward të përcaktuar në shkrimin Python që trajton procesin e lëvizjes së të dy Motoreve në drejtimin përpara.

Hierarkia e Drejtorisë se ku ruhen skedarët në Pi tregohet në imazhin e bashkangjitur.

Dosja Robot përmban këto nën-dosje:

  • html: që përmban indeksin.html
  • python: që përmban skriptin.py
  • mjpg-streamer-r63: përmban skedarët e ndërtuar dhe të ekzekutueshëm për të drejtuar Webcam

MJPG-Streamer: Rrjedha e drejtpërdrejtë e videos nga USB Webcam shkon në portin 8080 të Pi si parazgjedhje. Për të parë manualisht transmetimin, lundroni te RASPBERRYPI_IP: 8080 në shfletues pasi të ndizni Webcam.

Kodi LeapMotion:

Copëzat e kodit nga shembujt e dhënë në SDK të LeapMotion u përfshinë në skedarin index.html. Skedari leap.js i LeapMotion duhet të shtohet në dosjen html në drejtorinë e projektit në Raspberry Pi.

Parametri palmPosition i dërguar nga LeapMotion përdoret për të përcaktuar se cilën makro të aktivizohet në Raspberry Pi.

Hapi 5: Drejtimi i Projektit

Thjesht ndizni Raspberry Pi dhe prisni afërsisht për një minutë. Do të shihni që të shfaqet një RaspberryPi e re. Lidhuni me këtë pikë të nxehtë dhe hapni këtë adresë IP statike në shfletuesin: 192.168.42.1:8000. 8000 është porta e paracaktuar e WebIOPi.

Raspberry Pi gjithashtu mund të konfigurohet për t'u lidhur me rrjetin WiFi lokal si një klient në vend që të shfaqet si një pikë e nxehtë. Atëherë do të duhet të përcaktoni IP dinamike të caktuar për Raspberry Pi nga Router dhe pastaj goditeni atë në Shfletues për të luajtur me Bot.

Mund të lini një koment nëse keni nevojë për ndihmë ose keni ndonjë pyetje në lidhje me projektin. Gëzuar Kërcimet!

Të gjithë kodet burimore janë bashkangjitur. Mund të lini një koment nëse keni nevojë për ndonjë ndihmë me ndonjë pjesë të ndërtesës së projektit. Gëzuar Kërcimet!

Recommended: