Sadržaj:
- Korak 1: Korak 1: Potrebni materijali
- Korak 2: Korak 2: Postavljanje/dobijanje koda za Roombu
- Korak 3: Korak 3: Postavljanje senzora litica/LED svjetala
- Korak 4: Korak 4: Provjeravanje prepreka
- Korak 5: Korak 5: Iscrtavanje
Video: Roomba MATLAB projekt: 5 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:07
Trenutni plan koji NASA ima za Mars rover je da on bude sakupljač podataka i da luta po Marsu, prikupljajući uzorke tla kako bi se vratio na Zemlju kako bi naučnici mogli vidjeti postoje li neki prethodni oblici života na planeti. Osim toga, rover šalje naučnike slike kako bi im pomogli u navigaciji i riješili sve probleme koje bi mogao imati.
Ideja naše grupe za naš projekt je da rover učini isto što i NASA -in rover koji će napustiti Zemlju 2020. godine, ali i da ucrta geografiju kopna. Roomba bi mogla osjetiti litice i zaustaviti se prije nego što padne, a zatim se vratiti, okrenuti i promijeniti kurs kako ne bi pala i oštetila se. Naša druga ideja integrirana u naš projekt je da roomba može iscrtati orijentire koje vidi i prikazati zaplet svaki put kada se petlja završi i ako se njen tok pokrene.
Ovo uputstvo je za svakoga ko bi želio stvoriti istu vrstu koda za svoju roombu.
Korak 1: Korak 1: Potrebni materijali
Trebat će vam:
- Roomba
- MATLAB
- Ova datoteka za pokretanje roombe
- Ravna površina
- Površina stola koja djeluje kao "litica"
Korak 2: Korak 2: Postavljanje/dobijanje koda za Roombu
Vaš zaslon će izgledati ovako nakon što unesete datoteke.
Korak 3: Korak 3: Postavljanje senzora litica/LED svjetala
Ovaj kôd će vašem roombi točno reći pod kojim kutom treba okrenuti, provjeriti podatke o bateriji, reći mu koliko brzo treba ići i provjeriti ima li ljudi kroz kameru roombe. Takođe će se oglasiti zvučnim signalom ako identifikuje osobu, i zaustaviće se pre silaska sa litice.
% pokušajte rob.setLEDDigits ('') x = 0; y = 0; theta = 0; prepreka = ; ciklus = 1; AngCorr = @(x) x + 3,059.*X.^0,4205; %Funkcija za ispravljanje uglova okretanja dok rob.getBatteryInfo.percent> 15 rob.setLEDDigits ('') rob.setDriveVelocity (0.1) %Idi %Provjeri osobu ako AA_checkperson (rob) rob.beep end %Provjeri senzor litice ako je AA_cliffcheck (rob) rob.stop rob.setLEDDigits ('Cliff') pauza (0.5) prepreka (ciklus) = 2; AA_cliffbeep (rob) %Sigurnosno kopiranje i okretanje rob.moveDistance (-. 15) rob.turnAngle (30) end
Korak 4: Korak 4: Provjeravanje prepreka
Ovaj kôd će roombu provjeriti ima li oko nje stavki, te će provjeriti senzor udara kako bi se uvjerio da se zaustavlja prije nego što se ošteti.
%Provjerite senzor svjetla ako je AA_lightcheck (rob) rob.stop rob.setLEDDigits ('Wall') pauza (0,5) prepreka (ciklus) = 1; %Wall AA_wallbeep (rob) %Sigurnosno kopiranje i okretanje rob.moveDistance (-. 15) rob.turnAngle (30) end %Provjerite senzor udarca ako AA_bumpcheck (rob) rob.stop rob.setLEDDigits ('Wall') pauzira (0.5) prepreka (ciklus) = 1; %Zid AA_wallbeep (rob) %Nazad i skrenite rob.moveDistance (-. 15) rob.turnAngle (30) end %Ako nema ako je prazna (prepreka) prepreka (ciklus) = 0; inače, ako je dužina (prepreka) <prepreka ciklusa (ciklus) = 0; kraj
Korak 5: Korak 5: Iscrtavanje
Ovaj kôd će reći vašoj roombi da iscrta šta će naići na svom putovanju. Zavjera poput ove pojavit će se nakon što se roomba zaustavi.
%Dobijte poziciju d = rob.getDistance; ako je ciklus == 1 teta (ciklus) = 0; x (ciklus) = d.*cosd (theta (ciklus)); % ukupnog pređenog puta u x y (ciklus) = d.*sind (theta (ciklus)); % ukupnog pređenog puta u y else theta (ciklus) = theta (ciklus-1) + rob.getAngle; x (ciklus) = d.*cosd (theta (ciklus)) + x (ciklus-1); % ukupnog pređenog puta u x y (ciklus) = d.*sind (theta (ciklus)).*d + y (ciklus-1); %ukupni pređeni put na kraju y %Stanje prekida ako rob.getButtons.clean break end %Povećanje ciklusa ciklusa = ciklus + 1; kraj rob.stop za i = 1: ciklus ako je prepreka (i) == 1 %Zidna ploha (x (i), y (i), 'Marker', 'kvadrat', 'MarkerEdgeColor', 'r') inače prepreka (i) == 2 %Grafikon litice (x (i), y (i), 'Marker', 'o', 'MarkerEdgeColor', 'k') krajnji tekst (.9, 0.9, sprintf ('Kvadrat = Zid) nCircle = Cliff '),' Units ',' normalized ') držite na kraju % Signal opasnosti dok je istinita rob.beep pauza (3) ako rob.getButtons.clean break end % catch % rob.stop % end
Preporučuje se:
Roomba Bot Bulider: 5 koraka (sa slikama)
Roomba Bot the Bulider: Bot the Builder je roomba koja sa " hvataljkama " pričvršćen sprijeda moći će pomicati objekte. Kôd s njim postavljen je tako da bilježi prvi pokret pomoću grafičkog okvira koji možete kontrolirati samo jednim klikom miša. Afte
MATLAB kontrolirana Roomba: 5 koraka
MATLAB kontrolirana Roomba: Cilj ovog projekta je korištenje MATLAB -a, kao i modificiranog iRobot programabilnog robota. Naša grupa je kombinirala naše vještine kodiranja kako bi stvorila MATLAB skriptu koja koristi mnoge funkcije iRobota, uključujući senzore litice, senzore odbojnika
Roomba roomba upravljani preglednikom sa Raspberry Pi modelom 3 A+: 6 koraka (sa slikama)
Roomba robotski upravljani Roomba robot s Raspberry Pi modelom 3 A+: PregledOva instrukcija će se fokusirati na to kako mrtvoj Roombi dati novi mozak (Raspberry Pi), oči (web kamera) i način da kontrolirate sve iz web preglednika. Postoji mnogo Roomba hakova koji omogućuju kontrolu putem serijskog sučelja. Ja nemam
Roomba sa MATLAB -om: 4 koraka (sa slikama)
Roomba s MATLAB -om: Ovaj projekt koristi MATLAB i iRobot Create2 programabilnog robota. Stavljajući na znanje naše znanje o MATLAB -u, u mogućnosti smo programirati Create2 za tumačenje slika i otkrivanje signala. Funkcionalnost robota uglavnom ovisi o
Burner sa USB pogonom! Ovaj projekt može izgorjeti kroz plastiku / drvo / papir (zabavan projekt također mora biti vrlo fino drvo): 3 koraka
Gorionik sa USB pogonom! Ovaj projekt može izgorjeti kroz plastiku / drvo / papir (zabavan projekt također mora biti od vrlo finog drva): NEMOJTE OVO KORISTITI KORIŠĆENJE USB -a !!!! iz svih komentara saznao sam da može oštetiti vaš računar. moj kompjuter je u redu. Koristite punjač za telefon od 600m 5v. Koristio sam ovo i radi dobro i ništa se ne može oštetiti ako upotrijebite sigurnosni utikač za zaustavljanje napajanja