Kazalo:
- 1. korak: Pregled
- 2. korak: izdelava projekta
- 3. korak: Navodila za izdelavo/ožičenje
- 4. korak: Razumevanje ogrodja WebIOPi
- 5. korak: Zagon projekta
Video: Robot za daljinsko iskanje in odstranjevanje z nadzorom gibanja: 5 korakov
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:02
Kot del moje prijave za Leap Motion #3D Jam sem bil navdušen nad izdelavo tega brezžičnega robota za iskanje/reševanje s kretnjami, ki temelji na Raspberry Pi. Ta projekt prikazuje in ponuja minimalističen primer, kako se lahko brezžične 3D ročne kretnje uporabljajo za nadzor in interakcijo s fizičnimi stvarmi.
Ker ta projekt uporablja priljubljen okvir WebIOPi IoT na Raspberry Pi, ga je mogoče zelo enostavno razširiti na nadzor in vmesnik običajno s katerim koli senzorjem/strojno opremo/elektroniko, ki ga je mogoče povezati z Raspberry Pi.
Nekateri možni scenariji, ki si jih zamislim, so ustvarjalci lahko uporabili ta projekt kot svoj osnovni okvir za nadgradnjo:
1. Robot za odstranjevanje bomb z oddaljenimi gestami (morda z roko OWI itd.)
2. Operacija na daljavo pri zdravniku
3. Interaktivne umetniške razstave ali izobraževalne vsebine z gestami
4. Neskončne druge možnosti/integracije (omejen sem z domišljijo:))
1. korak: Pregled
Ta projekt uporabniku omogoča interaktivno upravljanje robota z uporabo 3D ročnih kretenj prek Leap Motion -a, povezanega z osebnim računalnikom.
Raspberry Pi na krovu Robota ima tudi spletno kamero USB, ki pretaka videoposnetke v živo nazaj do uporabnika, kar je mogoče videti v spletnem brskalniku. Knjižnica JavaScripta LeapMotion, vdelana v to spletno stran, obdeluje kretnje rok in pošilja nadzorne signale nazaj robotu, ki se nato ustrezno premika.
Raspberry Pi na robotu je konfiguriran kot vroča točka (način AP) s pomočjo priključenega ključa USB WiFi. To našim računalnikom/napravam omogoča neposredno povezavo z Raspberry Pi in nadzor preko spletne strani. Raspberry Pi je mogoče konfigurirati tudi za delovanje v odjemalčevem načinu, kjer se brezžično poveže z dostopno točko usmerjevalnika WiFi, na katero je računalnik/naprave že povezan.
Ta projekt temelji na WebIOPi (https://webiopi.trouch.com/), ki je priljubljen okvir IoT za Raspberry Pi. Z uporabo priloženega Weaved IoT kompleta (ali prek posredovanja vrat na usmerjevalniku) je mogoče tega robota upravljati na daljavo in/ali prejemati podatke iz katerega koli dela sveta.
Za izdelavo projekta so bile uporabljene naslednje komponente:
- Raspberry Pi B (100% naprej združljiv z Raspberry Pi B+)
- Spletna kamera USB Logitech (majhnih 1,3 milijona slikovnih pik)
- L293D Gonilnik motorja IC in prelomni ščit
- USB WiFi ključ za Raspberry Pi
- USB Power Bank za Raspberry Pi
- Zunanja baterija 4V/1.5A za pogon robotskih motorjev
2. korak: izdelava projekta
Namestitev WebIOPi, pisanje kode po meri in konfiguracija spletne kamere:
Navodila za namestitev WebIoPi, osnove okvira in številni primeri so na voljo na strani projekta tukaj:
Da bi funkcije LeapMotion, vgrajene v spletno stran, sprožile dejanja GPIO na Raspberry Pi, smo uporabili makre, podrobnosti o katerih najdete tukaj:
Napisal sem tudi nekaj uvodnih opomb o zgornjem postopku, ki jih najdete v priponki.
Namestitev in konfiguracija spletne kamere
Uporabljamo MJPG-Streamer za pretakanje video vira iz Raspberry Pi nazaj v brskalnik prek spletne kamere USB, povezane na Pi. Sledite navodilom za namestitev in izdelavo, navedenim tukaj https://blog.miguelgrinberg.com/post/how-to-build-…, da MJPG-Streamer začne delovati na Raspberry Pi.
Konfiguriranje Raspberry Pi kot dostopne točke/dostopne točke
Če želite Raspberry Pi nastaviti kot gostiteljsko točko, sledite spodnjim navodilom: https://elinux.org/RPI-Wireless-Hotspot. Statični IP Raspberry Pi sem konfiguriral kot 192.168.42.1, kar bi vnesli v brskalnik, ko se Pi zažene v načinu AP.
Storitve WebIOPi, MJPG-Streamer in dostopne točke WiFi so bile konfigurirane za samodejno zagon ob zagonu, kar nam omogoča, da neposredno odpremo spletni brskalnik in se po zagonu povežemo z robotom. Datoteka rc.local, ki je na voljo v repoju, se uporablja za zagon spletne kamere ob zagonu.
3. korak: Navodila za izdelavo/ožičenje
4 GPIO -ji Raspberry Pi, in sicer GPIO 9, 11, 23 in 24, so povezani z IC -jem gonilnika motorja L293D, ki ustrezno poganja motorje po prejemu zahtev za makro s spletne strani, ki jo uporablja okvir Webiopi. Ključ USB WiFi in spletna kamera USB Logitech sta povezana z dvema vhodoma USB, ki sta na voljo na Raspberry Pi. Banka Power 5V 4000 Mah oskrbuje Pi z glavno energijo. Za pogon motorjev se uporablja 4V 1.5A svinčevo -kislinska baterija.
Opomba: Ker je bil največji izhodni tok napajalnika, ki sem ga uporabil, slabih 1000 Mah, sem za pogon motorjev moral uporabiti zunanjo svinčevo baterijo. Če imate power bank, ki daje> = 2000Mah, lahko motorje neposredno poganjate s 5V tirnice na Pi (tega pa za motorje z nizko porabo energije ne priporočam)
Spodaj so na kratko opisani trije ključni pododdelki projekta LeapMotion Javascript API, WebIOPi in MJPG-Streamer ter njihovo osnovno delo/nastavitev.
4. korak: Razumevanje ogrodja WebIOPi
Vmesnik, ki je prikazan v brskalniku, je zapisan v HTML (ime datoteke: index.html) in Javascript, medtem ko je zaledje, ki poganja GPIO, zapisano v Pythonu (ime datoteke: script.py). Podrobne opombe o ustvarjanju spletne aplikacije po meri, ki temelji na ogrodju WebIOPi, so priložene kot opombe v repo Bitbucket.
Makre po meri, določene v skriptu Python, lahko sprožite iz datoteke HTML.
Npr.: webiopi (). CallMacro ("go_forward"); To je klic po meri do makra go_forward, določenega v skriptu Python, ki upravlja postopek vrtenja obeh motorjev v smeri naprej.
Na priloženi sliki je prikazana hierarhija imenika, kjer so datoteke shranjene na Pi.
Mapa Robot vsebuje te podmape:
- html: vsebuje index.html
- python: vsebuje script.py
- mjpg-streamer-r63: vsebuje datoteke za sestavljanje in izvedljivo datoteko za zagon spletne kamere
MJPG-Streamer: Pretok videa v živo s spletne kamere USB deluje privzeto na vratih 8080 Pi. Če si želite ročno ogledati tok, se po vklopu spletne kamere pomaknite do RASPBERRYPI_IP: 8080 v brskalniku.
Koda LeapMotion:
Odlomki kode iz primerov, navedenih v SDK -ju LeapMotion, so bili vdelani v datoteko index.html. Datoteko leap.js LeapMotion je treba dodati v mapo html v imeniku projekta na Raspberry Pi.
Parameter palmPosition, ki ga pošlje LeapMotion, se uporablja za določitev, kateri makro naj se sproži na Raspberry Pi.
5. korak: Zagon projekta
Preprosto vklopite Raspberry Pi in počakajte približno minuto. Videli boste nov hotpsot RaspberryPi. Povežite se s to vročo točko in v brskalniku odprite ta statični naslov IP: 192.168.42.1:8000. 8000 je privzeta vrata za WebIOPi.
Raspberry Pi je mogoče konfigurirati tudi tako, da se poveže z lokalnim omrežjem WiFi kot stranko, namesto da se prikaže kot vroča točka. Nato bi morali določiti dinamični IP, ki ga usmerjevalniku dodeli Raspberry Pi, in ga nato pritisniti v brskalniku, da se poigrate z Botom.
Če potrebujete pomoč ali imate kakršna koli vprašanja o projektu, lahko pustite komentar. Vesel skok!
Priložene so celotne izvorne kode. Če potrebujete pomoč pri katerem koli delu pri gradnji projekta, lahko pustite komentar. Vesel skok!
Priporočena:
Ev3 Lego robot za prijemanje/iskanje: 7 korakov
Ev3 Lego Gripper/Finder Robot: Pozdravljeni! GrabBot je večnamenski robot, ki se rad vrti … Ko naleti na majhen predmet, ga dvigne in pripelje nazaj v začetni položaj
Časovni zamik z nadzorom gibanja: 7 korakov (s slikami)
Časovni zamik z nadzorom gibanja: Časovni zamiki so odlični! Pomagajo nam pogledati v počasni svet, ki bi ga morda pozabili ceniti. Toda včasih je stalen posnetek s časovnim zamikom dolgočasen ali pa se okoli dogaja toliko stvari, da ni samo en kot
Robot za odstranjevanje bomb (Termenatör): 13 korakov (s slikami)
Robot za odstranjevanje bomb (Termenatör): Lastnosti:* Podprte brezpilotne letalske naprave* Robotska roka (6-smerna)* Gorljivi laserski sistem* Sistem kamere (3 kamere)* Zaščiten sistem za sledenje Google stekel* Vrtalni sistem* Odvisno od vrtalnega sistema , endoskopska kačja kamera * Ha
Kamera z nadzorom gibanja z uporabo MESH SDK: 6 korakov (s slikami)
Kamera z nadzorom gibanja z uporabo paketa MESH SDK: Ali želite avtomatizirati kamero, da zajame najboljše trenutke vašega ljubljenčka, ko niste doma? Senzor gibanja MESH omogoča fotoaparate, ki podpirajo SDK. Na primer, senzor gibanja MESH smo postavili poleg hrane za mačke in mačjih igrač v
Izhod z nadzorom gibanja - iz luči zaznavanja gibanja: 6 korakov
Izhod z nadzorom gibanja - iz svetlobe zaznavanja gibanja: Predstavljajte si, da ste prevaranti in se odpravite v najbolj strašno hišo v bloku. Ko greste mimo vseh duhov, duhov in pokopališč, končno pridete na zadnjo pot. Pred vami je sladica v posodi! A potem nenadoma gho