Talaan ng mga Nilalaman:

Ang LEGO Robot ay Nagmamaneho sa pamamagitan ng isang Maze: 9 Mga Hakbang
Ang LEGO Robot ay Nagmamaneho sa pamamagitan ng isang Maze: 9 Mga Hakbang

Video: Ang LEGO Robot ay Nagmamaneho sa pamamagitan ng isang Maze: 9 Mga Hakbang

Video: Ang LEGO Robot ay Nagmamaneho sa pamamagitan ng isang Maze: 9 Mga Hakbang
Video: Five Amazing Humanoid Encounters 2024, Hulyo
Anonim
Image
Image
Batayan ng Robot
Batayan ng Robot

Ito ay isang simple, autonomous na robot na dinisenyo upang himukin ang isang maze sa isang exit. Ito ay binuo gamit ang LEGO Mindstorms EV3. Ang EV3 Software ay tumatakbo sa isang computer at bumubuo ng isang programa, na na-download sa isang microcontroller na tinatawag na EV3 Brick. Ang pamamaraan ng programa ay batay sa icon at mataas na antas. Napakadali at maraming nalalaman.

BAHAGI

  1. Itakda ang LEGO Mindstorms EV3
  2. LEGO Mindstorms EV3 ultrasonic sensor. Hindi ito kasama sa hanay ng EV3.
  3. Corrugated na karton para sa maze. Dalawang karton ay dapat sapat.
  4. Ang isang maliit na piraso ng manipis na karton upang makatulong na patatagin ang ilang mga sulok at dingding.
  5. Pandikit at tape upang ikonekta ang mga piraso ng karton nang magkasama.
  6. Isang pulang sobre ng kard ng pagbati upang makilala ang paglabas ng maze.

TOOLS

  1. Utility kutsilyo upang i-cut ang karton.
  2. Bakal na bakal upang tulungan ang proseso ng paggupit.

PARAAN NG MAZE-SOLVING

Mayroong maraming mga paraan ng pag-navigate sa isang maze. Kung interesado kang pag-aralan ang mga ito, mahusay na inilalarawan ang mga ito sa sumusunod na artikulo sa Wikipedia:

Pinili ko ang panuntunang kaliwang pader-tagasunod. Ang ideya ay ang robot ay panatilihin ang isang pader sa kaliwang bahagi sa pamamagitan ng paggawa ng mga sumusunod na desisyon habang napupunta ito sa maze:

  1. Kung posible na kumaliwa, gawin ito.
  2. Kung hindi man, dumiretso kung maaari.
  3. Kung hindi ito makakaliwa o dumidiret, kumanan pakanan, kung maaari.
  4. Kung wala sa itaas ang posible, ito ay dapat na isang patay na wakas. Umikot.

Ang isang pag-iingat ay ang pamamaraan na maaaring mabigo kung ang maze ay mayroong isang loop dito. Nakasalalay sa pagkakalagay ng loop, ang robot ay maaaring magpatuloy sa paligid at paligid ng loop. Ang isang posibleng solusyon para sa problemang ito ay para sa robot na lumipat sa kanang panuntunan ng tagasunod sa dingding kung napagtanto na ito ay pupunta sa isang loop. Hindi ko isinama ang pagpipino na ito sa aking proyekto.

MGA HAKBANG PARA SA PAGBUHAY NG ROBOT

Bagaman ang LEGO Mindstorms EV3 ay napaka-maraming nalalaman, pinapayagan nito ang hindi hihigit sa isa sa bawat uri ng sensor na konektado sa isang Brick. Dalawa o higit pang mga brick ay maaaring may kadena na kadena, ngunit hindi ko nais na bumili ng isa pang Brick, at sa gayon ay ginamit ko ang mga sumusunod na sensor (sa halip na tatlong mga ultrasonikong sensor): infrared sensor, color sensor, at ultrasonic sensor. Naging maayos ito. Ipinapakita ng mga pares ng mga larawan sa ibaba kung paano mabuo ang robot. Ang unang larawan ng bawat pares ay nagpapakita ng mga bahaging kinakailangan, at ang pangalawang larawan ay nagpapakita ng magkatulad na mga bahagi na magkakaugnay.

Hakbang 1: Batayan ng Robot

Batayan ng Robot
Batayan ng Robot

Ang unang hakbang ay upang itayo ang base ng robot, gamit ang ipinakitang mga bahagi. Ang base ng robot ay ipinapakita ng baligtad. Ang maliit na bahagi ng hugis L ay sa likuran ng robot ay isang suporta para sa likod. Dulas ito habang gumagalaw ang robot. Gumagana ito okay. Ang kit na EV3 ay walang bahagi na rolling-ball-type.

Hakbang 2: Itaas ng Base

Itaas ng Batayan
Itaas ng Batayan
Itaas ng Batayan
Itaas ng Batayan
Itaas ng Batayan
Itaas ng Batayan

Ang susunod na 3 mga hakbang ay para sa tuktok ng base ng robot, ang sensor ng kulay, at ang mga cable, na lahat ay 10 pulgada (26 cm) na mga kable

Hakbang 3: Mga Infrared at Ultrasonic Sensor

Mga Infrared at Ultrasonic Sensor
Mga Infrared at Ultrasonic Sensor
Mga Infrared at Ultrasonic Sensor
Mga Infrared at Ultrasonic Sensor

Susunod, ang infrared sensor (sa kaliwang bahagi ng robot) at ang ultrasonic sensor (sa kanan). Gayundin, ang 4 na mga pin para sa paglakip ng Brick sa itaas.

Ang mga infrared at ultrasonikong sensor ay matatagpuan patayo sa halip na ang normal na pahalang. Nagbibigay ito ng mas mahusay na pagkakakilanlan ng mga sulok o dulo ng mga dingding.

Hakbang 4: Mga Cable

Mga kable
Mga kable

Ikabit ang Brick at ikonekta ang mga kable tulad ng sumusunod:

  • Port B: kaliwang malaking motor.
  • Port C: tamang malaking motor.
  • Port 2: ultrasonic sensor.
  • Port 3: sensor ng kulay.
  • Port 4: infrared sensor.

Hakbang 5: Pangwakas na Hakbang sa Pagbuo ng Robot: Palamuti

Pangwakas na Hakbang sa Pagbuo ng Robot: Palamuti
Pangwakas na Hakbang sa Pagbuo ng Robot: Palamuti
Pangwakas na Hakbang sa Pagbuo ng Robot: Palamuti
Pangwakas na Hakbang sa Pagbuo ng Robot: Palamuti
Pangwakas na Hakbang sa Pagbuo ng Robot: Palamuti
Pangwakas na Hakbang sa Pagbuo ng Robot: Palamuti

Ang mga pakpak at palikpik ay para lamang sa dekorasyon.

Hakbang 6: Pseudocode para sa Program

  1. Maghintay ng 3 segundo at sabihin ang "Pumunta."
  2. Simulan ang robot na gumagalaw nang diretso.
  3. Kung posible na lumiko sa kaliwa (ibig sabihin, kung ang infrared sensor ay hindi nakakaramdam ng isang bagay sa malapit), sabihin ang "Kaliwa" at pakaliwa.
  4. Magpatuloy tungkol sa 6 pulgada (15 cm) upang maiwasan ang isang maling kaliwa. Ang dahilan dito ay pagkatapos na lumiko ang robot, makikita ng sensor ang mahabang puwang kung saan ito nanggaling, at maiisip ng robot na dapat itong kumaliwa, na hindi tamang gawin. Bumalik sa hakbang 2.
  5. Kung hindi posible na lumiko sa kaliwa, suriin kung ano ang nakikita ng Color Sensor nang maaga sa robot.
  6. Kung walang kulay (hal. Walang object), pagkatapos ay bumalik sa hakbang 2.
  7. Kung ang kulay ay Pula, ito ang exit. Itigil ang robot, maglaro, at ihinto ang programa.
  8. Kung ang kulay ay kayumanggi (ibig sabihin, brown na karton sa unahan), pagkatapos ihinto ang robot.

    1. Kung posible na lumiko pakanan (ibig sabihin, kung ang sensor ng ultrasonic ay hindi nakakaramdam ng isang bagay sa malapit), sabihin ang "Tama" at pumunta sa kanan. Bumalik sa hakbang 2.
    2. Kung hindi posible na lumiko sa kanan, sabihin ang "Uh-oh", i-back up ang tungkol sa 5 pulgada (12.5 cm), at tumalikod. Bumalik sa hakbang 2.

Hakbang 7: Programa

Programa
Programa

Ang LEGO Mindstorms EV3 ay may napaka-maginhawang pamamaraan ng programa na nakabatay sa icon. Ang mga bloke ay ipinapakita sa ilalim ng display screen sa computer at maaaring i-drag-and-drop sa window ng programa upang makabuo ng isang programa. Ipinapakita ng screen shot ang programa para sa proyektong ito. Ang mga Block ay inilarawan sa susunod na hakbang.

Hindi ko mawari kung paano i-set up ang pag-download ng programa sa inyong mga tao, at sa gayon ang mga Block ay inilarawan sa susunod na hakbang. Ang bawat Block ay may mga pagpipilian at parameter. Napakadali at maraming nalalaman. Hindi ito dapat tumagal ng maraming oras para sa iyo upang paunlarin ang programa at / o baguhin ito upang umangkop sa iyong mga pangangailangan. Tulad ng dati, magandang ideya na mai-save ang programa nang pana-panahon kapag binubuo ito.

Ang EV3 Brick ay maaaring konektado sa computer sa pamamagitan ng alinman sa isang USB cable, Wi-Fi o Bluetooth. Kapag nakakonekta at naka-on ito, ipinahiwatig ito sa isang maliit na bintana sa kanang ibabang kanang sulok ng EV3 window sa computer. Ang "EV3" sa kanang bahagi ay nagiging pula. Kapag ang display na ito ay nakatakda sa Port View, ipinapakita nito sa real time, kung ano ang nakikita ng bawat sensor. Kapaki-pakinabang ito para sa eksperimento.

Kapag itinatayo ang program na ito, imumungkahi kong magtrabaho mula kaliwa hanggang kanan at itaas hanggang sa ibaba, at upang palakihin ang Loop at Switch Blocks bago i-drag sa loob ang iba pang mga Block. Naranasan ko ang mga magulo na problema na sinusubukan na magsingit ng karagdagang mga Block sa loob bago palakihin.

Hakbang 8: Mga Block ng Program

  1. Simula sa kaliwang bahagi ng programa, ang Start Block ay awtomatikong naroroon kapag ang isang programa ay binuo.
  2. Susunod ay isang Wait Block, upang bigyan kami ng 3 segundo upang mailagay ang robot sa pasukan sa maze, pagkatapos na simulan ang programa.
  3. Ginagawa ng isang Sound Block ang robot na sabihin na "Pumunta."
  4. Ang isang Loop Block ay naglalaman ng halos lahat ng programa. Ang display ay dapat na naka-zoom out ng 4 o 5 beses at ang Loop Block na ito ay dapat na pinalaki halos sa kanang gilid ng Programming Canvas bago mo simulang ipasok ang mga Block. Maaari itong gawing mas maliit pagkatapos.
  5. Ang unang Block sa loob ng Loop ay isang Move Steering Block na ang Setting ay itinakda sa zero at ang Power ay nakatakda sa 20. Sinimulan nito ang mga motor na tumatakbo nang diretso sa mababang bilis. Ang isang mas mabilis na bilis ay magpapalipat-lipat sa robot kapag nagpatuloy ito sa unahan habang nagsasalita sa mga kasunod na hakbang.
  6. Ang isang Switch Block sa Infrared Sensor Proximity Mode ay sumusuri kung mayroong anumang bagay na mas malayo sa halagang 30. Katumbas ito ng humigit-kumulang na 9 pulgada (23 cm) para sa brown na karton. Kung ang halaga ay higit sa 30, pagkatapos ang Mga Bloke 7, 8 at 9 ay naisakatuparan, kung hindi man ang programa ay pupunta sa Block 10 sa ibaba.
  7. Ginagawa ng isang Sound Block ang robot na sabihin na "Kaliwa."
  8. Ang isang Move Steering Block na may set ng Steering sa -45, Power set to 20, Rotations set to 1.26, and Brake at End set to True. Ginagawa nitong kaliwa ang robot.
  9. Ang isang Move Steering Block na may steering set sa zero, Power set to 20, Rotations set to 1.2, at Brake at End set to True. Ginagawa nitong pasulong ang robot mga 6 pulgada (15 cm) upang maiwasan ang isang maling kaliwa.
  10. Ang isang Switch Block sa Sukat ng Sensor ng Sukat Ang kulay ng Mode ay sumusuri kung anong kulay ang mas maaga sa robot. Kung walang kulay (ibig sabihin walang object), pagkatapos ang programa ay pupunta sa dulo ng loop. Kung ang kulay ay Pula, pagkatapos ang Mga Bloke 11, 12 at 13 ay naisakatuparan. Kung ang kulay ay Kayumanggi, ang programa ay pupunta sa Block 14 sa ibaba.
  11. Isang Move Steering Block sa Off Mode upang ihinto ang mga motor.
  12. Ang isang Sound Block ay nagpapatugtog ng isang fanfare.
  13. Ang isang Loop Interrupt Block ay lumalabas sa Loop.
  14. Isang Move Steering Block sa Off Mode upang ihinto ang mga motor.
  15. Ang isang Switch Block sa Ultrasonic Sensor Paghambingin ang Mga Distance Inci Mode na tseke kung mayroong anumang bagay na mas malayo sa 8 pulgada (20 cm). Kung higit sa 8 pulgada, pagkatapos ang Blocks16 at 17 ay naisakatuparan, kung hindi man ang programa ay pupunta sa Block 18 sa ibaba.
  16. Ginagawa ng isang Sound Block ang robot na sabihin na "Tama."
  17. Ang isang Move Steering Block na may set na Steering sa -55, Power set to -20, Rotations set to 1.1, at Brake at End set to True. Ginagawa nitong tama ang robot.
  18. Ginagawa ng isang Sound Block ang robot na sabihin na "Uh-oh."
  19. Ang isang Block Block ng Tank na may Kaliwang Lakas ay nakatakda sa -20, Itatakda ang Kanan ng Kuryente sa -20, ang Pag-ikot ay nakatakda sa 1, at ang Brake sa End ay nakatakda sa Totoo. Ginagawa nitong back up ang robot mga 5 pulgada (12.5 cm) upang magkaroon ng puwang upang paikutin.
  20. Ang isang Move Block Block na may Power Left na nakatakda sa -20, ang Power Right ay nakatakda sa 20, ang Rotations ay nakatakda sa 1.14, at ang Brake at End ay nakatakda sa True. Pinapaikot nito ang robot.
  21. Sa exit ng Loop ay isang Stop Program Block.

Hakbang 9: Bumuo ng isang MAZE

Bumuo ng isang MAZE
Bumuo ng isang MAZE
Bumuo ng isang MAZE
Bumuo ng isang MAZE
Bumuo ng isang MAZE
Bumuo ng isang MAZE

Dalawang corrugated karton karton ay dapat na sapat para sa maze. Ginawa kong mataas ang mga pader ng maze na 5 pulgada (12.5 cm), ngunit ang 4 na pulgada (10 cm) ay dapat na gumana rin kung wala ka sa corrugated na karton.

Una, pinutol ko ang mga dingding ng mga karton, 10 pulgada (25 cm) mula sa ilalim. Pagkatapos ay pinutol ko ang mga pader ng 5 pulgada mula sa ilalim. Nagbibigay ito ng maraming mga pader na 5-pulgada. Gayundin, pinutol ko ang paligid ng mga ilalim ng mga karton, na iniiwan ang halos 1 pulgada (2.5 cm) na nakakabit sa mga pader para sa katatagan.

Ang iba`t ibang mga piraso ay maaaring i-cut at nakadikit o naka-tape saan man kinakailangan upang mabuo ang maze. Dapat mayroong isang 12 pulgada (30 cm) na puwang sa pagitan ng mga dingding sa anumang landas na may isang patay na dulo. Ang distansya na ito ay kinakailangan upang ang robot ay lumingon.

Ang ilan sa mga sulok ng maze ay maaaring kailanganing palakasin, Gayundin, ang ilang mga tuwid na pader ay kailangang itago mula sa baluktot kung nagsasama sila ng isang straightened na karton na sulok. Ang maliliit na piraso ng manipis na karton ay dapat na nakadikit sa ilalim ng mga lugar na iyon, tulad ng ipinakita.

Ang exit ay may pulang hadlang na binubuo ng kalahati ng isang pulang sobre ng kard ng kard at isang base na ginawa mula sa 2 piraso ng manipis na karton, tulad ng ipinakita.

Ang isang pag-iingat ay ang maze ay hindi dapat malaki. Kung ang mga liko ng robot ay nasa isang bahagyang anggulo mula sa tamang isa, ang mga pagkakaiba ay nagdaragdag pagkatapos ng ilang pagliko. Halimbawa, kung ang isang kaliwang pagliko ay 3 degree off, pagkatapos pagkatapos ng 5 kaliwa na liko ang robot ay pupunta ng 15 degree off. Ang isang malaking maze ay magkakaroon ng higit na mga liko at isang mas mahabang landas kaysa sa isang maliit, at ang robot ay maaaring tumakbo sa mga pader. Kailangan kong makalikot ng maraming beses sa mga setting ng Pag-ikot ng mga liko upang makakuha ng isang matagumpay na drive sa pamamagitan ng kahit na ang maliit na maze na ginawa ko.

Hinaharap na Pagpapahusay

Ang isang malinaw na follow-on na proyekto ay upang matukoy ng robot ang isang direktang landas sa pamamagitan ng maze habang ini-navigate ito, at pagkatapos ay himukin ang direktang landas na ito (pag-iwas sa mga huling wakas) pagkatapos mismo.

Ito ay mas kumplikado kaysa sa kasalukuyang proyekto. Dapat alalahanin ng robot ang landas na nilakbay nito, alisin ang mga patay, itago ang bagong landas, at pagkatapos ay sundin ang bagong landas. Plano kong magtrabaho sa proyektong ito sa malapit na hinaharap. Inaasahan kong posible na magawa sa LEGO Mindstorms EV3 gamit ang Array Operations Blocks at ilang mga Block na nauugnay sa matematika.

KASUNDUAN NG KASUNDUAN

Ito ay isang masayang proyekto. Sana maging interesante ka rin.

Inirerekumendang: