Obsah:
2025 Autor: John Day | [email protected]. Naposledy zmenené: 2025-01-23 15:06
V súčasnej dobe sa rovery na Marse používajú na zber údajov o povrchu Marsu rôznymi metódami, až do konečného cieľa dozvedieť sa viac o potenciáli planéty pre mikrobiálny život. Na zber údajov používajú rovery predovšetkým nástroje na fotografovanie a analýzu pôdy, ale medzi rovery patria aj navigačné nástroje, detektory žiarenia, atmosférické senzory a laser na odparovanie vzoriek hornín. Plánovaný cieľ misie rovera 2020 je väčšinou rovnaký, ale so špeciálnou úlohou „zbierať vzorky pôdy a hornín a ukladať ich do vyrovnávacej pamäte na povrchu pre potenciálny návrat na Zem budúcou misiou“, uvádza NASA.
Za predpokladu, že budúce rovery budú použité na ľudskú pomoc, náš tím zvážil, aké aspekty ľudí môže rover monitorovať. Dospeli sme k záveru, že v prípade núdze, ktorá spôsobí, že astronaut bude v bezvedomí s nedostatočnou životnou podporou a vybavením, by náš rover mohol slúžiť ako mobilný maják na máj pozorovaním, že astronaut, ktorého nasledoval, je nehybný a odovzdáva správu o tiesni. Aby nasledoval človeka a určil nehybnosť, rover by bral vstupy, ako napríklad farbu ľudských topánok a ich pohyb. Ďalší vstup, ktorý je potrebné zvážiť, je, že by si musel pamätať svoju cestu, aby v prípade núdze mohol vysielať núdzový signál. Náš rover spĺňa potrebu na Marse v tom, že pokus o takú nákladnú misiu v takom cudzom teréne vyžaduje viac vrstiev núdzových trezorov a ak by astronaut nemohol získať vlastnú pomoc z dôvodu poruchy obleku alebo bezvedomia, môže vozítko upozorniť ostatných.
Tento inštrukčný návod je navrhnutý tak, aby pomohol čitateľovi v programovaní jeho robota Roomba, aby úspešne nasledoval „astronauta“a vyslal v prípade potreby núdzový signál.
Krok 1: Potrebný materiál
1) Počítač/prenosný počítač s prístupom na internet
2) MATLAB_R2018a
3) Roomba a Roomba na stiahnutie
Krok 2: Nastavenie/stiahnutie
Spustite tento skript v MATLABe a stiahnite si softvér potrebný na prístup k robotu Roomba (uložený vo vlastnom súbore v priečinku projektu)
Ďalšia pomoc:
% Inštalačný program pre projekt EF 230 Roomba% Posledná aktualizácia: 13. septembra 2017 (Opravené problémy so zabezpečením súvisiace so serverom https a upozornením na odstránenie odstráneného súboru, ak sa vyskytnú chyby) funkcia roombaInstall clc; % zoznam súborov na inštaláciu súborov = {'roomba.m', 'roombaSim.m', 'roombaSimGUI.m', 'roombaSimGUI.fig'}; % umiestnenia na inštaláciu z options = weboptions ('CertificateFilename', ''); % povedzte, aby ignoroval požiadavky na certifikát server = 'https://ef.engr.utk.edu/ef230/projects/roomba-f2016/install/'; dlgTitle = 'Inštalácia/aktualizácia Roomba'; % účel zobrazenia a výzva na potvrdenie = {'Tento program stiahne tieto súbory EF 230 Roomba:' '' strjoin (súbory, '') '' 'do tohto priečinka:' '' cd '' 'Chcete pokračovať? '}; pípnutie; yn = questdlg (prompt, … dlgTitle, … 'Yes', 'No', 'Yes');
if ~ strcmp (yn, 'Yes'), return; koniec
% získať zoznam existujúcich súborov existing_files = files (cellfun (@exist, files)> 0); if ~ isempty (existing_files) % uistite sa, že je skutočne v poriadku ich nahradiť prompt = {'Nahrádzate tieto súbory:' '' strjoin (existing_files, '') '' 'OK to replace?' }; pípnutie; yn = questdlg (prompt, … dlgTitle, … 'Yes', 'No', 'Yes'); if ~ strcmp (yn, 'Yes'), return; koniec koniec
% stiahnuť súbory cnt = 0; pre i = 1: dĺžka (súbory) f = súbory {i}; disp (['sťahovanie' f]); skúste url = [server f]; websave (f, URL, možnosti); % pridané možnosti, ako sa vyhnúť chybám zabezpečenia cnt = cnt + 1; catch disp (['Chyba pri sťahovaní' f]); atrapa = [f '.html']; ak existujú (atrapa, 'súbor') == 2 vymazať (atrapu) koniec koniec koniec
ak cnt == dĺžka (súbory) msg = 'Inštalácia bola úspešná'; čakať (msgbox (msg, dlgTitle)); else msg = 'Chyba inštalácie - podrobnosti nájdete v príkazovom okne'; čakať na (errordlg (msg, dlgTitle)); koniec
koniec %roombaInštalácia
Krok 3: Kód Časť 1: Funkcia sledovania
Táto funkcia vezme premennú Roomba a obrázok z kamery na Roombe a nájde stredové súradnice xy sledovaného objektu
Uložte tento kód do iného súboru v rovnakom priečinku.
funkcia [xm, ym] = trackingblue (r) %Vstupy: premenná roomba %Výstupy: x a y hodnota stredu nasledujúceho objektu %Účel: vyhľadá stred modrého objektu vzhľadom na obrázok %Použitie [hodnota x, y hodnota] = trackingblue (premenná roomba) img = r.getImage; % číta kameru mimo podobrazu (1, 2, 2) robota (obr.); %zobrazuje obrázok v rovnakom okne ako názov cesty („sledovací obrázok“) red = img (:,:, 1); zelená = img (:,:, 2); modrá = img (:,:,, 3); justBlue = modrá - zelená/2 - červená/2; bw = justBlue> 40; podržať podkres (1, 2, 2) podobraz (bw); [x, y] = find (bw); ak ~ je prázdny (x) && ~ prázdny (y) xm = okrúhly (priemer (x)); ym = okrúhly (priemer (y)); xx = max (1, xm-5): min (xm+5, veľkosť (telesná hmotnosť, 1)); yy = max (1, ym-5): min (ym+5, veľkosť (bw, 2)); bwbw = nuly (veľkosť (bw), 'uint8'); bwbw (xx, yy) = 255; podržať podkres (1, 2, 2) podobraz (justBlue + bwbw); koniec
Krok 4: Kód Časť 2: Pri slučke
Tento kód poháňa robot Roomba na základe umiestnenia objektu x a y z funkcie sledovania. Vďaka tomu bude Roomba pri hľadaní modrej dávať pozor na steny a útesy. To tiež zoberie súradnice x a y cesty Roomba a vytvorí zodpovedajúci graf so sledovacím obrázkom. Ak je snímač nárazov aktivovaný, prejde do sekcie e -mailu
%Rover Project
%Jonah Zahn, Wade Price, Noah Sloan %jzahn2, wprice15, nsloan1 %Vstupy: hodnota roomba, údaje z kamery, snímače nárazov, svetla a steny %Účel: Nasleduje astronauta a vyhýba sa prekážkam. V prípade varovania roomba pošle e -mail s %podrobným popisom mapy a toho, kde sa nachádza, podľa jej počiatočnej polohy. %Použitie: stačí spustiť program s deklarovanou premennou roomba, tiež %mať pohybujúci sa zelený objekt %Výstupy: zobrazí obrázok sledujúci obrázok, mapu e -mailov a text používateľovi %% Podľa sekcie b = 0; %Inicializačné premenné c = 0; x = 0; y = 0; theta = 0; zatiaľ čo c == 0 %slučka, aby detekovala modrý objekt a prekážky t = r.timeGet; d = r.getDistance; [xval, yval] = trackingblue (r); cliff = getCliffSensors (r); %inicializácia štruktúr pre hodnoty senzora light = getLightBumpers (r); bump = getBumpers (r); ak light.leftCenter> = 10 || light.rightCenter> = 10 % Rozpozná, ak sa v blízkosti r.stop r.setLEDDigits ('pomoc') nachádza múr c = 1 %, zatiaľ čo b == 0 % ak bump.right == 1 || bump.left == 1 || bump.front == 1 % Zistí, ak narazilo na niečo potom, čo rozcítilo stenu % c = 1 % b = 1 % disp ('bump') % end % end elseif bump.right == 1 || bump.left == 1 || bump.front == 1 %Zistí, ak na niečo narazilo, ak áno, pošle e -mail r.stop c = 1 b = 1 elseif cliff.leftFront <= 100 || cliff.rightFront <= 100 || cliff.left <= 100 || cliff.right <= 100 %Rozpozná, ak sa v blízkosti bodu r.stop nachádza c = 1 r.setLEDDigits ('help') else %Nastaví rýchlosti pohonu podľa modrej, ak yval = 100 r.setDriveVelocity (0,1) inak 400 r.turnAngle (-5) koncový koniec theta = theta + r.getAngle; x = d.*cosd (theta) + x; % x súradnice roomba y = d.*sind (theta).*d + y; Súradnica % y súradnice podkresa Roomba (1, 2, 1) (x, y, 'bd') % vykreslí cestu a pridá názov titulu ('Cesta Roomba'), podržte sa; koniec
Krok 5: Kód, časť 3: Sekcia e -mailu
Odošle sa vykreslená cesta a obrázok a odošle sa na zadanú e -mailovú adresu
(Tu je zobrazené s príkladom e -mailu)
%% e -mailová sekcia
ak b == 1 saveas (gcf, 'rovermap.png') %uloží údaj setpref ('internet', 'SMTP_Server', 'smtp.gmail.com'); setpref ('Internet', 'E_mail', '[email protected]'); % poštový účet na odoslanie zo setpref ('Internet', 'SMTP_Username', '[email protected]'); % odosielateľov užívateľské meno setpref ('Internet', 'SMTP_Password', 'gssegsse'); % Heslo pre odosielateľov = java.lang. System.getProperties; props.setProperty ('mail.smtp.auth', 'true'); props.setProperty ('mail.smtp.socketFactory.class', 'javax.net.ssl. SSLSocketFactory'); props.setProperty ('mail.smtp.socketFactory.port', '465'); sendmail ('príklad e -mailu', 'RoverBeacon', 'Astronaut sa prestal pohybovať. Pri obnove postupujte podľa pokynov v priloženom súbore.', 'rovermap.png') disp ('email sent') end
Odporúča:
Projekt robota UTK 2017: 3 kroky
Robot Project UTK 2017: Misia: Náš tím inžinierov bol najatý spoločnosťou Froogle, neziskovou nadáciou pre vývoj technológií s otvoreným zdrojovým kódom, s cieľom vyvinúť inovatívny tím „rover“tímu Mars Rover.-Out, ktorý pomáha ľuďom. je roomba, ktorý sme kódovali na spustenie série
Re-Purpose of Old Router Box for your Arduino Project: 3 Steps
Opätovné využitie starého smerovača pre váš projekt Arduino: Tento projekt vznikol z dôvodu potreby umiestnenia môjho projektu automatizácie domácnosti. Rozhodol som sa znova použiť puzdro zo starého chybného smerovača PlusNet (router Thomson TG585). Požiadavky na moje ozvučnice boli :: Nízkoprofilový závesný box Jednoduché odklopné veko
PHYS 339 Final Project: Simple Theremin: 3 Steps
PHYS 339 Záverečný projekt: Jednoduchý Theremin: Ako rekreačný hudobník a fyzik som si vždy myslel, že theremíny sú najlepší elektronický nástroj. Ich zvuk je takmer hypnotický, keď ich hrá profesionál, a teória elektroniky, ktorá je potrebná k ich fungovaniu, je dosť
Persona Project: 6 Steps (with Pictures)
Persona Project: " Persona Project " elektronický štítok na nositeľné zariadenie, ktorý môže na schôdzach, komerčných prezentáciách alebo vtipných správach na podujatiach zobrazovať vaše meno. Môže zobrazovať správy vášmu priateľovi, zákazníkom, čašníkom, prezentáciám Opakovať správy
Projekt Mars Roomba UTK: 4 kroky
Mars Roomba Project UTK: UPOZORNENIE: TOTO BUDE FUNGOVAŤ IBA AK JE ROOMBA NASTAVENÁ V RIADNOM ŠPECIÁLNOM SPÔSOBE, TENTO INŠTRUKTÍV VYTVORILA A URČILA POUŽÍVAŤ UNIVERZITA V TENNESSEE ŠTUDENTOCH A FACULTY Tento kód sa používa na miestne nainštalovanie miestnosti. napísané a