Spisu treści:
- Krok 1: Narzędzia i materiały
- Krok 2: Zbuduj to
- Krok 3: Przygotuj oprogramowanie
- Krok 4: Rozwiąż kostkę Rubika
- Krok 5: Kod źródłowy
Wideo: BricKuber Project – robot rozwiązujący kostkę Rubiksa Raspberry Pi: 5 kroków (ze zdjęciami)
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:32
BricKuber może ułożyć kostkę Rubika w mniej niż 2 minuty.
BricKuber to robot do rozwiązywania kostek Rubika o otwartym kodzie źródłowym, który możesz zbudować sam
Chcieliśmy zbudować robota do rozwiązywania kostek Rubiksa z Raspberry Pi. Zamiast dążyć do szybkości, poszliśmy z prostotą: jeśli masz Raspberry Pi, zestaw BrickPi i standardowy zestaw LEGO Mindstorms EV3 lub NXT, powinieneś być w stanie łatwo podążać naszymi śladami. Oprogramowanie napisane jest w języku programowania Python. Możesz zobaczyć cały kod źródłowy na Github tutaj.
Tło Kostka Rubika ostatnio zaczęła powracać. Wynaleziona w 1974 roku jest najlepiej sprzedającą się zabawką na świecie. Ale rozwiązanie ich wymaga przemyślenia, wysiłku i umiejętności… więc dlaczego nie pozwolić robotowi tego zrobić? W tym projekcie bierzemy Raspberry Pi, BrickPi i zestaw LEGO Mindstorms i budujemy robota rozwiązującego kostkę Rubika. Po prostu umieść nierozwiązaną kostkę Rubika w solverze, uruchom program Python, a Twoja kostka Rubika zostanie rozwiązana! Projekt wykorzystuje Pi do bezpośredniego rozwiązania kostki Rubika. BrickPi3 pobiera nierozwiązaną kostkę Rubika, a Raspberry Pi robi zdjęcie każdej strony kostki Rubika za pomocą kamery Raspberry Pi. Pi tworzy mapę tekstową kolorowych kwadratów, która pokazuje, gdzie się znajdują na sześcianie. Kiedy w pełni zmapuje kostkę, Pi używa biblioteki pytona „kociemba” do mapowania ruchów potrzebnych do rozwiązania kostki Rubika. Te informacje są pobierane przez Pi i BrickPi3, aby ułożyć kostkę Rubika za pomocą silników LEGO. Wynik: ułożona kostka Rubika.
Krok 1: Narzędzia i materiały
- BrickPi3 - użyjemy BrickPi do sterowania silnikami LEGO, które rozwiązują kostkę Rubika.
- Raspberry Pi – Pi będzie przetwarzał, robił zdjęcia i dowodził BrickPi.
- Raspberry Pi Camera – Kamera Pi zrobi zdjęcie nierozwiązanej kostki Rubiksa.
- Kabel Ethernet - będziesz potrzebować połączenia urządzenia z Internetem. Jeśli chcesz to zrobić przez Wi-Fi, to też w porządku!
- Raspbian for Robots SD Card – Oprogramowanie obsługujące Raspberry Pi. Zawiera większość oprogramowania potrzebnego do tego samouczka. Oprogramowanie można również pobrać bezpłatnie.
- Zestaw LEGO Mindstorms EV3 (31313) - będziesz potrzebować stosu klocków LEGO i dwóch dużych silników, jednego serwomotoru oraz czujnika ultradźwiękowego.
- Kostka Rubika – Znaleźliśmy taką, która kręci się tutaj dość swobodnie. Możesz jednak użyć prawie każdej kostki Rubika 9x9x9.
Krok 2: Zbuduj to
Budowanie Solvera
Ten projekt został zainspirowany projektem MindCub3r dla LEGO EV3. Aby zbudować BricKubera, zacznij od zbudowania MindCub3r. Pełne instrukcje budowania LEGO można znaleźć tutaj.
Projekt rozwiązywania kostek Rubiksa składa się z trzech głównych ruchomych części. Pierwsza to kołyska do przechowywania kostki Rubika. Drugi to tasownik, ramię, które służy do odwracania kostki Rubika.
Na koniec dodajemy ramię aparatu. W oryginalnym projekcie MindCubr trzymał czujnik koloru EV3 nad kostką Rubika. W naszym zmodyfikowanym projekcie posiada kamerę Raspberry Pi nad kostką Rubika. Do manipulowania sześcianem używamy dwóch silników LEGO Mindstorms: pierwszy znajduje się pod kołyską, aby obrócić sześcian, a drugi porusza ramieniem przesuwającym, aby obrócić sześcian na przeciwnej osi.
Złóż BrickPi3
Tutaj znajdziesz instrukcję montażu BrickPi3. Będziemy musieli złożyć obudowę, podłączyć BrickPi3, Raspberry Pi, kamerę Raspberry Pi, dodać kartę SD i dodać baterie. Aby ułatwić konfigurację oprogramowania, Raspbian for Robots jest dostarczany z większością oprogramowania, które trzeba już skonfigurować. Będziesz potrzebować co najmniej karty SD o pojemności 8 GB i będziesz chciał rozszerzyć dysk, aby pasował do pełnego rozmiaru karty SD.
Podłącz BrickPi3
Do zestawu LEGO dodajemy BrickPi3. Użyliśmy „skrzydeł” LEGO EV3 do podparcia BrickPi3 i wyrównania go z korpusem BrickKuber. To dobry krok, aby dodać baterie 8XAA do zasilacza i podłączyć zasilacz BrickPi3 do zestawu LEGO. Do programowania można zasilać BrickPi3 przez USB z Raspberry Pi, jednak do poruszania silnikami potrzebne będzie zasilanie z Power Packa.
Podłącz silniki do BrickPi3
Podłącz silnik do tasowania do portu silnika „MD”. Podłącz silnik kołyski do portu „MA” w BrickPi3. Podłącz silnik czujnika kamery do portu „MC” (jest to mniejszy silnik podobny do serwo). Nawet jeśli nie będziemy przesuwać kamery, możesz chcieć dostosować położenie kamery za pomocą silników.
Podłącz kamerę Raspberry Pi
Korzystając ze wspornika LEGO Camera, przymocuj kamerę. Mały czarny obiektyw kamery powinien zmieścić się pomiędzy dwoma wspornikami belek LEGO. Przymocuj kamerę na miejscu do wsporników LEGO za pomocą taśmy elektrycznej. To dobry moment, aby upewnić się, że kamera jest ustawiona tak, aby móc uchwycić całą kostkę Rubika. Możesz zrobić zdjęcie testowe za pomocą polecenia raspistill
raspistill -o cam.jpg
Sprawdź, czy kostka jest dobrze wyśrodkowana na środku obrazu.
Krok 3: Przygotuj oprogramowanie
Możesz użyć dowolnej wersji Raspbian lub Raspbian for Robots, naszego niestandardowego obrazu dostarczanego z już zainstalowanym BrickPi3. Jeśli używasz standardowej wersji Raspbian, możesz zainstalować biblioteki BrickPi3 za pomocą polecenia
sudo curl -kL dexterindustries.com/update_brickpi3 | grzmotnąć
Ten krok zainstaluje wszystkie biblioteki potrzebne do uruchomienia BrickPi3 na obrazie Raspbian. Pomiń ten krok, jeśli używasz Raspbian for Robots: BrickPi3 jest już zainstalowany.
Na koniec zainstaluj wszystkie zależności projektu za pomocą polecenia:
sudo curl https://raw.githubusercontent.com/DexterInd/Brick… | grzmotnąć
Na tym etapie Twój BrickPi3 będzie musiał być podłączony do Internetu. Istnieje wiele bibliotek, od których zależy projekt, w tym kilka kluczowych autorstwa Daniela Waltona (@dwalton76) na Github, które są używane do rozwiązywania kostki Rubika.
Krok 4: Rozwiąż kostkę Rubika
Umieść nierozwiązaną kostkę Rubika w kołysce. Uruchom polecenie
sudo python ~/Dexter/BrickPi3/Projects/BricKuber/BricKuber.py
Robot obróci sześcian do każdej twarzy, a kamera wykona 6 zdjęć, po jednym z każdej strony sześcianu. Raspberry Pi określi konfigurację kostki na podstawie sześciu zdjęć. Konfiguracja kostki zostanie przekazana do biblioteki kociemba Python w celu znalezienia wydajnego rozwiązania. Wreszcie robot wykona ruchy, aby ułożyć kostkę Rubika!
Krok 5: Kod źródłowy
Cały kod źródłowy BricKubera można znaleźć w naszym otwartym repozytorium github tutaj.
Ten projekt używa następujących pakietów oprogramowania zainstalowanych przez polecenie
Zalecana:
Arduino - Robot rozwiązujący labirynt (MicroMouse) Robot podążający za ścianą: 6 kroków (ze zdjęciami)
Arduino | Robot rozwiązujący labirynt (MicroMouse) Robot podążający za ścianą: Witam Jestem Isaac i to jest mój pierwszy robot „Striker v1.0”. Ten robot został zaprojektowany do rozwiązywania prostego labiryntu. W konkursie mieliśmy dwa labirynty i robota był w stanie je zidentyfikować. Wszelkie inne zmiany w labiryncie mogą wymagać zmiany w
Rozwiązujący w czasie rzeczywistym kostkę Rubika z zasłoniętymi oczami za pomocą Raspberry Pi i OpenCV: 4 kroki
Kostka Rubika z zawiązanymi oczami w czasie rzeczywistym za pomocą Raspberry Pi i OpenCV: Jest to druga wersja narzędzia Rubika do rozwiązywania problemów z zawiązanymi oczami. Pierwsza wersja została opracowana przez javascript, możesz zobaczyć projekt RubiksCubeBlindfolded1W przeciwieństwie do poprzedniej, ta wersja używa biblioteki OpenCV do wykrywania kolorów i e
Jak zbudować kostkę LED 8x8x8 i sterować nią za pomocą Arduino: 7 kroków (ze zdjęciami)
Jak zbudować kostkę LED 8x8x8 i sterować nią za pomocą Arduino: edycja ze stycznia 2020 r.: Zostawiam to na wypadek, gdyby ktoś chciał go użyć do generowania pomysłów, ale nie ma już sensu budować kostki na podstawie tych instrukcji. Układy scalone sterownika LED nie są już produkowane, a oba szkice zostały napisane w starej wersji
Zrób Lustrzaną Kostkę Infinity: 12 kroków (ze zdjęciami)
Zrób Lustrzaną Kostkę Nieskończoności: Kiedy szukałem informacji podczas tworzenia mojego pierwszego lustra nieskończoności, natknąłem się na kilka zdjęć i filmów z kostkami nieskończoności i zdecydowanie chciałem zrobić jeden z własnych. Najważniejszą rzeczą, która mnie powstrzymywała, było to, że chciałem zrobić to inaczej
Robot rozwiązujący labirynt (Boe-bot): 5 kroków
Robot rozwiązujący labirynty (Boe-bot): Ten poradnik pokaże Ci, jak zaprojektować i stworzyć własnego robota rozwiązującego labirynty, używając prostych materiałów i robota. Obejmuje to również kodowanie, więc potrzebny jest również komputer