Isi kandungan:
- Langkah 1: Bahan
- Langkah 2: Sambungan
- Langkah 3: Secara Logik Membuat Kod MATLAB untuk Menggunakan Sensor
- Langkah 4: Menguji Kod dan Robot
- Langkah 5: Pengakuan Ralat
- Langkah 6: Kesimpulannya
Video: Pal Tempat Letak Kereta Roomba: 6 Langkah
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:10
Projek ini menggunakan iRobot Create roomba, MATLAB r2018a, dan MATLAB yang dapat diprogramkan. Dengan menggunakan ketiga-tiga medium ini dan pengetahuan pengekodan kami, kami memprogramkan iRobot Create untuk menafsirkan warna dan menggunakan sensor on-board untuk menyelesaikan tugas. Projek ini bergantung pada komunikasi Raspberry Pi dan MATLAB untuk melaksanakan tugas-tugas ini.
Langkah 1: Bahan
1. iRobot Buat Robot
2. MATLAB r2018a
3. Raspberry Pi
4. Modul Kamera
5. Papan Penstabil Kamera bercetak 3-D
6. Telefon pintar dengan telefon bimbit MATLAB dipasang
7. Komputer riba / komputer dengan MATLAB dipasang
Langkah 2: Sambungan
Langkah ini adalah mengenai menghubungkan Raspberry Pi ke robot, kedua menghubungkan robot ke komputer anda, dan menyambungkan telefon pintar ke komputer.
Bahagian termudah dalam proses ini adalah menghubungkan Raspberry Pi ke robot anda, kerana Raspberry Pi dipasang ke bahagian atas robot. Terdapat tali dari robot yang perlu anda lakukan ialah pasangkan sisi Raspberry Pi.
Langkah seterusnya adalah menyambungkan robot ke komputer anda supaya anda dapat menjalankan perintah agar robot dapat dilaksanakan. Perkara pertama yang mesti anda lakukan ialah menyambungkan komputer anda ke rangkaian wayarles yang dibuat oleh roomba anda. Sekarang, disarankan agar anda menggunakan ikon Set Path di MATLAB untuk mengatur path sehingga anda dapat menggunakan fungsi di kotak alat Roomba dari MATLAB. Setiap kali anda memulakan dan mengakhiri penggunaan dengan robot, anda mesti melakukan "Two-Finger Salute" mengatur semula robot dengan kuat, yang bermaksud bahawa anda menahan butang dok dan tempat selama sepuluh saat sehingga cahaya redup yang menunjukkan untuk melepaskan. Anda berjaya dengan tetapan semula keras ini jika anda mendengar robot bermain dalam skala pendek. Seterusnya anda mesti menyambung ke roomba menggunakan garis kod seperti ini "r = roomba (x)" di mana 'x' adalah nombor yang ditentukan untuk robot yang anda miliki.
Terakhir, anda perlu memuat turun MATLAB mudah alih pada apa sahaja peranti mudah alih yang akan anda gunakan untuk projek ini, dan aplikasi ini tersedia di kedua-dua peranti Android dan Apple. Setelah aplikasi dipasang, anda perlu log masuk menggunakan bukti kelayakan anda. Kemudian anda mesti menyambungkan peranti ini ke komputer anda, menggunakan tab berlabel "Lagi" -> kemudian klik "tetapan" -> kemudian klik "Tambah komputer" ini akan memunculkan skrin yang ditunjukkan dalam gambar di atas. Setelah anda melihat ini, langkah seterusnya yang mesti anda lalui hanyalah memasukkan dan menukar maklumat yang diminta. Setelah berjaya disambungkan, anda akan dapat memanggil fungsi yang anda tentukan di komputer anda di telefon anda untuk mengawal robot anda.
Langkah 3: Secara Logik Membuat Kod MATLAB untuk Menggunakan Sensor
Kod akan paling mudah dibuat ketika kebanyakannya berada di dalam loop sementara, sehingga roomba dapat sentiasa mengemas kini nilai-nilai yang berlaku. Sekiranya terdapat ralat, MATLAB akan memaparkan kesalahan dan di mana ia muncul dalam kod, menjadikan penyelesaian masalah agak mudah.
Direka dalam MATLAB r2018a, kod ini menggunakan kotak alat standard, kotak alat iRobot Create, dan juga kotak alat mudah alih MATLAB. Roomba yang digunakan dalam contoh ini ditetapkan sebagai 26, dan r = roomba (26) hanya perlu dijalankan sekali untuk berkomunikasi sepenuhnya dengan roomba.
Kod:
fungsi parkassist (x) jika x == 1
r = roomba (26)% menyambung ke roomba
walaupun benar
r.setDriveVelocity (.05,.05)% menetapkan roomba kepada kelajuan pemanduan yang lebih perlahan
bump = r.getBumpers% mendapat data dari sensor bump
cliff = r.getCliffSensors% mendapat data dari sensor tebing
light = r.getLightBumpers% mendapat data dari sensor bump cahaya
img = r.getImage;% membaca kamera dari robot
red_mean = mean (mean (img (:,:, 1)))% membaca jumlah min piksel merah
green_mean = mean (mean (img (:,:, 2)))% membaca jumlah min piksel hijau
blue_mean = mean (mean (img (:,:, 3)))% membaca jumlah min piksel biru
jika bump.front == 1% membaca sensor lebam depan
r.stop% berhenti roomba
msgbox ('Path Disamarkan!', 'Mesej Pembantu Tempat Letak')% memaparkan mesej yang mengatakan bahawa jalan itu dikaburkan jeda% mengakhiri gelung
lain jika hijau_berarti> 150
r.stop% berhenti roomba
cont = questdlg ('Terus?', 'Jalan Selesai')% memaparkan kotak soalan yang meminta untuk meneruskan
jika samb == 'Ya'
parkassist (1)% memulakan semula kod
yang lain
akhir
break% menamatkan gelung
lain jika red_mean> 140
r.turnAngle (45)% menjadikan roomba 45 darjah
r.timeStart% memulakan pembilang masa
walaupun benar
r.setDriveVelocity (.05,.05)% menetapkan kelajuan roomba
time = r.timeGet% memberikan masa kepada pemboleh ubah
bump = r.getBumpers% mendapat data dari sensor bump
cliff = r.getCliffSensors% mendapat data dari sensor tebing
light = r.getLightBumpers% mendapat data dari sensor bump cahaya
img = r.getImage;% membaca kamera dari robot
red_mean = mean (mean (img (:,:, 1)))% membaca jumlah min piksel merah
green_mean = mean (mean (img (:,:, 2)))% membaca jumlah min piksel hijau
blue_mean = mean (mean (img (:,:, 3)))% membaca jumlah min piksel biru
jika blue_mean> 120
r.moveDistance (-0.01)% menggerakkan roomba ke belakang lagu jarak yang ditetapkan Putar (r, 'T400, C, D, E, F, G, A, B, C ^', 'true')% memainkan skala muzik yang meningkat
msgbox ('Water Found!', 'Parking Assistant Message')% memaparkan mesej yang mengatakan air telah dijumpai r.turnAngle (-80)% berputar roomba 80 darjah
break% mengakhiri gelung semasa
otherif light.rightFront> 25 || light.leftFront> 25% membaca sensor bump cahaya
r.moveDistance (-0.01)% menggerakkan roomba ke belakang pada jarak yang ditetapkan
r.turnAngle (-35)% memutar roomba 35 darjah
break% mengakhiri gelung semasa
elseif cliff.rightFront <2500 && cliff.leftFront <2500% membaca kedua-dua sensor tebing
r.moveDistance (-0.1)% menggerakkan roomba ke belakang pada jarak yang ditetapkan
r.turnAngle (-80)% memutar roomba 80 darjah
break% mengakhiri gelung semasa
lain kali>> 3
r.stop% berhenti roomba
contin = questdlg ('Stesen Percuma, Terus?', 'Mesej Pembantu Tempat Letak Kereta')% bertanya adakah roomba harus diteruskan jika Contin == 'Ya'
r.turnAngle (-90)% memutar roomba 90 darjah
parkassist (1)% memulakan semula fungsi
yang lain
r.stop% menghentikan roomba
akhir
yang lain
akhir
akhir
elseif cliff.rightFront <2500 && cliff.leftFront <2500% membaca kedua-dua sensor tebing
r.moveDistance (-0.1)% menggerakkan roomba ke belakang pada jarak yang ditetapkan
r.turnAngle (-90)% memutar roomba 90 darjah
elseif cliff.rightFront <2500% membaca sensor tebing yang betul
r.turnAngle (-5)% sedikit memutar ruang bilik ke arah yang bertentangan dengan sensor tebing
elseif cliff.leftFront <2500% membaca sensor tebing kiri
r.turnAngle (5)% sedikit memutar ruang bilik ke arah yang bertentangan dengan sensor tebing
yang lain
akhir
akhir
akhir
Langkah 4: Menguji Kod dan Robot
Setelah kod dikembangkan, langkah seterusnya adalah menguji kod dan robot. Oleh kerana terdapat banyak penyesuaian yang berbeza yang dapat dibuat dalam kod, seperti sudut robot berubah, kecepatan bergerak, dan ambang untuk setiap warna, cara terbaik untuk mengetahui nilai-nilai ini untuk robot anda adalah dengan menguji mereka dan berubah semasa anda pergi. Untuk setiap hari kerja yang kami lalui, kami terus mengubah nilai-nilai ini kerana sebilangannya bergantung pada persekitaran tempat robot anda beroperasi. Cara terbaik yang kami dapati adalah dengan meletakkan roomba di jalan yang anda mahu lalui, dan mempunyai penghalang yang cukup tinggi sehingga kamera tidak dapat mengesan warna yang anda tidak mahukan. Langkah seterusnya adalah membiarkannya berjalan dan menunjukkan warna yang anda mahukan, ketika anda mahu menyelesaikan tugas itu. Semasa anda pergi, jika anda melihat masalah, perkara terbaik yang perlu dilakukan adalah menolak bumper depan, membuatnya berhenti, kemudian ubah parameter yang anda hadapi.
Langkah 5: Pengakuan Ralat
Dengan setiap projek selesai, selalu ada sumber kesalahan. Bagi kami, kami mengalami kesilapan dengan fakta mudah bahawa robot tidak tepat dengan sudut di mana ia berpusing, jadi jika anda menyuruhnya berpusing 45 darjah, ia tidak akan tepat. Punca ralat lain bagi kami ialah kadangkala robot tidak berfungsi, dan anda sukar menetapkannya semula sebelum ia berfungsi semula. Punca ralat terakhir utama bagi kami adalah bahawa kod yang sama tidak akan memberi kesan yang sama pada robot yang berbeza, jadi anda mungkin harus bersabar dengannya dan menyesuaikannya dengan sewajarnya.
Langkah 6: Kesimpulannya
Sekarang anda mempunyai semua alat untuk bermain-main dengan roomba anda, yang bermaksud bahawa anda boleh memanipulasi kod dengan cara yang anda mahu untuk mencapai tujuan yang anda mahukan. Ini semestinya bahagian terbaik hari anda, jadi bersenang-senang dan memandu dengan selamat!
Disyorkan:
Sistem Makluman Tempat Letak Balik Kereta Arduino - Langkah demi Langkah: 4 Langkah
Sistem Makluman Tempat Letak Balik Kereta Arduino | Langkah demi Langkah: Dalam projek ini, saya akan merancang Litar Sensor Tempat Letak Kereta Berbalik Arduino yang ringkas menggunakan Sensor Ultrasonik Arduino UNO dan HC-SR04. Sistem amaran Car Reverse berasaskan Arduino ini dapat digunakan untuk Navigasi Autonomi, Robot Ranging dan rangkaian lain
Pembantu Tempat Letak Kereta Arduino - Letakkan Kereta Anda di Tempat Yang Betul Setiap Masa: 5 Langkah (dengan Gambar)
Pembantu Tempat Letak Kereta Arduino - Letakkan Kereta Anda di Tempat Yang Betul Setiap Masa: Dalam projek ini, saya akan menunjukkan kepada anda cara membina pembantu tempat letak kenderaan anda sendiri menggunakan Arudino. Pembantu tempat letak kereta ini mengukur jarak ke kereta anda dan membimbing anda untuk meletakkannya di tempat yang betul menggunakan bacaan paparan LCD dan LED, yang maju
Cara Membangunkan Sensor Tempat Letak Kereta untuk Mengatasi Kesakitan Mencari Tempat Percuma: 12 Langkah
Cara Membangunkan Sensor Tempat Letak Kereta untuk Mengatasi Kesakitan Mencari Tempat Percuma: Dalam projek ini kami akan membina sensor tempat letak kenderaan mudah menggunakan Raspberry Pi. Ternyata setiap pagi saya harus menghadapi soalan ini: adakah tempat letak kereta HANYA di hadapan pejabat saya sudah diambil? Kerana ketika itu sebenarnya, saya harus berkeliling
FinduCar: Kunci Kereta Pintar yang Membimbing Orang ke Tempat Letak Kereta: 11 Langkah (dengan Gambar)
FinduCar: Kunci Kereta Pintar Membimbing Orang ke Tempat Letak Kereta: Untuk menyelesaikan masalah di atas, projek ini mencadangkan untuk mengembangkan kunci kereta pintar yang dapat mengarahkan orang ke tempat mereka meletakkan kereta. Dan rancangan saya adalah memasukkan GPS ke dalam kunci kereta. Tidak perlu menggunakan aplikasi telefon pintar untuk mengesan
Tempat Letak Komputer yang Lebih Baik untuk Tempat Tidur: 7 Langkah (dengan Gambar)
Tempat Letak Laptop yang Lebih Baik untuk Tempat Tidur: Buat Tempat Letak Laptop yang ringkas tetapi sangat berguna untuk sekitar $ 15 dan 30-60 minit! Bagus untuk digunakan di tempat tidur semasa menaip, melayari, dan terutama menonton filem. Semasa saya menggunakan komputer riba di atas katil, selalunya tidak selesa. Saya perlu mengimbangi komputer riba dengan