Daftar Isi:

RADbot: 7 Langkah
RADbot: 7 Langkah

Video: RADbot: 7 Langkah

Video: RADbot: 7 Langkah
Video: Radbot 1 – понимание того, как он работает и как он может сэкономить вам энергию 2024, Oktober
Anonim
RADbot
RADbot

Sebuah proyek oleh Jackson Breakell, Tyler McCubbins dan Jakob Thaler untuk EF 230

Di Mars, para astronot akan menghadapi berbagai bahaya, mulai dari suhu ekstrem hingga badai debu. Namun, satu faktor yang sering diabaikan adalah bahaya yang ditimbulkan oleh radioisotop kuat yang berada di permukaan planet. RADbot memberikan bantuan untuk menjelajahi astronot di permukaan Mars dengan mengidentifikasi sampel batuan dengan aktivitas tinggi saat bergerak, dan juga memiliki fitur keselamatan terprogram yang memanfaatkan sensor tebing, sensor cahaya, sensor bumper, dan kamera, untuk mencegah robot dari kerusakan. di medan Mars yang tak kenal ampun. Selain memperingatkan astronot tentang kemungkinan bahaya radioaktif di permukaan, fitur lokasi sampel radioaktif robot dapat diimplementasikan sebagai alat untuk mengidentifikasi area yang dapat menyimpan deposit besar Uranium dan aktinida lainnya. Para astronot dapat menambang elemen-elemen ini, memperkayanya secara memadai, dan menggunakannya dalam reaktor nuklir dan generator termoelektrik, yang dapat membantu memberi daya pada koloni mandiri yang permanen di planet ini.

Tidak seperti penjelajah Mars pada umumnya, desain kami menampilkan komponen yang siap pakai dan label harga yang wajar. Asalkan Anda memiliki dana dan keinginan, Anda bahkan dapat membangunnya sendiri dengan mengikuti panduan ini. Silakan baca terus untuk mempelajari cara membuat RADbot Anda sendiri.

Langkah 1: Dapatkan Suku Cadang dan Bahan yang Diperlukan

Dapatkan Suku Cadang dan Bahan yang Diperlukan
Dapatkan Suku Cadang dan Bahan yang Diperlukan
Dapatkan Suku Cadang dan Bahan yang Diperlukan
Dapatkan Suku Cadang dan Bahan yang Diperlukan
Dapatkan Suku Cadang dan Bahan yang Diperlukan
Dapatkan Suku Cadang dan Bahan yang Diperlukan

Apa yang Anda perlukan untuk memulai (Gambar ditempatkan agar terdaftar)

1. Satu Roomba (model yang lebih baru)

2. Satu Penghitung Geiger-Mueller

3. Satu Raspberry Pi

4. Satu kamera papan dengan outlet USB

5. Satu kabel micro USB ke USB

6. Satu kabel USB ke USB

7. Satu sampel radioaktif dengan aktivitas yang cukup (~5μSv atau lebih tinggi)

8. Satu komputer dengan Matlab terinstal

9. Perekat (Sebaiknya selotip agar mudah dilepas)

Langkah 2: Mengonfigurasi Kamera dan Penghitung Geiger-Muller

Mengonfigurasi Kamera dan Penghitung Geiger-Muller
Mengonfigurasi Kamera dan Penghitung Geiger-Muller

Sekarang setelah Anda memiliki semua bahan yang diperlukan untuk membuat RADbot, kita akan mulai dengan menempatkan kamera sehingga dapat membaca aktivitas di penghitung. Tempatkan penghitung Geiger-Muller sedekat mungkin dengan ujung Roomba, dan pastikan sensornya tidak terhalang. Amankan penghitung di tempatnya dengan kuat dengan perekat yang Anda pilih, dan lanjutkan untuk memasang kamera menghadapnya. Tempatkan kamera sedekat mungkin dengan tampilan penghitung untuk mencegah masukan dari luar memengaruhi program, dan kencangkan di tempatnya setelah Anda merasa nyaman. Kami menyarankan Anda menyimpan pengamanan kamera untuk yang terakhir, karena, ketika kode Anda selesai, Anda dapat menampilkan gambar dari kamera ke komputer Anda, memungkinkan Anda untuk memposisikan kamera berdasarkan bidang pandangnya. Setelah kamera dan penghitung terpasang dengan benar, colokkan kamera ke salah satu input USB Raspberry Pi dengan kabel USB ke USB, dan colokkan Raspberry Pi ke Roomba dengan kabel micro USB ke USB.

Langkah 3: Hubungkan ke Roomba Anda dan Buat Kode Sensor Cahaya

Hubungkan ke Roomba Anda dan Buat Kode Sensor Cahaya
Hubungkan ke Roomba Anda dan Buat Kode Sensor Cahaya

Pertama, unduh kotak alat Roomba dari situs web EF 230, dan pastikan untuk meletakkannya di folder yang ditentukan. Untuk terhubung ke Roomba Anda, cukup rujuk stiker yang dilampirkan ke Raspberry Pi dan masukkan "r=roomba(x)" ke dalam jendela perintah, tanpa tanda kutip, dan di mana x berarti nomor Roomba. Roomba harus memainkan nada, dan tombol bersih akan menampilkan cincin hijau di sekitarnya. Mulailah kode Anda dengan pernyataan "sementara", dan lihat sensor cahaya saat muncul di daftar sensor. Buka daftar sensor dengan mengetikkan "r.testSensors" di jendela perintah.

Berdasarkan warna objek kita, yang menentukan seberapa banyak cahaya yang dipantulkan, atur persyaratan untuk pernyataan while yang akan dieksekusi sebagai fungsi >. Dalam kasus kami, kami mengatur sensor lampu depan untuk menjalankan kode dalam pernyataan while jika pembacaan pada sensor lampu tengah kiri atau kanan adalah >25. Untuk pernyataan yang dapat dieksekusi, atur kecepatan Roomba agar melambat dengan mengetikkan "r.setDriveVelocity(x, y)" di mana x dan y adalah kecepatan roda kiri dan kanan masing-masing. Masukkan pernyataan "else", sehingga Roomba tidak melambat untuk nilai yang tidak ditentukan, dan masukkan lagi perintah set drive velocity, kecuali dengan kecepatan yang berbeda. Akhiri pernyataan while dengan "end". Segmen kode ini akan membuat Roomba mendekati objek, dan melambat setelah mencapai jarak tertentu untuk meminimalkan dampak.

Terlampir adalah tangkapan layar dari kode kami, tetapi jangan ragu untuk mengeditnya agar sesuai dengan parameter misi Anda.

Langkah 4: Buat Kode Bumper

Buat Kode Bumper
Buat Kode Bumper

Saat Roomba melambat, itu akan meminimalkan dampak yang ditimbulkannya pada objek, meskipun tidak terlalu banyak sehingga tidak memicu bumper fisik. Untuk segmen kode ini, mulailah dengan loop "sementara" lagi, dan atur ekspresinya menjadi true. Untuk pernyataan, atur variabel T sama dengan output bumper, baik 0 atau 1, untuk false dan true. Anda dapat menggunakan "T=r.getBumpers" untuk ini. T akan ditampilkan sebagai struktur. Masukkan pernyataan "jika", dan atur ekspresinya untuk substruktur T.front menjadi sama dengan 1, dan atur pernyataan untuk mengatur kecepatan penggerak pada 0, menggunakan "r.setDriveVelocity(x, y)" atau "r.stop ". Masukkan "break" agar Roomba dapat bergerak setelah kondisi di kode berikutnya terpenuhi. Tambahkan "else", dan atur pernyataannya untuk mengatur kecepatan drive ke kecepatan jelajah normal Roomba.

Terlampir adalah tangkapan layar dari kode kami, tetapi jangan ragu untuk mengeditnya agar sesuai dengan parameter misi Anda.

Langkah 5: Buat Kode untuk Membaca Layar Penghitung, Menafsirkannya, dan Mundur Dari Sumbernya

Buat Kode untuk Membaca Layar Penghitung, Menafsirkannya, dan Mundur Dari Sumbernya
Buat Kode untuk Membaca Layar Penghitung, Menafsirkannya, dan Mundur Dari Sumbernya

Inti dari proyek kami adalah penghitung Geiger-Muller dan segmen kode berikut digunakan untuk menentukan apa arti data di layar menggunakan kamera. Mengingat layar penghitung kami berubah warna berdasarkan aktivitas sumbernya, kami akan mengatur kamera untuk menginterpretasikan warna layar. Mulai kode Anda dengan mengatur variabel yang sama dengan perintah "r.getImage". Variabel akan berisi array 3d nilai warna dari gambar yang diambil dalam warna merah, hijau dan biru. Tetapkan variabel sama dengan rata-rata matriks warna masing-masing dengan menggunakan perintah "mean(mean(img1(:,:, x)))" di mana x adalah bilangan bulat dari 1 hingga 3. 1, 2 dan 3 mewakili merah, hijau dan biru masing-masing. Seperti semua perintah yang dirujuk, jangan sertakan tanda kutip.

Minta program berhenti selama 20 detik menggunakan "jeda (20)" sehingga penghitung dapat memperoleh pembacaan sampel yang akurat, dan kemudian memulai pernyataan "jika". Kami memiliki bunyi bip Roomba kami beberapa kali dengan menggunakan "r.beep" sebelum menampilkan menu dengan teks, "Radioisotop ditemukan! Perhatian!" ini dapat dilakukan dengan perintah "waitfor(helpdlg({'texthere'})". Setelah mengklik ok, Roomba akan terus mengikuti sisa kode dalam pernyataan "jika". Minta Roomba berkeliling sampel menggunakan kombinasi perintah "r.moveDistance" dan "r.turnAngle". Pastikan untuk mengakhiri pernyataan if Anda dengan "end".

Terlampir adalah tangkapan layar dari kode kami, tetapi jangan ragu untuk mengeditnya agar sesuai dengan parameter misi Anda.

Langkah 6: Buat Kode Sensor Tebing

Buat Kode Sensor Tebing
Buat Kode Sensor Tebing

Untuk membuat kode untuk memanfaatkan sensor tebing bawaan Roomba, mulailah dengan loop "sementara", dan atur ekspresinya menjadi true. Tetapkan variabel agar sama dengan "r.getCliffSensors", dan ini akan menghasilkan struktur. Mulai pernyataan "jika", dan atur variabel "X.leftFront" dan "X.rightFront" dari struktur menjadi lebih besar dari beberapa nilai yang telah ditentukan, di mana "X" adalah variabel yang Anda pilih dengan perintah "r.getCliffSensors" menjadi sama dengan. Dalam kasus kami, kami menggunakan 1000, karena selembar kertas putih digunakan untuk mewakili tebing, dan, saat sensor mendekat, kertas, nilainya tumbuh menjadi lebih dari 1000, memastikan kode hanya akan dijalankan ketika tebing terdeteksi. Tambahkan perintah "break" setelahnya, lalu masukkan pernyataan "else". Untuk pernyataan "lain", yang akan dijalankan jika tidak ada tebing yang terdeteksi, setel kecepatan gerak ke kecepatan jelajah normal untuk setiap roda. Jika Roomba mendeteksi tebing, "break" akan dieksekusi, dan kemudian kode di luar loop while akan dieksekusi. Setelah menempatkan "akhir" untuk loop "jika" dan "sementara", atur Roomba untuk bergerak mundur menggunakan perintah jarak bergerak. Untuk memperingatkan astronot bahwa ada tebing di dekatnya, atur kecepatan gerak setiap roda, x dan y dalam perintah kecepatan gerak, menjadi a dan -a, di mana a adalah bilangan real. Ini akan menyebabkan Roomba berputar, memperingatkan astronot ke tebing.

Terlampir adalah tangkapan layar dari kode kami, tetapi jangan ragu untuk mengeditnya agar sesuai dengan parameter misi Anda.

Langkah 7: Kesimpulan

Kesimpulan
Kesimpulan

Tujuan utama RADbot di Mars adalah untuk membantu para astronot dalam eksplorasi dan kolonisasi mereka di planet merah. Dengan mengidentifikasi sampel radioaktif di permukaan, harapan kami adalah robot, atau penjelajah, dalam hal ini, dapat benar-benar menjaga keselamatan astronot dan membantu mengidentifikasi sumber daya untuk pangkalan mereka. Setelah mengikuti semua langkah ini, dan mungkin dengan beberapa percobaan dan kesalahan, RADbot Anda akan aktif dan berjalan. Tempatkan sampel radioaktif di suatu tempat di dalam area pengujian Anda, jalankan kode Anda, dan saksikan rover melakukan apa yang dirancang untuk dilakukan. Nikmati RADbot Anda!

-Tim RADbot EF230

Direkomendasikan: