İçindekiler:

BricKuber Projesi – Raspberry Pi Rubiks Küp Çözme Robotu: 5 Adım (Resimlerle)
BricKuber Projesi – Raspberry Pi Rubiks Küp Çözme Robotu: 5 Adım (Resimlerle)

Video: BricKuber Projesi – Raspberry Pi Rubiks Küp Çözme Robotu: 5 Adım (Resimlerle)

Video: BricKuber Projesi – Raspberry Pi Rubiks Küp Çözme Robotu: 5 Adım (Resimlerle)
Video: BricKuber Raspberry Pi Rubiks Cuber Solves in 90 Seconds 2024, Haziran
Anonim
Image
Image

BricKuber, bir Rubik küpünü yaklaşık 2 dakikadan daha kısa bir sürede çözebilir.

BricKuber, kendiniz oluşturabileceğiniz açık kaynaklı bir Rubik küp çözme robotudur

Raspberry Pi ile bir Rubiks küp çözen robot yapmak istedik. Hız için gitmek yerine basitlikle gittik: Bir Raspberry Pi, bir BrickPi kitiniz ve standart bir LEGO Mindstorms EV3 veya NXT Kitiniz varsa, adımlarımızı kolayca takip edebilmelisiniz. Yazılım Python programlama dilinde yazılmıştır. Github'daki tüm kaynak kodunu burada görebilirsiniz.

Arka Plan Rubik küpü yakın zamanda geri dönüş yapmaya başladı. 1974'te icat edildi, dünyanın en çok satan oyuncağı. Ancak bunları çözmek düşünce, çaba ve beceri gerektirir… öyleyse neden bir robotun yapmasına izin vermiyorsun? Bu projede bir Raspberry Pi, bir BrickPi ve bir dizi LEGO Mindstorm alıp bir Rubik küp çözen robot yapıyoruz. Çözücüye çözülmemiş bir Rubik küpü yerleştirin, python programını çalıştırın ve Rubik küpünüz çözüldü! Proje, Rubik küpünü doğrudan çözmek için Pi'yi kullanıyor. BrickPi3, çözülmemiş Rubik küpünü alır ve Raspberry Pi, Raspberry Pi Kamera ile Rubik küpünün her iki tarafının resmini çeker. Pi, renkli karelerin küpte nerede olduklarını gösteren bir metin haritası oluşturur. Küpü tamamen haritalandırdığında, Pi, Rubik küpünü çözmek için gereken hareketleri haritalamak için “kociemba” python kitaplığını kullanır. Bu bilgi, LEGO motorlarını kullanarak Rubik küpünü çözmek için Pi ve BrickPi3 tarafından alınır. Sonuç: çözülmüş bir Rubik küpü.

Adım 1: Araçlar ve Malzemeler

İnşa et
İnşa et
  • BrickPi3 – Rubik küp çözücüsünü çözen LEGO motorlarını kontrol etmek için BrickPi'yi kullanacağız.
  • Raspberry Pi – Pi, işlemeyi yapacak, fotoğraf çekecek ve BrickPi'ye komuta edecek.
  • Raspberry Pi Kamera – Pi Kamera, çözülmemiş Rubik küpünün bir resmini çekecektir.
  • Ethernet Kablosu – Makinenizin internete bağlı olması gerekir. Bunu wifi üzerinden yapmak istiyorsanız, bu da sorun değil!
  • Raspbian for Robots SD Card – Raspberry Pi'yi çalıştıran yazılım. Bu, bu eğitim için gereken yazılımın çoğuyla birlikte gelir. Ayrıca yazılımı ücretsiz olarak indirebilirsiniz.
  • LEGO Mindstorms EV3 Kit (31313) – Bir yığın LEGO ve iki büyük motora, bir servo motora ve Ultrasonik Sensöre ihtiyacınız olacak.
  • Bir Rubik Küpü - Burada oldukça özgürce dönen bir tane bulduk. Yine de hemen hemen her 9x9x9 Rubik küpünü kullanabilirsiniz.

Adım 2: İnşa Edin

İnşa et
İnşa et
İnşa et
İnşa et

Çözücüyü Oluşturmak

Bu tasarım, LEGO EV3 için MindCub3r tasarımından ilham almıştır. BricKuber'i oluşturmak için MindCub3r'yi oluşturarak başlayın. Tam LEGO yapım talimatları burada bulunabilir.

Rubiks küp çözücü tasarımının üç ana hareketli parçası vardır. Birincisi, Rubik küpünü tutan bir beşik. İkincisi, Rubik küpünü çevirmek için kullanılan bir kol olan karıştırıcıdır.

Son olarak bir kamera kolu ekliyoruz. MindCubr'un orijinal tasarımında bu, EV3 renk sensörünü Rubik küpü üzerinde tutuyordu. Değiştirilmiş tasarımımızda, Rubik küpü üzerinde bir Raspberry Pi Kamera tutar. Küpü manipüle etmek için iki LEGO Mindstorms motoru kullanıyoruz: ilki, küpü döndürmek için kızağın altına oturur ve ikincisi, küpü zıt bir eksende döndürmek için karıştırıcı kolu hareket ettirir.

BrickPi3'ü birleştirin

BrickPi3 için montaj talimatlarını burada bulabilirsiniz. Kasayı monte etmemiz, BrickPi3'ü, Raspberry Pi'yi, Raspberry Pi Kamerayı takmamız, bir SD Kart eklememiz ve pilleri eklememiz gerekecek. Yazılımın kurulumunu kolaylaştırmak için Raspbian for Robots, zaten kurulum yapmanız gereken yazılımların çoğuyla birlikte gelir. En az 8 GB'lık bir SD Karta ihtiyacınız olacak ve diski SD Kartın tam boyutuna uyacak şekilde genişletmek isteyeceksiniz.

BrickPi3'ü takın

BrickPi3'ü LEGO montajına ekliyoruz. BrickPi3'ü desteklemek ve BricKuber gövdesiyle aynı seviyeye getirmek için LEGO EV3 "kanatlarını" kullandık. Bu, güç paketine 8XAA pil eklemek ve BrickPi3 güç paketini LEGO aksamına takmak için iyi bir adımdır. Programlama için BrickPi3'ü USB gücüyle Raspberry Pi'ye çalıştırabilirsiniz, ancak motorları hareket ettirmek için Güç Paketi ile güç sağlamanız gerekir.

Motorları BrickPi3'e Bağlayın

Shuffler Motorunu “MD” motor portuna takın. Beşik motorunu BrickPi3 üzerindeki “MA” bağlantı noktasına takın. Kamera sensör motorunu “MC” bağlantı noktasına takın (bu daha küçük servo benzeri motordur). Kamerayı hareket ettirmeyecek olsak da, motorları kullanarak kameranın konumunu ayarlamak isteyebilirsiniz.

Raspberry Pi Kamerayı Takın

LEGO Kamera desteğini kullanarak kamerayı takın. Kameranın küçük siyah lensi, iki LEGO ışın desteği arasına sığmalıdır. Kamerayı bir miktar elektrik bandıyla LEGO desteklerine sabitleyin. Bu, kameranın tüm Rubik küpünü yakalayabilecek konumda olduğundan emin olmak için iyi bir zamandır. raspistill komutu ile deneme fotoğrafı çekebilirsiniz.

raspistill -o cam.jpg

Küpün resmin ortasında iyi ortalanmış olup olmadığını kontrol edin.

Adım 3: Yazılımı Hazırlayın

BrickPi3 ile birlikte gelen özel imajımız olan Raspbian veya Raspbian for Robots'un herhangi bir sürümünü kullanabilirsiniz. Raspbian'ın standart bir sürümünü kullanıyorsanız, komutu kullanarak BrickPi3 kitaplıklarını yükleyebilirsiniz.

sudo curl -kL dexterindustries.com/update_brickpi3 | bash

Bu adım, BrickPi3'ü Raspbian Görüntünüzde çalıştırmak için gereken tüm kitaplıkları kuracaktır. Raspbian for Robots kullanıyorsanız bu adımı atlayın: BrickPi3 zaten kurulu.

Son olarak, şu komutu kullanarak tüm proje bağımlılıklarını kurun:

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

Bu adım için BrickPi3'ünüzün internete bağlı olması gerekir. Rubik küpünü çözmek için kullanılan, Github'da Daniel Walton (@dwalton76) tarafından yazılan bazı önemli kütüphaneler de dahil olmak üzere projenin bağlı olduğu bir dizi kütüphane var.

Adım 4: Bir Rubik Küpünü Çözün

Bir Rubik Küpünü Çözün
Bir Rubik Küpünü Çözün
Bir Rubik Küpünü Çözün
Bir Rubik Küpünü Çözün
Bir Rubik Küpünü Çözün
Bir Rubik Küpünü Çözün

Beşiğe çözülmemiş bir Rubik küpü yerleştirin. komutu çalıştırın

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

Robot, küpü her bir yüze çevirecek ve kamera, Küp'ün her iki yanından birer tane olmak üzere 6 fotoğraf çekecektir. Raspberry Pi, altı resimden küp konfigürasyonunu belirleyecektir. Cube konfigürasyonu, verimli bir çözüm bulmak için kociemba Python kütüphanesine iletilecektir. Son olarak robot, Rubik Küpünü çözmek için hamleleri gerçekleştirecek!

Adım 5: Kaynak Kodu

BricKuber için tüm kaynak kodları burada açık kaynak kodlu github depomuzda bulunabilir.

Bu proje, komut tarafından yüklenen aşağıdaki yazılım paketlerini kullanır

Önerilen: