Talaan ng mga Nilalaman:

Mars Reconnaissance Robot: 4 na Hakbang
Mars Reconnaissance Robot: 4 na Hakbang

Video: Mars Reconnaissance Robot: 4 na Hakbang

Video: Mars Reconnaissance Robot: 4 na Hakbang
Video: NASA Mars Science Laboratory (Curiosity Rover) Mission Animation [HDx1280] 2024, Nobyembre
Anonim
Mars Reconnaissance Robot
Mars Reconnaissance Robot

Ang Instructable na ito ay isang sunud-sunod na gabay sa programa at utos sa Mars Reconnaissance Robot.

Upang magsimula, dapat makuha ng isang tao ang listahan ng mga sumusunod na materyales: Isang sisingilin na iRobot na nilikha na na-customize ng Tickle College of Eningeering Univerisity of Tennessee, Isang wireless network na konektado sa Raspberry Pi sa iRobot, UTK iRobot lumikha ng charger, may kakayahang Wifi computer na may access sa MATLAB at sa internet.

Hakbang 1: Roomba Toolbox

Roomba Toolbox
Roomba Toolbox

Buksan ang MATLAB at lumikha ng isang bagong folder para sa mga file ng code na maiimbak mula sa iyong proyekto. Sa MATLAB, magbukas ng isang bagong script at patakbuhin ang code sa ibaba. Kapag ang script ay pinatakbo, idagdag ang bagong folder sa direktoryo kung saan ang MATLAB ay naghahanap ng mga file.

Code:

function roombaInstallclc; % listahan ng mga file upang mai-install ang mga file = {'roomba.m', 'roombaSim.m', 'roombaSimGUI.m', 'roombaSimGUI.fig'}; % lokasyon upang mai-install mula sa mga pagpipilian = weboptions ('CertificateFilename', ''); % sabihin ito upang huwag pansinin ang mga kinakailangan ng sertipiko server = 'https://ef.engr.utk.edu/ef230/projects/roomba-f2016/install/'; dlgTitle = 'Roomba Install / Update'; % layunin ng pagpapakita at makakuha ng prompt na kumpirmasyon = {'Ang program na ito ay mag-download ng mga EF 230 Roomba file:' '' strjoin (mga file, '') '' 'sa folder na ito:' '' cd '' 'Nais mo bang magpatuloy? '}; beep; yn = questdlg (prompt,… dlgTitle, … 'Oo', 'Hindi', 'Oo');

kung ~ strcmp (yn, 'Oo'), bumalik; magtapos

% makakuha ng listahan ng mga file na umiiral na mga_files = file (cellfun (@exist, mga file)> 0); kung ~ isempty (existing_files)% siguraduhin na ok lang talaga na palitan ang mga ito prompt = {'Pinapalitan mo ang (mga) file na ito:' '' strjoin (existing_files, '') '' 'OK upang palitan?' }; beep; yn = questdlg (prompt,… dlgTitle, … 'Oo', 'Hindi', 'Oo'); kung ~ strcmp (yn, 'Oo'), bumalik; pagtatapos ng wakas

% i-download ang mga file cnt = 0; para sa i = 1: haba (mga file) f = mga file {i}; disp (['Pagda-download' f]); subukan ang url = [server f]; websave (f, url, mga pagpipilian); % nagdagdag ng mga pagpipilian upang maiwasan ang mga error sa seguridad cnt = cnt + 1; catch disp (['Error sa pag-download ng' f]); dummy = [f '.html']; kung mayroon (dummy, 'file') == 2 tanggalin (dummy) ang end end end

kung cnt == haba (mga file) msg = 'Matagumpay na Pag-install'; waitfor (msgbox (msg, dlgTitle)); else msg = 'Error sa Pag-install - tingnan ang window ng utos para sa mga detalye'; waitfor (errordlg (msg, dlgTitle)); magtapos

magtapos% roombaInstall

Hakbang 2: Paghahanda upang Kumonekta

Paghahanda upang Kumonekta
Paghahanda upang Kumonekta
Paghahanda upang Kumonekta
Paghahanda upang Kumonekta

Ikonekta ang naka-protrud na micro-USB mula sa robot sa ilalim na port ng Raspberry Pi. Pagkatapos sa tuktok ng Roomba, sabay-sabay pindutin nang matagal ang dock at spot button hanggang sa lumubog ang ilaw sa Roomba. Dapat mong marinig ang isang elektronikong sukat mula sa Roomba sa sandaling pinakawalan mo.

Hakbang 3: Pagkonekta sa Robot

Kumokonekta sa Robot
Kumokonekta sa Robot

Buksan ang mga magagamit na network sa iyong computer at piliin ang mayroon nang network sa pagitan ng computer at Raspberry Pi. Sa kasalukuyang folder ng MATLAB, mag-right click sa iyong kasalukuyang folder ng proyekto at piliin ang roomba toolbox na na-download sa hakbang 1 at idagdag sa path. Sa isang network na idinisenyo para sa maraming koneksyon sa Pi, tukuyin ang iyong robot sa pamamagitan ng paglikha ng isang bagay ng klase ng Roomba. Tingnan ang halimbawa sa ibaba

Kung mayroon kang isang Roomba na nakatalaga sa numero 7, ipasok ang sumusunod:

r = roomba (7)

% Tandaan na ang variable na ito ay nakatalaga ngayon sa roomba, ang anumang utos na ibinigay sa robot ay dapat na humantong sa pamamagitan ng itinalagang variable.

Hakbang 4: Code

Code
Code

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

Gamit ang link sa itaas, i-save ang lahat ng mga.m file, sa ibinigay na folder kung saan tatakbo ang pangunahing programa. Dapat na bukas ang link sa lahat na mayroong link. Magbukas ng isang bagong script sa kasalukuyang folder at patakbuhin ang mycontrolprogram.m tulad ng nakikita sa ibaba:

pagpapaandar mycontrolprogram (r) global m m = mobiledev; emailInit (); tumatakbo = 1; pandaigdigang bilang ng bilang ng pandaigdigang bilang = 0; f = r; pandaigdigang direc direc = 0; r.getAngle; r.getDistansya; pandaigdigang curLoc curLoc = [0, 0]; pts global pts = zero (1, 2, 2); manu-manong = totoo; grapObs (1); v = 0.15; habang bilangin <50 kung (manu-manong == maling) obsDetect (r, v, pts); direc = direc + r.getAngle; r.setLEDDigits (num2str (count)); iba direc = direc + r.getAngle; manualDrive (); end end figSend (); magtapos

Dapat na gampanan ng Robot ang nakadisenyong trabaho na ito.

Inirerekumendang: