Mục lục:

Robot do thám sao Hỏa: 4 bước
Robot do thám sao Hỏa: 4 bước

Video: Robot do thám sao Hỏa: 4 bước

Video: Robot do thám sao Hỏa: 4 bước
Video: Đưa robot lên thăm dò lên sao Hỏa - Khám phá vũ trụ 2024, Tháng bảy
Anonim
Robot do thám sao Hỏa
Robot do thám sao Hỏa

Có thể hướng dẫn này là hướng dẫn từng bước để lập trình và chỉ huy Robot do thám sao Hỏa.

Để bắt đầu, người ta phải lấy danh sách các tài liệu sau: Một iRobot có tính phí được tạo bởi Tickle College of Eningrating Univerisity of Tennessee, Một mạng không dây được kết nối với Raspberry Pi trong iRobot, bộ sạc tạo UTK iRobot, có khả năng phát Wifi máy tính có quyền truy cập MATLAB và internet.

Bước 1: Hộp công cụ Roomba

Hộp công cụ Roomba
Hộp công cụ Roomba

Mở MATLAB và tạo một thư mục mới cho các tệp mã được lưu trữ từ dự án của bạn. Trong MATLAB, hãy mở một tập lệnh mới và chạy mã bên dưới. Khi tập lệnh được chạy, hãy thêm thư mục mới vào thư mục mà MATLAB tìm kiếm tệp.

Mã số:

chức năng roombaInstallclc; % danh sách các tập tin cần cài đặt files = {'roomba.m', 'roombaSim.m', 'roombaSimGUI.m', 'roombaSimGUI.fig'}; % vị trí cần cài đặt từ options = weboptions ('CertificateFilename', ''); % yêu cầu nó bỏ qua máy chủ yêu cầu chứng chỉ = 'https://ef.engr.utk.edu/ef230/projects/roomba-f2016/install/'; dlgTitle = 'Cài đặt / Cập nhật Roomba'; % display mục đích và nhận lời nhắc xác nhận = {'Chương trình này sẽ tải xuống các tệp Roomba EF 230 này:' '' strjoin (files, '') '' 'vào thư mục này:' '' cd '' 'Bạn có muốn tiếp tục không? '}; tiếng kêu bíp; yn = questdlg (nhắc,… dlgTitle,… 'Có', 'Không', 'Có');

if ~ strcmp (yn, 'Yes'), return; kết thúc

% lấy danh sách các tập tin tồn tại current_files = files (cellfun (@exist, files)> 0); if ~ isempty (current_files)% hãy đảm bảo rằng việc thay thế chúng là thực sự ổn. }; tiếng kêu bíp; yn = questdlg (nhắc,… dlgTitle,… 'Có', 'Không', 'Có'); if ~ strcmp (yn, 'Yes'), return; kết thúc cuối cùng

% tải xuống các tệp cnt = 0; for i = 1: length (files) f = files {i}; disp (['Đang tải xuống' f]); thử url = [máy chủ f]; websave (f, url, tùy chọn); % thêm tùy chọn để tránh lỗi bảo mật cnt = cnt + 1; catch disp (['Lỗi khi tải xuống' f]); dummy = [f '.html']; nếu tồn tại (dummy, 'file') == 2 xóa (dummy) end end end

if cnt == length (files) msg = 'Cài đặt thành công'; waitfor (msgbox (msg, dlgTitle)); else msg = 'Lỗi Cài đặt - xem cửa sổ lệnh để biết chi tiết'; waitfor (errordlg (msg, dlgTitle)); kết thúc

end% roombaInstall

Bước 2: Chuẩn bị kết nối

Chuẩn bị kết nối
Chuẩn bị kết nối
Chuẩn bị kết nối
Chuẩn bị kết nối

Kết nối micro-USB nhô ra từ robot với cổng dưới cùng của Raspberry Pi. Sau đó, trên đầu Roomba, đồng thời nhấn và giữ các nút dock và nút đốm cho đến khi đèn trên Roomba mờ đi. Bạn sẽ nghe thấy một cân điện tử từ Roomba khi bạn phát hành.

Bước 3: Kết nối với Robot

Kết nối với Robot
Kết nối với Robot

Mở các mạng có sẵn trên máy tính của bạn và chọn mạng hiện có giữa máy tính và Raspberry Pi. Trong thư mục hiện tại của MATLAB, nhấp chuột phải vào thư mục dự án hiện tại của bạn và chọn hộp công cụ roomba đã tải xuống ở bước 1 và thêm vào đường dẫn. Trong mạng được thiết kế cho nhiều kết nối Pi, hãy chỉ định rô bốt của bạn bằng cách tạo một đối tượng thuộc lớp Roomba. Xem ví dụ bên dưới

Nếu bạn đã gán Roomba cho số 7, hãy nhập như sau:

r = roomba (7)

% Hãy nhớ rằng biến này hiện đã được gán cho roomba, bất kỳ lệnh nào được đưa ra cho rô bốt phải được dẫn bởi biến được chỉ định.

Bước 4: Mã

Mã số
Mã số

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

Sử dụng liên kết ở trên, lưu tất cả các tệp.m, vào thư mục nhất định nơi chương trình chính sẽ được chạy. Liên kết phải được mở cho tất cả những người có liên kết. Mở một tập lệnh mới trong thư mục hiện tại và chạy mycontrolprogram.m như bên dưới:

function mycontrolprogram (r) global m m = mobiledev; emailInit (); đang chạy = 1; global f global count count = 0; f = r; tổng thể hướng dẫn trực tiếp = 0; r.getAngle; r.getDistance; global curLoc curLoc = [0, 0]; pts toàn cục pts = số không (1, 2, 2); thủ công = true; graphObs (1); v = 0,15; while count <50 if (manual == false) obsDetect (r, v, pts); direc = direc + r.getAngle; r.setLEDDigits (num2str (số lượng)); else direc = direc + r.getAngle; thủ côngDrive (); end end figSend (); kết thúc

Robot bây giờ sẽ thực hiện công việc được thiết kế của nó.

Đề xuất: