Cuprins:
- Pasul 1: Achiziționați piese și materiale necesare
- Pasul 2: Configurarea camerei și a contorului Geiger-Muller
- Pasul 3: Conectați-vă la Roomba dvs. și creați codul senzorului de lumină
- Pasul 4: Creați codul barei de protecție
- Pasul 5: Creați cod pentru a citi ecranul contorului, interpretați-l și retrageți-vă de la sursă
- Pasul 6: Creați un cod senzor Cliff
- Pasul 7: Concluzie
Video: RADbot: 7 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:44
Un proiect al lui Jackson Breakell, Tyler McCubbins și Jakob Thaler pentru EF 230
Pe Marte, astronauții vor fi supuși unei varietăți de pericole, de la temperaturi extreme până la furtuni de praf. Un factor adesea trecut cu vederea este însă pericolul prezentat de radioizotopii puternici care locuiesc pe suprafața planetei. RADbot oferă asistență pentru explorarea astronauților de pe suprafața lui Marte prin identificarea probelor de roci cu activități ridicate pe măsură ce călătorește și are, de asemenea, caracteristici de siguranță programate, care utilizează senzorii săi de stâncă, senzorii de lumină, senzorii barei de protecție și o cameră, prevenind deteriorarea robotului pe terenul marțian de neiertat. Pe lângă avertizarea astronauților cu privire la posibile pericole radioactive la suprafață, caracteristica de localizare a probei radioactive a robotului ar putea fi implementată ca un instrument pentru identificarea zonelor care ar putea deține depozite mari de uraniu și alte actinide. Astronauții ar putea extrage aceste elemente, le pot îmbogăți suficient și le pot folosi în reactoare nucleare și generatoare termoelectrice, ceea ce ar putea ajuta la alimentarea unei colonii permanente, care să se autosusțină pe planetă.
Spre deosebire de rover-ul tipic de pe Marte, designul nostru prezintă componente disponibile pe raft și un preț rezonabil. Cu condiția să aveți fondurile și dorința, puteți chiar să vă construiți unul urmând acest ghid. Citiți mai departe pentru a afla cum să vă creați propriul RADbot.
Pasul 1: Achiziționați piese și materiale necesare
Ce veți avea nevoie pentru a începe (imaginile plasate în ordinea în care sunt listate)
1. One Roomba (orice model mai nou)
2. Un contor Geiger-Mueller
3. Un Raspberry Pi
4. O cameră de bord cu o priză USB
5. Un cablu micro USB la USB
6. Un cablu USB la USB
7. Un eșantion radioactiv de activitate suficientă (~ 5μSv sau mai mare)
8. Un computer cu Matlab instalat
9. Adeziv (de preferință bandă adezivă pentru o detașare ușoară)
Pasul 2: Configurarea camerei și a contorului Geiger-Muller
Acum că aveți toate materialele necesare pentru a crea RADbot, vom începe prin simpla plasare a camerei, astfel încât să poată citi activitatea pe tejghea. Așezați contorul Geiger-Muller cât mai aproape de capătul Roomba și asigurați-vă că senzorul său nu este blocat. Fixați ferm contorul în loc cu adezivul pe care l-ați ales și continuați să montați camera pentru a o orienta. Așezați camera cât mai aproape posibil de afișajul contorului pentru a preveni intrările externe să afecteze programul și fixați-l în loc odată ce vă simțiți confortabil. Vă recomandăm să salvați siguranța camerei pentru ultima dată, deoarece, când codul dvs. este terminat, puteți afișa o imagine de pe cameră pe computer, permițându-vă să poziționați camera în funcție de câmpul vizual al acesteia. Odată ce camera și contorul sunt fixate, conectați camera la una dintre intrările USB ale Raspberry Pi cu cablul USB la USB și conectați Raspberry Pi la Roomba cu cablul micro USB la USB.
Pasul 3: Conectați-vă la Roomba dvs. și creați codul senzorului de lumină
Mai întâi, descărcați setul de instrumente Roomba al site-ului web EF 230 și asigurați-vă că îl așezați în folderele specificate. Pentru a vă conecta la Roomba, pur și simplu faceți referire la autocolantul atașat la Raspberry Pi și introduceți „r = roomba (x)” în fereastra de comandă, fără ghilimele și unde x reprezintă numărul Roomba. Roomba ar trebui să redea un ton, iar butonul de curățare ar trebui să afișeze un inel verde în jurul său. Porniți codul cu o declarație „while” și consultați senzorii de lumină așa cum apar în lista senzorilor. Deschideți lista senzorilor tastând „r.testSensors” în fereastra de comandă.
Pe baza culorii obiectului nostru, care determină câtă lumină este reflectată, setați cerințele pentru ca instrucțiunea while să fie executată ca o funcție>. În cazul nostru, am setat senzorul de lumină din față pentru a rula codul în instrucțiunea while, dacă citirea senzorilor de lumină din stânga sau din dreapta centrale a fost> 25. Pentru instrucțiunea executabilă, setați viteza Roomba pentru a încetini tastând „r.setDriveVelocity (x, y)” unde x și y sunt viteza roților din stânga și respectiv din dreapta. Introduceți o instrucțiune „else”, astfel încât Roomba să nu încetinească pentru valori nespecificate și introduceți din nou comanda setată pentru viteza de acționare, cu excepția unei viteze diferite. Încheiați instrucțiunea while cu un „sfârșit”. Acest segment de cod va face Roomba să se apropie de obiect și să încetinească odată ce atinge un anumit interval pentru a minimiza impactul.
Atașat este o captură de ecran a codului nostru, dar nu ezitați să îl editați pentru a se potrivi cel mai bine parametrilor misiunii dvs.
Pasul 4: Creați codul barei de protecție
Pe măsură ce Roomba încetinește, va reduce la minimum impactul pe care îl are asupra obiectului, deși nu atât de mult încât să nu declanșeze bara de protecție fizică. Pentru acest segment de cod, începeți din nou cu o buclă „while” și setați expresia sa ca fiind adevărată. Pentru instrucțiune, setați variabila T egală cu ieșirea barei de protecție, fie 0, fie 1, pentru fals și adevărat. Puteți utiliza „T = r.getBumpers” pentru aceasta. T va ieși ca o structură. Introduceți o instrucțiune „if” și setați expresia acesteia pentru substructura T.front la egal cu 1 și setați instrucțiunea să seteze viteza de acționare la 0, folosind „r.setDriveVelocity (x, y)” sau „r.stop . Introduceți o „pauză”, astfel încât Roomba să se poată deplasa după îndeplinirea condiției din următorul cod. Adăugați un „altceva” și setați declarația sa pentru a seta viteza de acționare la viteza normală de croazieră a Roomba.
Atașat este o captură de ecran a codului nostru, dar nu ezitați să îl editați pentru a se potrivi cel mai bine parametrilor misiunii dvs.
Pasul 5: Creați cod pentru a citi ecranul contorului, interpretați-l și retrageți-vă de la sursă
În centrul proiectului nostru se află contorul Geiger-Muller și următorul segment de cod este utilizat pentru a determina ce înseamnă datele de pe ecran folosind camera. Având în vedere că ecranul contorului își schimbă culoarea în funcție de activitatea sursei, vom seta camera să interpreteze culoarea ecranului. Porniți codul setând o variabilă egală cu comanda „r.getImage”. Variabila va conține o serie 3D de valori de culoare ale imaginii pe care a făcut-o în roșu, verde și albastru. Setați variabile egale cu mediile acestor matrici de culori respective utilizând comanda „mean (mean (img1 (:,:, x)))” unde x este un număr întreg de la 1 la 3. 1, 2 și 3 reprezintă roșu, verde și albastru respectiv. Ca și în cazul tuturor comenzilor la care se face referire, nu includeți ghilimele.
Faceți programul să facă o pauză timp de 20 de secunde folosind „pauză (20)”, astfel încât contorul să poată obține o citire exactă a eșantionului și apoi să înceapă o declarație „dacă”. Roomba a sunat de mai multe ori folosind „r.beep” înainte de a afișa un meniu cu textul „Radioizotop găsit! Atenție!” acest lucru poate fi realizat cu comanda „waitfor (helpdlg ({'texthere'})”. După ce faceți clic pe OK, Roomba va continua să urmărească restul codului din instrucțiunea „dacă”. Faceți ca Roomba să conducă în jurul eșantionului folosind o combinație a comenzilor „r.moveDistance” și „r.turnAngle". Asigurați-vă că încheiați instrucțiunea if cu un „end".
Atașat este o captură de ecran a codului nostru, dar nu ezitați să îl editați pentru a se potrivi cel mai bine parametrilor misiunii dvs.
Pasul 6: Creați un cod senzor Cliff
Pentru a crea un cod care să utilizeze senzorii de stâncă încorporați de Roomba, începeți cu o buclă „while” și setați expresia sa ca fiind adevărată. Setați o variabilă să fie egală cu „r.getCliffSensors”, iar acest lucru va duce la o structură. Porniți o instrucțiune „if” și setați variabilele „X.leftFront” și „X.rightFront” din structură pentru a fi mai mari decât o anumită valoare predeterminată, unde „X” este variabila pe care ați ales comanda „r.getCliffSensors” la fie egal cu. În cazul nostru, am folosit 1000, deoarece o bucată de hârtie albă a fost folosită pentru a reprezenta o stâncă și, pe măsură ce senzorii se apropiau, hârtia, valorile au crescut la peste 1000, asigurându-se că codul se va executa numai atunci când o stâncă este detectată. Adăugați comanda „break” după, apoi introduceți o instrucțiune „else”. Pentru instrucțiunea „else”, care va fi executată dacă nu este detectată nicio stâncă, setați viteza de acționare la viteza normală de croazieră pentru fiecare roată. Dacă Roomba detectează o stâncă, "pauza" va fi executată, iar apoi codul din afara buclei while va fi executat. După ce ați plasat „sfârșitul” pentru buclele „dacă” și „în timp ce”, setați Roomba să se deplaseze înapoi folosind comanda distanță de mișcare. Pentru a avertiza astronauții că o stâncă se află în apropiere, setați viteza de acționare a fiecărei roți, x și y în comanda Viteza de acționare, să fie a și -a, unde a este un număr real. Acest lucru îl va face pe Roomba să se învârtă, alertând astronautul asupra stâncii.
Atașat este o captură de ecran a codului nostru, dar nu ezitați să îl editați pentru a se potrivi cel mai bine parametrilor misiunii dvs.
Pasul 7: Concluzie
Scopul final al RADbot pe Marte este de a ajuta astronauții în explorarea și colonizarea planetei roșii. Prin identificarea probelor radioactive la suprafață, speranțele noastre sunt că robotul sau roverul, în acest caz, poate păstra cu siguranță astronauții în siguranță și poate ajuta la identificarea surselor de energie pentru baza (bazele) lor. După ce ați urmat toți acești pași și poate cu unele încercări și erori, RADbot-ul dvs. ar trebui să fie în funcțiune. Plasați eșantionul radioactiv undeva în zona de testare, executați codul și urmăriți rover-ul făcând ceea ce a fost conceput să facă. Bucurați-vă de RADbot!
-Echipa EF230 RADbot
Recomandat:
Cum să faci 4G LTE dublă antenă BiQuade Pași simpli: 3 pași
Cum să fac 4G LTE Double BiQuade Antenna Pași simpli: De cele mai multe ori mă confrunt, nu am o putere de semnal bună pentru lucrările mele de zi cu zi. Asa de. Căut și încerc diferite tipuri de antenă, dar nu funcționează. După un timp pierdut, am găsit o antenă pe care sper să o fac și să o testez, pentru că nu se bazează pe principiul
Design de joc în Flick în 5 pași: 5 pași
Designul jocului în Flick în 5 pași: Flick este un mod foarte simplu de a crea un joc, în special ceva de genul puzzle, roman vizual sau joc de aventură
Sistemul de alertă pentru parcarea inversă a autovehiculului Arduino - Pași cu pași: 4 pași
Sistemul de alertă pentru parcarea inversă a autovehiculului Arduino | Pași cu pas: în acest proiect, voi proiecta un senzor senzor de parcare inversă Arduino Car Circuit folosind senzorul cu ultrasunete Arduino UNO și HC-SR04. Acest sistem de avertizare auto bazat pe Arduino poate fi utilizat pentru navigație autonomă, autonomie robotică și alte r
Detectarea feței pe Raspberry Pi 4B în 3 pași: 3 pași
Detectarea feței pe Raspberry Pi 4B în 3 pași: În acest instructabil vom efectua detectarea feței pe Raspberry Pi 4 cu Shunya O / S folosind Biblioteca Shunyaface. Shunyaface este o bibliotecă de recunoaștere / detectare a feței. Proiectul își propune să obțină cea mai rapidă viteză de detectare și recunoaștere cu
Cum să faci un contor de pași ?: 3 pași (cu imagini)
Cum să fac un contor de pași ?: obișnuiam să performez bine la multe sporturi: mersul pe jos, alergatul, mersul pe bicicletă, jocul de badminton etc. Îmi place să călăresc să călătoresc în preajmă. Ei bine, uită-te la burtica mea ostilă …… Ei bine, oricum, decid să reîncep să fac mișcare. Ce echipament ar trebui să pregătesc?