» elektronik » Arduino »Robot som passerar labyrinter

Robot som passerar labyrinter




Artikeln visar skapandet av en robot som färdas längs linjer och kan gå igenom labyrinter, efter att ha studerat labyrinten kan den gå igenom den på kortast sätt. Författaren skapade länge detta projekt, lyckan förbi honom tredje gången.

Demonstration av maskinen:


Material och verktyg:
- Arduino RBBB
- Mikromotorer 2 st
- Fästen för 2 st motorer
- Hjul 2 st
- bollhjul
- Analog reflektionssensor
- Muttrar med bultar på 2 st.
- motordrivare
- Batterihållare 4 st AAA
- Batterier (laddningsbara batterier) AAA 4 st
- Fall
- Muttrar, bultar, brickor
- anslutande ledningar
- lödning
- tång
- lödkolv
- skruvmejsel

Första steget. Teori.
Författaren behövde roboten, som själv kommer att hitta en väg ut ur labyrinten, varefter den kan optimera återresan. När du skapade en maskin för labyrinter styrdes de av vänstermetoden. För att göra det tydligare ska du föreställa dig att du var i en labyrint och alltid hålla din vänstra hand på väggen. När du har passerat en viss väg hjälper detta dig ur labyrinten om den inte är stängd. Roboten kan bara arbeta med öppna labyrinter.

Principerna för den vänstra metoden är ganska enkla:
- Om du kan svänga åt vänster, sväng vänster.
- Om det är möjligt att röra sig rakt, gå rakt.
- Om du kan svänga åt höger, sväng höger.
- Om du befinner dig i en återvändsgränd, vänd dig 180 grader.

Roboten måste också fatta beslut i korsningen, men om den inte stängs av vid svängen, kommer den att gå rakt. För att bygga en bättre returväg skrivs varje beslut till minnet.
L = vänster sväng
R = höger sväng
S = hoppa över en sväng
B = rotera 180 grader

Denna metod visas nedan i handling med en enkel labyrint som exempel. Roboten täckte avståndet med LBLLBSR-kommandon.
Robot som passerar labyrinter







Vägen kom ut långt, den måste förvandlas till en optimal SRR. För att göra detta bestäms det var roboten vred fel väg. Överallt där "B" -kommandot används kommer banan att vara felaktig, eftersom roboten befann sig i en förbigång, så "B" bör ersättas med något annat. Den första felaktiga rörelsen var LBL, roboten vände och vände, medan det bara var nödvändigt att följa direkt LBL = S. Således är den idealiska vägen LBL = S, LBS = R byggd. Baserat på sådana ersättningar bygger roboten en idealisk kort väg för sig själv.





Steg två Robotens chassi.
Akryl med en tjocklek av 0,8 mm blev grunden för robotchassit, skärning utfördes med en laser enligt ritningen. I arkivet under artikeln finns en ritningsfil från AutoCAD. Det var inte nödvändigt att använda sådant material, men författaren tog det som var tillgängligt.

I den nedre delen är hål gjorda för montering av motorer, brädor, hjul och sensorer. Den övre delen har ett stort hål för trådar.










Steg tre Installation av hjul.
Författaren fäst båda motorerna med bultar. Vidare sätter de helt enkelt hjul på sin axel och justerar axeln mot hålet i hjulet.




Det fjärde steget. Arduino.
Vid denna punkt följde författaren först monteringsinstruktionerna för Arduino RBBB. Vidare skar han av en del av brädet för att minska dess storlek. Strömkontakten och stabilisatorn stängdes av med en sax för metall. Därefter löddes ett 9-poligt kontaktdon till vänster sida av kortet för kontakter från 5V till A0 för att ansluta en sensor till den. Ett 4-stiftskontakt löddes till höger sida av kortet för kontakter från D5 till D8, och en motorstyrenhet kommer att anslutas till den. För att leverera ström löddes 2-stiftskontakten till 5V och GND.








Steg fem Motorstyrenhet.
Författaren själv utvecklade ett tryckt kretskort för detta steg, kretsen i Eagle-formatet bifogas i arkivet under artikeln. Den första motorn var ansluten till stiften M1-A och M1-B, den andra till M2 och M2-B. Den första ingången från den första In 1A-motorn var ansluten till den 7: e stiftet på Arduino. I 1B var ansluten till stift 6 på Arduino. Till den första ingången på den andra motorn är In 2A ansluten till den femte stiftet på Arduino. Pin In 2B ansluts till stift 8 på Arduino. Kraft och mark är anslutna till Arduino kraft och jord.








Steg sex Sensorer.
Detta element säljs i form av ett bräde av sensorer, till en början finns det åtta av dem, de två extrema raderades av författaren. Ett 9-stiftskontakt löddes till kortet, en tråd som leder till Arduino kommer att anslutas till dem. Sensorn upptäcker en vit och svart del av labyrinten med reflektion från ytan.




Sjunde steget. Övre delen.
Chassit med robotens topp ansluten med bultar och stativer. Batteriet fästes på toppen med kardborrband. Trådar från honom lades genom det förberedda hålet. Vid fästningen beslutade författaren att inte använda skruvar utan att lämna batteriet med kardborrband så att det skulle bli lättare att byta ut batterierna. Med hjälp av omkopplaren på batterilådan utfördes en prestandakontroll.








Steg åtta. Installation av sensorer.
Sensorerna skruvades fast i maskinens botten. GND-stiftet är anslutet till GND Arduino. Därefter är Vcc-stiftet anslutet till 5V Arduino. Arduino 5-0 ADC: er anslöt stiften på de analoga 6-1 sensorerna.






Steg nio. Ström.
Arduino lödde bara kablar från batteriet. Att slå på och stänga av roboten kommer att vara en strömbrytare på batteriet, så det beslutades att använda lödning. Detta slutför montering av roboten.


Steg tio Programvarudelen.
Programmet har flera funktioner som är ansvariga för driftsalgoritmen. Funktionen "vänster hand" tar emot avläsningar från sensorer och styr roboten enligt dessa regler. Rotationsfunktionen slås på innan roboten märker en svart linje efter att ha märkt att den rör sig rakt. En sökvägsoptimeringsfunktion är också integrerad. Programmet kan laddas ner under artikeln i arkivet.


Robotvideo:


labyrint-lösa-robot.rar [28.67 Kb] (nedladdningar: 545)
5.5
5.5
5.5

Lägg till en kommentar

    • lelerxaxaOKdontknowyahoonea
      bossscratchluraJaja-jaaggressivhemlighet
      ledsendansdance2dance3benådningHjälpdrycker
      stoppvännerbragoodgoodvisselpipasvimningsanfalltunga
      rökklapparcraydeclarehånfulldon-t_mentionnedladdning
      hettaRASANDElaugh1mdamötemoskingnegativ
      not_ipopcornstraffalässkrämmalarmrapportersök
      hånthank_youdettato_clueumnikakutöverens
      illabeeeblack_eyeblum3rougeskrytaledan
      censureradepleasantrysecret2hotasegeryusun_bespectacled
      shokrespektlolprevedvälkommenkrutoyya_za
      ya_dobryihjälparene_huliganne_othodiFLUDförbudstänga

Vi rekommenderar att du läser:

Räcka den till smarttelefonen ...