Orodha ya maudhui:
- Hatua ya 1: Vifaa
- Hatua ya 2: Uunganisho
- Hatua ya 3: Kwa mantiki Kuunda Nambari ya MATLAB Kutumia Sensorer
- Hatua ya 4: Kupima Nambari na Robot
- Hatua ya 5: Kutambua Kosa
- Hatua ya 6: Hitimisho
Video: Pal Roomba Parking: 6 Hatua
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:52
Mradi huu unatumia iRobot Tengeneza roomba inayoweza kupangwa, MATLAB r2018a, na rununu ya MATLAB. Kwa kutumia hizi mediums tatu na maarifa yetu ya kuweka coding, tuliweka iRobot Create kutafsiri rangi na kutumia sensorer za bodi kumaliza kazi. Miradi hii inategemea mawasiliano ya Raspberry Pi na MATLAB kutekeleza majukumu haya.
Hatua ya 1: Vifaa
1. Robot Unda Robot
2. MATLAB r2018a
3. Raspberry Pi
4. Moduli ya Kamera
5. 3-D iliyochapishwa Stabilizer Camera
6. Smartphone na MATLAB ya rununu imewekwa
7. Laptop / Kompyuta iliyo na MATLAB imewekwa
Hatua ya 2: Uunganisho
Hatua hii ni juu ya kuunganisha Raspberry Pi na roboti, pili unganisha roboti kwenye kompyuta yako, na unganisha smartphone na kompyuta.
Sehemu rahisi ya mchakato huu ni kuunganisha Raspberry Pi na robot yako, kwani Raspberry Pi imewekwa juu ya roboti. Kuna kamba kutoka kwa roboti ambayo inabidi ufanye ni kuziba upande wa Raspberry Pi.
Hatua inayofuata ni kuunganisha roboti kwenye kompyuta yako ili uweze kuendesha maagizo ya roboti kutekeleza. Jambo la kwanza ambalo lazima ufanye ni kuunganisha kompyuta yako kwenye mtandao wa waya ambao roomba yako inaunda. Sasa, inashauriwa utumie ikoni ya Kuweka Njia kwenye MATLAB kuweka njia ili uweze kutumia kazi kwenye kisanduku cha zana cha Roomba kutoka MATLAB. Kila wakati unapoanza na kumaliza kutumia na roboti, lazima ufanye "Salamu ya Vidole Mbili" kuweka upya roboti, ambayo inamaanisha kuwa unashikilia kizimbani na vifungo vya doa kwa sekunde kumi hadi taa itakapopungua inayoonyesha kutolewa. Umefanikiwa kwa kuweka upya hii ngumu ikiwa utasikia roboti ikicheza kiwango kidogo. Ifuatayo lazima uunganishe na roomba ukitumia laini ya nambari kama hii "r = roomba (x)" ambapo 'x' ni nambari iliyotengwa kwa roboti uliyonayo.
Mwishowe, unahitaji kupakua rununu ya MATLAB kwenye kifaa chochote cha rununu ambacho utatumia kwa mradi huu, na programu tumizi hii inapatikana kwenye vifaa vyote vya Android na Apple. Mara baada ya programu kusakinishwa, itabidi uingie kwa kutumia vitambulisho. Kisha lazima uunganishe kifaa hiki kwenye kompyuta yako, ukitumia kichupo kilichoandikwa "Zaidi" -> kisha bonyeza "mipangilio '-> kisha bonyeza" Ongeza kompyuta "hii inapaswa kuleta skrini iliyoonyeshwa kwenye picha hapo juu. Baada ya kuona hii hatua inayofuata ambayo lazima upitie ni kuziba tu na kuburudisha habari ambayo inauliza. Ukisha unganishwa vizuri, utaweza kupiga kazi ambazo hufafanua kwenye kompyuta yako kwenye simu yako kudhibiti robot yako.
Hatua ya 3: Kwa mantiki Kuunda Nambari ya MATLAB Kutumia Sensorer
Nambari hiyo itakuwa rahisi kuunda wakati nyingi iko ndani kwa kitanzi, ili roomba iweze kusasisha maadili halali ambayo inaangalia. Ikiwa kuna hitilafu, MATLAB itaonyesha kosa na mahali inapoonekana kwenye nambari, na kufanya utatuzi kuwa rahisi.
Iliyoundwa katika r2018a MATLAB, nambari hii hutumia visanduku vya kawaida, iRobot Unda kisanduku cha zana, pamoja na sanduku la vifaa vya rununu la MATLAB. Roomba iliyotumiwa katika mfano huu imeteuliwa kama 26, na r = roomba (26) inahitaji kuendeshwa mara moja tu ili kuwasiliana kikamilifu na roomba.
Nambari:
kazi parkassist (x) ikiwa x == 1
r = roomba (26)% inaunganisha na roomba
wakati ni kweli
r.setDriveVelocity (.05,.05)% huweka roomba kwa kasi ndogo ya kuendesha gari.
bump = r.getBumpers% hupata data kutoka kwa sensorer za mapema
mwamba = r.getCliffSensors% hupata data kutoka kwa sensorer za mwamba
light = r.getLightBumpers% hupata data kutoka kwa sensorer za mapema
img = r.getImage;% inasoma kamera mbali ya roboti
red_mean = maana (maana (img (:,:, 1)))% inasoma wastani wa saizi nyekundu
green_mean = maana (maana (img (:,:, 2)))% inasoma kiwango cha wastani cha saizi za kijani
blue_mean = maana (maana (img (:,:, 3)))% inasoma kiasi cha wastani cha saizi za bluu
ikiwa bump.front == 1% inasoma sensorer za mbele mapema
r.stop% huacha roomba
msgbox ('Njia Iliyofichwa!', 'Ujumbe wa Msaidizi wa Maegesho')% huonyesha ujumbe ukisema njia imefichwa mapumziko% inakamilisha kitanzi
kingine ikiwa kijani_maana> 150
r.stop% inaacha roomba
cont = questdlg ('Endelea?', 'Njia iliyokamilika')% huonyesha sanduku la maswali linalouliza kuendelea
ikiwa cont == 'Ndio'
parkassist (1)% anaanzisha tena nambari hiyo
mwingine
mwisho
kuvunja% kunamaliza kitanzi
kingine ikiwa red_mean> 140
r. TurnAngle (45)% inageuka roomba digrii 45
r.timeStart% inaanza kaunta ya wakati
wakati ni kweli
r.setDriveVelocity (.05,.05)% huweka kasi ya roomba
time = r.timeGet% inapeana wakati wa kutofautisha
bump = r.getBumpers% hupata data kutoka kwa sensorer za mapema
mwamba = r.getCliffSensors% hupata data kutoka kwa sensorer za mwamba
light = r.getLightBumpers% hupata data kutoka kwa sensorer za mapema
img = r.getImage;% inasoma kamera mbali ya roboti
red_mean = maana (maana (img (:,:, 1)))% inasoma wastani wa saizi nyekundu
green_mean = maana (maana (img (:,:, 2)))% inasoma wastani wa saizi za kijani
blue_mean = maana (maana (img (:,:, 3)))% inasoma wastani wa saizi za bluu
ikiwa bluu_maana> 120
r.veveDistance (-0.01)% inasongesha roomba nyuma wimbo uliowekwa uliowekwa Play (r, 'T400, C, D, E, F, G, A, B, C ^', 'kweli')% hucheza kiwango cha muziki kinachoongezeka
msgbox ('Maji yamepatikana!', 'Ujumbe wa Msaidizi wa Maegesho')% inaonyesha ujumbe unaosema maji yamepatikana r. TurnAngle (-80)% huzunguka digrii roomba 80
kuvunja% kunamaliza kitanzi cha sasa
mwanga mwingine mbele ya kulia> 25 || light.leftFront> 25% husoma sensorer za mapema
r.moveDistance (-0.01)% inasababisha roomba kurudi nyuma umbali uliowekwa
r. TurnAngle (-35)% huzungusha digrii 35 za roomba
kuvunja% kunamaliza kitanzi cha sasa
mwamba mwingine. kuliaFront <2500 && cliff. kushotoFront <2500% inasoma sensorer zote za mwamba
r.moveDistance (-0.1)% inasababisha roomba kurudi nyuma umbali uliowekwa
r. TurnAngle (-80)% huzunguka digrii roomba 80
kuvunja% kunamaliza kitanzi cha sasa
wakati mwingine> = 3
r.stop% huacha roomba
Contin = questdlg ('Bure Kituo, Endelea?', 'Ujumbe wa Msaidizi wa Maegesho')% inauliza ikiwa roomba inapaswa kuendelea ikiwa contin == 'Ndio'
r. TurnAngle (-90)% huzungusha digrii 90 za roomba
parkassist (1)% anaanzisha tena kazi
mwingine
r.stop% husimamisha roomba
mwisho
mwingine
mwisho
mwisho
mwamba mwingine. kuliaFront <2500 && cliff. kushotoFront <2500% inasoma sensorer zote za mwamba
r.moveDistance (-0.1)% inasababisha roomba kurudi nyuma umbali uliowekwa
r. TurnAngle (-90)% huzunguka digrii 90 za roomba
mwamba mwingine. kuliaFront <2500% inasoma sensor ya mwamba wa kulia
r. TurnAngle (-5)% inageuza roomba kidogo kwa mwelekeo tofauti wa sensorer ya mwamba
mwamba mwingine. kushotoFront <2500% inasoma sensor ya mwamba wa kushoto
r. TurnAngle (5)% inageuza roomba kidogo kwa mwelekeo tofauti wa sensor ya mwamba
mwingine
mwisho
mwisho
mwisho
Hatua ya 4: Kupima Nambari na Robot
Baada ya nambari hiyo kutengenezwa, hatua inayofuata ilikuwa kujaribu nambari na roboti. Kwa kuwa kuna marekebisho mengi tofauti ambayo yanaweza kufanywa katika nambari, kama vile pembe inayogeukia roboti, kasi inayotembea, na vizingiti vya kila rangi, njia bora ya kujua maadili haya kwa roboti yako ni kujaribu na ubadilike unapoenda. Kwa kila siku ya kazi tuliyokuwa nayo, tulikuwa tukibadilisha maadili haya kila wakati kwani zingine zinategemea mazingira ambayo roboti yako inafanya kazi. Njia bora ambayo tumepata ilikuwa kuweka roomba kwenye njia unayotaka ifuate, na kuwa na kizuizi cha juu vya kutosha ili kamera isiweze kugundua rangi ambazo hutaki. Hatua inayofuata ni wacha iendeshe na uionyeshe rangi unayotaka, wakati unataka kuitimiza kazi hiyo. Unapoenda, ukiona shida jambo bora kufanya ni kushinikiza bumper ya mbele, kuifanya isimamishe, kisha ubadilishe parameter ambayo ulikuwa na shida nayo.
Hatua ya 5: Kutambua Kosa
Kwa kila mradi umekamilika, kila wakati kuna vyanzo vya makosa. Kwa sisi, tulipata hitilafu na ukweli rahisi kwamba roboti sio sahihi na pembe ambayo inageuka, kwa hivyo ikiwa utaiambia igeuze digrii 45 haitakuwa sawa. Chanzo kingine cha kosa kwetu ni kwamba wakati mwingine malfunctions ya roboti, na unayo ngumu kuiweka tena kabla ya kufanya kazi tena. Chanzo kikuu cha mwisho cha hitilafu kwetu ni kwamba nambari hiyo hiyo haitakuwa na athari sawa kwa roboti tofauti, kwa hivyo italazimika kuwa na subira nayo na urekebishe ipasavyo.
Hatua ya 6: Hitimisho
Sasa una zana zote za kucheza karibu na roomba yako, ambayo inamaanisha kuwa unaweza kudhibiti nambari kwa vyovyote vile unataka kufikia malengo unayotaka. Hii inapaswa kuwa sehemu bora ya siku yako, kwa hivyo furahiya na endesha salama!
Ilipendekeza:
Kugeuza Roomba Yako Kuwa Rover ya Mars: Hatua 5
Kubadilisha Roomba Yako Kuwa Rover ya Mars:
Roomba Bot the Bulider: Hatua 5 (na Picha)
Roomba Bot the Bulider: Bot Mjenzi ni roomba, kwamba na " wanyakuzi " iliyoshikamana na mbele itaweza kusogeza vitu karibu. Nambari iliyo na hiyo imewekwa kurekodi harakati ya kwanza na sanduku la GUI ambalo unaweza kudhibiti kwa kubofya tu ya panya yako. Afte
MATLAB Kudhibitiwa Roomba: Hatua 5
MATLAB Iliyodhibitiwa Roomba: Lengo la mradi huu ni kutumia MATLAB na vile vile robot iliyobadilishwa inayopangwa iRobot. Kikundi chetu kiliunganisha ujuzi wetu wa usimbuaji ili kuunda hati ya MATLAB inayotumia kazi nyingi za iRobot, pamoja na sensorer za mwamba, hisia kubwa
MIDI Pod-Pal: 4 Hatua
MIDI Pod-Pal: *** UPDATE 4/22 / '21 ****** Nimeongeza skimu kamili inayoonyesha wiring yote ya kusaidia katika ujenzi. *** Sitaenda kwa ujinga wa kina hapa kwenye sehemu ya ujenzi, nia yangu ilikuwa kuonyesha mfano mwingine wa kujenga MI ya Arduino
Kutoka Roomba hadi Rover kwa Hatua 5 tu !: Hatua 5
Kutoka Roomba hadi Rover katika Hatua 5 tu!: Roboti za Roomba ni njia ya kufurahisha na rahisi kutumbukiza vidole vyako katika ulimwengu wa roboti. Katika Agizo hili, tutafafanua jinsi ya kubadilisha Roomba rahisi kuwa rover inayodhibitiwa ambayo wakati huo huo inachambua mazingira yake. Orodha ya Sehemu 1.) MATLAB2.) Roomb