INHOUDSOPGAWE:

LEGO Robot ry deur 'n doolhof: 9 stappe
LEGO Robot ry deur 'n doolhof: 9 stappe

Video: LEGO Robot ry deur 'n doolhof: 9 stappe

Video: LEGO Robot ry deur 'n doolhof: 9 stappe
Video: Буэнос-Айрес - Невероятно яркая и душевная столица Аргентины. Гостеприимная и легкая для иммиграции 2024, Julie
Anonim
Image
Image
Die basis van die robot
Die basis van die robot

Dit is 'n eenvoudige, outonome robot wat ontwerp is om deur 'n doolhof na 'n uitgang te ry. Dit is gebou met behulp van LEGO Mindstorms EV3. Die EV3 -sagteware loop op 'n rekenaar en genereer 'n program wat dan afgelaai word na 'n mikrobeheerder genaamd 'EV3 Brick'. Die programmeermetode is op ikone gebaseer en op hoë vlak. Dit is baie maklik en veelsydig.

DELE

  1. LEGO Mindstorms EV3 stel
  2. LEGO Mindstorms EV3 ultrasoniese sensor. Dit is nie ingesluit in die EV3 -stel nie.
  3. Golfkarton vir die doolhof. Twee kartonne moet voldoende wees.
  4. 'N Klein stukkie dun karton om sommige hoeke en mure te help stabiliseer.
  5. Plak en plak om kartonstukke aan mekaar te verbind.
  6. 'N Rooi wenskaartkoevert om die uitgang van die doolhof te identifiseer.

GEREEDSKAP

  1. Gereedskapsmes om die karton te sny.
  2. Staalliniaal om die snyproses te help.

METOOD MET OPLOSSING

Daar is verskillende metodes om deur 'n doolhof te navigeer. As u daarin belangstel om dit te bestudeer, word dit baie goed beskryf in die volgende Wikipedia -artikel:

Ek het die linker muur-volgerreël gekies. Die idee is dat die robot 'n muur aan sy linkerkant sal hou deur die volgende besluite te neem terwyl hy deur die doolhof gaan:

  1. As dit moontlik is om links te draai, doen dit.
  2. Andersins, gaan reguit indien moontlik.
  3. As dit nie links of regs kan gaan nie, draai regs, indien moontlik.
  4. As nie een van die bogenoemde moontlik is nie, moet dit 'n doodloopstraat wees. Draai om.

Een waarskuwing is dat die metode kan misluk as daar 'n lus in die doolhof is. Afhangende van die plasing van die lus, kan die robot om en om die lus bly. 'N Moontlike oplossing vir hierdie probleem is dat die robot na die regterkantste muurvolgreël oorskakel as hy besef dat hy in 'n lus gaan. Ek het hierdie verfyning nie by my projek ingesluit nie.

STAPPE OM DIE ROBOT TE BOU

Hoewel LEGO Mindstorms EV3 baie veelsydig is, kan dit nie meer as een van elke tipe sensor wat aan een baksteen gekoppel is, toelaat nie. Twee of meer bakstene kan daisy-vasgeketting wees, maar ek wou nie 'n ander baksteen koop nie, en daarom gebruik ek die volgende sensors (in plaas van drie ultrasoniese sensors): infrarooi sensor, kleursensor en ultrasoniese sensor. Dit werk goed. Die pare foto's hieronder wys hoe om die robot te bou. Die eerste foto van elke paar toon die benodigde dele, en die tweede foto toon dieselfde dele wat aan mekaar verbind is.

Stap 1: basis van die robot

Die basis van die robot
Die basis van die robot

Die eerste stap is om die basis van die robot te bou met behulp van die getoonde dele. Die robotbasis word onderstebo getoon. Die klein L-vormige deel aan die agterkant van die robot is 'n steun vir die rug. Dit gly terwyl die robot beweeg. Dit werk goed. Die EV3-stel het nie 'n rolbal nie.

Stap 2: Bo -op die basis

Bo -op die basis
Bo -op die basis
Bo -op die basis
Bo -op die basis
Bo -op die basis
Bo -op die basis

Die volgende drie stappe is aan die bokant van die basis van die robot, die kleursensor en die kabels, wat almal 26 cm (10 duim) kabels is

Stap 3: Infrarooi en ultrasoniese sensors

Infrarooi en ultrasoniese sensors
Infrarooi en ultrasoniese sensors
Infrarooi en ultrasoniese sensors
Infrarooi en ultrasoniese sensors

Vervolgens is die infrarooi sensor (aan die linkerkant van die robot) en die ultrasoniese sensor (aan die regterkant). Ook die 4 penne om die baksteen bo -op vas te maak.

Die infrarooi en ultrasoniese sensors is vertikaal geleë in plaas van die normale horisontaal. Dit bied 'n beter identifisering van die hoeke of punte van die mure.

Stap 4: Kabels

Kabels
Kabels

Heg die baksteen aan en verbind die kabels soos volg:

  • Poort B: linker groot motor.
  • Poort C: regter groot motor.
  • Poort 2: ultrasoniese sensor.
  • Poort 3: kleursensor.
  • Poort 4: infrarooi sensor.

Stap 5: Laaste stap in die bou van die robot: versiering

Laaste stap in die bou van die robot: versiering
Laaste stap in die bou van die robot: versiering
Laaste stap in die bou van die robot: versiering
Laaste stap in die bou van die robot: versiering
Laaste stap in die bou van die robot: versiering
Laaste stap in die bou van die robot: versiering

Die vlerke en vinne is slegs vir versiering.

Stap 6: Pseudokode vir die program

  1. Wag 3 sekondes en sê 'Gaan'.
  2. Begin die robot reguit vorentoe beweeg.
  3. As dit moontlik is om links te draai (dit wil sê, as die infrarooi sensor nie 'n voorwerp in die omgewing voel nie), sê "Links" en gaan links.
  4. Gaan ongeveer 15 cm vorentoe om 'n verkeerde draai na links te vermy. Die rede hiervoor is dat die sensor na die draai van die robot die lang ruimte sou sien waaruit hy pas gekom het, en die robot sou dink dat hy links moet draai, wat nie die regte ding is om te doen nie. Gaan terug na stap 2.
  5. As dit nie moontlik is om links te draai nie, kyk wat die kleursensor voor die robot sien.
  6. As daar geen kleur (d.w.s. geen voorwerp) is nie, gaan dan terug na stap 2.
  7. As die kleur rooi is, is dit die uitgang. Stop die robot, speel 'n fanfare en stop die program.
  8. As die kleur bruin is (dit wil sê bruin karton voor), stop die robot.

    1. As dit moontlik is om regs te draai (dit wil sê, as die ultrasoniese sensor nie 'n voorwerp in die omgewing waarneem nie), sê 'Regs' en gaan regs. Gaan terug na stap 2.
    2. As dit nie moontlik is om regs te draai nie, sê 'Uh-oh', maak 'n back-up van ongeveer 12,5 cm en draai om. Gaan terug na stap 2.

Stap 7: Programmeer

Program
Program

LEGO Mindstorms EV3 het 'n baie handige ikoon-gebaseerde programmeermetode. Blokke word aan die onderkant van die skerm op die rekenaar vertoon en kan in die programmeringsvenster gesleep word om 'n program te bou. Die skermkiekie toon die program vir hierdie projek. Die blokke word in die volgende stap beskryf.

Ek kon nie uitvind hoe ek die program vir u kan aflaai nie, en daarom word die blokke in die volgende stap beskryf. Elke blok het opsies en parameters. Dit is baie maklik en veelsydig. Dit behoort nie veel tyd te neem voordat u die program ontwikkel en/of dit aan u behoeftes pas nie. Soos altyd is dit 'n goeie idee om die program gereeld te stoor wanneer u dit ontwikkel.

Die EV3 Brick kan met 'n USB-kabel, Wi-Fi of Bluetooth aan die rekenaar gekoppel word. As dit gekoppel en aangeskakel is, word dit aangedui in 'n klein venster in die regter onderste hoek van die EV3-venster op die rekenaar. Die “EV3” aan die regterkantkant word rooi. As hierdie vertoning op Poortweergawe ingestel is, wys dit in reële tyd wat elke sensor opspoor. Dit is handig om te eksperimenteer.

By die bou van hierdie program stel ek voor om van links na regs en van bo na onder te werk, en om die lus- en skakelblokke te vergroot voordat u ander blokke na binne sleep. Ek het deurmekaar probleme ondervind om ekstra blokke binne te voeg voordat ek dit vergroot.

Stap 8: Programblokke

  1. Aan die linkerkant van die program is die beginblok outomaties teenwoordig wanneer 'n program ontwikkel word.
  2. Die volgende is 'n wagblok om ons drie sekondes te gee om die robot by die ingang van die doolhof te plaas, nadat ons die program begin het.
  3. 'N Klankblok laat die robot' Gaan 'sê.
  4. 'N Lusblok bevat die grootste deel van die program. Die skerm moet 4 of 5 keer uitgezoom word en hierdie lusblok moet amper vergroot word tot aan die regterkant van die programmeringsdoek voordat u blokke begin plaas. Dit kan daarna kleiner gemaak word.
  5. Die eerste blok binne -in die lus is 'n bewegende stuurblok met die stuur op nul en die krag op 20. Dit begin die motors reguit vorentoe teen lae spoed. Met 'n vinniger spoed kan die robot te ver beweeg as hy vorentoe voortgaan terwyl hy in die daaropvolgende stappe praat.
  6. 'N Skakelblok in die nabyheidsmodus van die infrarooi sensor kyk of daar 'n voorwerp is wat verder as 'n waarde van 30. Dit is gelykstaande aan ongeveer 23 cm (9 duim) vir bruin karton. As die waarde groter as 30 is, word blokke 7, 8 en 9 uitgevoer, anders gaan die program na blok 10 hieronder.
  7. 'N Klankblok laat die robot' Links 'sê.
  8. 'N Skuifstuurblok met die stuurstelsel op -45, krag op 20, rotasies op 1.26 en rem aan die einde op waar. Dit laat die robot links draai.
  9. 'N Skuifstuurblok met die stuurstelsel op nul, krag op 20, rotasies op 1.2 en rem aan die einde op waar. Dit laat die robot ongeveer 15 cm vorentoe gaan om 'n valse draai na links te vermy.
  10. 'N Skakelblok in die kleursensor Meet kleurmodus kontroleer watter kleur voor die robot is. As daar geen kleur (d.w.s. geen voorwerp) is nie, gaan die program aan die einde van die lus. As die kleur rooi is, word blokke 11, 12 en 13 uitgevoer. As die kleur bruin is, gaan die program na blok 14 hieronder.
  11. 'N Beweegstuurblok in die af -modus om die motors te stop.
  12. A Sound Block speel 'n fanfare.
  13. 'N Lusonderbrekingsblok verlaat die lus.
  14. 'N Beweegstuurblok in die af -modus om die motors te stop.
  15. 'N Skakelblok in die ultrasoniese sensor Vergelyk afstand -duim -modus kyk of daar 'n voorwerp verder as 20 cm (8 duim) is. As dit meer as 8 duim is, word blokke 16 en 17 uitgevoer, anders gaan die program na blok 18 hieronder.
  16. 'N Klankblok laat die robot' reg 'sê.
  17. 'N Move -stuurblok met die stuurstelsel op -55, Power op -20, Rotations op 1.1, en Rem aan die einde op True. Dit laat die robot regs draai.
  18. 'N Klankblok laat die robot' U-oh 'sê.
  19. 'N Skuif tenkblok met krag links op -20, krag regs op -20, rotasies op 1 en rem aan die einde op waar. Dit maak dat die robot ongeveer 12,5 cm (5 duim) rugsteun om ruimte te maak om om te draai.
  20. 'N Skuif tenkblok met krag links op -20, krag regs op 20, rotasies op 1.14, en rem aan die einde op True. Dit laat die robot omdraai.
  21. By die uitgang van die lus is 'n stopprogramblok.

Stap 9: BOU 'N MAAL

BOU 'N MAAL
BOU 'N MAAL
BOU 'N MAAL
BOU 'N MAAL
BOU 'N MAAL
BOU 'N MAAL

Twee karton kartonne moet genoeg wees vir die doolhof. Ek het die doolhofmure 12,5 cm hoog gemaak, maar 10 cm (4 duim) behoort net so goed te werk as jy 'n golfkarton kort.

Eers sny ek om die mure van die kartonne, 25 cm van die onderkant af. Toe sny ek 5 m van die onderkant om die mure. Dit bied verskeie 5-duim mure. Ek sny ook die onderkant van die kartonne om en laat ongeveer 2,5 cm aan die mure vas vir stabiliteit.

Die verskillende stukke kan gesny en vasgeplak of vasgemaak word waar nodig om die doolhof te vorm. Daar moet 'n spasie van 30 cm tussen die mure wees op enige pad met 'n doodloopstraat. Hierdie afstand is nodig om die robot om te draai.

Sommige hoeke van die doolhof moet dalk versterk word, en sommige reguit mure moet nie buig as dit 'n reguit kartondoek bevat nie. Klein stukkies dun karton moet op die plekke aan die onderkant vasgeplak word, soos aangedui.

Die uitgang het 'n rooi versperring wat bestaan uit 'n halwe rooi wenskaartkoevert en 'n basis gemaak van 2 stukke dun karton, soos getoon.

Een waarskuwing is dat die doolhof nie groot moet wees nie. As die draaie van die robot effens van die regte kant af is, kom die afwykings na 'n paar draaie by. Byvoorbeeld, as 'n linksdraai 3 grade af is, gaan die robot na vyf draaie na links 15 grade af. 'N Groot doolhof het meer draaie en 'n langer pad as 'n klein, en die robot kan teen die mure vasloop. Ek moes verskeie kere vroetel oor die rotasie -instellings van die draaie om 'n suksesvolle rit deur die klein doolhof te kry wat ek gemaak het.

TOEKOMSTIGE VERBETERINGS

'N Duidelike opvolgprojek is om die robot in staat te stel om 'n direkte pad deur die doolhof te bepaal terwyl hy daarheen navigeer, en dan direk daarna (deur doodloopstrate te vermy).

Dit is baie ingewikkelder as die huidige projek. Die robot moet die pad wat hy afgelê het, onthou, doodloopstrate verwyder, die nuwe pad berg en die nuwe pad volg. Ek beplan om in die nabye toekoms aan hierdie projek te werk. Ek verwag dat dit moontlik is om dit te bereik met LEGO Mindstorms EV3 met behulp van Array Operations Blocks en 'n paar wiskundige verwante blokke.

SLOTOPMERKING

Dit was 'n prettige projek. Ek hoop dat u dit ook interessant vind.

Aanbeveel: