Სარჩევი:

BricKuber Project - Raspberry Pi Rubiks Cube რობოტი: 5 ნაბიჯი (სურათებით)
BricKuber Project - Raspberry Pi Rubiks Cube რობოტი: 5 ნაბიჯი (სურათებით)

ვიდეო: BricKuber Project - Raspberry Pi Rubiks Cube რობოტი: 5 ნაბიჯი (სურათებით)

ვიდეო: BricKuber Project - Raspberry Pi Rubiks Cube რობოტი: 5 ნაბიჯი (სურათებით)
ვიდეო: Rubik’s Cube solving robot—using python, raspberry pi, and VEX parts. 2024, ივნისი
Anonim
Image
Image

BricKuber– ს შეუძლია რუბიკის კუბის ამოხსნა დაახლოებით 2 წუთზე ნაკლებ დროში.

BricKuber არის ღია კოდის რუბიკის კუბის ამხსნელი რობოტი, რომლის შექმნაც შენ შეგიძლია

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

ფონი რუბიკის კუბმა ცოტა ხნის წინ დაიწყო დაბრუნება. 1974 წელს გამოგონილი, ეს არის მსოფლიოში ყველაზე გაყიდვადი სათამაშო. მაგრამ მათი გადაჭრა მოითხოვს ფიქრს, ძალისხმევას და უნარს. რა რა რატომ არ აძლევენ ამის საშუალებას რობოტს? ამ პროექტში ჩვენ ვიღებთ Raspberry Pi- ს, BrickPi- ს და LEGO Mindstorms– ის ნაკრებებს და ვაშენებთ რუბიკის კუბის ამომხსნელ რობოტს. უბრალოდ მოათავსეთ გადაუჭრელი რუბიკის კუბიკი ამონახსნში, გაუშვით პითონის პროგრამა და თქვენი რუბიკის კუბი ამოხსნილია! პროექტი იყენებს Pi– ს პირდაპირ რუბიკის კუბის ამოსახსნელად. BrickPi3 იღებს გადაუჭრელი რუბიკის კუბს და Raspberry Pi იღებს სურათს რუბიკის კუბის თითოეულ მხარეს Raspberry Pi კამერით. Pi ქმნის ფერის კვადრატების ტექსტურ რუქას, რომელიც აჩვენებს თუ სად მდებარეობს ისინი კუბურზე. როდესაც ის სრულად ასახავს კუბს, Pi იყენებს "კოსიმბას" პითონის ბიბლიოთეკას რუბიკის კუბის ამოხსნისათვის საჭირო ნაბიჯების დასახატად. ეს ინფორმაცია მიღებულია Pi და BrickPi3– ის მიერ რუბიკის კუბის ამოსახსნელად LEGO ძრავების გამოყენებით. შედეგი: ამოხსნილი რუბიკის კუბი.

ნაბიჯი 1: ინსტრუმენტები და მასალები

ააშენე იგი
ააშენე იგი
  • BrickPi3 - ჩვენ გამოვიყენებთ BrickPi– ს LEGO ძრავების გასაკონტროლებლად, რომლებიც ამცირებენ რუბიკის კუბის ამომხსნელს.
  • Raspberry Pi - Pi განახორციელებს დამუშავებას, სურათების გადაღებას და BrickPi- ს ბრძანებას.
  • ჟოლო პი კამერა - პი კამერა გადაიღებს გადაუჭრელი რუბიკის კუბის სურათს.
  • Ethernet კაბელი - თქვენ დაგჭირდებათ თქვენი მანქანა ინტერნეტთან დასაკავშირებლად. თუ გსურთ ამის გაკეთება wifi– ით, ეს ასევე კარგია!
  • Raspbian for Robots SD Card - პროგრამა, რომელიც მუშაობს Raspberry Pi– სთვის. ამას გააჩნია პროგრამის უმეტესობა, რომელიც საჭიროა ამ გაკვეთილისთვის. ასევე შეგიძლიათ ჩამოტვირთოთ პროგრამული უზრუნველყოფა უფასოდ.
  • LEGO Mindstorms EV3 ნაკრები (31313) - თქვენ დაგჭირდებათ LEGO– ს გროვა და ორი დიდი ძრავა, ერთი სერვო ძრავა და ულტრაბგერითი სენსორი.
  • რუბიკის კუბი - ჩვენ ვიპოვეთ ის, რომელიც აქ თავისუფლად ტრიალებს. თქვენ შეგიძლიათ გამოიყენოთ თითქმის ნებისმიერი 9x9x9 რუბიკის კუბი.

ნაბიჯი 2: ააშენეთ იგი

ააშენე იგი
ააშენე იგი
ააშენე იგი
ააშენე იგი

ხსნის აგება

ეს დიზაინი შთაგონებულია MindCub3r დიზაინით LEGO EV3– ისთვის. BricKuber– ის ასაშენებლად, დაიწყეთ MindCub3r– ის აგებით. LEGO– ს მშენებლობის სრული ინსტრუქცია შეგიძლიათ იხილოთ აქ.

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

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

შეაგროვეთ BrickPi3

თქვენ შეგიძლიათ იპოვოთ BrickPi3– ის შეკრების ინსტრუქცია აქ. ჩვენ დაგვჭირდება საქმის აწყობა, დამაგრება BrickPi3, Raspberry Pi, Raspberry Pi კამერა, SD ბარათის დამატება და ბატარეების დამატება. პროგრამული უზრუნველყოფის გასაადვილებლად, Raspbian for Robots გააჩნია პროგრამული უზრუნველყოფის უმეტესობას, რაც უკვე დაგჭირდებათ. თქვენ დაგჭირდებათ მინიმუმ 8 GB SD ბარათი და გსურთ დისკის გაფართოება SD ბარათის სრულ ზომაზე.

მიამაგრეთ BrickPi3

ჩვენ ვამატებთ BrickPi3- ს LEGO ასამბლეაზე. ჩვენ გამოვიყენეთ LEGO EV3 "ფრთები" BrickPi3– ის მხარდასაჭერად და BricKuber– ის კორპუსთან გასაზომად. ეს არის კარგი ნაბიჯი ენერგიის პაკეტში 8XAA ბატარეების დასამატებლად და BrickPi3 დენის პაკეტის LEGO ასამბლეაზე მიმაგრებისთვის. პროგრამირებისთვის შეგიძლიათ ჩართოთ BrickPi3 USB დენის საშუალებით Raspberry Pi, თუმცა ძრავების გადასატანად დაგჭირდებათ კვების ბლოკის ენერგიის მიწოდება.

შეაერთეთ მოტორსი BrickPi3– თან

მიამაგრეთ შუფლერის ძრავა საავტომობილო პორტ "MD" - ზე. მიამაგრეთ აკვნის ძრავა BrickPi3- ის "MA" პორტზე. მიამაგრეთ კამერის სენსორის ძრავა "MC" პორტში (ეს არის უფრო პატარა სერვო მსგავსი ძრავა). მიუხედავად იმისა, რომ ჩვენ არ გადავიყვანთ კამერას, შეიძლება დაგჭირდეთ კამერის ადგილმდებარეობის რეგულირება ძრავების გამოყენებით.

მიამაგრეთ Raspberry Pi კამერა

LEGO კამერის მხარდაჭერის გამოყენებით, მიამაგრეთ კამერა. კამერის პატარა შავი ობიექტივი უნდა მოთავსდეს ორ LEGO სხივის საყრდენს შორის. დააფიქსირეთ კამერა LEGO- ს საყრდენებზე ელექტრული ლენტით. ეს კარგი დროა იმისათვის, რომ დარწმუნდეთ, რომ კამერა არის იმ მდგომარეობაში, რომ შეძლოს მთელი რუბიკის კუბის გადაღება. თქვენ შეგიძლიათ გადაიღოთ სატესტო სურათი raspistill ბრძანებით

raspistill -o cam.jpg

შეამოწმეთ, რომ კუბი კარგად არის ორიენტირებული სურათის შუაში.

ნაბიჯი 3: მოამზადეთ პროგრამული უზრუნველყოფა

თქვენ შეგიძლიათ გამოიყენოთ Raspbian ან Raspbian ნებისმიერი ვერსია რობოტებისთვის, ჩვენი პერსონალური სურათი, რომელსაც მოყვება BrickPi3 უკვე დაინსტალირებული. თუ თქვენ იყენებთ Raspbian– ის სტანდარტულ ვერსიას, შეგიძლიათ დააინსტალიროთ BrickPi3 ბიბლიოთეკები ბრძანების გამოყენებით

sudo curl -kL dexterindustries.com/update_brickpi3 | ბაშო

ეს ნაბიჯი დააინსტალირებს ყველა ბიბლიოთეკას, რომელიც საჭიროა BrickPi3– ის გასაშვებად თქვენს Raspbian გამოსახულებაზე. გამოტოვეთ ეს ნაბიჯი, თუ თქვენ იყენებთ Raspbian– ს რობოტებისთვის: BrickPi3 უკვე დაინსტალირებულია.

დაბოლოს, დააინსტალირეთ პროექტის ყველა დამოკიდებულება ბრძანების გამოყენებით:

sudo curl https://raw.githubusercontent.com/DexterInd/Brick… | ბაშო

ამ ნაბიჯისათვის თქვენი BrickPi3 უნდა იყოს დაკავშირებული ინტერნეტთან. არსებობს მთელი რიგი ბიბლიოთეკები, რომლებზედაც დამოკიდებულია პროექტი, მათ შორის დენიელ უოლტონის (@dwalton76) გადამწყვეტი ბიბლიოთეკები Github– ზე, რომლებიც გამოიყენება რუბიკის კუბის ამოსახსნელად.

ნაბიჯი 4: გადაწყვიტეთ რუბიკის კუბი

ამოხსენით რუბიკის კუბი
ამოხსენით რუბიკის კუბი
ამოხსენით რუბიკის კუბი
ამოხსენით რუბიკის კუბი
ამოხსენით რუბიკის კუბი
ამოხსენით რუბიკის კუბი

მოათავსეთ გადაუჭრელი რუბიკის კუბიკი აკვანში. გაუშვით ბრძანება

sudo python ~/Dexter/BrickPi3/Projects/BricKuber/BricKuber.py

რობოტი კუბს გადააქცევს თითოეულ სახეს და კამერა გადაიღებს 6 სურათს, კუბის თითოეულ მხარეს ერთს. Raspberry Pi განსაზღვრავს კუბის კონფიგურაციას ექვსი სურათისგან. კუბის კონფიგურაცია გადაეცემა კოჩიემბა პითონის ბიბლიოთეკას ეფექტური გამოსავლის საპოვნელად. დაბოლოს, რობოტი შეასრულებს ნაბიჯებს რუბიკის კუბის ამოსახსნელად!

ნაბიჯი 5: საწყისი კოდი

BricKuber– ის ყველა საწყისი კოდი შეგიძლიათ იხილოთ ჩვენს ღია კოდის github რეპოს აქ.

ეს პროექტი იყენებს ბრძანების მიერ დაინსტალირებულ შემდეგ პროგრამულ პაკეტებს

გირჩევთ: