Πίνακας περιεχομένων:
- Βήμα 1: Εργαλεία και υλικά
- Βήμα 2: Κατασκευάστε το
- Βήμα 3: Προετοιμάστε το Λογισμικό
- Βήμα 4: Λύστε έναν κύβο Rubik
- Βήμα 5: Ο πηγαίος κώδικας
Βίντεο: BricKuber Project - a Raspberry Pi Rubiks Cube Solving Robot: 5 βήματα (με εικόνες)
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:38
Το BricKuber μπορεί να λύσει τον κύβο του Rubik σε λιγότερο από 2 λεπτά.
Το BricKuber είναι ένα ανοιχτού κώδικα ρομπότ για τον κύβο του Rubik που μπορείτε να φτιάξετε μόνοι σας
Θέλαμε να φτιάξουμε ένα ρομπότ επίλυσης κύβων Rubiks με το Raspberry Pi. Αντί για ταχύτητα, προχωρήσαμε με απλότητα: αν έχετε Raspberry Pi, κιτ BrickPi και τυπικό LEGO Mindstorms EV3 ή NXT Kit, θα πρέπει να μπορείτε εύκολα να ακολουθήσετε τα βήματά μας. Το λογισμικό είναι γραμμένο στη γλώσσα προγραμματισμού Python. Μπορείτε να δείτε όλο τον πηγαίο κώδικα στο Github εδώ.
Ιστορικό Ο κύβος του Rubik άρχισε πρόσφατα να επιστρέφει. Εφευρέθηκε το 1974, είναι το παιχνίδι με τις περισσότερες πωλήσεις στον κόσμο. Αλλά η επίλυσή τους απαιτεί σκέψη, προσπάθεια και ικανότητα. Το Το οπότε γιατί να μην αφήσουμε ένα ρομπότ να το κάνει; Σε αυτό το έργο, παίρνουμε ένα Raspberry Pi, ένα BrickPi και ένα σύνολο LEGO Mindstorms και φτιάχνουμε ένα ρομπότ επίλυσης του κύβου του Rubik. Απλά τοποθετήστε έναν άλυτο κύβο Rubik στον λύτη, εκτελέστε το πρόγραμμα python και ο κύβος του Rubik σας λύνεται! Το έργο χρησιμοποιεί το Pi για να λύσει άμεσα τον κύβο του Rubik. Το BrickPi3 παίρνει τον άλυτο κύβο του Rubik και το Raspberry Pi τραβάει μια φωτογραφία κάθε πλευράς του κύβου του Rubik με την κάμερα Raspberry Pi. Το Pi δημιουργεί έναν χάρτη κειμένου των τετραγώνων χρώματος που δείχνει πού βρίσκονται στον κύβο. Όταν έχει χαρτογραφήσει πλήρως τον κύβο, το Pi χρησιμοποιεί τη βιβλιοθήκη python "kociemba" για να χαρτογραφήσει τις κινήσεις που απαιτούνται για την επίλυση του κύβου του Rubik. Αυτές οι πληροφορίες λαμβάνονται από το Pi και το BrickPi3 για να λύσουν τον κύβο του Rubik χρησιμοποιώντας τους κινητήρες LEGO. Το αποτέλεσμα: ένας λυμένος κύβος του Ρούμπικ.
Βήμα 1: Εργαλεία και υλικά
- BrickPi3 - Θα χρησιμοποιήσουμε το BrickPi για να ελέγξουμε τους κινητήρες LEGO που λύνουν τον επιλυτή κύβων του Rubik.
- Raspberry Pi - Το Pi θα κάνει την επεξεργασία, τη λήψη φωτογραφιών και την εντολή του BrickPi.
- Κάμερα Raspberry Pi - Η κάμερα Pi θα τραβήξει μια φωτογραφία του άλυτου κύβου Rubiks.
- Καλώδιο Ethernet - Θα χρειαστείτε το μηχάνημά σας για να είναι συνδεδεμένο στο διαδίκτυο. Αν θέλετε να το κάνετε αυτό μέσω wifi, είναι επίσης καλό!
- Κάρτα SD Raspbian for Robots - Το λογισμικό που τρέχει το Raspberry Pi. Αυτό συνοδεύεται από το μεγαλύτερο μέρος του λογισμικού που απαιτείται για αυτό το σεμινάριο. Μπορείτε επίσης να κατεβάσετε το λογισμικό δωρεάν.
- LEGO Mindstorms EV3 Kit (31313) - Θα χρειαστείτε ένα σωρό LEGO και δύο μεγάλους κινητήρες, έναν σερβοκινητήρα και έναν υπερηχητικό αισθητήρα.
- Ένας κύβος του Ρούμπικ - Βρήκαμε έναν που γυρίζει αρκετά ελεύθερα εδώ. Μπορείτε να χρησιμοποιήσετε σχεδόν οποιονδήποτε κύβο Rubik 9x9x9.
Βήμα 2: Κατασκευάστε το
Χτίζοντας τον Λύση
Αυτός ο σχεδιασμός εμπνεύστηκε από το σχέδιο MindCub3r για το LEGO EV3. Για να χτίσετε το BricKuber, ξεκινήστε χτίζοντας το MindCub3r. Πλήρεις οδηγίες κατασκευής LEGO μπορείτε να βρείτε εδώ.
Ο σχεδιασμός λύσης κύβων Rubiks έχει τρία σημαντικά κινούμενα μέρη. Το πρώτο είναι ένα λίκνο που κρατά τον κύβο του Ρούμπικ. Το δεύτερο είναι το ανακάτεμα, ένας βραχίονας που χρησιμοποιείται για να ανατρέψει τον κύβο του Ρούμπικ.
Τέλος, προσθέτουμε έναν βραχίονα κάμερας. Στην αρχική σχεδίαση της MindCubr, αυτό κρατούσε τον αισθητήρα χρώματος EV3 πάνω από τον κύβο του Rubik. Στο τροποποιημένο μας σχέδιο, κρατά μια κάμερα Raspberry Pi πάνω από τον κύβο του Rubik. Χρησιμοποιούμε δύο κινητήρες LEGO Mindstorms για να χειριστούμε τον κύβο: ο πρώτος κάθεται κάτω από τη βάση για να περιστρέψει τον κύβο και ο δεύτερος μετακινεί τον βραχίονα ανακατεύοντας για να περιστρέψει τον κύβο σε έναν αντίθετο άξονα.
Συναρμολογήστε το BrickPi3
Μπορείτε να βρείτε οδηγίες συναρμολόγησης για το BrickPi3 εδώ. Θα χρειαστεί να συναρμολογήσουμε τη θήκη, να συνδέσουμε το BrickPi3, το Raspberry Pi, την κάμερα Raspberry Pi, να προσθέσουμε μια κάρτα SD και να προσθέσουμε μπαταρίες. Για να διευκολυνθεί η εγκατάσταση του λογισμικού, το Raspbian for Robots συνοδεύεται από το μεγαλύτερο μέρος του λογισμικού που θα χρειαστείτε ήδη. Θα χρειαστείτε τουλάχιστον μια κάρτα SD 8 GB και θα θέλετε να επεκτείνετε το δίσκο ώστε να ταιριάζει στο πλήρες μέγεθος της κάρτας SD.
Συνδέστε το BrickPi3
Προσθέτουμε το BrickPi3 στη διάταξη LEGO. Χρησιμοποιήσαμε τα "φτερά" του LEGO EV3 για να υποστηρίξουμε το BrickPi3 και να το κάνουμε ισοδύναμο με το σώμα του BricKuber. Αυτό είναι ένα καλό βήμα για να προσθέσετε μπαταρίες 8XAA στο τροφοδοτικό και να συνδέσετε το πακέτο ισχύος BrickPi3 στη διάταξη LEGO. Για προγραμματισμό μπορείτε να τροφοδοτήσετε το BrickPi3 μέσω τροφοδοσίας USB στο Raspberry Pi, ωστόσο για να μετακινήσετε τους κινητήρες θα χρειαστεί να τροφοδοτήσετε το Power Pack.
Συνδέστε τους κινητήρες στο BrickPi3
Συνδέστε το μοτέρ Shuffler στη θύρα κινητήρα "MD". Συνδέστε τον κινητήρα βάσης στη θύρα "MA" στο BrickPi3. Συνδέστε το μοτέρ αισθητήρα κάμερας στη θύρα "MC" (αυτός είναι ο μικρότερος σερβο μοτέρ). Παρόλο που δεν θα μετακινήσουμε την κάμερα, μπορεί να θέλετε να προσαρμόσετε τη θέση της κάμερας χρησιμοποιώντας τους κινητήρες.
Συνδέστε την κάμερα Raspberry Pi
Χρησιμοποιώντας την υποστήριξη κάμερας LEGO, επισυνάψτε την κάμερα. Ο μικρός μαύρος φακός της κάμερας πρέπει να ταιριάζει μεταξύ των δύο στηριγμάτων δέσμης LEGO. Ασφαλίστε τη φωτογραφική μηχανή στη θέση της στα στηρίγματα LEGO με κάποια ηλεκτρική ταινία. Αυτή είναι μια καλή στιγμή για να βεβαιωθείτε ότι η κάμερα είναι σε θέση να μπορεί να καταγράψει ολόκληρο τον κύβο του Ρούμπικ. Μπορείτε να τραβήξετε μια δοκιμαστική φωτογραφία με την εντολή raspistill
raspistill -o cam.jpg
Βεβαιωθείτε ότι ο κύβος είναι καλά κεντραρισμένος στη μέση της εικόνας.
Βήμα 3: Προετοιμάστε το Λογισμικό
Μπορείτε να χρησιμοποιήσετε οποιαδήποτε έκδοση του Raspbian ή του Raspbian για Robots, η προσαρμοσμένη εικόνα μας που συνοδεύει το BrickPi3 που είναι ήδη εγκατεστημένο. Εάν χρησιμοποιείτε μια τυπική έκδοση του Raspbian, μπορείτε να εγκαταστήσετε τις βιβλιοθήκες BrickPi3 χρησιμοποιώντας την εντολή
sudo curl -kL dexterindustries.com/update_brickpi3 | κτυπώ δυνατά
Αυτό το βήμα θα εγκαταστήσει όλες τις βιβλιοθήκες που απαιτούνται για την εκτέλεση του BrickPi3 στην Raspbian Image σας. Παραλείψτε αυτό το βήμα εάν χρησιμοποιείτε Raspbian για Robots: το BrickPi3 είναι ήδη εγκατεστημένο.
Τέλος, εγκαταστήστε όλες τις εξαρτήσεις έργου χρησιμοποιώντας την εντολή:
sudo curl https://raw.githubusercontent.com/DexterInd/Brick… | κτυπώ δυνατά
Για αυτό το βήμα, το BrickPi3 θα πρέπει να είναι συνδεδεμένο στο διαδίκτυο. Υπάρχουν αρκετές βιβλιοθήκες από τις οποίες εξαρτάται το έργο, συμπεριλαμβανομένων ορισμένων κρίσιμων από τον Daniel Walton (@dwalton76) στο Github, που χρησιμοποιούνται για την επίλυση του κύβου του Rubik.
Βήμα 4: Λύστε έναν κύβο Rubik
Τοποθετήστε έναν άλυτο κύβο Rubik στο λίκνο. Εκτελέστε την εντολή
sudo python ~/Dexter/BrickPi3/Projects/BricKuber/BricKuber.py
Το ρομπότ θα γυρίσει τον κύβο σε κάθε πρόσωπο και η κάμερα θα τραβήξει 6 φωτογραφίες, μία από κάθε πλευρά του Κύβου. Το Raspberry Pi θα καθορίσει τη διαμόρφωση του κύβου από τις έξι εικόνες. Η διαμόρφωση Cube θα περάσει στη βιβλιοθήκη kociemba Python για να βρει μια αποτελεσματική λύση. Τέλος, το ρομπότ θα εκτελέσει τις κινήσεις για να λύσει τον κύβο του Ρούμπικ!
Βήμα 5: Ο πηγαίος κώδικας
Όλο τον πηγαίο κώδικα για το BricKuber μπορείτε να το βρείτε στο ανοιχτό μας gipub repo εδώ.
Αυτό το έργο χρησιμοποιεί τα ακόλουθα πακέτα λογισμικού που έχουν εγκατασταθεί από την εντολή
Συνιστάται:
Arduino - Maze Solving Robot (MicroMouse) Wall Robot Robot: 6 βήματα (με εικόνες)
Arduino | Maze Solving Robot (MicroMouse) Wall After Robot: Welcome I'm Isaac και αυτό είναι το πρώτο μου ρομπότ " Striker v1.0 ". Αυτό το ρομπότ σχεδιάστηκε για να λύσει ένα απλό λαβύρινθο. Στον διαγωνισμό είχαμε δύο λαβύρινθους και το ρομπότ μπόρεσε να τα αναγνωρίσει. Οποιεσδήποτε άλλες αλλαγές στον λαβύρινθο ενδέχεται να απαιτούν αλλαγή στο
Λειτουργική μονάδα USB Flash Rubiks Cube: 7 βήματα (με εικόνες)
Λειτουργική μονάδα USB Flash Rubiks Cube: Σε αυτό το σεμινάριο θα σας δείξω πώς να φτιάξετε το δικό σας Rubik USB Flash Drive Μπορείτε να δείτε το τελικό προϊόν στο παρακάτω βίντεο:
Arduino Mega Stepper Shield for Rubiks Cube Solver: 4 Βήματα
Arduino Mega Stepper Shield for Rubiks Cube Solver: Πριν από λίγο καιρό δούλευα σε ένα μηχάνημα που λύνει αυτόματα τυχόν ανακατεμένους 3x3 κύβους Rubiks. Μπορείτε να δείτε τις οδηγίες μου σχετικά με αυτό εδώ. Στο έργο, οι οδηγοί stepper από το polulu χρησιμοποιήθηκαν για την οδήγηση έξι κινητήρων. Για να τα συνδέσετε δύο
Magic Cube ή Micro-controller Cube: 7 βήματα (με εικόνες)
Magic Cube ή Micro-controller Cube: Σε αυτό το Instructables, θα σας δείξω πώς να φτιάξετε ένα Magic cube από ελαττωματικό Micro-controller. Αυτή η ιδέα προήλθε όταν πήρα το ελαττωματικό μικροελεγκτή ATmega2560 από το Arduino Mega 2560 και φτιάξω έναν κύβο .Σχετικά με το υλικό Magic Cube, έχω κάνει ως
Maze Solving Robot (Boe-bot): 5 βήματα
Maze Solving Robot (Boe-bot): Αυτό το how-to θα σας δείξει πώς να σχεδιάσετε και να φτιάξετε το δικό σας ρομπότ επίλυσης λαβυρίνθου, χρησιμοποιώντας απλά υλικά και ένα ρομπότ. Αυτό θα περιλαμβάνει επίσης κωδικοποίηση, οπότε απαιτείται επίσης υπολογιστής