Përmbajtje:
- Hapi 1: Pajisjet
- Hapi 2: Konfigurimi i MATLAB
- Hapi 3: Funksioni: Lëvizja
- Hapi 4: Funksioni: Përpunimi i imazhit
- Hapi 5: Funksioni: Hartimi
- Hapi 6: Përzierja
- Hapi 7: Testimi
- Hapi 8: Përfundimi
Video: Roomba Scout Explorer: 8 hapa
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:27
Si një nga projektet më të pritura dhe të hulumtuara shumë amerikane, projektet e roverit Mars janë bërë arritje njerëzore në prodhimin gjithnjë e më të avancuar të sistemeve autonome të teknologjisë së lartë, me të vetmin qëllim për të hetuar dhe interpretuar masat tokësore dhe sipërfaqet e planetit të kuq prapa toka. Si pjesë e një projekti më personal në nderim të misioneve të Marsit, objektivi ynë ishte të krijonim një robot roomba që mund të vepronte në mënyrë autonome gjatë një afati të caktuar kohor dhe të reagonte në përputhje me rrethanat sipas kritereve të caktuara brenda tij.
Sa i përket veçantisë, ne u përqëndruam në krijimin e një diagrami që tregoi secilën rrugë që merr roboti nga origjina e tij. Përveç kësaj, roboti do të jetë në gjendje të numërojë numrin e objekteve në afërsi të tij në një stil panoramik.
Hapi 1: Pajisjet
-Roomba me kamerën ngjitëse (me emër specifik të njohur)
-Server i lidhur
-Windows 10 / Mac me lidhje interneti
-Platformë e ndritshme
-Kati i errët
-Çdo objekt i humbur me dizajn njëngjyrësh
Hapi 2: Konfigurimi i MATLAB
Për të krijuar detyra dhe funksione për dhomën tuaj, duhet të keni kodet dhe grupet e veglave specifike që përmbajnë komandat e dhomës.
Me MATLAB 2016a dhe më tej të shkarkuar, krijoni një dosje që përmban këto skedarë robotësh dhe futni skedarin MATLAB më poshtë në dosje dhe drejtojeni atë për të instaluar skedarët e mbetur të nevojshëm të dhomës.
Pas kësaj, kliko me të djathtën në dritaren Dosja aktuale, rri pezull miun mbi "Shto një rrugë" dhe kliko në "Dosja aktuale". Tani, një shteg duhet të krijohet i tillë që secila prej këtyre skedarëve të përdoret për të aktivizuar dhomën.
Tani, përdorni komandën më poshtë në dritaren e komandës për të konfiguruar roomba:
r = roomba (#).
Simboli # është 'numri' i dhomës së specifikuar; megjithatë, nëse thjesht doni një imitues të roomba, thjesht shkruani komandën e mëposhtme:
r = roomba (0).
Simulimi do të rekomandohej për testimin e modeleve të lëvizjes.
Nëse jeni kurioz se çfarë komandash mund të ndjekë roomba, shkruani sa vijon në dritaren e komandës:
doc roomba.
Për më shumë detaje, vizitoni uebfaqen e mëposhtme:
ef.engr.utk.edu/ef230-2017-08/projects/roomba-s/setup-roomba-instructable.php
Hapi 3: Funksioni: Lëvizja
Në lidhje me lëvizjen, roomba duhet të lëvizë automatikisht për një periudhë të caktuar kohe të dhënë në hyrjet. Qëllimi i lëvizjes së robotit është të reagojë siç duhet kur sensorët e tij (parakolpët, parakolpët e dritës dhe sensorët e shkëmbinjve) ndryshojnë në prani të pengesave të ndryshme. Kjo pjesë do të veprojë si bazë për të gjitha komandat e roomba pasi më shumë veçori të kodit i shtohen më vonë. Duheshin disa specifikime:
-Për të zvogëluar dëmtimin, roboti duhet të zvogëlojë shpejtësinë në një shpejtësi më të ulët.
-Kur i afrohet një shkëmbi ose muri, roboti do të lëvizë në të kundërt dhe do të ndryshojë këndin e tij në varësi të pikës së goditjes
-Pas njëfarë kohe duke vozitur, roomba përfundimisht do të ndalet dhe do të marrë imazhe të zonës përreth
Vini re se vlerat e përdorura ishin në lidhje me imituesin; vlerat si këndet e kthesës shpejtësitë e kthesës dhe paravendosjet e sensorëve të robotëve duhet të modifikohen kur përdorni robotin aktual për të siguruar qëndrueshmëri dhe llogari për gabimet e pajisjeve.
Hapi 4: Funksioni: Përpunimi i imazhit
Sipas kërkesës, ne ishim të ngarkuar të modifikonim të dhënat e një imazhi (ose disa imazhe) që u morën nga kamera e robotit, për të cilën ne vendosëm të bënim që roomba të "numëronte" numrin e objekteve që ajo sheh në imazh.
Ne ndoqëm teknikën që MATLAB të vizatojë kufij rreth objekteve të nxira që kontrastojnë me një sfond të bardhë. Sidoqoftë, ky funksion është i prirur të ketë vështirësi në një zonë të hapur pasi format dhe ngjyrat e ndryshme perceptohen nga kamera, duke rezultuar në numërime jashtëzakonisht të larta.
Vini re se ky funksion nuk mund të funksionojë në imitues pasi kamera nuk ofrohet; nëse tentohet, do të ndodhë një gabim duke deklaruar se mund të përdoret vetëm një matricë (:,:, 3).
Hapi 5: Funksioni: Hartimi
Një veçori shtesë që ne donim që roboti të kishte ishte hartimi i vendndodhjeve të tij pasi ndërvepron drejtpërdrejt me mjedisin. Kështu, kodi më poshtë kërkon të hapë një hartë dhe të krijojë një sistem koordinativ që detajon çdo vendndodhje në të cilën shtypen sensorët e parakolpit të robotit. Kjo doli të ishte pjesa më e gjatë nga të tre pjesët që u testua individualisht, por u tregua shumë më e thjeshtë kur zbatohej në skenarin përfundimtar.
Për hir të shtimit të një kufiri në gjatësinë e kohës së funksionimit të funksionit, kufiri n <20 në lakin while u përdor për qëllime testimi.
Mbani në mend edhe pse për shkak të kompleksitetit të kodit, ndodhin më shumë gabime pasi segmenti i kodit funksionon për një kohë të gjatë; nga testet e mëparshme, dhjetë goditje duket se janë numri i pikëve para se të ndodhin gabime të rëndësishme.
Hapi 6: Përzierja
Meqenëse e gjithë kjo do të vendoset në një skedar të vetëm, ne krijuam një funksion duke përdorur secilin nga dy hapat e mëparshëm si nënfunksione të tij. Një draft përfundimtar u bë me modifikimin e mëposhtëm në funksionin redux të quajtur "recon". Për të shmangur konfuzionin për MATLAB, skriptet "counter" dhe "rombplot3" u riemëruan si funksione të ngulitura "CountR" dhe "plotr", përkatësisht.
Disa ndryshime duheshin bërë në versionin përfundimtar në krahasim me skriptet e mëparshme:
-Origjina gjithmonë do të shënohet me një rreth të kuq
-Sa herë që dhoma ndalon nga parakolpët e saj, vendndodhja shënohet me një rreth të zi
-Sa herë që dhoma ndalon nga sensorët e saj të shkëmbit, vendndodhja shënohet me një rreth blu
-Sa herë që roomba ndalon të hetojë zonën, vendndodhja shënohet me një rreth të gjelbër
-Imazhet janë modifikuar për të hequr pjesën e sipërme për shkak të vulës kohore që ndërhyn potencialisht në rezultatet
-Kufijtë nuk do të llogariten si një objekt për shkak të numrave mjaft të lartë të fituar
-Disa ndryshore janë ndryshuar, kështu që për të shmangur konfuzionin përdorni versionet e mësipërme për referencë.
Hapi 7: Testimi
Testet për secilin komponent individual u treguan të përziera herë pas here, kjo është arsyeja pse modifikimet në vlera të caktuara të paracaktuara ishin të nevojshme. Sfondi tematik mbi të cilin ne donim të testonim aftësitë e robotit në një zonë të mbyllur thjesht përbëhej nga një dërrasë e bardhë e shtruar në një dysheme shumë më të errët. Ju mund t'i shpërndani objektet përreth zonës; i bëjnë ata të veprojnë si objekte që do të përplasen ose objektet e largëta nga zona lëvizëse e robotit.
Pas vendosjes së kohës së rregulluar dhe shpejtësisë bazë, roomba demonstroi sjellje adekuate të lëvizjes, duke u ndalur dhe duke u larguar nga çdo "shkëmb" ose objekt në të cilin futet, si dhe duke u ngadalësuar ndërsa zbuloi diçka afër. Me të arritur distancën e dëshiruar të udhëtimit prej tre metrash, roboti do të ndalonte dhe vlerësonte zonën, duke marrë imazhe të secilit rajon 45 gradë dhe do të vazhdonte tutje nëse e lejon koha. Sidoqoftë, kthesat e tij dukeshin më të mëdha se sa kërkohej, që do të thotë se të dhënat e koordinatave do të errësoheshin.
Sa herë që ndalet, një pikë e re vendoset në rajonin e përafërt të pozicionit të saj në sistemin koordinativ; megjithatë, vërehet se drejtimi fillestar në të cilin fillon roomba luan një rol kryesor në hartimin e hartës. Nëse një veçori e busullës mund të zbatohej, do të ishte përdorur si një pjesë vendimtare e hartimit të hartës.
Koha aktuale që funksioni merr për të funksionuar plotësisht shkon gjithmonë mbi kohën e kërkuar, gjë që ka kuptim duke pasur parasysh se nuk mund të ndalet në mes të një prej rikuperimeve të tij. Fatkeqësisht, ky version i numërimit të imazhit ka problemet e tij, veçanërisht në zonat që janë kryesisht monokromatike ose që ndryshojnë në shkëlqim; sepse përpiqet të bëjë dallimin midis dy nuancave, ai tenton të perceptojë objekte që nuk janë të dëshiruara, prandaj gjithnjë numëron deri në numra jashtëzakonisht të lartë.
Hapi 8: Përfundimi
Ndërsa kjo detyrë ishte një punë shumë aventureske dhe krijuese që solli gëzim lehtësues, unë, nga vëzhgimet e mia personale, pashë një numër të madh gabimesh që mund të ishin problematike, si në kodin ashtu edhe në sjelljen e robotit.
Kufizimi i përdorimit të specifikimit të kohës në lakin while bën që sasia totale e kohës të jetë më e gjatë se e dëshiruar; procesi i teknikës së panoramës dhe përpunimit të imazhit në fakt mund të zgjasë më shumë nëse drejtohet nga një kompjuter i ngadalshëm ose nuk përdoret më parë. Për më tepër, roomba që u përdor në prezantimin tonë veproi me një numër të madh gabimesh, veçanërisht në lëvizje, në krahasim me imituesin. Roboti i përdorur për fat të keq kishte një tendencë të përkulej pak në të majtë ndërsa lëvizte drejt dhe bënte kthesa më të mëdha nga sa dëshironte. Për këtë arsye dhe shumë të tjera, rekomandohet shumë që për të kompensuar këto gabime, duhet të bëhen ndryshime për këndet e kthesës së tij.
Sidoqoftë, ky është një projekt i gjatë akoma stimulues intelektual që kishte vepruar si një përvojë interesante mësimore për aplikimin e kodeve dhe komandave për të ndikuar drejtpërdrejt në sjelljen e një roboti aktual.
Recommended:
Roomba Bot the Bulider: 5 hapa (me fotografi)
Roomba Bot Bulider: Bot Ndërtuesi është një roomba, që me " rrëmbyesit " bashkangjitur në pjesën e përparme do të jetë në gjendje të lëvizë objektet përreth. Kodi me të është vendosur të regjistrojë lëvizjen e parë me një kuti GUI që mund ta kontrolloni me vetëm klikimin e miut. Pas kësaj
Roomba Explorer: 4 hapa
Roomba Explorer: Duke përdorur MATLAB dhe Robotin Create iRobot's, ky projekt do të eksplorojë zona të ndryshme të një lokacioni të panjohur. Ne përdorëm sensorët në Robot për të ndihmuar në manovrimin e një terreni të rrezikshëm. Duke marrë fotografi dhe video nga një Raspberry Pi që
Shkurtoret e tastierës për Internet Explorer !!: 4 hapa
Shkurtoret e tastierës për Internet Explorer !!: Ky udhëzues do t'ju tregojë disa shkurtore të dobishme të tastierës për internet explorer Ju lutemi regjistrohuni në kanalin timFaleminderit
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
Bus Pirate 3EEPROM Explorer Board: 5 hapa
Bus Pirate 3EEPROM Explorer Board: Nëse keni një nga Hack a Day's Bus Pirates, çfarë bëni me të? Mësoni rreth 1-wire, I2C dhe SPI EEPROM me bordin e eksploruesit 3EEPROM (e quajmë THR-EE-PROM). EEPROM është një lloj çipi memorie që ruan të dhënat pa një fuqi të vazhdueshme