Isi kandungan:

Robot Pencarian dan Pelupusan Jauh Dikawal Gerakan Lompat: 5 Langkah
Robot Pencarian dan Pelupusan Jauh Dikawal Gerakan Lompat: 5 Langkah

Video: Robot Pencarian dan Pelupusan Jauh Dikawal Gerakan Lompat: 5 Langkah

Video: Robot Pencarian dan Pelupusan Jauh Dikawal Gerakan Lompat: 5 Langkah
Video: 【Multi Sub】I Return from the Heaven and Worlds EP 1-111 2024, November
Anonim
Image
Image

Sebagai sebahagian daripada entri saya untuk Jam 3D Leap Motion #, saya teruja untuk membina Robot Carian / Penyelamat yang dikawal dengan isyarat tanpa wayar ini berdasarkan Raspberry Pi. Projek ini menunjukkan dan memberikan contoh minimalis bagaimana isyarat tangan 3D tanpa wayar dapat digunakan untuk mengawal dan berinteraksi dengan barang fizikal.

Oleh kerana projek ini menggunakan kerangka WebIOPi IoT yang popular di Raspberry Pi, projek ini dapat dikembangkan dengan mudah untuk mengawal dan menghubungkan antara lain Sensor / Perkakasan / Elektronik yang dapat dihubungkan dengan Raspberry Pi.

Beberapa senario yang mungkin saya bayangkan sesama Pembuat boleh menggunakan projek ini sebagai kerangka asas mereka untuk membina:

1. Robot Pelupusan Bom Dikendalikan Gerakan Jauh (menggunakan mungkin Lengan OWI dll)

2. Operasi Pembedahan Jauh oleh Doktor

3. Pameran Seni interaktif yang dikawal dengan isyarat atau Kandungan Pendidikan

4. Kemungkinan / integrasi lain yang tidak terhingga (saya dibatasi oleh imaginasi saya:))

Langkah 1: Gambaran keseluruhan

Memahami Kerangka WebIOPi
Memahami Kerangka WebIOPi

Projek ini membolehkan pengguna mengawal Robot secara interaktif menggunakan isyarat tangan 3D melalui Leap Motion yang disambungkan ke PC.

Raspberry Pi di atas Robot juga mempunyai Webcam USB yang mengalirkan video langsung ke pengguna yang dapat dilihat di Penyemak Imbas Web. Perpustakaan JavaScript LeapMotion yang disertakan dalam Halaman Web ini memproses isyarat tangan dan menghantar isyarat kawalan kembali ke Robot, yang kemudian bergerak sesuai.

Raspberry Pi pada Robot dikonfigurasi sebagai Hotspot (mod AP) dengan bantuan dongle WiFi USB yang disambungkan kepadanya. Ini membolehkan PC / Peranti kami berhubung terus ke Raspberry Pi dan mengawal melalui laman web. Raspberry Pi juga dapat dikonfigurasi untuk beroperasi dalam mod klien, di mana ia menyambung tanpa wayar ke AP Router WiFi yang PC / Perangkat sudah disambungkan.

Projek ini berdasarkan WebIOPi (https://webiopi.trouch.com/) yang merupakan kerangka IoT yang popular untuk Raspberry Pi. Dengan menggunakan Kit Tenunan IoT yang dibundel (atau melalui penerusan port di Router), Robot ini dapat dikendalikan dari jarak jauh dan / atau menerima data dari mana-mana bahagian dunia.

Komponen berikut digunakan untuk membina projek:

  1. Raspberry Pi B (100% maju serasi dengan Raspberry Pi B +)
  2. Kamera Web Logitech USB (1.3 Megapixel)
  3. IC Pemacu Motor L293D dan Breakout Shield
  4. Dongle WiFi USB untuk Raspberry Pi
  5. Bank Kuasa USB untuk Raspberry Pi
  6. Bateri 4V / 1.5A luaran untuk memandu Robot Motors

Langkah 2: Pembinaan Projek

Memasang WebIOPi, Menulis Kod Tersuai dan mengkonfigurasi Kamera Web:

Arahan pemasangan WebIoPi, asas kerangka dan banyak contoh boleh didapati di halaman projek di sini:

Untuk mendapatkan fungsi LeapMotion yang tertanam di laman web mencetuskan tindakan GPIO pada Raspberry Pi, kami telah menggunakan Makro, perinciannya terdapat di sini:

Saya juga telah menulis beberapa nota permulaan mengenai proses di atas yang boleh dilampirkan.

Memasang dan Mengkonfigurasi Kamera Web

Kami menggunakan MJPG-Streamer untuk mengalirkan suapan video dari Raspberry Pi kembali ke Penyemak Imbas melalui USB Webcam yang disambungkan pada Pi. Ikuti arahan penyediaan dan binaan yang ditunjukkan di sini https://blog.miguelgrinberg.com/post/how-to-build-… untuk mendapatkan MJPG-Streamer yang berfungsi pada Raspberry Pi.

Mengkonfigurasi Raspberry Pi sebagai AP / Hotspot

Untuk menyiapkan Raspberry Pi sebagai Hostpot, ikuti arahan yang disediakan di sini: https://elinux.org/RPI-Wireless-Hotspot. Saya mengkonfigurasi IP statik dari Raspberry Pi sebagai 192.168.42.1 yang akan kita taipkan ke penyemak imbas setelah Pi menaikkan ke mod AP.

Perkhidmatan hotspot WebIOPi, MJPG-Streamer dan WiFi telah dikonfigurasikan untuk dijalankan secara automatik semasa boot dan ini membolehkan kami membuka penyemak imbas Web secara langsung dan menyambung ke Robot setelah boot. Fail rc.local yang tersedia di repo digunakan untuk menjalankan Webcam semasa boot.

Langkah 3: Arahan Pembinaan / Pendawaian

4 GPIO dari Raspberry Pi iaitu GPIO 9, 11, 23 & 24 disambungkan ke IC Pemacu Motor L293D yang menggerakkan motor dengan sewajarnya setelah menerima permintaan makro dari Halaman Web yang dilayan oleh kerangka Webiopi. Dongle WiFi USB dan Webcam USB Logitech disambungkan ke 2 port USB yang terdapat di Raspberry Pi. Bank Power 5V 4000 Mah membekalkan kuasa utama kepada Pi. Bateri 4V 1.5A Acid Lead digunakan untuk menggerakkan Motor.

Catatan: Oleh kerana arus keluaran maksimum power bank yang saya gunakan adalah 1000 Mah, saya harus menggunakan bateri Asid Lead luaran untuk menggerakkan motor. Sekiranya anda mempunyai power bank yang memberikan> = 2000Mah, anda boleh menggerakkan motor secara langsung dari rel 5V pada Pi (saya tidak mengesyorkan ini untuk motor yang haus kuasa)

3 bahagian utama projek LeapMotion Javascript API, WebIOPi dan MJPG-Streamer dan asas / kerja asas mereka dijelaskan secara ringkas di bawah.

Langkah 4: Memahami Kerangka WebIOPi

Bahagian depan yang ditunjukkan pada Penyemak Imbas ditulis dalam HTML (Nama Filem: index.html) & Javascript sementara backend yang mendorong GPIO ditulis dalam Python (Nama Filem: script.py). Catatan terperinci mengenai pembuatan WebApp khusus berdasarkan rangka WebIOPi dilampirkan sebagai nota di repo Bitbucket.

Makro khusus yang ditentukan dalam skrip Python dapat dipicu dari fail HTML.

Cth: webiopi (). CallMacro ("go_forward"); Ini adalah panggilan khusus untuk makro go_forward yang ditentukan dalam skrip Python yang menangani proses menggerakkan kedua-dua Motor ke arah depan.

Hierarki Direktori tempat fail disimpan pada Pi ditunjukkan dalam gambar yang dilampirkan.

Folder Robot mengandungi sub-folder berikut:

  • html: mengandungi index.html
  • python: mengandungi script.py
  • mjpg-streamer-r63: mengandungi fail binaan dan dapat dijalankan untuk menjalankan Webcam

MJPG-Streamer: Aliran Video Langsung dari Kamera Web USB berjalan pada port 8080 Pi secara lalai. Untuk melihat aliran secara manual, arahkan ke RASPBERRYPI_IP: 8080 pada penyemak imbas setelah menghidupkan Kamera Web.

Kod LeapMotion:

Coretan kod dari contoh yang diberikan dalam LeapMotion SDK disematkan ke dalam file index.html. Fail leap.js LeapMotion harus ditambahkan ke dalam folder html di direktori projek di Raspberry Pi.

Parameter palmPosition yang dikirim oleh LeapMotion digunakan untuk menentukan makro mana yang akan dicetuskan pada Raspberry Pi.

Langkah 5: Menjalankan Projek

Cukup hidupkan Raspberry Pi dan tunggu kira-kira satu minit. Anda akan melihat RaspberryPi hotpsot baru muncul. Sambungkan ke hotspot ini dan buka alamat IP statik ini di penyemak imbas: 192.168.42.1:8000. 8000 adalah port lalai WebIOPi.

Raspberry Pi juga dapat dikonfigurasi untuk terhubung ke rangkaian WiFi tempatan sebagai in clien dan bukan muncul sebagai hotspot. Anda kemudian perlu menentukan IP dinamik yang diberikan kepada Raspberry Pi oleh Router dan kemudian memukulnya di Penyemak Imbas untuk bermain-main dengan Bot.

Anda boleh memberikan komen sekiranya anda memerlukan bantuan atau mempunyai pertanyaan mengenai projek tersebut. Selamat Melompat!

Seluruh kod sumber telah dilampirkan. Anda boleh memberikan komen sekiranya anda memerlukan pertolongan dengan mana-mana bahagian bangunan projek ini. Selamat Melompat!

Disyorkan: