Съдържание:

LEGO Роботът кара през лабиринт: 9 стъпки
LEGO Роботът кара през лабиринт: 9 стъпки

Видео: LEGO Роботът кара през лабиринт: 9 стъпки

Видео: LEGO Роботът кара през лабиринт: 9 стъпки
Видео: Самый Большой В Мире ЛЕГО Лабиринт Для Кота Челлендж! 2024, Юли
Anonim
Image
Image
Базата на робота
Базата на робота

Това е прост, автономен робот, проектиран да кара през лабиринт до изход. Изграден е с помощта на LEGO Mindstorms EV3. Софтуерът EV3 работи на компютър и генерира програма, която след това се изтегля в микроконтролер, наречен EV3 Brick. Методът на програмиране е базиран на икони и на високо ниво. Много е лесно и универсално.

ЧАСТИ

  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: Кабели

Кабели
Кабели

Прикрепете тухлата и свържете кабелите, както следва:

  • Порт B: ляв голям мотор.
  • Порт C: голям десен мотор.
  • Порт 2: ултразвуков сензор.
  • Порт 3: цветен сензор.
  • Порт 4: инфрачервен сензор.

Стъпка 5: Последна стъпка в изграждането на робота: Декорация

Последна стъпка в изграждането на робота: Декорация
Последна стъпка в изграждането на робота: Декорация
Последна стъпка в изграждането на робота: Декорация
Последна стъпка в изграждането на робота: Декорация
Последна стъпка в изграждането на робота: Декорация
Последна стъпка в изграждането на робота: Декорация

Крилата и перките са само за декорация.

Стъпка 6: Псевдокод за програмата

  1. Изчакайте 3 секунди и кажете „Върви“.
  2. Стартирайте робота да се движи право напред.
  3. Ако е възможно да завиете наляво (т.е. ако инфрачервеният сензор не усеща обект наблизо), кажете „Наляво“и отидете наляво.
  4. Вървете напред с около 6 инча (15 см), за да избегнете фалшив завой наляво. Причината е, че след като роботът се обърне, сензорът ще види дългото пространство, от което току -що е дошъл, и роботът ще си помисли, че трябва да завие наляво, което не е правилното нещо. Върнете се към стъпка 2.
  5. Ако не е възможно да завиете наляво, проверете какво вижда цветният сензор пред робота.
  6. Ако няма цвят (т.е. няма обект), върнете се към стъпка 2.
  7. Ако цветът е червен, това е изходът. Спрете робота, пуснете фанфари и спрете програмата.
  8. Ако цветът е кафяв (т.е. кафяв картон напред), спрете робота.

    1. Ако е възможно да завиете надясно (т.е. ако ултразвуковият сензор не усети обект наблизо), кажете „Надясно“и отидете надясно. Върнете се към стъпка 2.
    2. Ако не е възможно да завиете надясно, кажете „Ъ-ъ“, върнете гръб на около 5 инча (12,5 см) и се обърнете. Върнете се към стъпка 2.

Стъпка 7: Програма

Програма
Програма

LEGO Mindstorms EV3 има много удобен метод за програмиране, базиран на икони. Блоковете се показват в долната част на екрана на компютъра и могат да бъдат плъзгани и пуснати в прозореца за програмиране, за да се изгради програма. Снимката показва програмата за този проект. Блоковете са описани в следващата стъпка.

Не можах да разбера как да настроя изтеглянето на програмата за вас, така че блоковете са описани в следващата стъпка. Всеки блок има опции и параметри. Много е лесно и универсално. Не трябва да ви отнема много време, за да разработите програмата и/или да я промените според вашите нужди. Както винаги, добра идея е да запазвате програмата периодично, когато я разработвате.

EV3 Brick може да бъде свързан към компютъра чрез USB кабел, Wi-Fi или Bluetooth. Когато е свързан и включен, това се показва в малък прозорец в долния десен ъгъл на прозореца EV3 на компютъра. „EV3“в най-дясната страна става червен. Когато този дисплей е настроен на Port View, той показва в реално време какво открива всеки сензор. Това е полезно за експериментиране.

При изграждането на тази програма бих предложил да работите отляво надясно и отгоре надолу и да увеличите цикличните и превключващите блокове, преди да плъзнете други блокове вътре. Сблъсках се с разхвърляни проблеми, опитвайки се да вмъкна допълнителни блокове вътре, преди да увелича.

Стъпка 8: Блокове на програмата

  1. Започвайки от лявата страна на програмата, Стартовият блок присъства автоматично, когато се разработва програма.
  2. Следва блок за изчакване, който ни дава 3 секунди, за да поставим робота на входа на лабиринта, след като стартираме програмата.
  3. Звуков блок кара робота да каже „Върви“.
  4. Loop Block съдържа по -голямата част от програмата. Дисплеят трябва да бъде намален 4 или 5 пъти и този цикъл трябва да бъде увеличен почти до десния ръб на програмиращото платно, преди да започнете да вмъквате блокове. След това може да се намали.
  5. Първият блок вътре в контура е преместващ кормилен блок с кормилно управление, зададено на нула и мощност, зададено на 20. Това стартира двигателите, работещи право напред с ниска скорост. По -бързата скорост би накарала робота да се премести твърде далеч, когато продължи напред, докато говори в следващите стъпки.
  6. Блок за превключване в режим на близост на инфрачервения сензор проверява дали има някакъв обект по -далеч от стойност 30. Това е еквивалентно на приблизително 9 инча (23 см) за кафяв картон. Ако стойността е по -голяма от 30, тогава се изпълняват блокове 7, 8 и 9, в противен случай програмата преминава към блок 10 по -долу.
  7. Звуков блок кара робота да каже „наляво“.
  8. Блок за преместване на кормилното управление с настройка на кормилното управление на -45, мощност на 20, завъртания на 1,26 и спирачка в края на True. Това кара робота да завие наляво.
  9. Преместване на кормилния блок с кормилно управление, зададено на нула, мощност, зададено на 20, завъртания, настроено на 1,2, и спирачка в края, зададена на True. Това кара робота да върви напред с около 6 инча (15 см), за да се избегне фалшив завой наляво.
  10. Блок за превключване в цветовия сензор измерва цветовия режим проверява какъв цвят е пред робота. Ако няма цвят (т.е. няма обект), програмата отива в края на цикъла. Ако цветът е червен, тогава се изпълняват блокове 11, 12 и 13. Ако цветът е кафяв, програмата преминава към блок 14 по -долу.
  11. Преместете кормилния блок в изключен режим, за да спрете двигателите.
  12. Звуков блок свири на фанфари.
  13. Блок за прекъсване на цикъл излиза от цикъла.
  14. Преместете кормилния блок в изключен режим, за да спрете двигателите.
  15. Блок за превключване в режима за ултразвуков сензор за сравняване на разстояние в инчове проверява дали има някакъв обект по -далеч от 8 инча (20 см). Ако е повече от 8 инча, тогава се изпълняват блокове 16 и 17, в противен случай програмата преминава към блок 18 по -долу.
  16. Звуков блок кара робота да каже „Правилно“.
  17. Блок за преместване на кормилното управление с настройка на кормилното управление на -55, мощност на -20, завъртания на 1,1 и спирачка в края на True. Това кара робота да завие надясно.
  18. Звуков блок кара робота да каже „У-ох“.
  19. Блок за преместване на резервоара с мощност вляво на -20, мощност вдясно на -20, завъртания на 1 и спирачка в края на True. Това кара робота да се върне на около 5 инча (12,5 см), за да освободи място за обръщане.
  20. Блок за преместване на резервоар с мощност отляво на -20, мощност надясно на 20, завъртания на 1,14 и спирачка в края на True. Това кара робота да се обърне.
  21. На изхода от цикъла е Стоп програмен блок.

Стъпка 9: Изградете лабиринт

Изградете лабиринт
Изградете лабиринт
Изградете лабиринт
Изградете лабиринт
Изградете лабиринт
Изградете лабиринт

Две картонени опаковки от велпапе трябва да са достатъчни за лабиринта. Направих стените на лабиринта с височина 5 инча (12,5 см), но 4 инча (10 см) трябва да работят също толкова добре, ако ви липсва велпапе.

Първо изрязах стените на кашоните, на 10 инча (25 см) от дъното. След това изрязах стените на 5 инча от дъното. Това осигурява няколко 5-инчови стени. Също така изрязах дъното на картонените кутии, оставяйки около 1 инч (2,5 см), прикрепен към стените за стабилност.

Различните парчета могат да бъдат изрязани и залепени или залепени, където е необходимо, за да образуват лабиринта. Между стените трябва да има разстояние от 12 инча (30 см) по всяка пътека с задънена улица. Това разстояние е необходимо, за да може роботът да се обърне.

Някои от ъглите на лабиринта може да се наложи да бъдат подсилени. Освен това някои прави стени трябва да се пазят от огъване, ако включват изправен ъгъл от кашон. Малки парчета тънък картон трябва да бъдат залепени на дъното на тези места, както е показано.

Изходът има червена бариера, състояща се от половин червен плик с поздравителна картичка и основа, направена от 2 парчета тънък картон, както е показано.

Едно предупреждение е, че лабиринтът не трябва да бъде голям. Ако завоите на робота са под лек ъгъл от правилния, несъответствията се увеличават след няколко завоя. Например, ако завой наляво е изключен на 3 градуса, след 5 завъртания наляво роботът се изключва на 15 градуса. Голям лабиринт би имал повече завои и по -дълъг път от малък и роботът може да се блъсне в стените. Трябваше няколко пъти да се занимавам с настройките на ротациите на завоите, за да постигна успешно шофиране дори през малкия лабиринт, който направих.

БЪДЕЩИ ПОЛОЖЕНИЯ

Очевиден последващ проект е да накара робота да може да определи директен път през лабиринта, докато се движи по него, и след това да управлява този директен път (избягвайки задънените улици) веднага след това.

Това е много по -сложно от настоящия проект. Роботът трябва да запомни пътя, който е изминал, да премахне задънените улици, да съхрани новия път и след това да следва новия път. Планирам да работя по този проект в близко бъдеще. Очаквам, че е възможно да се постигне с LEGO Mindstorms EV3 с помощта на блокове за операции с масиви и някои блокове, свързани с математиката.

ЗАКЛЮЧИТЕЛНА ЗАБЕЛЕЖКА

Това беше забавен проект. Надявам се и на вас да ви е интересно.

Препоръчано: