Kit Robot Navigasi Indoor Cerdas untuk Proyek Arduino
Komponen dan Perlengkapan
- Kit Chassis Robot Motor Cerdas dengan Kotak Baterai dan Enkoder Kecepatan DIY untuk Arduino – 1 unit
- oblu – IMU open source untuk navigasi pejalan kaki indoor – 1 unit
- Papan Roti Tanpa Pengatap Ukuran Setengah – 1 unit
- Kabel Jumper Jantan/Betina – 1 set
- Kapasitor 1000 µF – 2 unit
- Driver Motor Dual H-Bridge Texas Instruments L293D – 1 unit
- Arduino Mega 2560 – 1 unit
- Baterai Rechargeable Ni-MH AA 2800 – 1 unit
Alat dan Mesin yang Diperlukan
Aplikasi dan Layanan Online
Tentang Proyek Ini
Cerita Kami
Proyek ini membahas cara membuat robot bergerak pada jalur yang telah ditentukan dengan presisi tinggi, tanpa menggunakan GPS, WiFi, atau Bluetooth untuk penentuan posisi, dan bahkan tanpa peta atau tata letak gedung. Robot juga akan menggambar jalur aktualnya (skala sebenarnya) secara real-time. Bluetooth dapat digunakan sebagai pengganti kabel untuk mengirimkan informasi lokasi real-time.
Cerita Latar Belakang
Kami mencari solusi yang kuat untuk navigasi indoor pada robot berbasis Arduino. Dalam memilih solusi deteksi gerakan yang tepat untuk aplikasi ini, kami juga mempertimbangkan Oblu (sebuah IMU open source). Biayanya yang rendah dan sifatnya yang open source menjadikannya calon yang memungkinkan. Bagian yang sulit di sini adalah program open source oblu cocok untuk navigasi Pejalan Kaki Mati Hitung (PDR) atau Navigasi Pejalan Kaki yang dipasang pada kaki, dalam kata sederhana. Kinerja PDR Oblu dalam ruangan sebagai IMU yang dipasang pada kaki cukup mengesankan. Keuntungan besarnya adalah aplikasi Android gratis (Xoblu) untuk pelacakan posisi real-time. Namun, kami tidak yakin bagaimana menggunakan algoritma navigasi pejalan kaki yang ada yang didasarkan pada model berjalan manusia.
Perhitungan internal Oblu didasarkan pada berjalan manusia. Oblu menghasilkan perpindahan antara dua langkah berturut-turut dan perubahan arah. Ketika kaki menyentuh tanah, kecepatan tapak kaki adalah nol, yaitu tapak kaki dalam keadaan diam. Dengan cara ini Oblu mendeteksi 'langkah' dan memperbaiki beberapa kesalahan internal. Koreksi kesalahan yang sering ini menghasilkan kinerja pelacakan yang baik. Jadi inilah intinya. Bagaimana jika robot kami juga berjalan dengan cara yang sama - bergerak, berhenti, bergerak, berhenti..
Kami memilih Oblu dan dalam waktu singkat kami dapat merakit robot dan sistem pelacakannya. Sisa cerita ada dalam video berikut...
Cara Kerja
Robot bergerak pada jalur yang telah diprogram sebelumnya dan mengirimkan (melalui Bluetooth) informasi gerakan aktualnya ke ponsel untuk pelacakan real-time.
Arduino telah diprogram dengan jalur dan oblu digunakan untuk merasakan gerakan robot. oblu mengirimkan informasi gerakan ke Arduino secara teratur. Berdasarkan itu, Arduino mengontrol gerakan roda agar robot mengikuti jalur yang telah ditentukan.
Jalur robot diprogram sebagai sekumpulan garis lurus. Setiap segmen garis didefinisikan oleh panjang dan orientasinya terhadap segmen sebelumnya. Gerakan robot dipisah-pisah, yaitu bergerak dalam garis lurus, tapi dalam segmen yang lebih kecil (sebut saja 'langkah' untuk kesederhanaan). Di akhir setiap langkah, oblu mengirimkan panjang langkah dan tingkat penyimpangan (perubahan orientasi) dari garis lurus ke Arduino. Arduino memperbaiki perataan robot di setiap langkah saat menerima informasi tersebut, jika menemukan penyimpangan dari garis lurus yang telah ditentukan.
Menurut program, robot selalu diharapkan bergerak dalam garis lurus. Namun, robot mungkin menyimpang dari garis lurus dan berjalan pada sudut tertentu atau jalur miring karena ketidaksempurnaannya seperti permukaan tidak rata, ketidakseimbangan massa pada rangkaian robot, ketidakseimbangan arsitektural atau listrik pada motor DC, atau orientasi acak roda bebas depan. Ambil satu langkah.. perbaiki arah Anda.. gerak ke depan. Robot juga bergerak mundir jika melewati panjang yang telah diprogram dari segmen garis lurus tertentu..
Panjang langkah selanjutnya tergantung pada jarak yang tersisa yang harus ditempuh dari segmen garis lurus tertentu. Robot mengambil langkah besar saat jarak yang harus ditempuh lebih jauh dan mengambil langkah kecil di dekat tujuan (yaitu akhir dari setiap segmen garis lurus).
IMU Oblu mengirimkan data ke Arduino dan ponsel (melalui Bluetooth) secara bersamaan. Xoblu (aplikasi Android) melakukan beberapa komputasi sederhana untuk membangun jalur berdasarkan informasi gerakan yang diterima dari robot, yang digunakan untuk pelacakan real-time di ponsel. (Pembuatan jalur menggunakan Xoblu diilustrasikan di bawah.)
Pemodelan Jalur
Robot dapat dikontrol paling baik jika hanya berjalan dalam segmen garis lurus. Oleh karena itu, jalur harus pertama kali dimodelkan sebagai sekumpulan segmen garis lurus. Gambar di bawah berisi beberapa contoh jalur dan representasinya dalam bentuk perpindahan dan orientasi. Inilah cara jalur diprogram di Arduino.
Demikian pula, setiap jalur yang merupakan sekumpulan segmen garis lurus dapat didefinisikan dan diprogram di Arduino.
Rangkaian Sirkuit
Lihat bagian H/W untuk koneksi listrik antara Arduino, oblu, driver motor, dan paket baterai.
Langkah 1: Xoblu mengirim perintah START ke oblu
Langkah 2: oblu mengakui penerimaan perintah dengan mengirim ACK yang sesuai ke Xoblu
Langkah 3: oblu mengirim paket DATA yang berisi informasi perpindahan dan orientasi untuk setiap langkah, di setiap langkah, ke Xoblu. (langkah = setiap kali gerakan nol atau keadaan diam terdeteksi).
Langkah 4: Xoblu mengakui penerimaan paket DATA terakhir dengan mengirim ACK yang sesuai ke oblu. (Siklus langkah 3 dan 4 diulang hingga Xoblu mengirim STOP. Saat menerima perintah STOP, oblu mengeksekusi Langkah 5)
Langkah 5: STOP - (i) Hentikan pemrosesan di oblu (ii) Hentikan semua output di oblu
Silakan lihat Catatan Aplikasi oblu untuk detail START, ACK, DATA, dan STOP
Cara Kerja Oblu IMU (opsional)
Menampilkan beberapa referensi tentang gambaran umum Oblu dan prinsip dasar operasi sensor PDR yang dipasang pada kaki:
--> Kode sumber yang tersedia untuk oblu ditujukan untuk navigasi yang dipasang pada kaki. Dan kode tersebut dioptimalkan paling baik untuk tujuan itu. Video di bawah mencakup prinsip dasar operasinya:
--> Berikut adalah beberapa artikel sederhana tentang sensor PDR yang dipasang pada kaki:
1. Track my steps
2. Continue tracking my steps
--> Anda dapat merujuk ke dokumen ini untuk detail tentang pedestrian dead reckoning menggunakan sensor kaki.
--> Video berikut untuk gambaran umum Oblu:
----------------
Silakan berbangkan umpan balik, saran, dan tinggalkan komentar.
Salam Hangat!
----------------
Kode
robot berbasis arduino
Robot bergerak pada jalur yang telah diprogram sebelumnya dan mengirimkan koordinat saat ini ke ponsel untuk pelacakan real-time.https://github.com/vijkumsha/oblu_Robot
Skematik