Мазмұны:

LEGO роботы лабиринтпен жүреді: 9 қадам
LEGO роботы лабиринтпен жүреді: 9 қадам

Бейне: LEGO роботы лабиринтпен жүреді: 9 қадам

Бейне: LEGO роботы лабиринтпен жүреді: 9 қадам
Бейне: САМЫЙ ПРОСТОЙ СПОСОБ НОВИЧКУ УБИТЬ ВЕДЬМУ! ГАЙД УБИЙСТВА ВЕДЬМЫ! Last Day on Earth: Survival ENG SUB 2024, Қараша
Anonim
Image
Image
Робот негізі
Робот негізі

Бұл қарапайым, автономды робот, лабиринт арқылы шығуға арналған. Ол LEGO Mindstorms EV3 көмегімен жасалған. EV3 бағдарламалық қамтамасыз ету компьютерде жұмыс істейді және бағдарлама жасайды, содан кейін ол EV3 кірпіш деп аталатын микроконтроллерге жүктеледі. Бағдарламалау әдісі белгіге негізделген және жоғары деңгейлі. Бұл өте қарапайым және әмбебап.

БӨЛІКТЕР

  1. LEGO Mindstorms EV3 жиынтығы
  2. LEGO Mindstorms EV3 ультрадыбыстық сенсоры. Ол EV3 жинағына кірмейді.
  3. Лабиринтке арналған гофр картон. Екі қорап жеткілікті болуы керек.
  4. Кейбір бұрыштар мен қабырғаларды тұрақтандыруға көмектесетін жұқа картонның кішкене бөлігі.
  5. Картоннан жасалған бөлшектерді біріктіру үшін желім мен таспа.
  6. Лабиринттің шығуын анықтайтын қызыл сәлемдесу карточкасы.

ҚҰРАЛДАР

  1. Картонды кесуге арналған қызметтік пышақ.
  2. Болат сызғыш кесу процесіне көмектеседі.

ҒАЗАҚ ШЕШУ ӘДІСІ

Лабиринтті шарлаудың бірнеше әдістері бар. Егер сіз оларды зерттеуге қызығушылық танытсаңыз, олар келесі Уикипедия мақаласында жақсы суреттелген:

Мен сол жақ қабырғаға іліну ережесін таңдадым. Идея - робот лабиринт кезінде келесі шешімдерді қабылдай отырып, қабырғаны сол жағында сақтайды:

  1. Егер солға бұрылу мүмкін болса, мұны жасаңыз.
  2. Әйтпесе, мүмкін болса, тура жүріңіз.
  3. Егер ол солға немесе тура жүре алмаса, мүмкіндігінше оңға бұрылыңыз.
  4. Егер жоғарыда айтылғандардың ешқайсысы мүмкін болмаса, бұл тығырыққа тірелуі керек. Айналдыру.

Бір сақтық, егер лабиринтте цикл болса, әдіс сәтсіз болуы мүмкін. Циклдың орналасуына байланысты робот айналдыруды жалғастыра алады. Бұл мәселені шешудің ықтимал шешімі, егер ол циклде жүріп жатқанын түсінсе, роботтың оң жақ қабырға ережесіне ауысуы еді. Мен бұл жетілдіруді жобама енгізген жоқпын.

РОБОТ ҚҰРУҒА ҚАДАМДАР

LEGO Mindstorms EV3 өте әмбебап болғанымен, ол бір кірпішке жалғанған сенсорлардың әрқайсысының бір түрінен артық емес рұқсат береді. Екі немесе одан да көп кірпішті шынжырмен байлап қоюға болады, бірақ мен басқа кірпіш алғым келмеді, сондықтан мен келесі сенсорларды қолдандым (үш ультрадыбыстық сенсордың орнына): инфрақызыл сенсор, түс сенсоры және ультрадыбыстық сенсор. Төмендегі жұп фотосуреттер роботты қалай жасау керектігін көрсетеді. Әр жұптың бірінші фотосуреті қажетті бөлшектерді көрсетеді, ал екінші фотосуретте бір -біріне қосылған бөлшектер көрсетілген.

1 -қадам: Робот негізі

Робот негізі
Робот негізі

Бірінші қадам - көрсетілген бөлшектерді қолдана отырып, роботтың негізін құру. Робот негізі төңкеріліп көрсетілген. Роботтың артқы жағындағы L-тәрізді кішкене бөлік-артқы жағына тірек. Ол робот қозғалғанда сырғып кетеді. Бұл жақсы жұмыс істейді. EV3 жинағында домалақ тәрізді бөлік жоқ.

2 -қадам: базаның жоғарғы жағы

Базаның жоғарғы жағы
Базаның жоғарғы жағы
Базаның жоғарғы жағы
Базаның жоғарғы жағы
Базаның жоғарғы жағы
Базаның жоғарғы жағы

Келесі 3 қадам робот негізінің жоғарғы жағына, түс сенсорына және кабельдерге арналған, олар барлығы 10 дюймдік (26 см) кабельдер.

3 -қадам: ультрадыбыстық және инфрақызыл сенсорлар

Ультрадыбыстық және инфрақызыл сенсорлар
Ультрадыбыстық және инфрақызыл сенсорлар
Ультрадыбыстық және инфрақызыл сенсорлар
Ультрадыбыстық және инфрақызыл сенсорлар

Келесі - инфрақызыл сенсор (роботтың сол жағында) және ультрадыбыстық сенсор (оң жақта). Сонымен қатар, кірпішті үстіне бекітуге арналған 4 түйреуіш.

Инфрақызыл және ультрадыбыстық датчиктер қалыпты көлденең емес, тігінен орналасқан. Бұл қабырғалардың бұрыштарын немесе ұштарын жақсы анықтауға мүмкіндік береді.

4 -қадам: кабельдер

Кабельдер
Кабельдер

Кірпішті бекітіп, кабельдерді келесідей жалғаңыз:

  • В порт: сол жақ үлкен қозғалтқыш.
  • С порт: оң жақ үлкен қозғалтқыш.
  • 2 порт: ультрадыбыстық сенсор.
  • 3 порт: түс сенсоры.
  • 4 -порт: инфрақызыл сенсор.

5 -қадам: Робот құрастырудың соңғы кезеңі: безендіру

Робот құрастырудың соңғы кезеңі: безендіру
Робот құрастырудың соңғы кезеңі: безендіру
Робот құрастырудың соңғы кезеңі: безендіру
Робот құрастырудың соңғы кезеңі: безендіру
Робот құрастырудың соңғы кезеңі: безендіру
Робот құрастырудың соңғы кезеңі: безендіру

Қанаттары мен қанаттары тек әшекейлеуге арналған.

6 -қадам: Бағдарламаға арналған псевдокод

  1. 3 секунд күтіңіз және «Барыңыз» деп айтыңыз.
  2. Роботты алға қарай жылжытыңыз.
  3. Егер солға бұрылу мүмкін болса (яғни инфрақызыл сенсор жақын жердегі затты сезбесе), «Солға» деп айтыңыз және солға қарай жүріңіз.
  4. Солға бұрылуды болдырмау үшін шамамен 15 дюйм (15 см) алға жылжытыңыз. Себебі, робот бұрылғаннан кейін сенсор жаңа шыққан кеңістікті көреді, ал робот солға бұрылуы керек деп ойлайды, бұл дұрыс емес. 2 -қадамға оралыңыз.
  5. Егер солға бұрылу мүмкін болмаса, түс сенсоры роботтың алдында не көретінін тексеріңіз.
  6. Егер түс болмаса (яғни объект жоқ болса), 2 -қадамға оралыңыз.
  7. Егер түс қызыл болса, бұл шығу. Роботты тоқтатыңыз, фанфик ойнаңыз және бағдарламаны тоқтатыңыз.
  8. Егер түсі қоңыр болса (яғни, қоңыр картон алда), онда роботты тоқтатыңыз.

    1. Егер оңға бұрылу мүмкін болса (яғни ультрадыбыстық сенсор жақын жердегі затты сезбесе), «Оңға» деп айтыңыз және оңға қарай жүріңіз. 2 -қадамға оралыңыз.
    2. Егер оңға бұрылу мүмкін болмаса, «ух» деп айтыңыз, шамамен 5 дюйм (12,5 см) артқа бұрыңыз және бұрылыңыз. 2 -қадамға оралыңыз.

7 -қадам: Бағдарлама

Бағдарлама
Бағдарлама

LEGO Mindstorms EV3-те белгішеге негізделген өте ыңғайлы бағдарламалау әдісі бар. Блоктар дисплей экранының төменгі жағында компьютерде көрсетілген және оны құру үшін бағдарламалау терезесіне апарып тастауға болады. Скриншот осы жобаның бағдарламасын көрсетеді. Блоктар келесі қадамда сипатталады.

Мен сізге бағдарламаны жүктеуді қалай орнату керектігін білмедім, сондықтан келесі қадамда блоктар сипатталған. Әр блокта параметрлер мен параметрлер бар. Бұл өте қарапайым және әмбебап. Бағдарламаны әзірлеуге және/немесе оны сіздің қажеттіліктеріңізге сәйкес өзгертуге көп уақыт кетпеуі керек. Әдеттегідей, бағдарламаны әзірлеу кезінде оны мезгіл -мезгіл сақтау жақсы.

EV3 кірпішін компьютерге USB кабелі, Wi-Fi немесе Bluetooth арқылы қосуға болады. Ол қосылған және қосылған кезде, бұл компьютердегі EV3 терезесінің төменгі оң жақ бұрышындағы шағын терезеде көрсетіледі. Оң жақтағы «EV3» қызыл түске боялады. Бұл дисплей Port View режиміне орнатылғанда, ол нақты уақытта әр сенсор анықтайтын нәрсені көрсетеді. Бұл эксперимент үшін пайдалы.

Бұл бағдарламаны құрған кезде мен солдан оңға және жоғарыдан төменге қарай жұмыс жасауды және ішіндегі басқа блоктарды сүйремей тұрып, цикл мен ауысу блоктарын үлкейтуді ұсынар едім. Мен үлкейту алдында қосымша блоктарды кірістіруге тырысатын қиын мәселелерге тап болдым.

8 -қадам: Бағдарламалық блоктар

  1. Бағдарлама сол жақтан басталып, Бастау блогы бағдарлама жасалып жатқан кезде автоматты түрде болады.
  2. Келесі - бағдарламаны бастағаннан кейін роботты лабиринтке кіруге 3 секунд уақыт беретін күту блогы.
  3. Дыбыстық блок роботты «Бар» деп айтуға мәжбүр етеді.
  4. Цикл блогы бағдарламаның көп бөлігін қамтиды. Дисплей 4 немесе 5 есе кішірейтілуі керек және блоктарды енгізуді бастамас бұрын, бұл цикл блогы бағдарламалау кенептің оң жақ шетіне дейін үлкейтілуі керек. Кейінірек оны кішірейтуге болады.
  5. Цикл ішіндегі бірінші блок - бұл рульдік басқару блогын жылжыту нөлге, ал қуатты 20 -ға орнатқан кезде. Жылдамырақ жылдамдық роботты келесі қадамдарда сөйлей отырып, алға қарай жылжытқанда тым алыстауға мәжбүр етеді.
  6. Инфрақызыл сенсорға жақындық режиміндегі қосқыш блогы 30 мәнінен алыс объектінің бар -жоғын тексереді. Бұл қоңыр картон үшін шамамен 23 дюймге тең. Егер мән 30 -дан үлкен болса, онда 7, 8 және 9 -блоктар орындалады, әйтпесе бағдарлама төмендегі 10 -блокқа өтеді.
  7. Дыбыстық блок роботты «солға» деп айтуға мәжбүр етеді.
  8. Рульдік басқару -45, Қуат 20, Ротациялар 1,26, Аяқтау кезінде тежеу шын мәніне орнатылған қозғалыс рульдік блогы. Бұл роботты солға бұруға мәжбүр етеді.
  9. Рульдік басқару блогы нөлге, қуат 20 -ге, бұрылыстар 1,2 -ге, аяқталу кезінде тежеу шын мәніне орнатылған қозғалыс рульдік блогы. Бұл роботты солға бұрылуды болдырмау үшін шамамен 15 дюйм (15 дюйм) алға жылжытады.
  10. Түс сенсорының түс өлшеу режиміндегі қосқыш блогы роботтың алдында қандай түс тұрғанын тексереді. Егер түс болмаса (яғни объект жоқ болса), онда бағдарлама цикл соңына өтеді. Егер түс қызыл болса, онда 11, 12 және 13 блоктар орындалады. Егер түс қоңыр болса, бағдарлама төмендегі 14 блокқа өтеді.
  11. Қозғалтқышты тоқтату үшін рульдік блокты өшіру режимінде жылжытыңыз.
  12. Дыбыстық блок фанфайды ойнайды.
  13. Циклды үзу блогы циклден шығады.
  14. Қозғалтқышты тоқтату үшін рульдік блокты өшіру режимінде жылжытыңыз.
  15. Ультрадыбыстық сенсордың қашықтықты дюйммен салыстыру режиміндегі қосқыш блогы 20 дюймден (8 дюйм) алыс объектілердің бар -жоғын тексереді. Егер ол 8 дюймден жоғары болса, онда Blocks16 және 17 орындалады, әйтпесе бағдарлама төмендегі 18 блокқа өтеді.
  16. Дыбыстық блок роботты «Дұрыс» деп айтуға мәжбүр етеді.
  17. Қозғалыстың рульдік блогы -55, қуаты -20, бұрылыстар 1.1 -ге және тежегіші ақиқатқа орнатылған. Бұл роботты оңға бұруға мәжбүр етеді.
  18. Дыбыстық блок роботты «Уф-о» деп айтуға мәжбүр етеді.
  19. Қуатты солға қарай жылжыту цистернасы блогы -20, Қуат құқығы -20, бұрылыстар 1, аяғында тежеу шын мәніне орнатылған. Бұл роботты айналдыру үшін бос орын болу үшін шамамен 12 дюйм (12,5 см) артқа жасайды.
  20. Қозғалыс цистернасының блогы -солға -20, оңға -20, бұрылыстарға -1,14, тежеудің соңы -«ақиқат» мәніне орнатылған. Бұл роботты айналдыруға мәжбүр етеді.
  21. Циклдің шығысында бағдарламаны тоқтату блогы орналасқан.

9 -қадам: МАЗАУ жасаңыз

МАЗБҰРАҢЫЗ
МАЗБҰРАҢЫЗ
МАЗБҰРАҢЫЗ
МАЗБҰРАҢЫЗ
МАЗАУ ҚҰРУ
МАЗАУ ҚҰРУ

Лабиринт үшін екі гофр картон қорап жеткілікті болуы керек. Мен лабиринт қабырғаларын 5 дюйм (12,5 см) биіктікте жасадым, бірақ егер сізде гофр картон жетіспесе, 4 дюйм (10 см) жақсы жұмыс істеуі керек.

Алдымен мен қораптардың қабырғаларын төменнен 10 дюйм (25 см) қиып алдым. Содан кейін мен қабырғаларды төменнен 5 дюймге айналдырдым. Бұл бірнеше 5 дюймдік қабырғаларды қамтамасыз етеді. Сонымен қатар, мен тұрақтылық үшін қабырғаға 1 дюйм (2,5 см) бекітіп, қораптардың түбін кесіп тастадым.

Лабиринтті қалыптастыру үшін әр түрлі бөліктерді кесуге, желімдеуге немесе таспамен жабуға болады. Тұйық болатын кез келген жолда қабырғалар арасында 12 дюйм (30 см) бос орын болуы керек. Бұл қашықтық роботтың айналуы үшін қажет.

Лабиринттің кейбір бұрыштарын күшейту қажет болуы мүмкін, сонымен қатар, егер оларда картоннан жасалған бұрышы болса, кейбір түзу қабырғаларды майыстырмау керек. Жіңішке картонның кішкене бөліктерін суретте көрсетілгендей түбіне жабыстыру керек.

Шығуда қызыл тосқауыл бар, ол жарты қызыл сәлемдесу конвертінен және суретте көрсетілгендей 2 дана жұқа картоннан жасалған негізден тұрады.

Бір ескерту - лабиринт үлкен болмауы керек. Егер роботтың бұрылысы дұрыс бұрылысқа қарағанда сәл бұрылыста болса, сәйкессіздіктер бірнеше айналымнан кейін қосылады. Мысалы, егер солға бұрылу 3 градусқа өшірулі болса, онда 5 солға бұрылғаннан кейін робот 15 градусқа өшеді. Үлкен лабиринт кішігірімге қарағанда көп бұрылысқа және ұзақ жолға ие болады, ал робот қабырғаға жүгіре алады. Мен жасаған кішкене лабиринт арқылы жетістікке жету үшін маған бұрылыстардың айналу параметрлерімен бірнеше рет айналысу керек болды.

БОЛАШАҚТЫ КӨШІРТУ

Роботтың лабиринтте жүріп бара жатқанда оның тікелей жолын анықтап, содан кейін осы тура жолды (тұйық жерлерден аулақ) жүргізе алатындай етіп жасаудың нақты жалғасы.

Бұл қазіргі жобаға қарағанда әлдеқайда күрделі. Робот өзінің жүріп өткен жолын есте сақтап, тұйық жерлерді алып тастап, жаңа жолды сақтап, содан кейін жаңа жолмен жүруі керек. Мен жақын арада бұл жобамен жұмыс жасауды жоспарлап отырмын. Мен LEGO Mindstorms EV3 көмегімен Array Operations Blocks және математикаға қатысты кейбір блоктарды қолдана отырып, жетуге болады деп ойлаймын.

Қорытынды қорытынды

Бұл көңілді жоба болды. Сізге де қызықты болады деп үміттенемін.

Ұсынылған: