Përmbajtje:
- Hapi 1: Materialet
- Hapi 2: Lidhja
- Hapi 3: Krijimi logjik i një Kodi MATLAB për Përdorimin e Sensorëve
- Hapi 4: Testimi i Kodit dhe Robotit
- Hapi 5: Njohja e Gabimit
- Hapi 6: Përfundimi
Video: Roomba Parking Pal: 6 hapa
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:20
Ky projekt përdor një iRobot Krijo dhomë të programueshme, MATLAB r2018a dhe celular MATLAB. Duke përdorur këto tre mediume dhe njohuritë tona për kodimin, ne programuam iRobot Create për të interpretuar ngjyrat dhe për të përdorur sensorë në bord për të përfunduar detyrat. Ky projekt varet nga komunikimi Raspberry Pi dhe MATLAB për të kryer këto detyra.
Hapi 1: Materialet
1. iRobot Krijo Robot
2. MATLAB r2018a
3. Mjedër Pi
4. Moduli i kamerës
5. Qëndruesi i Stabilizuesit të Kamerave të printuar 3-D
6. Smartphone me celular MATLAB të instaluar
7. Laptop/Kompjuter me MATLAB të instaluar
Hapi 2: Lidhja
Ky hap ka të bëjë me lidhjen e Raspberry Pi me robotin, së dyti lidhjen e robotit me kompjuterin tuaj dhe lidhjen e smartphone -it me kompjuterin.
Pjesa më e lehtë e këtij procesi është lidhja e Raspberry Pi me robotin tuaj, pasi Raspberry Pi është montuar në krye të robotit. Ekziston një kordon nga roboti që gjithçka që duhet të bëni është ta lidhni me anën e Raspberry Pi.
Hapi tjetër është lidhja e robotit me kompjuterin tuaj në mënyrë që të mund të ekzekutoni komandat që roboti të kryejë. Gjëja e parë që duhet të bëni është të lidhni kompjuterin tuaj me rrjetin pa tel që krijon dhoma juaj. Tani, rekomandohet që të përdorni ikonën Set Path në MATLAB për të vendosur rrugën në mënyrë që të mund të përdorni funksionet në kutinë e veglave Roomba nga MATLAB. Sa herë që filloni dhe përfundoni përdorimin me robotin, duhet të bëni një "Përshëndetje me dy gishta" duke e rivendosur me forcë robotin, që do të thotë se ju mbani të shtypur butonat e stacionit dhe të njollosjes për dhjetë sekonda derisa drita të zbehet duke treguar të lëshohet. Ju keni qenë të suksesshëm me këtë rivendosje të fortë nëse dëgjoni që roboti të luajë në një shkallë të shkurtër. Tjetra ju duhet të lidheni me roomba duke përdorur një linjë kodesh si kjo "r = roomba (x)" ku 'x' është numri i caktuar për robotin që keni.
Së fundmi, duhet të shkarkoni celularin MATLAB në çfarëdo pajisje celulare që do të përdorni për këtë projekt, dhe ky aplikacion është i disponueshëm si në pajisjet Android ashtu edhe në Apple. Pasi të jetë instaluar aplikacioni, do të duhet të identifikoheni duke përdorur kredencialet tuaja. Pastaj ju duhet ta lidhni këtë pajisje me kompjuterin tuaj, duke përdorur skedën e etiketuar "Më shumë" -> pastaj klikoni "cilësimet" -> pastaj klikoni "Shto një kompjuter" kjo duhet të shfaq ekranin e treguar në fotot e mësipërme. Pasi ta shihni këtë hapi tjetër që duhet të kaloni është thjesht lidhja dhe fikja e informacionit që kërkon. Pasi të jeni lidhur me sukses, do të jeni në gjendje të thërrisni funksionet që përcaktoni në kompjuterin tuaj në telefonin tuaj për të kontrolluar robotin tuaj.
Hapi 3: Krijimi logjik i një Kodi MATLAB për Përdorimin e Sensorëve
Kodi do të jetë më i lehtë për t'u krijuar kur shumica e tij është brenda lakut while, kështu që roomba mund të përditësojë vazhdimisht vlerat e vlefshme që po shikon. Nëse ka një gabim, MATLAB do të shfaqë një gabim dhe ku shfaqet në kod, duke e bërë zgjidhjen e problemeve relativisht të thjeshtë.
I krijuar në r2018a MATLAB, ky kod përdor kutitë standarde të veglave, kutinë e veglave iRobot Krijo, si dhe kutinë e veglave mobile MATLAB. Roomba e përdorur në këtë shembull përcaktohet si 26, dhe r = roomba (26) duhet të ekzekutohet vetëm një herë për të komunikuar plotësisht me dhomën.
Kodi:
funksioni parkassist (x) nëse x == 1
r = roomba (26) % lidhet me roomba
ndërsa e vërtetë
r.setDriveVelocity (.05,.05) % vendos roomba në një shpejtësi më të ngadaltë të vozitjes
bump = r.getBumpers % merr të dhënat nga sensorët e përplasjes
cliff = r.getCliffSensors % merr të dhënat nga sensorët e shkëmbit
drita = r.getLightBumpers % merr të dhënat nga sensorët e përplasjes së dritës
img = r.getImage;% lexon kamerën e fikur të robotit
red_mean = mesatarja (mesatarja (img (:,,, 1))) % lexon sasinë mesatare të pikselave të kuq
green_mean = mesatarja (mesatarja (img (:,,, 2))) % lexon sasinë mesatare të pikselëve të gjelbër
blu_mean = mesatarja (mesatarja (img (:,,, 3))) % lexon sasinë mesatare të pikselëve blu
nëse bump.front == 1 %lexon sensorë të përplasjes së përparme
r.ndal %ndalon roomba
msgbox ('Rruga e errësuar!', 'Mesazhi i Ndihmës në Parkim') % shfaq mesazhin duke thënë se rruga është e errësuar prishet % përfundon lakun
elseif green_mean> 150
r.ndal %ndalon roomba
cont = questdlg ('Vazhdoni?', 'Rruga e përfunduar') %shfaq kutinë e pyetjeve që kërkon të vazhdojë
nëse vazhdon == 'Po'
parkassist (1) %rinis kodin
tjeter
fund
pushimi % përfundon lakun
elseif red_mean> 140
r.turnAngle (45) %e kthen dhomën 45 gradë
r.timeStart %fillon një numërues të kohës
ndërsa e vërtetë
r.setDriveVelocity (.05,.05) %vendos shpejtësinë e dhomës
koha = r.timeGet %i cakton kohën një ndryshoreje
bump = r.getBumpers % merr të dhënat nga sensorët e përplasjes
cliff = r.getCliffSensors % merr të dhënat nga sensorët e shkëmbit
drita = r.getLightBumpers % merr të dhënat nga sensorët e përplasjes së dritës
img = r.getImage;% lexon kamerën e fikur të robotit
red_mean = mesatarja (mesatarja (img (:,,, 1))) % lexon sasinë mesatare të pikselave të kuq
green_mean = mesatarja (mesatarja (img (:,,, 2))) % lexon sasinë mesatare të pikselëve të gjelbër
blu_mean = mesatarja (mesatarja (img (:,,, 3))) % lexon sasinë mesatare të pikselëve blu
nëse blu_mean> 120
r.moveDistanca (-0.01) % e zhvendos dhomën mbrapsht në një distancë të caktuar këngë Luani (r, 'T400, C, D, E, F, G, A, B, C^', 'e vërtetë') % luan një shkallë muzikore në rritje
msgbox ("Uji u gjet!", "Mesazhi i ndihmësit të parkimit") % shfaq një mesazh duke thënë se uji është gjetur r.turnAngle (-80) % rrotullohet në dhomë 80 gradë
prishet % përfundon lakun aktual
elseif drita.djathtasPara> 25 || light.leftF front> 25 %lexon sensorë të goditjes së dritës
r.moveDistance (-0.01) % lëviz dhomën mbrapsht në një distancë të caktuar
r.turnAngle (-35) % rrotullon dhomën me 35 gradë
prishet %përfundon lakun aktual
elseif cliff.right Përpara <2500 && cliff.leftF front <2500 %lexon të dy sensorët e shkëmbit
r.moveDistanca (-0.1) % lëviz dhomën mbrapsht në një distancë të caktuar
r.turnAngle (-80) %rrotullohet në dhomë 80 gradë
prishet % përfundon lakun aktual
koha tjetër> = 3
r.ndal %ndalon roomba
Contin = questdlg ('Stacioni Falas, Vazhdo?', 'Mesazhi i Asistentit të Parkimit') %pyet nëse dhoma e dhomës duhet të vazhdojë nëse vazhdon == 'Po'
r.turnAngle (-90) % rrotullon dhomën 90 gradë
parkassist (1) %rinis funksionin
tjeter
r.stop % ndal roomba
fund
tjeter
fund
fund
elseif cliff.right Përpara <2500 && cliff.leftF front <2500 %lexon të dy sensorët e shkëmbit
r.moveDistanca (-0.1) %lëviz dhomën mbrapsht në një distancë të caktuar
r.tornAngle (-90) %rrotullohet në dhomë 90 gradë
shkëmbi elseif.djathtas <2500 %lexon sensorin e djathtë të shkëmbit
r.turnAngle (-5) %e kthen pak dhomën në drejtim të kundërt të sensorit të shkëmbit
elseif cliff.leftP front <2500 %lexon sensorin e shkëmbit të majtë
r.turnAngle (5) %e kthen pak dhomën në drejtim të kundërt të sensorit të shkëmbit
tjeter
fund
fund
fund
Hapi 4: Testimi i Kodit dhe Robotit
Pasi u zhvillua kodi, hapi tjetër ishte testimi i kodit dhe robotit. Meqenëse ka shumë rregullime të ndryshme që mund të bëhen në kod, të tilla si këndi që roboti kthen, shpejtësia që lëviz dhe pragjet për secilën ngjyrë, mënyra më e mirë për të kuptuar këto vlera për robotin tuaj është të testoni ato dhe të ndryshojë si ju shkoni. Për çdo ditë pune që kishim, ne po i ndryshonim vazhdimisht këto vlera pasi disa prej tyre mbështeten në mjedisin ku punon roboti juaj. Mënyra më e mirë që gjetëm ishte të vendosnim dhomën në rrugën që dëshironi të ndiqni dhe të keni një pengesë mjaft e lartë në mënyrë që kamera të mos zbulojë ngjyrat që ju nuk dëshironi. Hapi tjetër është ta lini të funksionojë dhe t'i tregoni ngjyrat që dëshironi, kur dëshironi që ajo të përfundojë atë detyrë. Ndërsa ecni, nëse shihni një çështje gjëja më e mirë që mund të bëni është të shtyni parakolpin përpara, duke e bërë atë të ndalojë, atëherë ndryshoni parametrin me të cilin keni pasur probleme.
Hapi 5: Njohja e Gabimit
Me çdo projekt të përfunduar, ka gjithmonë burime gabimi. Për ne, ne kemi përjetuar gabim me faktin e thjeshtë se roboti nuk është i saktë me këndin në të cilin kthehet, kështu që nëse i thoni të kthehet në 45 gradë, nuk do të jetë i saktë. Një burim tjetër gabimi për ne ishte se ndonjëherë roboti nuk funksionon, dhe ju e keni rivendosur atë para se të funksionojë përsëri. Burimi kryesor i fundit i gabimit për ne ishte se i njëjti kod nuk do të ketë efekt të njëjtë në robotë të ndryshëm, kështu që ju mund të duhet të jeni të durueshëm me të dhe të përshtateni në përputhje me rrethanat.
Hapi 6: Përfundimi
Tani ju keni të gjitha mjetet për të luajtur me dhomën tuaj, që do të thotë se ju mund të manipuloni kodin në çdo mënyrë që dëshironi të arrini qëllimet që dëshironi. Kjo duhet të jetë pjesa më e mirë e ditës tuaj, kështu që argëtohuni dhe vozitni me siguri!
Recommended:
Arduino Parking Assistant - Parkoni makinën tuaj në vendin e duhur çdo herë: 5 hapa (me fotografi)
Arduino Parking Assistant - Parkoni makinën tuaj në vendin e duhur çdo herë: Në këtë projekt, unë do t'ju tregoj se si të ndërtoni ndihmësin tuaj të parkimit duke përdorur një Arudino. Ky asistent parkimi mat distancën nga makina juaj dhe ju udhëzon ta parkoni në vendin e duhur duke përdorur një lexim të ekranit LCD dhe një LED, i cili përparon
Arduino Smart Parking: 4 hapa
Arduino Smart Parking: Bill Blankenship, Willam Bailey, Hannah Hargrove Me përdorimin e një bordi Arduino, grupi ynë arriti të krijojë një sistem që do të lejonte që sensorët e dritës të zbulonin kur një makinë ishte duke zënë një hapësirë ose nëse hapësira është e lirë. Pas gjashtëdhjetë e tetë rreshtash, ne e
Arduino Parking Assistant: 17 hapa (me fotografi)
Arduino Parking Assistant: Ata prej nesh që kanë garazhe të vegjël e dinë zhgënjimin e parkimit pak më shumë brenda ose pak jashtë dhe të mos qenit në gjendje të ecin nëpër automjet. Kohët e fundit kemi blerë një automjet më të madh dhe duhet të parkohet në mënyrë perfekte në garazh për të
MIDI Pod-Pal: 4 hapa
MIDI Pod-Pal: *** UPDATE 4/22/'21 ****** Unë kam shtuar një skemë të plotë që tregon të gjitha instalimet elektrike për të ndihmuar në ndërtim. *** Unë nuk do të hyj në një sasi qesharake të thellë këtu në pjesën e ndërtimit, qëllimi im ishte të tregoja një shembull tjetër të ndërtimit të një MI të bazuar në Arduino
Nga Roomba në Rover në vetëm 5 hapa !: 5 hapa
Nga Roomba në Rover në vetëm 5 hapa !: Robotët Roomba janë një mënyrë argëtuese dhe e lehtë për të zhytur gishtërinjtë tuaj në botën e robotikës. Në këtë Udhëzues, ne do të detajojmë se si të shndërroni një Roomba të thjeshtë në një rover të kontrollueshëm që analizon njëkohësisht rrethinën e tij. Lista e Pjesëve1.) MATLAB2.) Roomb