Isi kandungan:

Robot Pengintaian Marikh: 4 Langkah
Robot Pengintaian Marikh: 4 Langkah

Video: Robot Pengintaian Marikh: 4 Langkah

Video: Robot Pengintaian Marikh: 4 Langkah
Video: Temuan NASA di Mars Membuat Para Ilmuwan Tercengang 2024, Julai
Anonim
Robot Pengintaian Marikh
Robot Pengintaian Marikh

Instructable ini adalah panduan langkah demi langkah untuk memprogram dan memerintah Mars Reconnaissance Robot.

Untuk memulakan, seseorang mesti mendapatkan senarai bahan berikut: Ciptaan iRobot yang dicas yang disesuaikan oleh Tickle College of Eningeering Univerisity of Tennessee, Rangkaian tanpa wayar yang disambungkan ke Raspberry Pi di iRobot, UTK iRobot buat pengecas, Wifi-mampu komputer dengan akses ke MATLAB dan internet.

Langkah 1: Kotak Alat Roomba

Kotak Alat Roomba
Kotak Alat Roomba

Buka MATLAB dan buat folder baru untuk fail kod yang akan disimpan dari projek anda. Di MATLAB, buka skrip baru dan jalankan kod di bawah. Setelah skrip dijalankan, tambahkan folder baru ke direktori di mana MATLAB mencari fail.

Kod:

fungsi roombaInstallclc; % senarai fail untuk memasang fail = {'roomba.m', 'roombaSim.m', 'roombaSimGUI.m', 'roombaSimGUI.fig'}; % lokasi untuk dipasang dari options = weboptions ('CertificateFilename', ''); % suruh untuk mengabaikan pelayan keperluan sijil = 'https://ef.engr.utk.edu/ef230/projects/roomba-f2016/install/'; dlgTitle = 'Roomba Install / Update'; % tujuan paparan dan dapatkan prompt pengesahan = {'Program ini akan memuat turun fail EF 230 Roomba ini:' '' strjoin (files, '') '' '' ke folder ini: '' 'cd' '' Adakah anda mahu meneruskan? '}; bip; yn = questdlg (prompt,… dlgTitle,… 'Ya', 'Tidak', 'Ya');

jika ~ strcmp (yn, 'Ya'), kembali; akhir

% dapatkan senarai fail yang ada_files = files yang ada (cellfun (@exist, files)> 0); if ~ isempty (sedia ada_files)% pastikan betul-betul baik untuk menggantinya prompt = {'Anda mengganti fail ini:' '' strjoin (υπάρχον_files, '') '' 'OK untuk diganti?' }; bip; yn = questdlg (prompt,… dlgTitle,… 'Ya', 'Tidak', 'Ya'); jika ~ strcmp (yn, 'Ya'), kembali; hujung akhir

% memuat turun fail cnt = 0; untuk i = 1: panjang (fail) f = fail {i}; disp (['Memuat turun' f]); cuba url = [pelayan f]; penyimpanan laman web (f, url, pilihan); % menambahkan pilihan untuk mengelakkan kesalahan keselamatan cnt = cnt + 1; catch disp (['Kesalahan memuat turun' f]); dummy = [f '.html']; jika ada (dummy, 'file') == 2 hapus (dummy) hujung hujung

jika cnt == panjang (fail) msg = 'Pemasangan Berjaya'; tunggu (msgbox (msg, dlgTitle)); else msg = 'Ralat Pemasangan - lihat tetingkap arahan untuk perincian'; tunggu (errordlg (msg, dlgTitle)); akhir

akhir% roombaInstall

Langkah 2: Bersedia untuk Menyambung

Bersedia untuk Menyambung
Bersedia untuk Menyambung
Bersedia untuk Menyambung
Bersedia untuk Menyambung

Sambungkan mikro-USB yang menonjol dari robot ke port bawah Raspberry Pi. Kemudian di bahagian atas Roomba, serentak tekan dan tahan butang dok dan spot sehingga lampu di Roomba redup. Anda harus mendengar skala elektronik dari Roomba sebaik sahaja anda melepaskan.

Langkah 3: Menyambung ke Robot

Menyambung ke Robot
Menyambung ke Robot

Buka rangkaian yang ada di komputer anda dan pilih rangkaian yang ada antara komputer dan Raspberry Pi. Dalam folder MATLAB semasa, klik kanan pada folder projek anda sekarang dan pilih kotak alat roomba yang dimuat turun pada langkah 1 dan tambahkan ke jalan. Dalam rangkaian yang dirancang untuk pelbagai sambungan Pi, tentukan robot anda dengan membuat objek kelas Roomba. Lihat contoh di bawah

Sekiranya anda mempunyai Roomba untuk nombor 7, masukkan yang berikut:

r = roomba (7)

Ingatlah bahawa pemboleh ubah ini sekarang ditugaskan ke roomba, setiap arahan yang diberikan kepada robot mesti dipimpin oleh pemboleh ubah yang diberikan.

Langkah 4: Kod

Kod
Kod

drive.google.com/drive/folders/1OVR5oTHUsn…

Dengan menggunakan pautan di atas, simpan semua fail.m, ke folder yang diberikan di mana program utama akan dijalankan. Pautan harus terbuka untuk semua yang mempunyai pautan. Buka skrip baru di folder semasa dan jalankan mycontrolprogram.m seperti yang dilihat di bawah:

fungsi mycontrolprogram (r) global m m = mobiledev; e-melInit (); berjalan = 1; kiraan global global f = 0; f = r; global direc direc = 0; r.getAngle; r.getDistance; curLoc curLoc global = [0, 0]; pts global pts = sifar (1, 2, 2); manual = benar; grafObs (1); v = 0.15; sambil hitung <50 if (manual == false) obsDetect (r, v, pts); direc = direc + r.getAngle; r.setLEDDigits (num2str (kiraan)); lain direc = direc + r.getAngle; manualDrive (); hujung akhir figSend (); akhir

Robot kini harus melaksanakan tugasnya yang dirancang.

Disyorkan: