Daftar Isi:

Proyek BricKuber – Robot Pemecahan Kubus Rubiks Pi Raspberry: 5 Langkah (dengan Gambar)
Proyek BricKuber – Robot Pemecahan Kubus Rubiks Pi Raspberry: 5 Langkah (dengan Gambar)

Video: Proyek BricKuber – Robot Pemecahan Kubus Rubiks Pi Raspberry: 5 Langkah (dengan Gambar)

Video: Proyek BricKuber – Robot Pemecahan Kubus Rubiks Pi Raspberry: 5 Langkah (dengan Gambar)
Video: Робот Raspberry Pi Rubik [Обновление для создателя № 51] 2024, Desember
Anonim
Image
Image

BricKuber dapat memecahkan kubus Rubik dalam waktu kurang dari 2 menit.

BricKuber adalah robot pemecahan kubus Rubik open source yang dapat Anda buat sendiri

Kami ingin membangun robot pemecahan kubus Rubiks dengan Raspberry Pi. Daripada mengejar kecepatan, kami pergi dengan kesederhanaan: jika Anda memiliki Raspberry Pi, kit BrickPi, dan LEGO Mindstorms EV3 atau NXT Kit standar, Anda seharusnya dapat dengan mudah mengikuti jejak kami. Perangkat lunak ini ditulis dalam bahasa pemrograman Python. Anda dapat melihat semua kode sumber di Github di sini.

Latar Belakang Kubus Rubik baru-baru ini mulai muncul kembali. Diciptakan pada tahun 1974, ini adalah mainan terlaris di dunia. Tetapi memecahkannya membutuhkan pemikiran, usaha, dan keterampilan… jadi mengapa tidak membiarkan robot melakukannya? Dalam proyek ini, kami mengambil Raspberry Pi, BrickPi, dan satu set LEGO Mindstorms dan membangun robot pemecahan kubus Rubik. Cukup tempatkan kubus Rubik yang belum terpecahkan di pemecah, jalankan program python, dan kubus Rubik Anda terpecahkan! Proyek ini menggunakan Pi untuk memecahkan kubus Rubik secara langsung. BrickPi3 mengambil kubus Rubik yang belum terpecahkan dan Raspberry Pi mengambil gambar setiap sisi kubus Rubik dengan Kamera Raspberry Pi. Pi membuat peta teks dari kotak warna yang menunjukkan di mana mereka berada di kubus. Ketika telah sepenuhnya memetakan kubus, Pi menggunakan perpustakaan python "kociemba" untuk memetakan gerakan yang diperlukan untuk memecahkan kubus Rubik. Informasi ini diambil oleh Pi dan BrickPi3 untuk memecahkan kubus Rubik menggunakan motor LEGO. Hasilnya: kubus Rubik terpecahkan.

Langkah 1: Alat dan Bahan

Bangun itu
Bangun itu
  • BrickPi3 – Kami akan menggunakan BrickPi untuk mengontrol motor LEGO yang memecahkan pemecah kubus Rubik.
  • Raspberry Pi – Pi akan melakukan pemrosesan, pengambilan gambar, dan memerintahkan BrickPi.
  • Kamera Raspberry Pi – Kamera Pi akan mengambil gambar kubus Rubik yang belum terpecahkan.
  • Kabel Ethernet – Anda akan membutuhkan mesin Anda untuk terhubung ke internet. Jika Anda ingin melakukan ini melalui wifi, tidak apa-apa juga!
  • Raspbian for Robots SD Card – Perangkat lunak yang menjalankan Raspberry Pi. Ini datang dengan sebagian besar perangkat lunak yang diperlukan untuk tutorial ini. Anda juga dapat mengunduh perangkat lunak secara gratis.
  • LEGO Mindstorms EV3 Kit (31313) – Anda membutuhkan setumpuk LEGO dan dua motor besar, dan satu motor servo, dan Sensor Ultrasonik.
  • Kubus Rubik – Kami menemukan satu yang berputar cukup bebas di sini. Anda dapat menggunakan hampir semua kubus Rubik 9x9x9.

Langkah 2: Bangun Ini

Bangun itu
Bangun itu
Bangun itu
Bangun itu

Membangun Pemecah

Desain ini terinspirasi oleh desain MindCub3r untuk LEGO EV3. Untuk membangun BricKuber, mulailah dengan membangun MindCub3r. Instruksi lengkap pembuatan LEGO dapat ditemukan di sini.

Desain pemecah kubus Rubiks memiliki tiga bagian utama yang bergerak. Yang pertama adalah dudukan untuk memegang kubus Rubik. Yang kedua adalah shuffler, lengan yang digunakan untuk membalik kubus Rubik.

Akhirnya, kami menambahkan lengan kamera. Dalam desain asli oleh MindCubr, ini menahan sensor warna EV3 di atas kubus Rubik. Dalam desain kami yang dimodifikasi, ia memegang Kamera Raspberry Pi di atas kubus Rubik. Kami menggunakan dua motor LEGO Mindstorms untuk memanipulasi kubus: yang pertama duduk di bawah dudukan untuk memutar kubus, dan yang kedua menggerakkan lengan pengocok untuk memutar kubus pada sumbu yang berlawanan.

Merakit BrickPi3

Anda dapat menemukan petunjuk perakitan untuk BrickPi3 di sini. Kita perlu merakit kasing, memasang BrickPi3, Raspberry Pi, Kamera Raspberry Pi, menambahkan Kartu SD, dan menambahkan baterai. Untuk membuat perangkat lunak lebih mudah diatur, Raspbian for Robots hadir dengan sebagian besar perangkat lunak yang sudah Anda perlukan. Anda memerlukan setidaknya 8 GB Kartu SD, dan Anda ingin memperluas disk agar sesuai dengan ukuran penuh Kartu SD.

Pasang BrickPi3

Kami menambahkan BrickPi3 ke rakitan LEGO. Kami menggunakan "sayap" LEGO EV3 untuk mendukung BrickPi3 dan membuatnya sejajar dengan bodi BricKuber. Ini adalah langkah yang baik untuk menambahkan baterai 8XAA ke paket daya dan memasang paket daya BrickPi3 ke rakitan LEGO. Untuk pemrograman, Anda dapat memberi daya pada BrickPi3 melalui daya USB ke Raspberry Pi, namun untuk menggerakkan motor, Anda perlu memasok daya dengan Power Pack.

Hubungkan Motor ke BrickPi3

Pasang Shuffler Motor ke port motor “MD”. Pasang motor dudukan ke port “MA” pada BrickPi3. Pasang motor sensor Kamera ke port "MC" (ini adalah motor mirip servo yang lebih kecil). Meskipun kami tidak akan memindahkan kamera, Anda mungkin ingin menyesuaikan lokasi kamera menggunakan motor.

Pasang Kamera Raspberry Pi

Menggunakan dukungan LEGO Camera, pasang kamera. Lensa hitam kecil kamera harus pas di antara dua penyangga balok LEGO. Amankan kamera di tempatnya ke penyangga LEGO dengan pita listrik. Ini adalah saat yang tepat untuk memastikan posisi kamera untuk dapat menangkap seluruh kubus Rubik. Anda dapat mengambil gambar percobaan dengan perintah raspistill

raspistill -o cam.jpg

Periksa apakah kubus berada di tengah-tengah gambar dengan baik.

Langkah 3: Siapkan Perangkat Lunak

Anda dapat menggunakan versi Raspbian atau Raspbian untuk Robot apa pun, gambar kustom kami yang disertakan dengan BrickPi3 sudah terpasang. Jika Anda menggunakan versi standar Raspbian, Anda dapat menginstal pustaka BrickPi3 menggunakan perintah

sudo curl -kL dexterindustries.com/update_brickpi3 | pesta

Langkah ini akan menginstal semua perpustakaan yang diperlukan untuk menjalankan BrickPi3 pada Gambar Raspbian Anda. Lewati langkah ini jika Anda menggunakan Raspbian untuk Robot: BrickPi3 sudah terpasang.

Terakhir, instal semua dependensi proyek menggunakan perintah:

sudo curl https://raw.githubusercontent.com/DexterInd/Brick… | pesta

Untuk langkah ini, BrickPi3 Anda harus terhubung ke internet. Ada sejumlah perpustakaan tempat proyek bergantung, termasuk beberapa perpustakaan penting oleh Daniel Walton (@dwalton76) di Github, yang digunakan untuk memecahkan kubus Rubik.

Langkah 4: Memecahkan Kubus Rubik

Memecahkan Kubus Rubik
Memecahkan Kubus Rubik
Memecahkan Kubus Rubik
Memecahkan Kubus Rubik
Memecahkan Kubus Rubik
Memecahkan Kubus Rubik

Tempatkan kubus Rubik yang belum terpecahkan di dalam buaian. Jalankan perintah

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

Robot akan memutar kubus ke setiap wajah dan kamera akan mengambil 6 gambar, satu dari setiap sisi kubus. Raspberry Pi akan menentukan konfigurasi kubus dari enam gambar. Konfigurasi Cube akan diteruskan ke perpustakaan Python kociemba untuk menemukan solusi yang efisien. Akhirnya, robot akan mengeksekusi gerakan untuk memecahkan Rubik's Cube!

Langkah 5: Kode Sumber

Semua kode sumber untuk BricKuber dapat ditemukan di repo github open source kami di sini.

Proyek ini menggunakan paket perangkat lunak berikut yang diinstal oleh perintah:

Direkomendasikan: