Daftar Isi:
- Langkah 1: Bahan
- Langkah 2: Koneksi
- Langkah 3: Secara Logis Membuat Kode MATLAB untuk Menggunakan Sensor
- Langkah 4: Menguji Kode dan Robot
- Langkah 5: Pengenalan Kesalahan
- Langkah 6: Kesimpulan
Video: Roomba Parking Pal: 6 Langkah
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:56
Proyek ini menggunakan iRobot Create programmable roomba, MATLAB r2018a, dan MATLAB mobile. Dalam menggunakan ketiga media ini dan pengetahuan kami tentang pengkodean, kami memprogram iRobot Create untuk menginterpretasikan warna dan menggunakan sensor terpasang untuk menyelesaikan tugas. Proyek ini bergantung pada komunikasi Raspberry Pi dan MATLAB untuk melakukan tugas ini.
Langkah 1: Bahan
1. iRobot Buat Robot
2. MATLAB r2018a
3. Raspberry Pi
4. Modul Kamera
5. Dudukan Stabilizer Kamera cetak 3-D
6. Smartphone dengan ponsel MATLAB terpasang
7. Laptop/Komputer yang sudah terpasang MATLAB
Langkah 2: Koneksi
Langkah ini tentang menghubungkan Raspberry Pi ke robot, kedua menghubungkan robot ke komputer Anda, dan menghubungkan smartphone ke komputer.
Bagian termudah dari proses ini adalah menghubungkan Raspberry Pi ke robot Anda, karena Raspberry Pi dipasang di bagian atas robot. Ada kabel dari robot yang harus Anda lakukan adalah mencolokkan ke sisi Raspberry Pi.
Langkah selanjutnya adalah menghubungkan robot ke komputer Anda sehingga Anda dapat menjalankan perintah untuk robot untuk melakukan. Hal pertama yang harus Anda lakukan adalah menghubungkan komputer Anda ke jaringan nirkabel yang dibuat roomba Anda. Sekarang, disarankan agar Anda menggunakan ikon Set Path di MATLAB untuk mengatur path sehingga Anda dapat menggunakan fungsi-fungsi di toolbox Roomba dari MATLAB. Setiap kali Anda memulai dan mengakhiri penggunaan dengan robot, Anda harus melakukan "Salut Dua Jari" dengan keras untuk menyetel ulang robot, yang berarti Anda menahan tombol dok dan titik selama sepuluh detik hingga lampu meredup yang menunjukkan untuk melepaskan. Anda berhasil dengan hard reset ini jika Anda mendengar robot memainkan skala pendek. Selanjutnya Anda harus terhubung ke roomba menggunakan baris kode seperti ini "r=roomba(x)" di mana 'x' adalah nomor yang ditunjuk untuk robot yang Anda miliki.
Terakhir, Anda perlu mengunduh MATLAB mobile di perangkat seluler apa pun yang akan Anda gunakan untuk proyek ini, dan aplikasi ini tersedia di perangkat Android dan Apple. Setelah aplikasi diinstal, Anda harus masuk menggunakan kredensial Anda. Kemudian Anda harus menghubungkan perangkat ini ke komputer Anda, menggunakan tab berlabel "Lainnya" -> lalu klik "pengaturan' -> lalu klik "Tambahkan komputer" ini akan memunculkan layar yang ditunjukkan pada gambar di atas. langkah selanjutnya yang harus Anda lalui hanyalah memasukkan dan menenggak informasi yang diminta. Setelah Anda berhasil terhubung, Anda akan dapat memanggil fungsi yang Anda tetapkan di komputer di ponsel Anda untuk mengontrol robot Anda.
Langkah 3: Secara Logis Membuat Kode MATLAB untuk Menggunakan Sensor
Kode akan paling mudah dibuat ketika sebagian besar berada di dalam while loop, sehingga roomba dapat terus memperbarui nilai valid yang dilihatnya. Jika ada kesalahan, MATLAB akan menampilkan kesalahan dan di mana kesalahan itu muncul dalam kode, membuat pemecahan masalah relatif sederhana.
Dirancang dalam MATLAB r2018a, kode ini menggunakan kotak peralatan standar, kotak peralatan Buat iRobot, serta kotak peralatan seluler MATLAB. Roomba yang digunakan dalam contoh ini ditetapkan sebagai 26, dan r=roomba(26) hanya perlu dijalankan sekali untuk sepenuhnya berkomunikasi dengan roomba.
Kode:
fungsi parkassist(x)jika x==1
r=roomba(26) % terhubung ke roomba
sementara benar
r.setDriveVelocity(.05,.05) % menyetel roomba ke kecepatan mengemudi yang lebih lambat
bump=r.getBumpers % mendapatkan data dari sensor bump
cliff=r.getCliffSensors % mendapatkan data dari sensor tebing
light=r.getLightBumpers % mendapatkan data dari sensor light bump
img=r.getImage;% membaca kamera dari robot
red_mean = mean(mean(img(:,:, 1))) % membaca jumlah rata-rata piksel merah
green_mean = mean(mean(img(:,:, 2))) % membaca jumlah rata-rata piksel hijau
blue_mean = mean(mean(img(:,:, 3))) % membaca jumlah rata-rata piksel biru
if bump.front == 1% membaca sensor front bump
r.stop %stop roomba
msgbox('Path Obscured!', 'Parking Assistant Message') %menampilkan pesan yang mengatakan path dikaburkan break % mengakhiri loop
elseif green_mean >150
r.stop %stop roomba
cont = questdlg('Lanjutkan?', 'Jalur Selesai') %menampilkan kotak pertanyaan yang meminta untuk melanjutkan
jika lanjutan == 'Ya'
parkassist(1) %memulai ulang kode
lain
akhir
break% mengakhiri loop
elseif red_mean > 140
r.turnAngle(45) %mengubah ruangan menjadi 45 derajat
r.timeStart %memulai penghitung waktu
sementara benar
r.setDriveVelocity(.05,.05) %menyetel kecepatan roomba
time=r.timeGet %menetapkan waktu ke variabel
bump=r.getBumpers % mendapatkan data dari sensor bump
cliff=r.getCliffSensors % mendapatkan data dari sensor tebing
light=r.getLightBumpers % mendapatkan data dari sensor light bump
img=r.getImage;% membaca kamera dari robot
red_mean = mean(mean(img(:,:, 1))) % membaca jumlah rata-rata piksel merah
green_mean = mean(mean(img(:,:, 2))) % membaca jumlah rata-rata piksel hijau
blue_mean = mean(mean(img(:,:, 3))) % membaca jumlah rata-rata piksel biru
jika blue_mean > 120
r.moveDistance(-0.01) %memindahkan roomba mundur pada jarak yang ditentukan laguPlay(r, 'T400, C, D, E, F, G, A, B, C^', 'true') % memainkan tangga nada musik yang naik
msgbox('Water Found!', 'Parking Assistant Message') % menampilkan pesan yang mengatakan air telah ditemukan r.turnAngle(-80) %rotates roomba 80 derajat
break% mengakhiri loop saat ini
elseif light.rightFront > 25 || light.leftFront > 25% membaca sensor light bump
r.moveDistance(-0.01) % menggerakkan roomba mundur sejauh yang ditentukan
r.turnAngle(-35) % memutar roomba 35 derajat
break %mengakhiri loop saat ini
elseif cliff.rightFront < 2500 && cliff.leftFront < 2500 %membaca kedua sensor tebing
r.moveDistance(-0.1) % menggerakkan roomba mundur sejauh yang ditentukan
r.turnAngle(-80) %memutar ruanganba 80 derajat
break% mengakhiri loop saat ini
waktu lain jika >= 3
r.stop %stop roomba
contin=questdlg('Station Free, Continue?', 'Parking Assistant Message') %menanyakan apakah roomba harus dilanjutkan jika contin == 'Ya'
r.turnAngle(-90) % memutar ruangan sebesar 90 derajat
parkassist(1) %memulai ulang fungsi
lain
r.stop % menghentikan roomba
akhir
lain
akhir
akhir
elseif cliff.rightFront < 2500 && cliff.leftFront < 2500 %membaca kedua sensor tebing
r.moveDistance(-0.1) %memindahkan roomba mundur sejauh yang ditentukan
r.turnAngle(-90) %memutar ruanganba 90 derajat
elseif cliff.rightFront < 2500 %membaca sensor tebing kanan
r.turnAngle(-5) % sedikit memutar roomba ke arah yang berlawanan dari sensor tebing
elseif cliff.leftFront < 2500 %membaca sensor tebing kiri
r.turnAngle(5) % sedikit memutar roomba ke arah yang berlawanan dari sensor tebing
lain
akhir
akhir
akhir
Langkah 4: Menguji Kode dan Robot
Setelah kode dikembangkan, langkah selanjutnya adalah menguji kode dan robot. Karena ada banyak penyesuaian berbeda yang dapat dibuat dalam kode, seperti sudut putaran robot, kecepatan bergerak, dan ambang batas untuk setiap warna, cara terbaik untuk mengetahui nilai-nilai ini untuk robot Anda adalah dengan menguji mereka dan berubah saat Anda pergi. Untuk setiap hari kerja yang kami miliki, kami terus-menerus mengubah nilai-nilai ini karena beberapa di antaranya bergantung pada lingkungan tempat robot Anda beroperasi. Cara terbaik yang kami temukan adalah menempatkan roomba di jalur yang Anda inginkan, dan memiliki penghalang yang cukup tinggi sehingga kamera tidak dapat mendeteksi warna yang tidak Anda inginkan. Langkah selanjutnya biarkan berjalan dan tunjukkan warna yang Anda inginkan, saat Anda ingin menyelesaikan tugas itu. Saat Anda pergi, jika Anda melihat masalah, hal terbaik yang harus dilakukan adalah mendorong bumper depan, membuatnya berhenti, lalu mengubah parameter yang bermasalah.
Langkah 5: Pengenalan Kesalahan
Dengan setiap proyek yang diselesaikan, selalu ada sumber kesalahan. Bagi kami, kami mengalami kesalahan dengan fakta sederhana bahwa robot tidak tepat dengan sudut belokan, jadi jika Anda menyuruhnya berputar 45 derajat, itu tidak akan tepat. Sumber kesalahan lain bagi kami adalah terkadang robot tidak berfungsi, dan Anda harus menyetel ulang sebelum berfungsi kembali. Sumber kesalahan utama terakhir bagi kami adalah bahwa kode yang sama tidak akan memiliki efek yang sama pada robot yang berbeda, jadi Anda mungkin harus bersabar dan menyesuaikannya.
Langkah 6: Kesimpulan
Sekarang Anda memiliki semua alat untuk bermain-main dengan roomba Anda, yang berarti Anda dapat memanipulasi kode dengan cara apa pun yang Anda inginkan untuk mencapai tujuan yang Anda inginkan. Ini harus menjadi bagian terbaik dari hari Anda, jadi bersenang-senanglah dan berkendaralah dengan aman!
Direkomendasikan:
Mengubah Roomba Anda Menjadi Mars Rover: 5 Langkah
Mengubah Roomba Anda Menjadi Mars Rover:
Arduino Parking Assistant - Parkirkan Mobil Anda di Tempat yang Benar Setiap Saat: 5 Langkah (dengan Gambar)
Arduino Parking Assistant - Parkirkan Mobil Anda di Tempat yang Benar Setiap Saat: Dalam proyek ini, saya akan menunjukkan cara membuat asisten parkir Anda sendiri menggunakan Arudino. Asisten parkir ini mengukur jarak ke mobil Anda dan memandu Anda untuk memarkirnya di tempat yang benar menggunakan pembacaan layar LCD dan LED, yang
Roomba Bot the Bulider: 5 Langkah (dengan Gambar)
Roomba Bot the Bulider: Bot the Builder adalah roomba, yang dengan "grabbers" menempel pada bagian depan akan dapat memindahkan benda disekitarnya. Kode dengannya diatur untuk merekam gerakan pertama dengan kotak GUI yang dapat Anda kendalikan hanya dengan mengklik mouse Anda. setelah
MIDI Pod-Pal: 4 Langkah
MIDI Pod-Pal: ***UPDATE 4/22/'21****** Saya telah menambahkan skema lengkap yang menunjukkan semua kabel untuk membantu konstruksi.*** kedalaman di sini di bagian build, niat saya adalah untuk menunjukkan contoh lain membangun MI berbasis Arduino
Dari Roomba ke Rover Hanya dalam 5 Langkah!: 5 Langkah
Dari Roomba ke Rover Hanya dalam 5 Langkah!: Robot Roomba adalah cara yang menyenangkan dan mudah untuk mencelupkan jari-jari kaki Anda ke dunia robotika. Dalam Instruksi ini, kami akan merinci cara mengubah Roomba sederhana menjadi penjelajah yang dapat dikontrol yang secara bersamaan menganalisis lingkungannya. Daftar Bagian1.) MATLAB2.) Roomb