Სარჩევი:

LEGO Robot მართავს ლაბირინთში: 9 ნაბიჯი
LEGO Robot მართავს ლაბირინთში: 9 ნაბიჯი

ვიდეო: LEGO Robot მართავს ლაბირინთში: 9 ნაბიჯი

ვიდეო: LEGO Robot მართავს ლაბირინთში: 9 ნაბიჯი
ვიდეო: SpaceX Starship Static Fire Coming after its Vital Test, and Secret Space Missions 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. წადით წინ დაახლოებით 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" მარჯვნივ ყველაზე მეტად წითლდება. როდესაც ეს ჩვენება არის პორტის ხედზე დაყენებული, ის რეალურ დროში აჩვენებს იმას, რასაც თითოეული სენსორი აღმოაჩენს. ეს სასარგებლოა ექსპერიმენტებისთვის.

ამ პროგრამის შექმნისას მე გირჩევთ იმუშაოთ მარცხნიდან მარჯვნივ და ზემოდან ქვემოდან და გაზარდოთ მარყუჟი და გადართოთ ბლოკები, სანამ სხვა ბლოკები შიგნით გადაიტანთ. მე შევეჯახე ბინძურ პრობლემებს, სანამ ვცდილობდი დამატებითი ბლოკების ჩასმა შიგნით გაფართოებამდე.

ნაბიჯი 8: პროგრამის ბლოკები

  1. პროგრამის მარცხენა მხრიდან დაწყებული, ბლოკის დაწყება ავტომატურად არსებობს პროგრამის შემუშავებისას.
  2. შემდეგი არის Wait Block, რომ მოგვცეს 3 წამი რობოტის დასაყენებლად ლაბირინთის შესასვლელში, პროგრამის დაწყების შემდეგ.
  3. ხმის ბლოკი რობოტს აიძულებს თქვას "წადი".
  4. მარყუჟის ბლოკი შეიცავს პროგრამის უმეტესობას. ეკრანი უნდა შემცირდეს 4 ან 5 -ჯერ და ეს მარყუჟის ბლოკი უნდა გაფართოვდეს პროგრამირების ტილოს თითქმის მარჯვენა კიდეზე, სანამ დაიწყებთ ბლოკების ჩასმას. ამის შემდეგ ის შეიძლება პატარა გახდეს.
  5. პირველი ბლოკი მარყუჟის შიგნით არის Move Steering Block, საჭე არის ნულის ტოლი და სიმძლავრე 20 -იანი. ეს იწყებს ძრავების მუშაობას პირდაპირ წინ დაბალი სიჩქარით. უფრო დიდი სიჩქარე აიძულებს რობოტს გადაადგილება ძალიან შორს, როდესაც ის განაგრძობს წინსვლას შემდგომ საფეხურებზე.
  6. ინფრაწითელი სენსორის სიახლოვის რეჟიმში გადამრთველი ბლოკი ამოწმებს, არის თუ არა ობიექტი 30 -ის მნიშვნელობაზე უფრო შორს. ეს არის ექვივალენტი დაახლოებით 9 ინჩის (23 სმ) ყავისფერი მუყაოსთვის. თუ მნიშვნელობა აღემატება 30 -ს, მაშინ შესრულებულია ბლოკები 7, 8 და 9, წინააღმდეგ შემთხვევაში პროგრამა გადადის ქვემოთ ბლოკ 10 -ზე.
  7. ხმის ბლოკი რობოტს აიძულებს თქვას "მარცხნივ".
  8. გადაადგილების საჭის ბლოკი საჭე -45 -ზე, სიმძლავრე 20 -ზე, ბრუნვები 1,26 -ზე და მუხრუჭის დასასრულს დაყენებული True. ეს რობოტს მარცხნივ უხვევს.
  9. საჭის ბლოკის გადატანა საჭეზე ნულოვანია, სიმძლავრე 20 -ზე, ბრუნვები 1,2 -ზე და Brake at End დაყენებულია True. ეს აიძულებს რობოტს 15 ინჩიანი წინ წავიდეს, რათა თავიდან აიცილოს ცრუ მარცხენა მოსახვევი.
  10. გადართვის ბლოკი ფერის სენსორში გაზომეთ ფერის რეჟიმი ამოწმებს რა ფერს უსწრებს რობოტს. თუ ფერი არ არის (ანუ ობიექტი), მაშინ პროგრამა მიდის მარყუჟის ბოლოს. თუ ფერი არის წითელი, მაშინ შესრულებულია ბლოკები 11, 12 და 13. თუ ფერი ყავისფერია, პროგრამა გადადის ქვემოთ ბლოკ 14 -ში.
  11. გადაადგილეთ საჭის ბლოკი გამორთულ რეჟიმში ძრავების შესაჩერებლად.
  12. ხმის ბლოკი ფანფარას უკრავს.
  13. მარყუჟის შეწყვეტის ბლოკი გამოდის მარყუჟიდან.
  14. გადაადგილეთ საჭის ბლოკი გამორთვის რეჟიმში ძრავების შესაჩერებლად.
  15. ულტრაბგერითი სენსორის გადამრთველი ბლოკი შეადარეთ მანძილი ინჩის რეჟიმში ამოწმებს არის თუ არა რაიმე ობიექტი 8 ინჩზე (20 სმ) უფრო შორს. თუ ის 8 ინჩზე მეტია, მაშინ Blocks16 და 17 შესრულებულია, წინააღმდეგ შემთხვევაში პროგრამა გადადის ქვემოთ ბლოკ 18 -ზე.
  16. ხმის ბლოკი რობოტს აიძულებს თქვას "სწორია".
  17. საჭის ბლოკის გადატანა საჭეზე -55 -ზე, სიმძლავრე -20 -ზე, ბრუნვები დაყენებული 1.1 -ზე და მუხრუჭის დასასრულს დაყენებული True. ეს ხდის რობოტს მარჯვნივ.
  18. ხმის ბლოკი რობოტს აიძულებს თქვას "უჰ-ო".
  19. გადაადგილების სატანკო ბლოკი სიმძლავრით მარცხნივ დაყენებულია -20 -ზე, სიმძლავრის მარჯვნივ -20 -ზე, ბრუნვები დაყენებულია 1 -ზე, ხოლო მუხრუჭის ბოლოს დაყენებულია True. ეს რობოტს უკან დგამს დაახლოებით 5 ინჩით (12.5 სმ), რათა შემობრუნდეს სივრცე.
  20. გადაადგილების სატანკო ბლოკი სიმძლავრით მარცხნივ დაყენებულია -20 -ზე, დენის მარჯვენა 20 -ზე, ბრუნვები დაყენებულია 1.14 -ზე და Brake at End არის დაყენებული True. ეს აიძულებს რობოტს შემობრუნდეს.
  21. მარყუჟის გასასვლელში არის პროგრამის გაჩერების ბლოკი.

ნაბიჯი 9: ააშენეთ MAZE

აშენება MAZE
აშენება MAZE
აშენება MAZE
აშენება MAZE
აშენება MAZE
აშენება MAZE

ლაბირინთისთვის საკმარისი უნდა იყოს ორი გოფრირებული მუყაოს მუყაო. მე გავაკეთე ლაბირინთის კედლები 5 ინჩის (12.5 სმ) სიმაღლეზე, მაგრამ 4 ინჩი (10 სმ) უნდა მუშაობდეს ისევე კარგად, თუ გოფრირებული მუყაო აკლია.

პირველ რიგში, მუყაოს კედლებს ვჭრი, ქვედადან 10 ინჩი (25 სმ). შემდეგ კედლების ირგვლივ დავჭრა ბოლოდან 5 სანტიმეტრით. ეს უზრუნველყოფს რამდენიმე 5 დიუმიან კედელს. ასევე, მუყაოს ქვედა ნაწილებს ვჭრი და კედლებზე სტაბილურობისთვის დავტოვე დაახლოებით 1 ინჩი (2.5 სმ).

სხვადასხვა ნაჭრების დაჭრა და წებოვანა შესაძლებელია იქ, სადაც საჭიროა ლაბირინთის შესაქმნელად. კედლებს შორის უნდა იყოს 12 ინჩიანი (30 სმ) მანძილი ნებისმიერ ბილიკზე, რომელსაც ჩიხი აქვს. ეს მანძილი საჭიროა რობოტის შემობრუნებისთვის.

ლაბირინთის ზოგიერთი კუთხე შეიძლება გაძლიერდეს, ასევე, ზოგიერთი სწორი კედელი უნდა იყოს დაცული მოსახვევისგან, თუ მათ აქვთ გასწორებული მუყაოს კუთხე. თხელი მუყაოს მცირე ნაჭრები იმ ადგილას უნდა იყოს წებოვანი, როგორც ეს ნაჩვენებია.

გასასვლელს აქვს წითელი ბარიერი, რომელიც შედგება წითელი მისალოცი ბარათის კონვერტისა და 2 ნაჭერი თხელი მუყაოსგან, როგორც ნაჩვენებია.

ერთი სიფრთხილე არის ის, რომ ლაბირინთი არ უნდა იყოს დიდი. თუ რობოტის შემობრუნება უმნიშვნელო კუთხეა შესაბამისიდან, შეუსაბამობა ემატება რამოდენიმე შემობრუნების შემდეგ. მაგალითად, თუ მარცხენა მოსახვევში არის 3 გრადუსი გამორთული, მაშინ 5 მარცხენა მოსახვევის შემდეგ რობოტი 15 გრადუსით გამორთულია. დიდ ლაბირინთს უფრო მეტი ბრუნვა და გრძელი გზა ექნებოდა, ვიდრე პატარა, და რობოტს შეეძლო კედლებში გადაეყარა. რამდენჯერმე მომიწია ჩხუბი როტაციის პარამეტრების შემობრუნებით, რათა წარმატებული დრაივი მეპოვნა თუნდაც ჩემს მიერ გაკეთებული პატარა ლაბირინთიდან.

მომავალი გაუმჯობესებები

აშკარა შემდგომი პროექტია რობოტს შეეძლოს ლაბირინთში განსაზღვროს პირდაპირი ბილიკი მასზე ნავიგაციისას, შემდეგ კი გაიაროს ეს პირდაპირი გზა (თავიდან აიცილოს ჩიხები).

ეს ბევრად უფრო რთულია, ვიდრე მიმდინარე პროექტი. რობოტს უნდა ახსოვდეს გავლილი გზა, ამოიღოს ჩიხები, შეინახოს ახალი ბილიკი და შემდეგ მიჰყვეს ახალ გზას. მე ვგეგმავ ამ პროექტზე მუშაობას უახლოეს მომავალში. მე ველი, რომ შესაძლებელია LEGO Mindstorms EV3– ით მიაღწიო მასივის ოპერაციების ბლოკებს და მათემატიკასთან დაკავშირებულ ზოგიერთ ბლოკს.

დასკვნითი შენიშვნა

ეს იყო სახალისო პროექტი. ვიმედოვნებ თქვენც დაგაინტერესებთ.

გირჩევთ: