INHOUDSOPGAWE:
- Stap 1: Verkry die nodige onderdele en materiaal
- Stap 2: Stel die kamera en Geiger-Muller-teller op
- Stap 3: Koppel aan u Roomba en skep ligsensorkode
- Stap 4: Skep buffer kode
- Stap 5: Skep kode om die skerm van die toonbank te lees, interpreteer dit en trek terug uit die bron
- Stap 6: Skep 'n Cliff Sensor Code
- Stap 7: Gevolgtrekking
Video: Die RADbot: 7 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:26
'N Projek van Jackson Breakell, Tyler McCubbins en Jakob Thaler vir EF 230
Op Mars sal ruimtevaarders aan verskillende gevare blootgestel word, wat wissel van uiterste temperature tot stofstorms. Een faktor wat egter dikwels oor die hoof gesien word, is die gevaar wat kragtige radio -isotope op die planeet se oppervlak inhou. Die RADbot bied hulp aan die verkenning van ruimtevaarders op Mars se oppervlak deur rotsmonsters te identifiseer met hoë aktiwiteite terwyl dit reis, en het ook geprogrammeerde veiligheidsfunksies wat gebruik maak van sy kransensors, ligsensors, buffersensors en 'n kamera, wat die robot nie beskadig nie op die onvergewensgesinde Mars -terrein. Behalwe dat ruimtevaarders gewaarsku word oor moontlike radioaktiewe gevare op die oppervlak, kan die robot se funksie vir radioaktiewe monsterneming van die robot geïmplementeer word as 'n hulpmiddel om gebiede te identifiseer wat groot afsettings Uranium en ander aktiniede kan bevat. Ruimtevaarders kan hierdie elemente ontgin, dit voldoende verryk en in kernreaktors en termo-elektriese kragopwekkers gebruik, wat 'n permanente, selfonderhoudende kolonie op die planeet kan dryf.
Anders as die tipiese Mars-rover, bevat ons ontwerp komponente uit die rak en 'n redelike prys. Mits u die geld en die begeerte het, kan u selfs een bou deur hierdie gids te volg. Lees verder om te leer hoe u u eie RADbot kan maak.
Stap 1: Verkry die nodige onderdele en materiaal
Wat u nodig het om aan die gang te kom (prente geplaas sodat hulle gelys word)
1. Een Roomba (enige nuwer model)
2. Een Geiger-Mueller-toonbank
3. Een Framboos Pi
4. Eenbordkamera met 'n USB -aansluiting
5. Een mikro -USB na USB -kabel
6. Een USB na USB kabel
7. Een radioaktiewe monster met voldoende aktiwiteit (~ 5μSv of hoër)
8. Een rekenaar met Matlab geïnstalleer
9. Kleefmiddel (verkieslik kleefband vir maklike verwydering)
Stap 2: Stel die kamera en Geiger-Muller-teller op
Noudat u al die nodige materiaal het om die RADbot te skep, begin ons net met die kamera sodat dit die aktiwiteit op die toonbank kan lees. Plaas die Geiger-Muller-toonbank so na as moontlik aan die einde van die Roomba en maak seker dat die sensor nie geblokkeer is nie. Bevestig die toonbank stewig met die gom wat u gekies het, en monteer die kamera om dit te sien. Plaas die kamera so na as moontlik aan die skerm van die toonbank om te voorkom dat insette van buite die program beïnvloed, en bevestig dit sodra u gemaklik voel. Ons beveel egter aan dat u die kamera vir die laaste keer nie bewaar nie, want as u kode klaar is, kan u 'n beeld van die kamera op u rekenaar vertoon, sodat u die kamera kan posisioneer op grond van sy gesigsveld. As beide die kamera en die toonbank stewig vas is, steek die kamera in een van die USB -ingange van die Raspberry Pi met die USB -na -USB -kabel en steek die Raspberry Pi in die Roomba met die mikro -USB na USB -kabel.
Stap 3: Koppel aan u Roomba en skep ligsensorkode
Laai eers die Roomba -gereedskapskas van die EF 230 -webwerf af en plaas dit in die gespesifiseerde vouers. Om 'n verbinding met u Roomba te maak, verwys u eenvoudig na die plakker wat aan die Raspberry Pi geheg is en voer "r = roomba (x)" in die opdragvenster in sonder die aanhalingstekens, en waar x staan vir die Roomba se nommer. Die Roomba moet 'n deuntjie speel, en die skoonknoppie moet 'n groen ring omring. Begin u kode met 'n "while" -verklaring, en verwys na die ligsensors soos dit in die sensorlys verskyn. Maak die sensorlys oop deur "r.testSensors" in die opdragvenster te tik.
Op grond van die kleur van ons voorwerp, wat bepaal hoeveel lig gereflekteer word, stel die vereistes vir die while -verklaring as 'n> funksie. In ons geval het ons die voorste ligsensor ingestel om die kode in die while -verklaring uit te voer as die lesing aan die linker- of regterkantste sensor in die middel> 25 was. Vir die uitvoerbare stelling, stel die snelheid van die Roomba in om te vertraag deur "r.setDriveVelocity (x, y)" in te tik waar x en y die snelhede van die linker- en regterwiele is. Voeg 'n 'anders' -verklaring in sodat die Roomba nie ongespesifiseerde waardes vertraag nie, en voer die opgestelde dryfsnelheidsopdrag weer in, behalwe met 'n ander snelheid. Beëindig die terwyl -stelling met 'n "einde". Hierdie kodesegment laat die Roomba die voorwerp nader en vertraag sodra dit 'n sekere reeks bereik om die impak te verminder.
Aangeheg is 'n skermkiekie van ons kode, maar u kan dit gerus wysig om die beste by u missie parameters te pas.
Stap 4: Skep buffer kode
Aangesien die Roomba stadiger word, verminder dit die impak wat dit op die voorwerp het, maar nie so baie dat dit nie die fisiese buffer veroorsaak nie. Begin vir hierdie segment van die kode weer met 'n "while" lus en stel die uitdrukking daarvan waar. Stel vir die stelling die veranderlike T gelyk aan die uitset van die buffer, óf 1 óf 1, as onwaar en waar. U kan die 'T = r.getBumpers' hiervoor gebruik. T sal as 'n struktuur uitvoer. Voer 'n "as" -verklaring in, en stel die uitdrukking daarvan vir die onderbou T.front gelyk aan 1, en stel die verklaring om óf die dryfsnelheid op 0 te stel, met behulp van "r.setDriveVelocity (x, y)" of "r.stop ". Voer 'n "breek" in sodat die Roomba kan beweeg nadat aan die voorwaarde in die volgende kode voldoen is. Voeg 'n 'anders' by en stel sy stelling in om die dryfsnelheid in te stel op die normale kruissnelheid van die Roomba.
Aangeheg is 'n skermkiekie van ons kode, maar u kan dit gerus wysig om die beste by u missie parameters te pas.
Stap 5: Skep kode om die skerm van die toonbank te lees, interpreteer dit en trek terug uit die bron
Die kern van ons projek is die Geiger-Muller-toonbank en die volgende kodesegment word gebruik om te bepaal wat die data op die skerm met die kamera beteken. Aangesien die skerm van ons toonbank van kleur verander op grond van die aktiwiteit van die bron, stel ons die kamera in om die kleur van die skerm te interpreteer. Begin u kode deur 'n veranderlike op te stel wat gelyk is aan die opdrag "r.getImage". Die veranderlike bevat 'n 3D -reeks kleurwaardes van die prentjie wat dit in rooi, groen en blou geneem het. Stel veranderlikes gelyk aan die gemiddeldes van hierdie onderskeie kleurmatrikse deur die opdrag "gemiddelde (gemiddelde (img1 (:,:, x)))" te gebruik, waar x 'n heelgetal van 1 tot 3. 1, 2 en 3 is rooi, groen en blou onderskeidelik. Soos met al die opdragte waarna verwys word, moet aanhalingstekens nie ingesluit word nie.
Laat die program 20 sekondes onderbreek met 'pouse (20)', sodat die toonbank 'n akkurate lesing van die monster kan kry en dan 'n 'as' -verklaring begin. Ons het ons Roomba verskeie kere laat hoor deur 'r.beep' te gebruik voordat ons 'n spyskaart met die teks 'Radioisotoop gevind!' dit kan bereik word met die opdrag "waitfor (helpdlg ({'texthere'})". Nadat u op OK geklik het, sal die Roomba die res van die kode in die 'if' -verklaring volg. Laat die Roomba deur die monster ry 'n kombinasie van die opdragte "r.moveDistance" en "r.turnAngle". Maak seker dat u die if -stelling met 'n "einde" eindig.
Aangeheg is 'n skermkiekie van ons kode, maar u kan dit gerus wysig om die beste by u missie parameters te pas.
Stap 6: Skep 'n Cliff Sensor Code
Om 'n kode te skep om gebruik te maak van die Roomba se ingeboude kransensors, begin met 'n "while" lus en stel die uitdrukking daarvan waar. Stel 'n veranderlike gelyk aan "r.getCliffSensors", en dit sal 'n struktuur tot gevolg hê. Begin 'n 'as' -stelling en stel die veranderlikes' X.leftFront 'en' X.rightFront 'van die struktuur af groter as 'n voorafbepaalde waarde, waar' X 'die veranderlike is waarop u die opdrag' r.getCliffSensors 'gekies het gelyk wees aan. In ons geval het ons 1000 gebruik, aangesien 'n stuk wit papier gebruik is om 'n krans voor te stel, en namate die sensors die papier nader, het die waardes tot meer as 1000 gegroei, wat verseker dat die kode eers uitgevoer word wanneer 'n krans opgespoor word. Voeg die opdrag "breek" daarna by, en voeg dan 'n 'anders' verklaring in. Stel die dryfsnelheid op die normale kruissnelheid vir elke wiel vir die 'anders' -verklaring, wat uitgevoer sal word as geen krans bespeur word nie. As die Roomba 'n krans opspoor, word die 'breek' uitgevoer en dan word die kode buite die while -lus uitgevoer. Nadat u die "einde" vir die "as" en "terwyl" lus geplaas het, stel u die Roomba in om agteruit te beweeg met die opdrag vir afstandsafstand. Om ruimtevaarders te waarsku dat 'n krans naby is, stel die dryfsnelhede van elke wiel, x en y in die aandryfsnelheidsopdrag, in a en -a, waar a 'n reële getal is. Dit sal die Roomba laat draai, wat die ruimtevaarder op die krans laat weet.
Aangeheg is 'n skermkiekie van ons kode, maar u kan dit gerus wysig om die beste by u missie parameters te pas.
Stap 7: Gevolgtrekking
Die uiteindelike doel van die RADbot op Mars is om ruimtevaarders te help met die verkenning en kolonisering van die rooi planeet. Deur radioaktiewe monsters op die oppervlak te identifiseer, hoop ons dat die robot of rover in hierdie geval ruimtevaarders werklik kan bewaar en kan help om kragbronne vir hul basis (s) te identifiseer. Nadat u al hierdie stappe gevolg het, en miskien met 'n bietjie proef en fout, behoort u RADbot aan die gang te wees. Plaas die radioaktiewe monster iewers in u toetsarea, voer u kode uit en kyk hoe die rover doen wat dit bedoel is om te doen. Geniet u RADbot!
-Die EF230 RADbot -span
Aanbeveel:
Verhoog die speling tussen die kopervliegtuig en die seinspoor: 3 stappe
Verhoog die speling tussen die kopervliegtuig en die seinspoor: ek is 'n stokperdjie en ek ontwerp printplate (PCB) vir my blogs en Youtube -video's. Ek het my PCB aanlyn bestel by LionCircuits. Dit is 'n Indiese onderneming en het 'n outomatiese vervaardigingsplatform. Dit hersien u Ger outomaties
Konfigurasie van die AVR -mikrobeheerder. Skep en laai die LED -knipperprogram in die flitsgeheue van die mikrokontroleerder op: 5 stappe
Konfigurasie van die AVR -mikrobeheerder. Skep en laai die LED -knipperprogram in die flitsgeheue van die mikrokontroleerder: In hierdie geval sal ons 'n eenvoudige program in C -kode skep en dit in die geheue van die mikrokontroleerder verbrand. Ons sal ons eie program skryf en die hex -lêer saamstel, met behulp van die Atmel Studio as die geïntegreerde ontwikkelingsplatform. Ons sal die sekering van twee instel
Hoe om die veiligheid van die meeste blokkeerders aan die kant van die bediener te omseil: 3 stappe
Hoe om die veiligheid van die meeste webblokkers op die bediener te verlig: dit is my eerste instruksie, so hou my in gedagte: Ok, ek sal u vertel hoe u die webblokkers wat ek in skole gebruik het, kan omseil. Al wat u nodig het, is 'n flash drive en 'n paar sagteware aflaai
Hoe om probleme op te los met die afstandsbediening van die Pionner -stuurwiel - Verhoog die IR -sein en herstel die klein slot: 14 stappe
Hoe om probleme op te los met die afstandsbediening van die stuurwiel van Pionner - Verhoog die IR -sein en herstel die klein slot.: Hierdie afstandsbediening is baie mooi en gerieflik, maar soms werk dit nie behoorlik nie. projek is nie 'n voorbeeld van doeltreffendheid nie. Ek kom uit Brasilië en het hierdie wenk op Amaz gekry
Instruksies vir die voltooiing van die opmaak van die baanskyfontwerp vir die opheffing/verlaging van die middelste voetsteun op motorwielstoele: 9 stappe (met foto's)
Instruksies vir die voltooiing van die opmaak van die baanskyfontwerp vir die opheffing/verlaging van die middelste voetsteun op motorwielstoele: die middelste voetsteunhysers moet goed onder die sitplek geberg word en laer om te ontplooi. 'N Meganisme vir die onafhanklike werking van die opberging en ontplooiing van voetsteun is nie ingesluit by rolstoele op die mark nie, en PWC -gebruikers het die behoefte uitgespreek