İçindekiler:

Sanal Gerçeklik Kontrollü RC Araba: 9 Adım
Sanal Gerçeklik Kontrollü RC Araba: 9 Adım

Video: Sanal Gerçeklik Kontrollü RC Araba: 9 Adım

Video: Sanal Gerçeklik Kontrollü RC Araba: 9 Adım
Video: EVİME 200.000 TL'lik YARIŞ SİMÜLASYONU YAPTIM 2024, Kasım
Anonim
Image
Image

Hiç küçültülmek ve Innerspace veya Fantastic Voyage gibi bir gemiye pilotluk yapmak istediniz mi? Pekala, bence bu, kısa sürede anlayabileceğiniz kadar yakın!

İşte saha:

Sanal Gerçeklik komut konsolundan pilotluk yapılan bir Gerçek Hayat uzaktan kumandalı araba. Bu, bir VR Kulaklığı taktığınız, bir RC Arabasındaki bir anahtarı çevirdiğiniz ve ardından doğrudan yüzünüze canlı video akışıyla VR'den pilotluk yapabileceğiniz anlamına gelir.

VR Car'da kontrol edebileceğiniz uyguladığım şeyler var.

  1. tekerlekler
  2. korna
  3. Işıklar

Bunların hepsinde, arabayı sürmek için çevirebileceğiniz veya değiştirebileceğiniz VR'de bir tür düğme veya kol bulunur.

Tam depo ve daha fazla bilgi için Github ve web siteme göz atın!

Adım 1: Malzemeler ve Araçlar

Malzemeler ve Araçlar
Malzemeler ve Araçlar
Malzemeler ve Araçlar
Malzemeler ve Araçlar

Mekanik:

4 Tekerlekten Çekiş Şasi Kiti

Elektriksel:

  • Tekerlek Kodlayıcı
  • 3S 1300mAh Batarya
  • Arduino Uno'su
  • Arduino Motor Kalkanı
  • Piezo Elektrikli Zil
  • Küçük LED
  • XT60 Konnektörler
  • Boost / Buck Dönüştürücü

Bilgisayar:

  • Herhangi bir gömülü bilgisayar sistemi: Raspberry Pi, Jetson Nano, vb.
  • USB Kamera (tercihen - 180 derece kamera)

Araçlar / Ekstra:

  • Havya
  • Bazı VR Kurulumları - Oculus Rift'im var
  • multimetre

Adım 2: Araba İnşa Et

Araba Yap
Araba Yap
Araba Yap
Araba Yap
Araba Yap
Araba Yap

Arabanın şasisini inşa etmek çok kolaydır. Sadece size verdikleri sekmeler aracılığıyla motorları ana karta bağlamanız yeterlidir. Tekerlekleri ve motorları taktıktan sonra, kamerayı arabanın önüne takmak için de bir şeye ihtiyacınız olacak.

Montaj için kameranın geldiği karton kutuyu kullandım. Büyük bir L şekli kestim ve kameranın iyice dürtmesi için bir delik açtım. Bundan sonra, kamerayı yuvaya yerleştirebilir ve yerinde tutmak için arkasına bir miktar bant koyabilirsiniz. İsterseniz şimdi farlarınız için de delikler açabilirsiniz veya daha sonra tel uzunluğunu ölçerken yapabilirsiniz.

Ayrıca tekerlek kodlayıcıyı tekerleklerden birine takmanız gerekecektir. Hangisi olduğu önemli değil, sol arka tekerleğe koydum. Manyetik diski tekerleğin gerçek miline koymanız gerekir ve kodlayıcı, yanındaki arabaya takılmalıdır. Oldukça alıcı, bu yüzden tam üzerinde olmasına gerek yok, ama mümkün olduğunca yakın. Kodlayıcımı bant ve fermuarla sabitledim. Enkoder, arabamızın hızını ölçmek için kullanacağımız şeydir.

Adım 3: Lehim Devreleri

Lehim Devreleri
Lehim Devreleri
Lehim Devreleri
Lehim Devreleri

Bu kısım oldukça sıkıcı ama karmaşık değil. Resmi takip ederseniz ve telinizi kesmeden önce her şeyi ölçerseniz, o kadar da kötü değil.

Bunu yaparken, doğru voltajı vermek için buck dönüştürücünüzü de kalibre etmelisiniz. Raspberry Pi ve Jetson Nano'nun ikisi de 5v alıyor, ancak pilimiz 11.1v'de. Bu yüzden elektroniklerimizi kızartmadığımızdan emin olmalıyız. Bunu yapmak için pilinizi buck dönüştürücünün giriş tarafına takın. Pil takılıyken, dönüştürücünün çıkış tarafını ölçmek için multimetrenizi kullanın. Çıkış voltajı 5v olana kadar dönüştürücü üzerindeki potansiyometreyi döndürmek için küçük bir düz tornavida kullanın. Çıktı doğru olduğunda, potansiyometreyi artık çevirmeniz gerekmeyecek.

Adım 4: Bağımlılıkları Gömülü Sisteme Kurun

Bağımlılıkları Gömülü Sisteme Kur
Bağımlılıkları Gömülü Sisteme Kur

Burada yapacak çok fazla bir şey yok, ama yine de inanılmaz derecede önemli.

Öncelikle, bundan sonra otomatik olarak bağlanabilmesi için kullanacağınız yönlendiriciye bağlandığınızdan emin olun.

Ardından, bir terminal açın ve aşağıdakileri yazın:

sudo uygun güncelleme

sudo apt install openssh sunucusu

sudo apt python-pip pip kurulumu numpy pip kurulumu opencv-python pip kurulumu pyzmq

Bu şeyler yüklendikten sonra, arduino'nun hangi bağlantı noktasına takılı olduğu önemli değil, her zaman tanındığından emin olmamız gerekir. Böylece, UDEV kuralları denilen şeyi yazıyoruz. Bunlar, bir şeyleri taktığınızda ne olacağını yöneten işletim sisteminiz için kurallardır. Takılı olduğunda arduino'yu tanımlamak ve ona erişmesi için bir ad vermek istiyoruz. Bu ad "arduino_0" olacaktır. Bunu yapmak için, onu tanımlamak için arduino'nun dahili seri numarasını kullanacağız.

udevadm bilgisi -a -n /dev/ttyUSB1 | grep '{seri}' | kafa -n1

Bu, seri numarası için bir değer tükürecek, devam edin ve bu değeri kopyalayın.

Daha sonra "99-usb-serial.rules" adlı bir dosyayı düzenlememiz (veya yoksa oluşturmamız) gerekiyor. Bu dosya aşağıdaki "/etc/udev/rules.d/99-usb-serial.rules" dosya yolunda bulunur. Bahsettiğim gibi, eğer o dosya yoksa, onu oluşturun ve aşağıdaki satıra VALUE_FROM_ABOVE ile değiştirdiğiniz değeri daha önce yapıştırın.

SUBSYSTEM=="tty", ATTRS{serial}=="VALUE_FROM_ABOVE", SYMLINK+="arduino_0"

Bu, işletim sistemine bu belirli seri numarasını gördüğünde onu arduino_0 olarak adlandırmasını söyler.

Burada yapılacak son şey, pushArucoVideoPullCommands.py dosyasını indirmek ve kolayca erişilebilir bir yere koymaktır. Kullanıcınız için ana dizini tavsiye ederim, çünkü daha sonra gömülü sisteme SSH yaptığımızda sona ereceğiz.

Adım 5: Statik IP Adresini Ayarlayın

Statik IP Adresini Ayarla
Statik IP Adresini Ayarla

Şimdi herkesin sevdiği kısım, IP adresleme. Bu projenin çalışması için kodun görüntülerin ve kontrol komutlarının nereye gönderileceğini bilmesi gerekiyor ve bu da cihazlarımızın statik bir IP'ye ihtiyacı olduğu anlamına geliyor.

Cihazınıza statik bir IP atamanın birçok yolu vardır, ancak yer istasyonumuzu ve gömülü sistemimizi birbirine bağlayan bir yönlendiricimiz olduğundan, bize belirli IP adreslerini çok kolay bir şekilde vermek için kullanabiliriz.

Yönlendiricinizin yönetici bölümüne gidin, genellikle (çoğu yönlendirici için) bu, bir web tarayıcısı açıp "192.168.1.1"e giderek yapılır. Sizden oturum açmanızı isteyecek ve çoğu yönlendirici için tipik standart kullanıcı adı ve parola "admin"dir.

Bir kez orada, 'DHCP Sunucusu'ndan bahseden bir şeye gidin. Bu, yönlendiricinizde çalışan ve her zaman sabit olan MAC Adresleriyle hangi cihazların kendisine bağlı olduğunu takip eden bir işlemdir. Önem verdiğimiz cihazları seçmek istiyoruz. yer istasyonu bilgisayarı ve gömülü sistem hakkında ve bunları ayrılmış istemci bölümüne ekleyin. Bu, bu yönlendiriciye her bağlandıklarında onlara statik bir ip verecektir.

Yerleşik Sistemin IP'sini 192.168.1.122 olarak ayarladığınızdan emin olun Yer istasyonunun IP'si herhangi bir şeye ayarlanabilir.

Adım 6: Kodu Arduino'ya Yükleyin

Arduino'ya Kod Yükle
Arduino'ya Kod Yükle

Arduino kodunu yüklemek için önce motor shield ile çalışacak bir kütüphane kurmamız gerekiyor.

Arduino IDE'nizde Sketch->Include Library->Manage Libraries… seçeneğine gidin ve Adafruit Motor Shield Library'yi arayın. Bu kütüphaneyi kurun, ardından kodu arduino'nuza yükleyin, başka bir şey gerekmez.

7. Adım: Devreyi ve Bilgisayarı Arabaya Bağlayın

Devreyi ve Bilgisayarı Arabaya Bağlayın
Devreyi ve Bilgisayarı Arabaya Bağlayın

Artık devre kurulduğuna göre, hepsini arabaya koyma zamanı. Yalan söylemeyeceğim, bu şeylerin çoğu sadece bantla tutuluyor çünkü bu benim için çok hızlı bir şekilde tokatlamak benim için en kolay olanıydı. Bununla birlikte, yukarıdaki resimde görüldüğü gibi montaj delikleri takılmıştır.

Çoğu şeyin arabanın üstünde bir yere oturmasına izin vermek oldukça kolaydır, bu yüzden çok fazla alan yoksa endişelenmeyin.

8. Adım: VR Ortamını Kurun

VR Ortamını Ayarlayın
VR Ortamını Ayarlayın

Bu bölüm, ne tür bir VR kurulumuna sahip olduğunuza bağlı olarak biraz farklı görünecek. Durum ne olursa olsun, bu yazılımı geliştirmek için SteamVR kullandım, bu yüzden onu yüklemeniz gerekebilir.

SteamVR kullandığınız sürece, kontroller farklı kontrolörlere uyum sağlamalıdır. Kontrolleri "Eylemler" ile eşleştirdim, düğmelere gerek yok, bu yüzden teoride herkes için uyarlanacak.

Tek yapmanız gereken, build Unity world ile dosyayı indirip sıkıştırmasını açmanız ve VR_Bot.exe'yi çalıştırmaya hazır olmanız.

9. Adım: Hepsini Birlikte Çalıştırın

Her Şeyi Birlikte Çalıştırın
Her Şeyi Birlikte Çalıştırın
Her Şeyi Birlikte Çalıştırın
Her Şeyi Birlikte Çalıştırın

Artık araba kurulumuna ve yer istasyonuna bağlı ve gitmeye hazır olduğuna göre, bu kötü çocuğu gerçekten nasıl çalıştıracağız? Yer İstasyonunun bakış açısından, yapmanız gereken tek şey daha önce gördüğümüz VR_Bot.exe dosyasını çalıştırmak.

Aynı zamanda, Gömülü Sisteme pili takmanız ve otomatik olarak açılmasını ve yönlendiricinize bağlanmasını sağlamanız gerekecektir. Bir kez başlatıldığında, içine SSH. Buna erişmek için yer istasyonunda bir tür terminale ihtiyacınız olacak, GitBash'i öneririm.

SSH, Secure Shell anlamına gelir ve uzak sistemlere güvenli bir şekilde erişmek için bir protokoldür. Bizim durumumuzda, Yer İstasyonundan Gömülü Sisteme erişmemizi sağlayacaktır. Daha fazlasını öğrenmek için buraya tıklayın.

Gömülü sisteminizi kurduğunuz kullanıcı adını bilmeniz gerekir. Raspberry pi'ler için varsayılan kullanıcı adı 'pi' ve şifre 'raspberry'dir.

Kurulduktan sonra bir terminal açın ve aşağıdakini yazın:

ssh {Yerleşik Sistemin kullanıcı adı}@192.168.1.122

Bu, Gömülü Sistemde bir terminal açacaktır.

Bir kez orada, daha önce kopyaladığımız python betiğini çalıştırmanız yeterlidir.

python /path/to/pushArucoVideoPullCommands.py

Bunu yaptıktan sonra, Gömülü Sistem görüntüleri dışarı pompalamaya ve yer istasyonuna giden ve gelen komutları almaya başlayacaktır.

O zaman araba kullanmaya ve eğlenmeye başlamanız iyi olur!

Önerilen: