Daftar Isi:
- Langkah 1: Bagian yang Dibutuhkan
- Langkah 2: Konfigurasi File dan Kamera
- Langkah 3: Pengujian Roomba Awal
- Langkah 4: Contoh Kode MATLAB
Video: Roomba yang Membantu Astronot: 4 Langkah
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:57
Proyek ini dibuat dengan memanfaatkan Raspberry Pi 3 pada iRobot Create Versi 2. MATLAB digunakan untuk memprogram robot untuk mengikuti instruksi tertentu menggunakan sensor dan kameranya. Sensor dan kamera digunakan untuk melakukan tugas tertentu yang akan mengikuti astronot dan memberinya kemampuan untuk berkomunikasi dengan pangkalannya jika terjadi kesalahan.
Langkah 1: Bagian yang Dibutuhkan
1. iRobot Buat Versi 2
iRobot Create adalah bagian terpenting dari proyek ini karena dapat diprogram dan dapat menjadi representasi yang bagus untuk penjelajah nyata yang mengikuti astronot dan membantu mereka di masa depan
2. Raspberry Pi 3
Raspberry Pi adalah programmable yang digunakan untuk proyek ini. Kode dirancang untuk Pi dan versi Pi terlampir adalah 3 (model B). Papan yang dapat diprogram lainnya seperti arduino dapat digunakan, namun, arduino dan sebagian besar papan lainnya akan memerlukan pengkodean yang berbeda dari yang dijelaskan pada langkah lain
3. Modul Kamera Raspberry Pi
Satu-satunya koneksi asing ke Raspberry Pi yang dibutuhkan untuk proyek ini adalah Modul Kamera. Modul kamera adalah bagian integral dari proyek ini, karena roomba hanya akan melakukan tugas berdasarkan apa yang dilihatnya di kamera
4. MATLAB 2018a
Versi terbaru kedua MATLAB, 2018a, digunakan untuk pengkodean yang terlibat dalam pengaturan ini. Kemungkinan banyak versi MATLAB lain akan bekerja dengan ini karena pemrograman roomba telah ada untuk sementara waktu
Langkah 2: Konfigurasi File dan Kamera
1. Koneksi Raspberry Pi dan Kamera ke roomba
- Pi dapat terhubung ke iRobot secara langsung dengan micro USB. Itu saja yang dibutuhkan untuk siap digunakan. Namun, disarankan agar ditempatkan dengan aman di roomba seperti yang ditunjukkan pada gambar selama presentasi sejauh ini.
- Kamera memiliki koneksi langsung ke Raspberry Pi dan sangat disarankan agar sesuatu dibeli atau dibuat untuk memegang kamera secara langsung. Tidak ada gunanya kamera jika tidak dapat ditahan di tempat untuk menunjukkan apa yang dilihat roomba.
2. File
- Setelah semuanya diatur dan terhubung, pastikan robot disetel ulang dan siap digunakan dengan menahan tombol "Spot" dan "Dock" selama 10 detik secara bersamaan.
- Disinilah MATLAB pertama kali dibutuhkan. File untuk roomba perlu diinstal terlebih dahulu dan semua yang diperlukan untuk menjalankan file ini adalah kode yang disediakan di tautan ini:
- https://ef.engr.utk.edu/ef230-2017-08//projects/ro…
Langkah 3: Pengujian Roomba Awal
Ada banyak pemeriksaan awal yang harus dilakukan pada roomba untuk memastikannya berfungsi.
1. Pastikan Anda terhubung ke jaringan WiFi yang sama dengan roomba. Tanpa ini, Anda tidak akan pernah terhubung melalui MATLAB.
2. Cari tahu ke nomor berapa roomba Anda ditugaskan sehingga Anda dapat secara khusus terhubung ke roomba yang Anda pilih. Misalnya, jika nomor roomba Anda adalah 30, Anda akan menghubungkannya dengan mengetik roomba(30) ke dalam jendela perintah di MATLAB.
3. Roomba dapat dikontrol melalui struct di MATLAB. Misalnya, jika Anda menetapkan kode untuk roomba(30) ke variabel 'r', robot dapat dipindahkan ke depan dengan perintah r.moveDistance(0.2, 0.1).
4. Ada banyak perintah berbeda yang dapat dikomunikasikan ke roomba dan ini dapat dilihat dengan mengetikkan 'doc roomba' ke dalam jendela perintah.
5. Sensor untuk pembacaan cahaya, benjolan, dan tebing semua dapat dibaca dengan menggunakan perintah yang terlihat di 'doc roomba' tetapi cara untuk memiliki menu yang konstan dan rapi untuk melihat data sensor dapat dilihat dengan menggunakan 'r.testSensors '.
6. Setelah menguji semua ini, perangkat lunak pengumpul gambar robot dapat digunakan untuk membaca dan melihat gambar yang diambil. Kode dasar untuk ini adalah img = r.getImage dan imshow(img);.
7. Nilai RGB pada gambar dapat dicari dengan kode red_mean = mean(mean(img(:,:, 1)));
green_mean = mean(rata-rata(img(:,:, 2))); dan blue_mean=mean(mean(img(:,:, 3)));.
Langkah 4: Contoh Kode MATLAB
Pada titik ini, Anda sekarang siap untuk menggunakan sensor dan perangkat lunak pengambilan gambar untuk membuat putaran Anda sendiri pada Prototipe Mars Rover yang Membantu Manusia. Contoh kita adalah mengikuti astronot dengan melacak warna putih dan bergerak ke arahnya. Robot akan berbunyi bip jika sensornya membaca nilai tinggi sehingga astronot dapat mengatur ulang robot jika macet atau pergi dan mengambilnya dan mengatur ulang jika macet di tebing. Namun, itu hanya membaca kesalahan ini selama terlihat putih. Tanpa bisa melihat warna putih, robot akan masuk ke mode error. Itu diprogram untuk mengirim dua jenis email yang berbeda kembali ke home base tergantung pada apa yang dilihatnya. Jika melihat warna kulit astronot, itu jelas tidak bagus, sehingga akan memperingatkan home base jika astronot memiliki kulit yang menunjukkan malfungsi jas. Pesan lain disiapkan jika astronot menghilang begitu saja dari pandangan. Jika tidak ada warna putih atau kulit yang terlihat pada kamera, robot akan berputar dan mengirim email lain, tetapi berbeda. Gambar di mana roomba tidak dapat melihat astronot akan dikirim bersama dengan pesan di email. Kode untuk proyek kami ditunjukkan di bawah ini:
untuk i=1:1:3 img=r.getImage; gambar(img) red_mean = mean(mean(img(:,:, 1))); green_mean = mean(rata-rata(img(:,:, 2))); blue_mean = mean(rata-rata(img(:,:, 3))); jika red_mean > 110 && red_mean 110 && blue_mean 110 && green_mean0 || benjolan.kiri>0 || bump.front>0 r.beep() r.beep() r.beep() r.stop elseif cliff.left<10 || tebing.kiriDepan<10 || tebing.kananDepan<10 || tebing.right700 || light.leftDepan>700 || light.leftTengah>700 || light.rightCenter>700 || light.rightFront>700 || light.right>700 r.beep() r.beep() r.beep() r.beep() r.beep() r.stop lain untuk i=1:2 r.moveDistance(0.2, 0.1) r. setDriveVelocity(.3,.2) r.stop end end end end if green_mean <35 && blue_mean<35 %penampilan warna kulit (perlu disesuaikan berdasarkan warna kulit astronot) r.beep(); r.bip(); r.bip(); surat = '[email protected]'; %mengirim email yang menunjukkan setelan tidak aktif psswd = 'yeah'; host = 'smtp.gmail.com'; pelabuhan = '465'; emailto = '[email protected]'; m_subjek = 'subjek'; m_text = 'tes'; setpref('Internet', 'E_mail', surat); setpref('Internet', 'SMTP_Server', host); setpref('Internet', 'SMTP_Username', email); setpref('Internet', 'SMTP_Password', psswd); props = java.lang. System.getProperties; props.setProperty('mail.smtp.user', email); props.setProperty('mail.smtp.host', host); props.setProperty('mail.smtp.port', port); props.setProperty('mail.smtp.starttls.enable', 'true'); props.setProperty('mail.smtp.debug', 'benar'); props.setProperty('mail.smtp.auth', 'benar'); props.setProperty('mail.smtp.socketFactory.port', port); props.setProperty('mail.smtp.socketFactory.class', 'javax.net.ssl. SSLSocketFactory'); props.setProperty('mail.smtp.socketFactory.fallback', 'salah'); sendmail(emailto, 'Bantuan!', 'Seragam astronot tidak aktif!', img); akhiri jika red_mean 135 || green_mean 135 || blue_mean 135 untuk j = 1:2 %jika putih tidak dapat ditemukan oleh robot r.turnAngle(360) mail = '[email protected]'; psswd = 'ya'; host = 'smtp.gmail.com'; pelabuhan = '465'; emailto = '[email protected]'; m_subjek = 'subjek'; m_text = 'tes'; setpref('Internet', 'E_mail', surat); setpref('Internet', 'SMTP_Server', host); setpref('Internet', 'SMTP_Username', email); setpref('Internet', 'SMTP_Password', psswd); props = java.lang. System.getProperties; props.setProperty('mail.smtp.user', email); props.setProperty('mail.smtp.host', host); props.setProperty('mail.smtp.port', port); props.setProperty('mail.smtp.starttls.enable', 'true'); props.setProperty('mail.smtp.debug', 'benar'); props.setProperty('mail.smtp.auth', 'benar'); props.setProperty('mail.smtp.socketFactory.port', port); props.setProperty('mail.smtp.socketFactory.class', 'javax.net.ssl. SSLSocketFactory'); props.setProperty('mail.smtp.socketFactory.fallback', 'salah'); sendmail(emailto, 'Help!', 'Astronot tidak dapat ditemukan!', img); r.stop end end end
Jelas itu berantakan di sini, tetapi harus digosok setelah disalin. Kata sandi dan email untuk ini harus diberikan oleh mereka yang melakukan proyek ini dengan jelas.
Namun, contoh kami hanyalah salah satu dari banyak cara untuk bermain-main dengan robot ini agar cocok untuk semua orang. Ada banyak hal berbeda yang harus dilakukan, yang dapat Anda sesuaikan dengan diri Anda sendiri.
Direkomendasikan:
Navigasi Suara Raspberry Pi Membantu Orang Buta: 7 Langkah (dengan Gambar)
Navigasi Suara Raspberry Pi Membantu Orang Buta: Hai Dalam instruksi ini kita akan melihat bagaimana raspberry pi dapat membantu orang buta menggunakan instruksi suara yang ditentukan pengguna. Di sini, Dengan bantuan input sensor Ultrasonik untuk mengukur jarak yang kita dapat panduan suara orang buta untuk mengikuti
ANTiDISTRACTION: Dudukan Smartphone Yang Membantu Anda Fokus: 7 Langkah (dengan Gambar)
ANTiDISTRACTION: Dudukan Smartphone yang Membantu Anda Fokus: Perangkat ANTiDISTRACTION kami ditujukan untuk menghentikan semua bentuk gangguan seluler selama periode fokus yang intens. Mesin bertindak sebagai stasiun pengisian daya di mana perangkat seluler dipasang untuk memfasilitasi lingkungan bebas gangguan
Cosmo Clock - Berubah Warna Setiap Astronot Memasuki Luar Angkasa: 8 Langkah (dengan Gambar)
Cosmo Clock - Berubah Warna Setiap Astronot Memasuki Luar Angkasa: Hai! Apakah Anda penggemar luar angkasa? Jika ya maka hi-fi! Saya suka luar angkasa dan astronomi. Jelas saya bukan astronot yang pergi ke sana dan melihat alam semesta lebih dekat. Tetapi setiap kali saya mengetahui bahwa seseorang dari bumi telah melakukan perjalanan ke langit, saya mendapatkan inspirasi
Bagaimana Saya Membantu Baterai Netbook Saya!: 4 Langkah
Bagaimana Saya Membantu Baterai Netbook Saya!: Saya baru saja menemukan perangkat lunak fantastis ini dari rightmark yang memungkinkan baterai saya bertahan lebih lama setiap kali pengisian daya dan juga membuat netbook berjalan jauh lebih dingin. Biarkan saya menunjukkan kepada Anda apa yang saya lakukan pada 2-in-1 saya netbook dell model 3147
PCB Yang Membantu Manajemen Kabel: 6 Langkah (dengan Gambar)
PCB Yang Membantu Dengan Manajemen Kabel: Beberapa waktu lalu saya telah membuat pabrik CNC desktop kustom. Sejak itu saya memutakhirkannya dengan komponen baru. Terakhir kali saya menambahkan Arduino kedua dengan tampilan 4 digit untuk mengontrol RPM spindel saya menggunakan loop PID. Saya harus menghubungkannya dengan papan Arduino utama