İçindekiler:

EWON Raspberry Pi ile Çalışan Ev Robotu: 7 Adım (Resimlerle)
EWON Raspberry Pi ile Çalışan Ev Robotu: 7 Adım (Resimlerle)

Video: EWON Raspberry Pi ile Çalışan Ev Robotu: 7 Adım (Resimlerle)

Video: EWON Raspberry Pi ile Çalışan Ev Robotu: 7 Adım (Resimlerle)
Video: EWon COSY configuration. 2024, Kasım
Anonim
EWON Raspberry Pi ile Çalışan Ev Robotu
EWON Raspberry Pi ile Çalışan Ev Robotu
EWON Raspberry Pi ile Çalışan Ev Robotu
EWON Raspberry Pi ile Çalışan Ev Robotu
EWON Raspberry Pi ile Çalışan Ev Robotu
EWON Raspberry Pi ile Çalışan Ev Robotu

sharathnaik tarafındanSharathnaik.comYazar tarafından daha fazla takip edin:

Kalp Görüntüleyici | Kalp Atışını Gör
Kalp Görüntüleyici | Kalp Atışını Gör
Kalp Görüntüleyici | Kalp Atışını Gör
Kalp Görüntüleyici | Kalp Atışını Gör
Kendin Yap- Havalı Denim Cepli Defter (Resimli)
Kendin Yap- Havalı Denim Cepli Defter (Resimli)
Kendin Yap- Havalı Denim Cepli Defter (Resimli)
Kendin Yap- Havalı Denim Cepli Defter (Resimli)
yavru köpek
yavru köpek
yavru köpek
yavru köpek

Hakkında: Mühendislik ve Tasarım Daha Fazla Sharathnaik Hakkında »

Son zamanlarda kendimi şu anki durumdan dolayı bir sürü Netflix dizisi izlerken buldum, umarım hepiniz güvendesinizdir ve Black Mirror'ın 5. sezonunun yayınlandığını gördüm. Bir grup insanın kişisel yaşamları ve teknolojinin davranışlarını nasıl manipüle ettiği etrafında dönen bir antoloji dizisi.

Ve dikkatimi çeken bölümlerden biri Rachel, Jack ve Ashley Too'ydu. Bu dizinin ana karakterlerinden biri Ashley O adında bir ev robotu ve bu robotun çevresinde çok fazla karakter var ve kendim için bir tane inşa etmeliyim diye düşündüm, programlamaya başlamak için iyi bir proje o zaman değilse de en azından Şakalarıma gülmek için programlayabilirim.!

Ewon Nedir / Kimdir? Ne yapabilir?

Bu proje üzerinde çalışmaya başlamadan önce uyulması gereken bazı temel kurallar belirledim. Bu proje olmalıydı

  • Herkesin denemesi kolay
  • Sadece sevimli olmakla ilgili değil, aynı zamanda rafta bitmesin diye faydalı da olun
  • Modüler, böylece yeni özellikler eklemeye devam edebilirsiniz.

Bu kuralı belirledikten sonra Google Asistan SDK'sını kullanmaya karar verdim. Bu SDK, aradığım birçok özelliği sağlıyor ve Ewon'dan sıkılırsanız, onu her zaman bir Google Home cihazı olarak kullanın ve bir Google evinin yaptığını yapın.

Ewon'un yapacağı şey Google asistanına bir karakter eklemek. Bu, duyguları göstermek ve kullanıcının söylediklerine tepki vermektir. Artık sadece duyduğunuz ses değil, aynı zamanda nasıl tepki vereceğinizi de göreceksiniz.

NOT: Bu talimat geliştirilme aşamasındadır. Yakında tüm ilgili dosyaları yükleyeceğim. Teşekkürler

Adım 1: Ewon için Gerekli Parçalar

ELEKTRONİK

  • ahududu PI
  • Servo SG90 (x4)
  • Servo MG995 – standart (x2)
  • PCA9685 16 Kanallı Servo Sürücü
  • USB ses kartı
  • Mikrofon
  • Hoparlörler (Herhangi bir küçük hoparlör yapacak, bunun gibi bir şey)
  • Erkek ve dişi pin başlık konnektörleri
  • ekmek tahtası
  • Sonraki Ekran

BAĞLANTI PARÇALARI VE RULMANLAR

  • M3*10mm (x10)
  • M3*8mm (x10)
  • M3 Somun (x20)
  • Rulman

    • OD: 15mm ID: 6mm Genişlik: 5mm (x2)
    • OD: 22mm ID: 8mm Genişlik: 7mm (x2)

DİĞER MATERYALLER

  • zıtlaşma
    • 40mm (x4)
    • 30 mm (x4)

ALETLER

3 boyutlu yazıcı

Adım 2: Ewon ve Programlamayı Anlamak

Ewon ve Programlamayı Anlamak
Ewon ve Programlamayı Anlamak
Ewon ve Programlamayı Anlamak
Ewon ve Programlamayı Anlamak
Ewon ve Programlamayı Anlamak
Ewon ve Programlamayı Anlamak

Programlama yönüne başlamadan önce kısaca Ewon devresinin blok şemasını açıklamama izin verin.

RPI (Raspberry pi) sistemin beynidir. RPI tarafından kontrol edilen servo sürücü, servoyu çalıştırır. Duyguları göstermek için seri iletişim ile RPI tarafından kontrol edilen ekran ve son olarak, Ewon ile iletişim kurmak için kullanılan mikrofon ve hoparlörler. Artık hangi donanımın ne yaptığını bildiğimize göre Ewon'u programlamaya başlayalım.

Google asistan SDK'sını yükleme

Google Asistan'ı kullanmayı planlamamın iki nedenini açıklamama izin verin:

  • Ewon'un sadece eğlenceli bir robot değil, aynı zamanda kullanışlı bir robot olmasını istedim. Google Asistan SDK'sı, Ewon'un işlevselliğini artırmak için kullanabileceğiniz bir sürü kaynağa zaten sahip.
  • Ewon'a önceden tanımlanmış yanıtlarla sohbet etme yeteneği vermek için google'daki eylemleri ve iletişim akışını da kullanabilirsiniz. Şimdilik sadece temel SDK'ya odaklanacağız.

Google asistan SDK'sını yükleyerek başlayalım. RPI'da Google Asistan SDK'sını kurmanıza yardımcı olacak bir sürü kaynak olduğu için bu zor olmamalı. Bu öğreticiyi birlikte takip edebilirsiniz:

Öğretici:

Yukarıdaki işlemin bitiminden sonra klavyede enter'a tıklayıp asistanla konuşabilmeniz gerekir. Hepsi Google Asistan SDK'sını yüklemekle ilgili.

Adını ne koymalıyım? Ewon?

Ey Google! Google asistanla konuşmaya başlamak için kullanılan şey budur ve ne yazık ki google başka herhangi bir özel uyandırma kelimesinin kullanılmasına izin vermez. Şimdi bunu nasıl değiştirebileceğimizi görelim, böylece biri Ewon'u aradığında google asistanı tetiklenir.

Snowboy: Raspberry Pi, (Ubuntu) Linux ve Mac OS X ile uyumlu, gerçek zamanlı olarak gömülü, son derece özelleştirilebilir bir sıcak kelime algılama motoru.

Sıcak bir sözcük (uyandırma sözcüğü veya tetikleyici sözcük olarak da bilinir), bilgisayarın diğer eylemleri tetiklemek için bir sinyal olarak sürekli olarak dinlediği bir anahtar sözcük ya da sözcük öbeğidir.

Snowboy'u RPI'ye kurarak başlayalım. Assistant SDK'yı kurarken yaptığınız gibi Snowboy'u kurmak için sanal ortamı etkinleştirmeyi unutmayın. Buradan kuracağımız her şeyin sanal ortamda kurulması gerekiyor. Snowboy'u yüklemek biraz zor olabilir, ancak bu bağlantı sorunsuz bir şekilde yüklemenize yardımcı olacaktır. Bağlantı:

Yukarıdaki bağlantı kafa karıştırıcı hale gelirse veya yükleme başarısız olursa, burada özet bir yükleme işlemi verilmiştir.

$ [sudo] apt-get kurulumu libatlas-base-dev swig$ [sudo] pip kurulumu pyaudio $ git klonu https://github.com/Kitt-AI/snowboy $ cd snowboy/swig/Python3 $ make $ cd.. /.. $ python3 setup.py inşa $ [sudo] python setup.py kurulumu

Kurulduktan sonra her şeyin mükemmel çalışıp çalışmadığını görmek için demo dosyasını [klasörde bulunan - snowboy/examples/Python3/] çalıştırın.

Not: Robotunuzun adını kolayca başka bir adla değiştirebilirsiniz. Tek yapmanız gereken https://snowboy.kitt.ai/ adresine gidip özel bir özel kelime eğitmek ve ardından bu sıcak kelimeyi ewon.pmdl ile aynı klasöre yerleştirmek.

Ewon duyguları anlayabilir mi?

Artık Ewon'un bir adı olduğuna göre, ona robot demek yerine Ewon'u kullanacağım. Tamam, yani duygular, kısa cevaplar hayır, Ewon duyguları anlayamaz, bu yüzden burada yapacağımız şey, Ewon'un anahtar kelimeleri kullanarak konuşmamızdaki duyguyu algılamasını sağlamak ve sonra onunla ilişkili yüz ifadesini oynatmak.

Bunu başarmak için yaptığım şey basit bir duygu analizi betiği. 6 farklı duygu sınıfı vardır.

resim
resim

Mutlu, Üzgün, Öfke, Korku, İğrenme ve Sürpriz. Bunlar ana duygu sınıflarıdır ve her birinin duyguyla ilişkili bir anahtar kelime listesi vardır. (örneğin iyi, hoş, heyecanlı, hepsi mutlu duygunun altına girer).

Bu nedenle, duygu sınıfındaki herhangi bir anahtar kelimeyi söylediğimizde, karşılık gelen duygu tetiklenir. Yani "Hey Ewon!" dediğinde ve Ewon'un konuşmasını bekleyin ve ben "Bugün güzel bir gün!" demeye devam ediyorum, "Güzel" anahtar kelimesini alıyor ve buna karşılık gelen Mutlu'nun yüz ifadesini tetikleyen "Mutlu" duygusunu tetikliyor.

O kulaklar Ewon'da mı?

Bir sonraki adım, ilgili yüz ifadesini çalıştırmak için tetiklenen duyguyu kullanmak olacaktır. Ewon ile, yüz ifadesi dikkat çekiyor, ancak servoları kullanarak kulağını ve boynunu hareket ettiriyor ve göz hareketlerini değiştirmek için ekranı değiştiriyor.

İlk olarak, servolar, bunu çalıştırmak oldukça kolaydır, Adafruit servo kitaplığını kurmak için bu öğreticiyi takip edebilirsiniz. Bağlantı:

resim
resim

Ardından tüm servolar için maksimum ve minimum değeri atadık. Bu, her bir servoyu manuel olarak hareket ettirerek ve limitlerini kontrol ederek yapılır. Bunu Ewon'u bir araya getirdiğinizde yapabilirsiniz.

Ewon için gözler

Gözler için, aşağıdaki gibi bir sürü resim içeren bir Nextion ekranı kullanıyorum.

resim
resim

Photoshop'ta tasarladığım ve sırayla oynatıldığında bir animasyon oluşturan bir dizi resim. Tüm duygular için benzer bir dizi oluşturuldu. Şimdi herhangi bir duyguyu görüntülemek için tek yapmanız gereken, animasyonu oluşturan belirli görüntü dizisini çağırmak. Dosyalar 'Dosyaları görüntüle' klasörünün içindedir, aşağıdaki indirme bağlantısı.

Nihayet

Mutlu duygu komut dosyası tarafından tetiklendiğinde hepsini bir araya getirmek, mutlu işlev çağrılır ve servo önceden ayarlanmış açılara hareket eder ve ekran mutlu göz animasyonunu oynatır. İşte bu şekilde insan duygularını "anlamayı" başarıyoruz. Bu yöntem en iyisi değildir ve anahtar kelimelerin önceden tanımlandığı gibi aynı duyguya düşmediği zamanlar vardır, ancak şimdilik bu yeterince iyi çalışıyor ve algılama doğruluğunu artırmak için her zaman daha fazla anahtar kelime ekleyebilirsiniz. Ayrıca, daha iyi sonuçlar elde etmek için bunun yerine Paralleldots Emotion analiz modeli gibi çok daha eğitimli bir duygu analizi modeli kullanılabilir. Ama denediğimde, Ewon'un daha yavaş tepki vermesine neden olacak çok fazla gecikme oldu. Belki Ewon sürüm 2.0 böyle bir şeye sahip olacaktır.

Bu, EWON'u çalıştırmak için gereken tüm dosyaların BAĞLANTISI'dır. Dosyayı indirin ve aşağıdaki adımları izleyin:

  • Dosyayı açın ve bu klasörü (Ewon) home/pi/ konumuna yerleştirin.
  • Main.py dosyasına Cihaz Kimliği ve Model Kimliği ekleyin. Kimlik, google asistan SDK'sı yüklenirken alınır.
  • Komut istemini açın ve aşağıdaki komutların kaynağını çalıştırın:

kaynak env/bin/activatepython main.py modelleri/Ewon.pmdl

Adım 3: Gövdeyi Yazdırma

3d dosyaları burada bulabilirsiniz:

Artık hepimiz Ewon'un beyniyle, vücudunu yazdırmanın zamanı geldi. Basılacak 18 benzersiz parça var, bunların çoğu oldukça küçük ve toplam baskı süresi yaklaşık 15-20 saat. (durumlar hariç).

%50 dolgulu ve 2 mm katman yüksekliğinde beyaz PLA kullandım. Gerekirse bu değerleri değiştirebilirsiniz, iyi çalışması gerekir, ancak dayanıklılık için küçük parçaların %100 dolu olduğundan emin olun.

Dosyalar yazdırıldıktan sonra zımpara kağıdı veya el eğesi kullanarak yazdırılan kısımları, özellikle parçaların birbiri içinde kaydığı bağlantıları temizleyebilirsiniz. Eklemlerin düzleştirilmesi mekanizmayı pürüzsüz hale getirecek ve servoya daha az direnç sağlayacaktır. Bu süreç istediğiniz kadar uzun sürebilir, yazdırılan parçaların mükemmel görünmesini sağlamaya çalışırken kaybolabilirsiniz.

Ekstra notlar: 3 mm'lik bir uç kullanarak 3B yazdırılan parçalardaki delikleri yeniden açabilirsiniz. Tüm delikler aynı boyuttadır. Bu, daha sonra montajda somunları vidalarken daha kolay hale getirecektir.

Adım 4: Ewon'u Bir Araya Getirmek

Ewon'u Bir Araya Getirmek
Ewon'u Bir Araya Getirmek
Ewon'u Bir Araya Getirmek
Ewon'u Bir Araya Getirmek
Ewon'u Bir Araya Getirmek
Ewon'u Bir Araya Getirmek
Ewon'u Bir Araya Getirmek
Ewon'u Bir Araya Getirmek

Montaja başlamadan önce, basılı parçalarda birkaç değişiklik yapılması gerekiyor. Servo link adlı dosyalar, servo ile birlikte gelen servo linklerle donatılmalıdır, bu da 3d baskılı linklerin servo ile iyi bir şekilde bağlanmasını sağlar.

Ewon'un Meclisi dümdüz olmalıdır. Takip etmeniz için görseller ekledim.

Ekstra notlar: Herhangi bir cıvatayı veya vidayı fazla sıkmadığınızdan emin olun, aksi takdirde basılı parçalar kırılabilir ve aşınabilir.

Adım 5: Ewon'u Bağlayın

Ewon'u Bağlamak
Ewon'u Bağlamak
Ewon'u Bağlamak
Ewon'u Bağlamak
Ewon'u Bağlamak
Ewon'u Bağlamak

Ewon'u hayata geçirmek için son adımdayız. Bağlantıyı gösteren resimlerle birlikte bileşenlerin kablo şeması burada.

  • Servo sürücü, RPI'nin SDA ve SCL'si olan I2C pinlerine bağlanır.
  • Ekran, RPI'nin RX ve TX pinlerine bağlanır
  • Mikrofon ve hoparlörler, USB portu üzerinden RPI'ye bağlı olan USB Ses kartına bağlanır.

Uyarı: RPI'nizi kısaltmaya dikkat edin. Lütfen tüm bağlantılarınızı iki kez kontrol edin ve herhangi bir hata yapmadığınızdan emin olun. Hoparlör, servo sürücü ve ekran olan tüm aksesuarlar ayrı bir 5v pil ile çalışır ve Raspberry Pi 5v hattını kullanmaz. Raspberry pi, yalnızca aksesuarlara veri göndermek için kullanılır, ancak onları güçlendirmek için kullanılmaz.

Adım 6: Hey Ewon! Beni duyabiliyor musun?

Hey Ewon! Beni duyabiliyor musun?
Hey Ewon! Beni duyabiliyor musun?

Bu yüzden tüm aksesuarlarımızı ekledik ve gerekli tüm kütüphaneleri kurduk. Ewon'u./run Ewon.shBut komutunu kullanarak kabuk betiğini çalıştırarak başlatabilirsiniz. Bu.sh betiği nedir? Ewon, farklı betiklere sahip birçok farklı kitaplık kullanır (Google asistan SDK, Snowboy, Adafruit, vb.). Tüm komut dosyaları ilgili klasörlere yerleştirilir. (Bütün dosyaları aynı yolda taşıyabilir ve tüm komut dosyalarını düzenleyebiliriz, ancak şu anda bazı kitaplıklar kaynak dosyaların taşınmasına izin vermiyor, bu yüzden şimdilik onları kendi konumlarında tutacağız).sh tüm bu komut dosyalarını her konumdan tek tek çalıştıran kabuk komut dosyalarıdır, böylece her konuma manuel olarak gidip komut dosyalarını çalıştırmanız gerekmez. Bu, tüm komutları işlemeyi kolaylaştırır.

Kabuk betiğini çalıştırdıktan sonra sadece “Hey Ewon!” deyin. ve Ewon'un seni dinlemeye başladığını görmelisin. Artık Ewon'u google asistanı olarak kullanabilir ve onunla konuşabilirsiniz ve Ewon'un söyledikleriniz arasında değişen ifadeleri görebilirsiniz. Hey Ewon! Bugün üzgünüm” ve Ewon'un seninle üzgün olduğunu görebilirsin. Ewon'dan bir şaka isteyin ve şakaya güldüğünü görün.

Adım 7: Sırada Ne Var?

Ewon burada bitmiyor. Ewon'un artık duyguları algılamak ve göstermek için bir yolu var ama çok daha fazlasını yapmasını sağlayabiliriz. Bu sadece başlangıç.

Gelecek güncellemede, nasıl yapılacağı üzerinde çalışacağız.

  • Ewon yüzleri algılar ve yüzünüzü takip eder ve yüzünüzle birlikte hareket eder.
  • Karaktere ekstra bir derinlik kazandırmak için ses efektleri ekleyeceğiz.
  • Ewon'un sizinle birlikte hareket edebilmesi için hareketlilik ekleyin.

Not: Mevcut durum nedeniyle proje için parça temini çok zor hale gelmiştir. Bu, envanterimdeki düşünceleri göz önünde bulundurarak tasarımı ve işlevselliği değiştirmeme neden oldu. Ama tüm parçaları elime alır almaz yukarıdaki projeyi güncelleyeceğim.

Güncellemeler:

  • Kodda bazı değişiklikler yapıldı, kabuk betiği kaldırıldı.
  • EWON için dikdörtgen bir gövde eklendi.

Önerilen: