Sisällysluettelo:

Hyppyliikkeen ohjaama etähaku- ja hävitysrobotti: 5 vaihetta
Hyppyliikkeen ohjaama etähaku- ja hävitysrobotti: 5 vaihetta

Video: Hyppyliikkeen ohjaama etähaku- ja hävitysrobotti: 5 vaihetta

Video: Hyppyliikkeen ohjaama etähaku- ja hävitysrobotti: 5 vaihetta
Video: Nekku ja hyppyliikkeen opettelua. 2024, Joulukuu
Anonim
Image
Image

Osana osallistumistani Leap Motion #3D Jamiin olin innoissani voidessani rakentaa tämän langattomalla eleohjatulla haku-/pelastusrobotilla, joka perustuu Raspberry Pi: hen. Tämä projekti osoittaa ja tarjoaa minimalistisen esimerkin siitä, kuinka langattomia 3D -eleitä voidaan käyttää fyysisten asioiden hallintaan ja vuorovaikutukseen.

Koska tämä projekti käyttää Raspberry Pi: n suosittua WebIOPi IoT -kehystä, sitä voidaan helposti laajentaa ohjaamaan ja liittämään tyypillisesti mitä tahansa anturia/laitteistoa/elektroniikkaa, joka voidaan liittää Raspberry Pi -laitteeseen.

Jotkut mahdolliset skenaariot, joita kuvittelen muiden päättäjien kanssa, voivat käyttää tätä projektia peruskehyksenään rakentaakseen:

1. Etäkäyttöinen pommin hävitysrobotti (mahdollisesti OWI -käsivarren tms. Avulla)

2. Etäkirurginen leikkaus lääkärin toimesta

3. Eleohjatut interaktiiviset taidenäyttelyt tai opetussisältö

4. Loputtomat muut mahdollisuudet/integraatiot (mielikuvitukseni rajoittaa minua:))

Vaihe 1: Yleiskatsaus

WebIOPi -kehyksen ymmärtäminen
WebIOPi -kehyksen ymmärtäminen

Tämän projektin avulla käyttäjä voi hallita interaktiivisesti robottia käyttämällä 3D -eleitä tietokoneeseen liitetyn harppausliikkeen avulla.

Robotissa olevassa Raspberry Pi -laitteessa on myös USB-verkkokamera, joka suoratoistaa suoraa videota takaisin käyttäjälle, mikä näkyy verkkoselaimessa. Tälle verkkosivulle upotettu LeapMotion JavaScript -kirjasto käsittelee eleitä ja lähettää ohjaussignaalit takaisin robotille, joka sitten liikkuu vastaavasti.

Robotissa oleva Raspberry Pi on määritetty hotspotiksi (AP -tila) siihen yhdistetyn USB -WiFi -sovittimen avulla. Tämän ansiosta tietokoneemme/laitteemme voivat muodostaa yhteyden suoraan Raspberry Pi -laitteeseen ja hallita niitä verkkosivun kautta. Raspberry Pi voidaan myös konfiguroida toimimaan asiakastilassa, jolloin se muodostaa langattoman yhteyden WiFi -reitittimen tukiasemaan, johon tietokone/laitteet on jo kytketty.

Tämä projekti perustuu WebIOPiin (https://webiopi.trouch.com/), joka on suosittu IoT -kehys Raspberry Pi: lle. Käyttämällä mukana toimitettua Weaved IoT Kit -sarjaa (tai reitittimen porttien edelleenlähetyksen kautta) tätä robottia voidaan ohjata kauko -ohjaimella ja/tai vastaanottaa tietoja mistä tahansa maailman kolkasta.

Projektin rakentamisessa käytettiin seuraavia komponentteja:

  1. Raspberry Pi B (100% eteenpäin yhteensopiva Raspberry Pi B+: n kanssa)
  2. Logitechin USB -verkkokamera (vähäinen 1,3 megapikselin)
  3. L293D -moottorin ohjaimen IC ja Breakout Shield
  4. USB WiFi Dongle Raspberry Pi: lle
  5. USB -virtapankki Raspberry Pi: lle
  6. Ulkoinen 4V/1,5A akku robottimoottoreiden ajamiseen

Vaihe 2: Projektin rakentaminen

WebIOPi: n asentaminen, mukautetun koodin kirjoittaminen ja verkkokameran määrittäminen:

WebIoPi -asennusohjeet, perusteet ja monia esimerkkejä ovat projektisivulla täällä:

Saadaksesi LeapMotion -toiminnot upotettuina Web -sivulle käynnistämään GPIO -toiminnot Raspberry Pi -laitteessa, olemme käyttäneet makroja, joiden tiedot löytyvät täältä:

Olen myös kirjoittanut joitakin aloitusmuistioita yllä olevasta prosessista, jotka löytyvät liitteenä.

Verkkokameran asentaminen ja määrittäminen

Käytämme MJPG-Streameria streamataksesi videon syötteen Raspberry Pi -laitteesta takaisin selaimeen Pi-laitteeseen liitetyn USB-verkkokameran kautta. Noudata tässä osoitteessa https://blog.miguelgrinberg.com/post/how-to-build-… olevia asennus- ja rakennusohjeita saadaksesi MJPG-Streamerin työskentelemään Raspberry Pi: n kanssa.

Raspberry Pi: n määrittäminen AP/hotspotiksi

Määritä Raspberry Pi isäntäpisteeksi noudattamalla tässä annettuja ohjeita: https://elinux.org/RPI-Wireless-Hotspot. Määritin Raspberry Pi: n staattisen IP: n 192.168.42.1: ksi, jonka kirjoitamme selaimeen, kun Pi käynnistyy AP -tilaan.

WebIOPi, MJPG-Streamer ja WiFi-hotspot-palvelu on määritetty toimimaan automaattisesti käynnistyksen yhteydessä, jolloin voimme avata suoraan verkkoselaimen ja muodostaa yhteyden robottiin sen käynnistymisen jälkeen. Repossa saatavilla olevaa rc.local -tiedostoa käytetään verkkokameran suorittamiseen käynnistyksen yhteydessä.

Vaihe 3: Rakennus-/kytkentäohjeet

4 Raspberry Pi: n GPIO: t GPIO 9, 11, 23 ja 24 on kytketty L293D -moottorin ohjainpiiriin, joka käyttää moottoreita vastaavasti saatuaan makropyynnöt Webiopi -kehyksen palvelemalta verkkosivulta. USB -WiFi -dongle ja USB Logitech -verkkokamera on liitetty Raspberry Pi -laitteen kahteen USB -porttiin. 5V 4000 Mah Power Bank toimittaa päävirtalähteen Pi: lle. 4V 1,5A lyijyhappoakkua käytetään moottorien käyttämiseen.

Huomautus: Koska käyttämäni virtapankin suurin lähtövirta oli vähäinen 1000 Mah, jouduin käyttämään ulkoista lyijyakkua moottorien käyttämiseen. Jos sinulla on virtapankki, joka antaa> = 2000Mah, voit ohjata moottoreita suoraan Pi: n 5V -kiskosta (en kuitenkaan suosittele tätä voimanhimoisille moottoreille)

Alla esitetään lyhyesti projektin LeapMotion Javascript API, WebIOPi ja MJPG-Streamer kolme keskeistä alajaksoa ja niiden perustoiminnot/asennukset.

Vaihe 4: WebIOPi -kehyksen ymmärtäminen

Selaimessa näkyvä käyttöliittymä on kirjoitettu HTML -muodossa (tiedostonimi: index.html) ja Javascript, kun taas GPIO: ta ohjaava taustaosa on kirjoitettu Python -tiedostona (tiedostonimi: script.py). Yksityiskohtaiset muistiinpanot WebIOPi -kehykseen perustuvan mukautetun WebApp -sovelluksen luomisesta on liitetty muistiinpanoina Bitbucket -repossa.

Python -komentosarjassa määritetyt mukautetut makrot voidaan laukaista HTML -tiedostosta.

Esimerkiksi: webiopi (). CallMacro ("go_forward"); Tämä on mukautettu kutsu makroon go_forward, joka on määritelty Python -skriptissä ja joka käsittelee molempien moottoreiden ajamista eteenpäin.

Hakemistohierarkia, johon tiedostot on tallennettu Pi: lle, näkyy liitteenä olevassa kuvassa.

Robot-kansio sisältää seuraavat alikansiot:

  • html: sisältää index.html
  • python: sisältää script.py
  • mjpg-streamer-r63: sisältää koontitiedostot ja suoritettavan Web-kameran suorittamista varten

MJPG-Streamer: USB-verkkokameran suora videovirta toimii oletuksena Pi-portilla 8080. Jos haluat katsella streamia manuaalisesti, siirry verkkokameran käynnistämisen jälkeen selaimen kohtaan RASPBERRYPI_IP: 8080.

LeapMotion -koodi:

Koodinpätkät LeapMotion SDK: n tarjoamista esimerkeistä upotettiin index.html -tiedostoon. LeapMotionin leap.js -tiedosto on lisättävä Raspberry Pi -projektin hakemiston html -kansioon.

LeapMotionin lähettämää palmPosition -parametria käytetään määrittämään, mikä makro käynnistetään Raspberry Pi -laitteessa.

Vaihe 5: Projektin suorittaminen

Kytke vain Raspberry Pi päälle ja odota noin minuutti. Näet uuden RaspberryPi -hotpsot. Muodosta yhteys tähän hotspotiin ja avaa tämä staattinen IP -osoite selaimessa: 192.168.42.1:8000. 8000 on WebIOPi: n oletusportti.

Raspberry Pi voidaan myös määrittää muodostamaan yhteys paikalliseen WiFi -verkkoon asiakkaaksi sen sijaan, että se näkyisi hotspotina. Sinun on sitten määritettävä reitittimen Raspberry Pi: lle määrittämä dynaaminen IP -osoite ja sitten se selaimessa pelataksesi Botilla.

Voit jättää kommentin, jos tarvitset apua tai sinulla on kysyttävää projektista. Hyvää hyppäämistä!

Koko lähdekoodi on liitetty. Voit jättää kommentin, jos tarvitset apua missä tahansa rakennuksen osassa. Hyvää hyppäämistä!

Suositeltava: