Satura rādītājs:

Lēciena kustības kontrolēts attālās meklēšanas un iznīcināšanas robots: 5 soļi
Lēciena kustības kontrolēts attālās meklēšanas un iznīcināšanas robots: 5 soļi

Video: Lēciena kustības kontrolēts attālās meklēšanas un iznīcināšanas robots: 5 soļi

Video: Lēciena kustības kontrolēts attālās meklēšanas un iznīcināšanas robots: 5 soļi
Video: STAGE 2 Forward 2-foot jump 2024, Novembris
Anonim
Image
Image

Ierakstot Leap Motion #3D Jam, es biju sajūsmā par šī bezvadu žestu kontrolētā meklēšanas/glābšanas robota izveidi, pamatojoties uz Raspberry Pi. Šis projekts demonstrē un sniedz minimālistisku piemēru tam, kā bezvadu 3D roku žestus var izmantot, lai kontrolētu un mijiedarbotos ar fiziskām lietām.

Tā kā šajā projektā Raspberry Pi tiek izmantota populārā WebIOPi IoT sistēma, to var ļoti viegli paplašināt, lai kontrolētu un interfeisu, parasti jebkuru sensoru/aparatūru/elektroniku, ko var savienot ar Raspberry Pi.

Daži iespējamie scenāriji, kurus es domāju, kolēģi Makers var izmantot šo projektu kā pamatu, lai balstītos uz:

1. Ar attālu žestu darbināms bumbu iznīcināšanas robots (iespējams, izmantojot OWI roku utt.)

2. Ārsta ķirurģiska attālā operācija

3. Žestu vadīti interaktīvi mākslas eksponāti vai izglītojošs saturs

4. Bezgalīgas citas iespējas/integrācijas (mani ierobežo mana iztēle:))

1. darbība. Pārskats

Izpratne par WebIOPi Framework
Izpratne par WebIOPi Framework

Šis projekts ļauj lietotājam interaktīvi vadīt robotu, izmantojot 3D roku žestus, izmantojot lēciena kustību, kas savienota ar datoru.

Robotā esošajam Raspberry Pi ir arī USB tīmekļa kamera, kas tiešraides video straumē atpakaļ lietotājam, ko var redzēt tīmekļa pārlūkprogrammā. Šajā tīmekļa vietnē iekļautā LeapMotion JavaScript bibliotēka apstrādā roku žestus un nosūta vadības signālus atpakaļ robotam, kurš pēc tam attiecīgi pārvietojas.

Raspberry Pi uz robota ir konfigurēts kā tīklājs (AP režīms), izmantojot tam pievienoto USB WiFi dongli. Tas ļauj mūsu datoriem/ierīcēm tieši izveidot savienojumu ar Raspberry Pi un kontrolēt, izmantojot tīmekļa lapu. Raspberry Pi var konfigurēt arī darbam klienta režīmā, kur tas bezvadu režīmā izveido savienojumu ar WiFi maršrutētāja piekļuves punktu, kuram dators/ierīces jau ir pievienotas.

Šī projekta pamatā ir WebIOPi (https://webiopi.trouch.com/), kas ir populārs Raspberry Pi IoT ietvars. Izmantojot komplektā iekļauto Weaved IoT komplektu (vai izmantojot portu pāradresāciju maršrutētājā), šo robotu var attālināti vadīt un/vai saņemt datus no jebkuras vietas pasaulē.

Projekta izveidē tika izmantoti šādi komponenti:

  1. Raspberry Pi B (100% uz priekšu savietojams ar Raspberry Pi B+)
  2. Logitech USB tīmekļa kamera (niecīga 1,3 megapikseļu)
  3. L293D motora vadītāja IC un izlaušanās vairogs
  4. USB WiFi dongle Raspberry Pi
  5. USB strāvas banka Raspberry Pi
  6. Ārējais 4V/1,5A akumulators robotu motoru vadīšanai

2. darbība: projekta veidošana

WebIOPi instalēšana, pielāgota koda rakstīšana un tīmekļa kameras konfigurēšana:

WebIoPi instalēšanas instrukcijas, pamatprincipi un daudzi piemēri ir pieejami projekta lapā šeit:

Lai LeapMotion funkcijas tiktu iegultas tīmekļa lapā, aktivizētu GPIO darbības Raspberry Pi, mēs esam izmantojuši makro, par kuru informācija ir atrodama šeit:

Esmu arī uzrakstījis dažas piezīmes par iepriekš minēto procesu, kuras var atrast pielikumā.

Tīmekļa kameras instalēšana un konfigurēšana

Mēs izmantojam MJPG-Streamer, lai straumētu video plūsmu no Raspberry Pi atpakaļ uz pārlūkprogrammu, izmantojot Pi savienoto USB tīmekļa kameru. Lūdzu, izpildiet šeit https://blog.miguelgrinberg.com/post/how-to-build-… norādītos iestatīšanas un veidošanas norādījumus, lai MJPG-Streamer sāktu strādāt ar Raspberry Pi.

Raspberry Pi kā AP/Hotspot konfigurēšana

Lai iestatītu Raspberry Pi kā resursdatoru, lūdzu, izpildiet šeit sniegtos norādījumus: https://elinux.org/RPI-Wireless-Hotspot. Es konfigurēju Raspberry Pi statisko IP kā 192.168.42.1, ko mēs ierakstām pārlūkprogrammā, tiklīdz Pi sāk darboties AP režīmā.

WebIOPi, MJPG-Streamer un WiFi tīklāja pakalpojums ir konfigurēts automātiskai palaišanai sāknēšanas laikā, un tas ļauj mums tieši atvērt tīmekļa pārlūkprogrammu un izveidot savienojumu ar robotu pēc tā palaišanas. Repo pieejamais rc.local fails tiek izmantots, lai palaistu tīmekļa kameru sāknēšanas laikā.

3. darbība. Uzbūves/elektroinstalācijas instrukcijas

4 Raspberry Pi GPIO, proti, GPIO 9, 11, 23 un 24, ir savienoti ar L293D motora draivera IC, kas attiecīgi darbina motorus pēc makro pieprasījumu saņemšanas no tīmekļa vietnes, ko apkalpo Webiopi sistēma. USB WiFi dongle un USB Logitech tīmekļa kamera ir savienoti ar 2 USB portiem, kas pieejami Raspberry Pi. 5V 4000 Mah jaudas banka piegādā Pi galveno enerģiju. Motoru darbināšanai tiek izmantots 4V 1.5A svina skābes akumulators.

Piezīme. Tā kā izmantotās strāvas bankas maksimālā izejas strāva bija niecīga 1000 Mah, motoru darbināšanai man bija jāizmanto ārējais svina skābes akumulators. Ja jums ir jaudas banka, kas dod> = 2000Mah, jūs varat tieši vadīt motorus no 5V sliedes uz Pi (es tomēr to neiesaku jaudīgiem motoriem)

Tālāk īsumā ir aprakstītas projekta 3 galvenās apakšnodaļas LeapMotion Javascript API, WebIOPi un MJPG-Streamer, kā arī to pamatdarbība/iestatīšana.

4. darbība. Izpratne par WebIOPi sistēmu

Pārlūkprogrammā redzamā priekšējā daļa ir rakstīta HTML (faila nosaukums: index.html) un JavaScript, savukārt aizmugure, kas vada GPIO, ir rakstīta Python (faila nosaukums: script.py). Detalizētas piezīmes par pielāgotas WebApp izveidi, pamatojoties uz WebIOPi ietvaru, ir pievienotas kā piezīmes Bitbucket repo.

Python skriptā definētos pielāgotos makro var aktivizēt no HTML faila.

Piemēram: webiopi (). CallMacro ("go_forward"); Šis ir pielāgots aicinājums makro go_forward, kas definēts Python skriptā, kas apstrādā abu motoru virzīšanas procesu uz priekšu.

Direktorija hierarhija, kurā faili tiek glabāti Pi, ir parādīta pievienotajā attēlā.

Mapē Robot ir šādas apakšmapes:

  • html: satur index.html
  • python: satur skriptu.py
  • mjpg-streamer-r63: satur būvēšanas failus un izpildāmo failu, lai palaistu tīmekļa kameru

-j.webp

LeapMotion kods:

Koda fragmenti no LeapMotion SDK sniegtajiem piemēriem tika iegulti failā index.html. LeapMotion fails leap.js ir jāpievieno Raspberry Pi projekta direktorija mapē html.

LeapMotion nosūtītais parametrs palmPosition tiek izmantots, lai noteiktu, kuru makro aktivizēt Raspberry Pi.

5. solis: projekta vadīšana

Vienkārši ieslēdziet Raspberry Pi un pagaidiet aptuveni minūti. Jūs redzēsiet jaunu RaspberryPi karsto vietu. Izveidojiet savienojumu ar šo tīklāju un pārlūkprogrammā atveriet šo statisko IP adresi: 192.168.42.1:8000. 8000 ir WebIOPi noklusējuma ports.

Raspberry Pi var arī konfigurēt, lai izveidotu savienojumu ar vietējo WiFi tīklu kā klienta vietā, nevis parādītu kā karsto punktu. Pēc tam jums ir jānosaka dinamiskais IP, ko maršrutētājs piešķīris Raspberry Pi, un pēc tam nospiediet to pārlūkprogrammā, lai spēlētu ar bot.

Ja jums nepieciešama palīdzība vai jums ir kādi jautājumi par projektu, varat atstāt komentāru. Laimīgu lēcienu!

Visi avota kodi ir pievienoti. Jūs varat atstāt komentāru, ja jums nepieciešama palīdzība kādā no projekta ēkas daļām. Laimīgu lēcienu!

Ieteicams: