Isi kandungan:

Pal Tempat Letak Kereta Roomba: 6 Langkah
Pal Tempat Letak Kereta Roomba: 6 Langkah

Video: Pal Tempat Letak Kereta Roomba: 6 Langkah

Video: Pal Tempat Letak Kereta Roomba: 6 Langkah
Video: VIDEO | कमर पर बिंदी | #Amit_Star_Gorakhpuri, #Neha_Raj का हिट वीडियो | Bhojpuri Hit Song 2023 2024, November
Anonim
Pal Tempat Letak Kereta Roomba
Pal Tempat Letak Kereta Roomba

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

Bahan
Bahan
Bahan
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

Secara Logik Membuat Kod MATLAB untuk Menggunakan Sensor
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

Menguji Kod dan Robot
Menguji Kod dan Robot
Menguji Kod dan Robot
Menguji Kod dan Robot
Menguji Kod dan Robot
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: