Kazalo:
- 1. korak: 1. korak: potrebni materiali
- 2. korak: 2. korak: Nastavitev/pridobivanje kode za Roombo
- Korak 3: Korak 3: Nastavitev senzorjev pečine/LED luči
- 4. korak: 4. korak: Preverjanje ovir
- 5. korak: 5. korak: načrtovanje
Video: Projekt Roomba MATLAB: 5 korakov
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:06
Sedanji načrt, ki ga ima NASA za rover Mars, je, da bo zbiralec podatkov in bo hodil po Marsu ter zbiral vzorce tal, ki jih bo prinesel nazaj na Zemljo, da bodo znanstveniki lahko videli, ali je na planetu obstajala kakšna prejšnja oblika življenja. Poleg tega rover pošlje znanstvenikom posnetke, ki jim lahko pomagajo pri navigaciji po roverju in odpravijo morebitne težave.
Ideja naše skupine za naš projekt je, da bi rover naredil enako kot rover NASA, ki bo leta 2020 zapustil Zemljo, hkrati pa naj kartira zemljepis zemlje. Roomba bi lahko zaznala pečine in se ustavila, preden pade, nato pa se vrnila nazaj, obrnila in spremenila smer, da ne bi padla in se poškodovala. Naša druga ideja, vključena v naš projekt, je, da roomba lahko izriše mejnike, ki jih vidi, in prikaže ploskev vsakič, ko je zanka končana in je njen potek potekal.
Ta navodila so namenjena vsem, ki bi radi ustvarili isto vrsto kode za svojo roombo.
1. korak: 1. korak: potrebni materiali
Boste potrebovali:
- Roomba
- MATLAB
- Ta datoteka za zagon roombe
- Ravna površina
- Površina mize, ki deluje kot "pečina"
2. korak: 2. korak: Nastavitev/pridobivanje kode za Roombo
Ko vnesete datoteke, bo vaš zaslon videti tako.
Korak 3: Korak 3: Nastavitev senzorjev pečine/LED luči
Ta koda bo vaši roombi natančno povedala, pod kakšnim kotom naj zavije, preverila bo podatke o bateriji, roombi povedala, kako hitro naj gre, in preverila osebo skozi kamero roombe. Opozoril bo tudi, če identificira osebo, in se ustavil, preden se odpravi s pečine.
% poskusite rob.setLEDDigits ('') x = 0; y = 0; theta = 0; ovira = ; cikel = 1; AngCorr = @(x) x + 3,059.*X.^0,4205; %Funkcija za popravljanje kotov zavoja med rob.getBatteryInfo.percent> 15 rob.setLEDDigits ('') rob.setDriveVelocity (0,1) %Pojdi %Preveri osebo, če AA_checkperson (rob) rob.beep end %Preverite senzor pečine, če AA_cliffcheck (rob) rob.stop rob.setLEDDigits ('Cliff') premor (0,5) ovira (cikel) = 2; AA_cliffbeep (rob) %Back Up And Turn rob.moveDistance (-. 15) rob.turnAngle (30) konec
4. korak: 4. korak: Preverjanje ovir
S to kodo bo roomba preveril, ali so okoli nje predmeti, in preveril senzor udarcev, da se prepriča, da se ustavi, preden se poškoduje.
%Preverite senzor svetlobe, če je AA_lightcheck (rob) rob.stop rob.setLEDDigits ('Wall') premor (0,5) ovira (cikel) = 1; %Wall AA_wallbeep (rob) %Back Up And Turn rob.moveDistance (-. 15) rob.turnAngle (30) end %Preverite senzor udarcev, če je AA_bumpcheck (rob) rob.stop rob.setLEDDigits ('Wall') premor (0,5) ovira (cikel) = 1; %Wall AA_wallbeep (rob) %Back Up And Turn rob.moveDistance (-. 15) rob.turnAngle (30) end %Če ni, če je prazna (ovira) ovira (cikel) = 0; sicer če je dolžina (ovira) <ciklična ovira (cikel) = 0; konec
5. korak: 5. korak: načrtovanje
Ta koda bo vašemu roombi povedala, naj začrta, kaj naleti na svoji poti. Zaplet, kot je ta, se bo pojavil po ustavitvi roombe.
%Pridobite položaj d = rob.getDistance; če je cikel == 1 teta (cikel) = 0; x (cikel) = d.*cosd (theta (cikel)); % celotne prevožene poti v x y (cikel) = d.*sind (theta (cikel)); % skupne razdalje, prepotovane v y else theta (cikel) = theta (cikel-1) + rob.getAngle; x (cikel) = d.*cosd (theta (cikel)) + x (cikel-1); % celotne prevožene poti v x y (cikel) = d.*sind (theta (cikel)).*d + y (cikel-1); %skupni prevoženi poraz v y koncu %Stanje prekinitve, če rob.getButtons.clean break end %Povečanje cikla cikla = cikel + 1; end rob.stop za i = 1: cikel, če ovira (i) == 1 %Zidna ploskev (x (i), y (i), 'Marker', 'kvadrat', 'MarkerEdgeColor', 'r') drugače če je ovira (i) == 2 %Načrt pečine (x (i), y (i), 'Marker', 'o', 'MarkerEdgeColor', 'k') končno besedilo (.9, 0.9, sprintf ('Square = Wall) nCircle = Cliff '),' Units ',' normalized ') zadrži % Signal stiske, medtem ko je pravi rob.pips prekinitev (3) če rob.getButtons.clean break end % catch % rob.stop % end
Priporočena:
Roomba Bot Bulider: 5 korakov (s slikami)
Roomba Bot the Bulider: Bot the Builder je roomba, ki z " grabberji " pritrjen spredaj bo lahko premikal predmete. Koda z njo je nastavljena tako, da zabeleži prvi premik z grafičnim vmesnikom, ki ga lahko upravljate samo s klikom miške. Afte
MATLAB nadzorovana Roomba: 5 korakov
Robomba z nadzorom MATLAB: Cilj tega projekta je uporabiti MATLAB kot tudi spremenjenega iRobot programabilnega robota. Naša skupina je združila naše sposobnosti kodiranja, da bi ustvarila skript MATLAB, ki uporablja številne funkcije iRobota, vključno s senzorji za pečine, odbijačem
Projekt Roomba: 5 korakov (s slikami)
Projekt Roomba: Ta navodila so nastala v skladu z zahtevami projekta Makecourse na Univerzi v Južni Floridi (www.makecourse.com). Ta navodila bodo zajela vse potrebne korake in komponente, potrebne za sestavljanje mojega projekta Roomba
Roomba z MATLAB: 4 koraki (s slikami)
Roomba z MATLAB: Ta projekt uporablja MATLAB in programabilnega robota iRobot Create2. S preizkušanjem znanja o MATLAB -u lahko programiramo Create2 za razlago slik in zaznavanje signalov. Funkcionalnost robota je odvisna predvsem od
Gorilnik z USB pogonom! Ta projekt lahko gori iz plastike / lesa / papirja (zabaven projekt mora biti tudi iz zelo lesenega lesa): 3 koraki
Gorilnik z USB pogonom! Ta projekt lahko gori iz plastike / lesa / papirja (zabaven projekt mora biti tudi iz zelo lesenega lesa): NE NAČINITE TEGA Z UPORABO USB !!!! Iz vseh komentarjev sem ugotovil, da lahko poškoduje vaš računalnik. moj računalnik je v redu. Uporabite polnilnik za telefon 600m 5v. Uporabil sem to in deluje brezhibno in nič se ne poškoduje, če uporabite varnostni vtič za zaustavitev napajanja