Daftar Isi:
- Langkah 1: Persediaan
- Langkah 2: Pernyataan Masalah
- Langkah 3: Kendali Jarak Jauh Bluetooth
- Langkah 4: Pengenalan Dampak
- Langkah 5: Pengakuan Kehidupan
- Langkah 6: Jalankan
Video: Mars Roomba: 6 Langkah
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:56
Instruksi ini akan memandu Anda ke arah pengoperasian bot vakum Roomba yang dikendalikan Raspberry Pi. Sistem operasi yang akan kita gunakan adalah melalui MATLAB.
Langkah 1: Persediaan
Apa yang perlu Anda kumpulkan untuk melaksanakan proyek ini:
- bot penyedot debu Create2 Roomba dari iRobot
- Raspberry Pi
- Kamera Raspberry Pi
- Versi terbaru MATLAB
- Kotak alat penginstalan Roomba untuk MATLAB
- Aplikasi MATLAB untuk perangkat seluler
Langkah 2: Pernyataan Masalah
Kami ditugaskan untuk menggunakan MATLAB untuk mengembangkan penjelajah yang dapat digunakan di Mars untuk membantu para ilmuwan dalam mengumpulkan data planet. Fungsi yang kami bahas dalam proyek kami adalah kendali jarak jauh, pengenalan dampak objek, pengenalan air, pengenalan kehidupan, dan pemrosesan gambar. Untuk mencapai prestasi ini, kami membuat kode menggunakan perintah kotak peralatan Roomba untuk memanipulasi banyak fungsi dari Create2 Roomba iRobot.
Langkah 3: Kendali Jarak Jauh Bluetooth
Slide ini akan memandu kode untuk mengontrol pergerakan Roomba menggunakan kemampuan Bluetooth perangkat smartphone Anda. Untuk memulai, unduh aplikasi MATLAB ke ponsel cerdas Anda dan masuk ke akun Mathworks Anda. Setelah masuk, buka "lebih", "pengaturan", dan sambungkan ke komputer Anda menggunakan alamat IP-nya. Setelah terhubung, kembali ke "lebih" dan pilih "sensor." Ketuk sensor ketiga di bilah alat atas layar, dan ketuk mulai. Sekarang, smartphone Anda adalah remote control!
Kodenya adalah sebagai berikut:
sedangkan 0 == 0
jeda(.5)
PhoneData = M. Orientasi;
Azi = Data Telepon(1);
Pitch = Data Telepon(2);
Samping = PhoneData(3);
benjolan = r.getBumper;
jika Sisi>80 || Sisi<-80
r.stop
r.bip('C, E, G, C^, G, E, C')
merusak
elseif Sisi>20 && Sisi<40
r.turnAngle(-5);
elseif Sisi> 40
r.turnAngle(-25);
elseif Sisi-40
r.turnAngle(5);
sisi lain jika <-40
r.turnAngle(25);
akhir
jika Pitch >10 && Pitch<35
r.moveDistance(.03)
elseif Pitch>-35 && Pitch<-10
r.moveDistance(-.03)
akhir
akhir
Langkah 4: Pengenalan Dampak
Fungsi lain yang kami terapkan adalah mendeteksi dampak Roomba ke dalam objek dan kemudian memperbaiki jalurnya saat ini. Untuk melakukan ini, kami harus menggunakan kondisional dengan pembacaan dari sensor bumper untuk menentukan apakah suatu objek dipukul. Jika robot menabrak objek, ia akan mundur sejauh.2 meter, dan berputar pada sudut yang ditentukan oleh bumper mana yang dipukul. Setelah item dipukul, menu muncul menampilkan kata "oof."
Kode ditunjukkan di bawah ini:
sedangkan 0 == 0
benjolan = r.getBumper;
r.setDriveVelocity(.1)
jika terbentur.kiri == 1
msgbox('Aduh!');
r.moveDistance (-0,2)
r.setTurnVelocity(.2)
r.turnAngle (-35)
r.setDriveVelocity(.2)
elseif bumps.front == 1
msgbox('Aduh!');
r.moveDistance (-0,2)
r.setTurnVelocity(.2)
r.turnAngle(90)
r.setDriveVelocity(.2)
elseif bumps.right == 1
msgbox('Aduh!');
r.moveDistance (-0,2)
r.setTurnVelocity(.2)
r.turnAngle(35)
r.setDriveVelocity(.2)
elseif bumps.leftWheelDrop ==1
msgbox('Aduh!');
r.moveDistance (-0,2)
r.setTurnVelocity(.2)
r.turnAngle (-35)
r.setDriveVelocity(.2)
elseif bumps.rightWheelDrop ==1
msgbox('Aduh!');
r.moveDistance (-0,2)
r.setTurnVelocity(.2)
r.turnAngle(35)
r.setDriveVelocity(.2)
akhir
akhir
Langkah 5: Pengakuan Kehidupan
Kami mengkodekan sistem pengenalan kehidupan untuk membaca warna objek di depannya. Tiga jenis kehidupan yang kami kodekan adalah tumbuhan, air, dan alien. Untuk melakukan ini, kami mengkodekan sensor untuk menghitung nilai rata-rata merah, biru, hijau, atau putih. Nilai-nilai ini dibandingkan dengan ambang batas yang ditetapkan secara manual untuk menentukan warna yang dilihat kamera. Kode juga akan memplot jalur ke objek dan membuat peta.
Kodenya adalah sebagai berikut:
t = 10;
saya = 0;
sedangkan t == 10
img = r.getGambar; tampilkan (img)
jeda(0.167)
saya = saya + 1;
red_mean = mean(rata-rata(img(:,:, 1)));
blue_mean = mean(rata-rata(img(:,:, 3)));
green_mean = mean(rata-rata(img(:,:, 2)));
white_mean = (blue_mean + green_mean + red_mean) / 3; %ingin nilai ini kira-kira 100
sembilan_plus_ten = 21;
green_threshold = 125;
ambang_biru = 130;
ambang_putih = 124;
ambang_merah = 115;
sementara nine_plus_ten == 21 %hijau - hidup
if green_mean > green_threshold && blue_mean < blue_threshold && red_mean < red_threshold
r.moveDistance(-.1)
a = msgbox('kemungkinan sumber kehidupan ditemukan, lokasi diplot');
jeda (2)
hapus (a)
[y2, Fs2] =audioread('z_speak2.wav');
suara (y2, Fs2)
jeda (2)
%tanaman = r.getImage; %imshow(tanaman);
%save('plant_img.mat', tanam');
%plot lokasi berwarna hijau
saya = 5;
merusak
lain
sembilan_plus_ten = 19;
akhir
akhir
sembilan_plus_ten = 21;
sementara nine_plus_ten == 21 %biru - heran
if blue_mean > blue_threshold && green_mean < green_threshold && white_mean < white_threshold && red_mean < red_threshold
r.moveDistance(-.1)
a = msgbox('sumber air telah ditemukan, lokasi diplot');
jeda (2)
hapus (a)
[y3, Fs3] =audioread('z_speak3.wav');
suara(y3, Fs3);
%woder = r.getImage; %imshow(mengherankan)
%save('water_img.mat', woder)
%plot lokasi dengan warna biru
saya = 5;
merusak
lain
sembilan_plus_ten = 19;
akhir
akhir
sembilan_plus_ten = 21;
sementara nine_plus_ten == 21 %putih - alien monkaS
if white_mean > white_threshold && blue_mean < blue_threshold && green_mean < green_threshold
[y5, Fs5] =audioread('z_speak5.wav');
suara(y5, Fs5);
jeda(3)
r.setDriveVelocity(0,.5)
[ys, Fss] =audioread('z_scream.mp3');
suara(ys, Fss);
jeda(3)
r.stop
% alien = r.getImage; %imshow(alien);
% save('alien_img.mat', alien);
saya = 5;
merusak
lain
sembilan_plus_ten = 19;
akhir
akhir
jika saya == 5
a = 1; % putaran sudut
t = 9; %mengakhiri putaran besar
saya = 0;
akhir
akhir
Langkah 6: Jalankan
Setelah semua kode ditulis, gabungkan semuanya menjadi satu file dan voila! Bot Roomba Anda sekarang akan berfungsi penuh dan beroperasi seperti yang diiklankan! Namun, kontrol Bluetooth harus berada dalam file terpisah atau terpisah dari kode lainnya dengan %%.
Nikmati menggunakan robot Anda!!
Direkomendasikan:
Mengubah Roomba Anda Menjadi Mars Rover: 5 Langkah
Mengubah Roomba Anda Menjadi Mars Rover:
Mars Rover Menggunakan Raspberry Pi: 5 Langkah
Mars Rover Menggunakan Raspberry Pi: Dear all Great Learner,Saya selalu ingin tahu tentang mars rover,Memiliki 6 roda yang dapat menjelajahi semua permukaan mars dan menjelajahi berbagai hal dari Bumi. Saya juga ingin menjelajahi sesuatu dengan duduk di laptop saya. Jadi Sekarang saya hal waktu yang tepat untuk membuatnya dan
Raspberry Pi - Rover Mars Otonom Dengan Pelacakan Objek OpenCV: 7 Langkah (dengan Gambar)
Raspberry Pi - Autonomous Mars Rover Dengan Pelacakan Objek OpenCV: Didukung oleh Raspberry Pi 3, Pengenalan objek CV Terbuka, Sensor ultrasonik, dan motor DC yang diarahkan. Penjelajah ini dapat melacak objek apa pun yang dilatihnya dan bergerak di medan apa pun
Proyek Mars Roomba UTK: 4 Langkah
Mars Roomba Project UTK: DISCLAIMER: INI HANYA AKAN BEKERJA JIKA ROOMBA DITETAPKAN DENGAN CARA YANG SANGAT KHUSUS, INSTRUCTABLE INI DIBUAT DAN DIMAKSUDKAN UNTUK DIGUNAKAN OLEH MAHASISWA DAN FAKULTAS UNIVERSITAS TENNESSEE Kode ini digunakan untuk menyiapkan Roomba untuk dijalankan secara lokal tertulis dan s
Robot Pengintai Mars: 4 Langkah
Robot Pengintai Mars: Instruksi ini adalah panduan langkah demi langkah untuk memprogram dan memerintahkan Robot Pengintai Mars. Untuk memulai, seseorang harus mendapatkan daftar bahan-bahan berikut: Pembuatan iRobot bermuatan yang disesuaikan oleh Tickle College of Eningeering University of Ten