Mündəricat:

Sıçrayışla İdarə olunan Uzaqdan Axtarış və Atma Robotu: 5 addım
Sıçrayışla İdarə olunan Uzaqdan Axtarış və Atma Robotu: 5 addım

Video: Sıçrayışla İdarə olunan Uzaqdan Axtarış və Atma Robotu: 5 addım

Video: Sıçrayışla İdarə olunan Uzaqdan Axtarış və Atma Robotu: 5 addım
Video: Deutsch Lernen mit Dialogen B2 - Hören, Lesen & Verstehen 2024, Noyabr
Anonim
Image
Image

Leap Motion #3D Jam üçün girişimin bir hissəsi olaraq, Raspberry Pi əsasında bu simsiz jestlə idarə olunan Axtarış/Xilasetmə Robotunu qurmaqdan həyəcanlandım. Bu layihə simsiz 3D əl hərəkətlərinin fiziki əşyaları idarə etmək və onlarla qarşılıqlı əlaqə qurmaq üçün necə istifadə olunacağına dair minimalist bir nümunə təqdim edir və təqdim edir.

Bu layihə Raspberry Pi -də populyar WebIOPi IoT çərçivəsini istifadə etdiyindən, Raspberry Pi ilə əlaqələndirilə bilən hər hansı bir Sensor/Hardware/Elektronika idarə etmək və birləşdirmək üçün çox asanlıqla genişləndirilə bilər.

Yaradıcı yoldaşlarımın bu layihəni əsas çərçivə olaraq istifadə edə biləcəyini düşündüyüm bəzi mümkün ssenarilər:

1. Uzaqdan jestlə idarə olunan bomba atma robotu (bəlkə OWI qolu və s. İstifadə edərək)

2. Bir Həkimin Uzaqdan Cərrahi Əməliyyatı

3. Jestlə idarə olunan interaktiv İncəsənət Sərgiləri və ya Təhsil Məzmunu

4. Sonsuz digər imkanlar/inteqrasiya (təsəvvürümlə məhdudlaşıram:))

Addım 1: Baxış

WebIOPi Çərçivəsini anlamaq
WebIOPi Çərçivəsini anlamaq

Bu layihə, bir istifadəçiyə bir PC -yə qoşulmuş bir Leap Motion vasitəsi ilə 3D əl hərəkətləri istifadə edərək Robotu interaktiv olaraq idarə etməyə imkan verir.

Robotun içərisində olan Raspberry Pi, eyni zamanda veb brauzerdə görünə bilən istifadəçiyə canlı video axını verən USB veb kamerasına malikdir. Bu Veb səhifəyə daxil edilmiş LeapMotion JavaScript kitabxanası əl hərəkətlərini emal edir və idarəetmə siqnallarını Robota geri göndərir, sonra da müvafiq olaraq hərəkət edir.

Robotdakı Raspberry Pi, ona qoşulmuş USB WiFi dongle köməyi ilə Hotspot (AP rejimi) olaraq qurulmuşdur. Bu, PC/Cihazlarımıza birbaşa Raspberry Pi -yə qoşulmağa və veb səhifəsi vasitəsilə idarə etməyə imkan verir. Raspberry Pi, müştəri rejimində işləmək üçün də konfiqurasiya edilə bilər, burada kabelsiz olaraq PC/Cihazların qoşulduğu WiFi Router AP -yə qoşulur.

Bu layihə Raspberry Pi üçün məşhur bir IoT çərçivəsi olan WebIOPi (https://webiopi.trouch.com/) əsasında qurulmuşdur. Birlikdə verilən Weaved IoT Kitindən (və ya Router üzərindəki liman yönləndirmə vasitəsi ilə) istifadə edərək, bu Robot uzaqdan idarə oluna və/və ya dünyanın istənilən nöqtəsindən məlumat ala bilər.

Layihənin hazırlanması üçün aşağıdakı komponentlərdən istifadə edilmişdir:

  1. Raspberry Pi B (Raspberry Pi B+ilə 100% irəli uyğun)
  2. Logitech USB Veb Kamerası (kiçik 1.3 Megapiksel)
  3. L293D Motor Sürücü IC və Breakout Shield
  4. Raspberry Pi üçün USB WiFi Dongle
  5. Raspberry Pi üçün USB Güc Bankı
  6. Robot mühərrikləri idarə etmək üçün xarici 4V/1.5A batareya

Addım 2: Layihənin qurulması

WebIOPi qurmaq, Xüsusi Kod yazmaq və Veb Kameranı konfiqurasiya etmək:

WebIoPi quraşdırma təlimatları, çərçivə əsasları və bir çox nümunə burada layihə səhifəsində mövcuddur:

Veb səhifədə yerləşdirilmiş LeapMotion funksiyalarını əldə etmək üçün, Raspberry Pi -də GPIO hərəkətlərini tetiklerken, detalları burada olan makrolardan istifadə etdik:

Əlavə olaraq tapıla biləcək yuxarıdakı proses haqqında bəzi başlanğıc qeydləri də yazdım.

Veb kameranın quraşdırılması və konfiqurasiyası

Video axınını Raspberry Pi-dən Pi-yə qoşulmuş USB veb kamerası vasitəsilə yenidən Brauzerə ötürmək üçün MJPG-Streamer istifadə edirik. Zəhmət olmasa MJPG-Streamer-in Raspberry Pi üzərində işləməsini təmin etmək üçün https://blog.miguelgrinberg.com/post/how-to-build-… burada göstərilən quraşdırma və qurma təlimatlarına əməl edin.

Raspberry Pi -ni AP/Hotspot olaraq konfiqurasiya etmək

Raspberry Pi-ni Hostpot olaraq qurmaq üçün burada verilən təlimatları izləyin: https://elinux.org/RPI-Wireless-Hotspot. Raspberry Pi -nin statik IP -ni 192.168.42.1 olaraq konfiqurasiya etdim ki, Pi AP rejiminə keçdikdən sonra brauzerə yazacağıq.

WebIOPi, MJPG-Streamer və WiFi qaynar nöqtə xidməti açılışda avtomatik işləyəcək şəkildə konfiqurasiya edilmişdir ki, bu da birbaşa veb brauzeri açmağa və açıldıqdan sonra Robota qoşulmağa imkan verir. Repoda mövcud olan rc.local faylı, veb kameranı açılışda işə salmaq üçün istifadə olunur.

Addım 3: Quraşdırma/Kablolama Təlimatları

Raspberry Pi -nin 4 GPIO, yəni GPIO 9, 11, 23 və 24, Webiopi çərçivəsinin xidmət etdiyi veb səhifədən makro istəkləri aldıqdan sonra mühərrikləri buna uyğun olaraq idarə edən L293D Motor Driver IC -yə bağlıdır. USB WiFi kilidi və USB Logitech Veb Kamerası Raspberry Pi -də mövcud olan 2 USB portuna qoşulub. 5V 4000 Mah Power bankı, Pi -yə əsas gücü verir. Motorları idarə etmək üçün 4V 1.5A qurğuşun turşusu batareyası istifadə olunur.

Qeyd: İstifadə etdiyim güc bankının maksimum çıxış cərəyanı çox az 1000 Mah olduğundan mühərrikləri idarə etmək üçün xarici qurğuşun turşusu batareyasından istifadə etməli oldum. Əgər> = 2000Mah verən bir güc bankınız varsa, mühərrikləri Pi üzərindəki 5V raydan birbaşa idarə edə bilərsiniz (buna baxmayaraq ac olan mühərriklər üçün bunu məsləhət görməzdim)

LeapMotion Javascript API, WebIOPi və MJPG-Streamer layihəsinin 3 əsas alt bölməsi və onların əsas iş/qurulması aşağıda qısaca təsvir edilmişdir.

Addım 4: WebIOPi Çərçivəsini anlayın

Brauzerdə göstərilən ön uç HTML (Fayl adı: index.html) və Javascript, GPIOları idarə edən arxa tərəf Python (Fayl adı: script.py) ilə yazılmışdır. WebIOPi çərçivəsinə əsaslanan xüsusi bir WebApp yaratmaqla bağlı ətraflı qeydlər Bitbucket deposunda qeydlər kimi əlavə olunur.

Python skriptində müəyyən edilmiş xüsusi makrolar HTML faylından tetiklenebilir.

Məsələn: webiopi (). CallMacro ("go_forward"); Bu, həm Motors -un irəli istiqamətdə hərəkət etməsi prosesini idarə edən Python skriptində müəyyən edilmiş go_forward makrosuna xüsusi bir zəngdir.

Faylların Pi -də saxlandığı Kataloq iyerarxiyası əlavə olunmuş şəkildə göstərilir.

Robot qovluğunda bu alt qovluqlar var:

  • html: index.html ehtiva edir
  • python: script.py ehtiva edir
  • mjpg-streamer-r63: Veb Kameranı işə salmaq üçün yaradılmış faylları və icra olunan faylları ehtiva edir

MJPG-Streamer: USB Veb Kamerasından Canlı Video axını, standart olaraq Pi 8080 portunda işləyir. Yayını əl ilə görmək üçün veb kameranı açdıqdan sonra brauzerdə RASPBERRYPI_IP: 8080 ünvanına gedin.

LeapMotion Kodu:

LeapMotion SDK -da verilən nümunələrdən alınan kod parçaları index.html faylına daxil edilmişdir. LeapMotion -un leap.js faylı, Raspberry Pi üzərindəki layihə kataloqundakı html qovluğuna əlavə edilməlidir.

LeapMotion tərəfindən göndərilən palmPosition parametri, Raspberry Pi -də hansı makronun tetikleneceğini təyin etmək üçün istifadə olunur.

Addım 5: Layihəni icra edin

Sadəcə Raspberry Pi -ni yandırın və təxminən bir dəqiqə gözləyin. Yeni bir qaynar nöqtə olan RaspberryPi görünəcək. Bu qaynar nöqtəyə qoşulun və brauzerdə bu statik IP ünvanını açın: 192.168.42.1:8000. 8000, WebIOPi -nin standart portudur.

Raspberry Pi, eyni zamanda bir qaynar nöqtə olaraq görünmək əvəzinə, yerli WiFi şəbəkəsinə bağlanmaq üçün konfiqurasiya edilə bilər. Daha sonra Router tərəfindən Raspberry Pi -yə təyin edilmiş dinamik IP -ni təyin etməli və sonra Bot ilə oynamaq üçün Brauzerdə vurmalısınız.

Hər hansı bir yardıma ehtiyacınız varsa və ya layihə ilə bağlı hər hansı bir sualınız varsa, şərh yaza bilərsiniz. Xoşbəxt sıçrayış!

Bütün mənbə kodları əlavə edilmişdir. Layihənin hər hansı bir hissəsi ilə bağlı hər hansı bir yardıma ehtiyacınız olarsa şərh yaza bilərsiniz. Xoşbəxt sıçrayış!

Tövsiyə: