Talaan ng mga Nilalaman:
- Hakbang 1: Pangkalahatang-ideya
- Hakbang 2: Bumuo ng Project
- Hakbang 3: Mga Tagubilin sa Bumuo / Mga Kable
- Hakbang 4: Pag-unawa sa WebIOPi Framework
- Hakbang 5: Pagpapatakbo ng Proyekto
Video: Leap Motion Controlled Remote Search and Disposal Robot: 5 Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:10
Bilang bahagi ng aking pagpasok para sa Leap Motion # 3D Jam, nasasabik akong buuin ang wireless na kilos na kontrolado ang Search / Rescue Robot batay sa Raspberry Pi. Ang proyektong ito ay nagpapakita at nagbibigay ng isang minimalistic na halimbawa ng kung paano maaaring magamit ang mga wireless 3D na kilos ng kamay upang makontrol at makipag-ugnay sa mga pisikal na bagay.
Dahil ang proyektong ito ay gumagamit ng sikat na balangkas ng WebIOPi IoT sa Raspberry Pi, maaari itong madaling palawakin upang makontrol at mai-interface ang karaniwang anumang Sensor / Hardware / Electronics na maaaring ma-interfaced sa Raspberry Pi.
Ang ilang mga posibleng sitwasyon na naiisip ko ang mga kapwa Gumagawa na maaaring gumamit ng proyektong ito bilang kanilang pangunahing balangkas upang mabuo sa:
1. Remote Gesture Operated Bomb Disposal Robot (gumagamit ng marahil isang OWI Arm atbp)
2. Remote Surgical Operation ng isang Doctor
3. Kinokontrol ng kilos na interactive na Mga Art Exhibit o Nilalaman sa Pang-edukasyon
4. Walang katapusang iba pang mga posibilidad / pagsasama (Limitado ako ng aking imahinasyon:))
Hakbang 1: Pangkalahatang-ideya
Pinapayagan ng proyektong ito ang isang gumagamit na interactive na kontrolin ang isang Robot gamit ang mga kilos ng kamay ng 3D sa pamamagitan ng isang Leap Motion na konektado sa isang PC.
Ang Raspberry Pi on-board ng Robot ay mayroon ding isang USB Webcam na nag-stream ng live na video pabalik sa gumagamit na maaaring makita sa isang Web Browser. Ang LeapMotion JavaScript library na naka-embed sa Webpage na ito ay nagpoproseso ng mga kilos ng kamay at nagpapadala ng mga signal ng kontrol pabalik sa Robot, na pagkatapos ay gumagalaw nang naaayon.
Ang Raspberry Pi sa Robot ay naka-configure bilang isang Hotspot (AP mode) sa tulong ng USB WiFi dongle na konektado dito. Pinapayagan ang aming mga PC / Device na direktang kumonekta sa Raspberry Pi at makontrol sa pamamagitan ng isang webpage. Maaari ding mai-configure ang Raspberry Pi upang mapatakbo sa client mode, kung saan wireless itong kumokonekta sa AP ng Router ng WiFi kung saan nakakonekta na ang PC / Mga Device.
Ang proyektong ito ay batay sa WebIOPi (https://webiopi.trouch.com/) na isang tanyag na IoT framework para sa Raspberry Pi. Sa pamamagitan ng paggamit ng na-bundle na Weaved IoT Kit (o sa pamamagitan ng pagpapasa ng port sa Router), ang Robot na ito ay maaaring makontrol nang malayuan at / o makatanggap ng data mula sa anumang bahagi ng mundo.
Ang mga sumusunod na sangkap ay ginamit para sa pagbuo ng proyekto:
- Raspberry Pi B (100% pasulong na katugma sa Raspberry Pi B +)
- Logitech USB Webcam (paltry 1.3 Megapixel)
- L293D Motor Driver IC at Breakout Shield
- USB WiFi Dongle para sa Raspberry Pi
- USB Power Bank para sa Raspberry Pi
- Panlabas na 4V / 1.5A Baterya para sa pagmamaneho ng Robot Motors
Hakbang 2: Bumuo ng Project
Pag-install ng WebIOPi, Pagsulat ng Pasadyang Code at pag-configure ng Webcam:
Ang mga tagubilin sa pag-install ng WebIoPi, mga pangunahing kaalaman sa balangkas at maraming mga halimbawa ay magagamit sa pahina ng proyekto dito:
Upang makuha ang mga pagpapaandar ng LeapMotion na naka-embed sa web page na nagpapalitaw ng mga aksyon ng GPIO sa Raspberry Pi, ginamit namin ang Macros, na ang mga detalye ay matatagpuan dito:
Nagsulat din ako ng ilang pagsisimula ng mga tala tungkol sa proseso sa itaas na maaaring matagpuan na nakakabit.
Pag-install at Pag-configure ng Webcam
Gumagamit kami ng MJPG-Streamer upang mai-stream ang video feed mula sa Raspberry Pi pabalik sa Browser sa pamamagitan ng USB Webcam na konektado sa Pi. Mangyaring sundin ang pag-set up at pagbuo ng mga tagubilin na nakasaad dito https://blog.miguelgrinberg.com/post/how-to- build-… upang makatrabaho ang MJPG-Streamer sa Raspberry Pi.
Ang pag-configure ng Raspberry Pi bilang isang AP / Hotspot
Upang mai-setup ang Raspberry Pi bilang isang Hostpot, mangyaring sundin ang mga tagubiling ibinigay dito: https://elinux.org/RPI-Wireless-Hotspot. Na-configure ko ang static IP ng Raspberry Pi bilang 192.168.42.1 na kung saan ay mai-type namin sa browser sa sandaling ang Pi boots ay nasa AP mode.
Ang serbisyo ng WebIOPi, MJPG-Streamer at WiFi hotspot ay na-configure upang awtomatikong tumakbo sa boot at pinapayagan kaming direktang buksan ang isang Web browser at kumonekta sa Robot pagkatapos nitong mag-boot. Ang rc.local file na magagamit sa repo ay ginagamit upang patakbuhin ang Webcam sa boot.
Hakbang 3: Mga Tagubilin sa Bumuo / Mga Kable
4 GPIO ng Raspberry Pi namely GPIO 9, 11, 23 & 24 ay konektado sa L293D Motor Driver IC na hinihimok ang mga motor alinsunod sa pagtanggap ng mga kahilingan sa macro mula sa Webpage na hinatid ng balangkas ng Webiopi. Ang dongle ng USB WiFi at ang USB Logitech Webcam ay konektado sa 2 USB port na magagamit sa Raspberry Pi. Ang isang 5V 4000 Mah Power bank ay nagbibigay ng pangunahing lakas sa Pi. Ang isang 4V 1.5A Lead Acid na baterya ay ginagamit upang himukin ang mga Motors.
Tandaan: Dahil ang pinakamataas na kasalukuyang output ng power bank na ginamit ko ay isang maliit na 1000 Mah, kinailangan kong gumamit ng panlabas na baterya ng Lead Acid upang magmaneho ng mga motor. Kung mayroon kang isang power bank na nagbibigay> = 2000Mah, maaari mong direktang ihimok ang mga motor mula sa 5V rail sa Pi (hindi ko inirerekumenda ito para sa mga motor na nagugutom ng kuryente)
Ang 3 pangunahing mga subseksyon ng proyekto na LeapMotion Javascript API, WebIOPi at MJPG-Streamer at ang kanilang pangunahing pagtatrabaho / pag-setup ay maikling nakabalangkas sa ibaba.
Hakbang 4: Pag-unawa sa WebIOPi Framework
Ang frontend na ipinapakita sa Browser ay nakakulong sa HTML (Filename: index.html) at Javascript habang ang backend na nagtutulak ng mga GPIO ay nakasulat sa Python (Filename: script.py). Ang mga detalyadong tala sa paglikha ng isang pasadyang WebApp batay sa balangkas ng WebIOPi ay naka-attach bilang mga tala sa Repro ng Bitbucket.
Ang mga pasadyang macros na tinukoy sa script ng Python ay maaaring ma-trigger mula sa HTML file.
Hal: webiopi (). CallMacro ("go_forward"); Ito ay isang pasadyang tawag sa isang macro go_forward na tinukoy sa script ng Python na humahawak sa proseso ng drving parehong Motors sa pasulong na direksyon.
Ang hierarchy ng Directory kung saan nakaimbak ang mga file sa Pi ay ipinapakita sa naka-attach na imahe.
Naglalaman ang folder ng Robot ng mga sub-folder na ito:
- html: naglalaman ng index.html
- sawa: naglalaman ng script.py
- m.jpg-streamer-r63: naglalaman ng mga build file at maipapatupad upang patakbuhin ang Webcam
MJPG-Streamer: Ang Live Video stream mula sa USB Webcam ay tumatakbo sa port 8080 ng Pi bilang default. Upang manu-manong matingnan ang stream, mag-navigate sa RASPBERRYPI_IP: 8080 sa browser pagkatapos i-on ang Webcam.
LeapMotion Code:
Ang mga snippet ng code mula sa mga halimbawang ibinigay sa LeapMotion SDK ay naka-embed sa index.html file. Ang leapMotion's leap.js file ay dapat idagdag sa folder na html sa direktoryo ng proyekto sa Raspberry Pi.
Ang parameter ng palmPosition na ipinadala ng LeapMotion ay ginagamit upang matukoy kung aling macro ang magpapalitaw sa Raspberry Pi.
Hakbang 5: Pagpapatakbo ng Proyekto
Lamang kapangyarihan SA Raspberry Pi at maghintay ng humigit-kumulang sa isang minuto. Makakakita ka ng isang bagong hotpsot na RaspberryPi na lalabas. Kumonekta sa hotspot na ito at buksan ang static na IP address na ito sa browser: 192.168.42.1:8000. Ang 8000 ay ang default port ng WebIOPi.
Maaari ding mai-configure ang Raspberry Pi upang kumonekta sa lokal na network ng WiFi bilang isang sa kliyente sa halip na ipakita bilang isang hotspot. Kakailanganin mong tukuyin ang pabago-bagong IP na nakatalaga sa Raspberry Pi ng Router at pagkatapos ay pindutin ito sa Browser upang maglaro kasama ang Bot.
Maaari kang mag-iwan ng isang komento kung kailangan mo ng anumang tulong o may anumang mga katanungan tungkol sa proyekto. Maligayang Paglundag!
Ang buong mga source code ay na-attach. Maaari kang mag-iwan ng isang komento kung kailangan mo ng anumang tulong sa anumang bahagi ng pagbuo ng proyekto. Maligayang Paglundag!
Inirerekumendang:
Leap Motion Controller. (Progetto Arduino): 4 na Hakbang
Leap Motion Controller. (Progetto Arduino): Pinili ng pakikipagsapalaran para sa Leap Motion sa bawat kontrol na pinangungunahan ng RGB sa relazione al Movimento delle mani nello spazio. Sanggunian: Leap Motion SDK: https: // developer-archive.leapmotion.com/doc
Transform-a-Car: Remote Controlled to Self Controlled: 4 Hakbang
Transform-a-Car: Remote Controlled to Self Controlled: Ito ay isang pag-hack sa isang RC car na may sirang remote. Maaari kang makahanap ng maraming sa mga benta sa garahe
Bumuo ng isang $ 15 Remote Controlled ESP8266 Robot Butler / Car / Tank para sa Ios at Android: 4 na Hakbang
Bumuo ng isang $ 15 Remote Controlled ESP8266 Robot Butler / Car / Tank para sa Ios at Android: Ayaw mo bang maglakad sa kusina upang kumuha ng meryenda? O upang makakuha ng bagong inumin? Maaari itong maayos sa simpleng $ 15 na remote control butler na ito. Bago pa tayo magpatuloy nagpapatakbo ako ng isang proyekto ng Kickstarter ngayon para sa isang kontroladong boses na RGB ledstrip
Bomb Disposal Robot (Termenatör): 13 Mga Hakbang (na may Mga Larawan)
Bomb Disposal Robot (Termenatör): Mga Tampok: * Sinusuportahan ang mga walang sasakyan na sasakyang panghimpapawid * Ang robotic arm (6-way) * Burning laser system * Ang system ng camera (3 camera) * Sistema ng pagsubaybay na protektado ng baso ng Google * Sistema ng pagbabarena * Depende sa drilling system , endoscopy camera ng ahas * Ha
Remote na Kinokontrol na Robot Gamit ang Arduino at T.V. Remote: 11 Mga Hakbang
Remote Controlled Robot Paggamit ng Arduino at TV Remote: Ang malayuang kinokontrol na kotse na ito ay maaaring ilipat sa paligid gamit ang halos anumang uri ng remote tulad ng TV, AC atbp. Ginagamit ang katotohanan na ang remote ay naglalabas ng IR (infrared). Ginamit ang pag-aari na ito ng sa pamamagitan ng paggamit ng isang IR receiver, na kung saan ay isang napaka-murang sensor. Sa ika