İçindekiler:

Otonom Langırt Masası: 5 Adım (Resimlerle)
Otonom Langırt Masası: 5 Adım (Resimlerle)

Video: Otonom Langırt Masası: 5 Adım (Resimlerle)

Video: Otonom Langırt Masası: 5 Adım (Resimlerle)
Video: BUNU YAŞAMAYAN YOKTUR 😂 #emirbeşli #shorts 2024, Kasım
Anonim
Otonom Langırt Masası
Otonom Langırt Masası
Otonom Langırt Masası
Otonom Langırt Masası
Otonom Langırt Masası
Otonom Langırt Masası

Ana proje hedefi, bir insan oyuncunun robotik bir rakiple karşılaştığı bir Otonom Langırt Masası (AFT) için çalışan bir prototipi tamamlamaktı. Oyunun insan açısından bakıldığında, langırt masası normal bir masaya çok benzer. İnsan tarafındaki oyuncu(lar), oyuncuları oyun alanı boyunca doğrusal olarak hareket ettirmek ve rakibin kalesine doğru tekmelemek için içeri ve dışarı hareket ettirilebilen ve döndürülebilen bir dizi dört kol ile kontrol edilir. Otonom taraf şunlardan oluşur:> Langırt masasının kollarını manipüle etmek için kullanılan sekiz servo motor> Servo motorları etkinleştirmek ve bilgisayarla iletişim kurmak için bir mikro denetleyici> Topu ve oyuncuları izlemek için baş üstüne monte edilmiş bir web kamerası> İşlem yapmak için bir bilgisayar web kamerası görüntüleri, yapay zeka uygulamak ve mikrodenetleyici ile iletişim kurmak Prototip için bütçe kısıtlamaları projeyi biraz yavaşlattı ve işlevselliğini minimumda tuttu. Oyuncuları rekabetçi bir hızda hareket ettirmek için uygun motorların çok pahalı olduğu bulundu, bu nedenle alt uç servoların kullanılması gerekiyordu. Bu özel uygulama maliyet ve zamanla sınırlı olsa da, daha büyük bir dişli oranı daha hızlı oynayan bir robot sağlayacaktır, ancak bunu yapmak, 500$'lık taban fiyattan daha pahalıya mal olur (güç kaynağı ve bilgisayar olmadan fiyat).

Adım 1: Motor Kontrol Kartının Montajı

Motor Kontrol Kartının Montajı
Motor Kontrol Kartının Montajı
Motor Kontrol Kartının Montajı
Motor Kontrol Kartının Montajı
Motor Kontrol Kartının Montajı
Motor Kontrol Kartının Montajı
Motor Kontrol Kartının Montajı
Motor Kontrol Kartının Montajı

Ekli resimler, tam devre şemasının yanı sıra motor kontrol panosu için nihai ürünün bir resmidir. Bu gerekli parçaların tümü, çoğu büyük çevrimiçi elektronik mağazasından satın alınabilir (Digi-Key ve Mouser dahil. Bir ek not olarak, burada kullanılan tüm parçalar açık deliktir ve bu nedenle, parçalar bir protokol/breadboard üzerine monte edilebilir). veya ekli PCB tasarımı kullanılarak. Birkaç yüzeye montaj parçası kullanılarak çok daha küçük bir paket oluşturulabilir. Tasarımı uyguladığımızda, motor kontrollerini 2 devreye ayırdık, ancak bunun dışında bir avantajı yok. kullanılan herhangi bir özel kablo şeması Küçük mavi kart, temelde sadece bazı özel kodlarla saatli bir PIC-12F olan PWM kontrol devresini uygular.

Adım 2: Servo Motor Komplesi

Servo Motor Grubu
Servo Motor Grubu
Servo Motor Grubu
Servo Motor Grubu
Servo Motor Grubu
Servo Motor Grubu

İki farklı tip servo kullanılmaktadır. İlk olarak, yanal hareket bir grup dört yüksek torklu servo tarafından kontrol edilir: Robotis Dynamixel Tribotix AX-12. Bu dördü tek bir seri hat üzerinde çalışır ve harika işlevsellik sağlar. Yüksek tork, bu servoların yanal hareket için yüksek bir teğetsel hız sağlayacak şekilde düzenlenmesini sağlar. Grainger'dan her biri yaklaşık 10$'lık bir 3,5 inçlik dişli ve palet seti bulabildik. Servolar, tork aşırı yük koruması, bireysel bir servo adresleme şeması, hızlı iletişim, dahili sıcaklık izleme, iki yönlü iletişim vb. sağlar. Bu servoların dezavantajı, pahalı olmaları ve çok hızlı olmamalarıdır (dişlilerin onlara yardımcı olmasına rağmen). Bu yüzden tekme için daha hızlı hareket elde etmek için Hitec HS-81'ler kullanılır. HS-81'ler nispeten ucuzdur, oldukça hızlı bir açısal hıza sahiptir ve arayüzlenmesi kolaydır (standart PWM). Ancak HS-81'ler yalnızca 90 derece döner (ancak bunları 180 dereceye değiştirmeye çalışmak mümkündür ve önerilmez). Ek olarak, servoyu değiştirmeye çalışırsanız kolayca sıyrılan dahili naylon dişlilere sahiptirler. Bu tür açısal hıza sahip 180 derece dönen bir servo bulmak paraya değecektir. Tüm sistem, orta yoğunluklu lif levha (MDF) ve yüksek yoğunluklu lif levha (HDF) parçalarıyla birbirine bağlanmıştır. Bu, düşük maliyeti (6'x4' levha için ~5$), kesme kolaylığı ve hemen hemen her yüzeyle arayüz oluşturma yeteneği nedeniyle seçilmiştir. Daha kalıcı bir çözüm, her şeyi bir arada tutmak için alüminyum braketleri işlemek olacaktır. PWM servolarını yerinde tutan vidalar, onları diğer taraftan tutan altıgen somunlu standart makine vidalarıdır (#10s). Yaklaşık 3/4 uzunluğundaki 1 mm metrik makine vidaları, AX-12'yi iki servoyu birbirine bağlayan MDF'nin içinde tutar. Çift hareketli bir çekmece rayı, tüm montajı aşağıda ve ray ile aynı hizada tutar.

3. Adım: Yazılım

Yazılım
Yazılım

Son adım, makinede kullanılan tüm yazılımları yüklemektir. Bu, birkaç ayrı kod parçasından oluşur:> Görüntü işleme bilgisayarında çalıştırılan kod> PIC-18F mikro denetleyicisinde çalışan kod> PIC-12F mikro denetleyicilerinin her birinde çalışan kod Görüntü işlemeye yüklemek için iki ön koşul vardır bilgisayar. Görüntü işleme, Sun aracılığıyla burada bulunan Java Media Framework (JMF) aracılığıyla yapılır. Sun aracılığıyla da kullanılabilen Java Communications API, bilgisayardaki seri bağlantı noktası üzerinden motor kontrol panosuyla iletişim kurmak için kullanılır. Java kullanmanın güzelliği, bir linux dağıtımı olan Ubuntu'yu kullanmamıza rağmen, herhangi bir işletim sisteminde *çalışabilmesidir*. Popüler görüşün aksine Java'daki işlem hızı, özellikle temel döngüde (görüş analizinin biraz kullandığı) çok kötü değil. Ekran görüntüsünde görüldüğü gibi, her kare güncellemesinde hem top hem de rakip oyuncular izleniyor. Ek olarak, tablonun ana hatları görsel olarak yerleştirilmiştir, bu nedenle görsel bir anahat oluşturmak için mavi ressamlar bandı kullanılmıştır. Bilgisayar, arka arkaya 10 kare boyunca topun yerini tespit edemediğinde, genellikle topun oyun yüzeyinden kaleye düştüğünü gösteren goller kaydedilir. Bu olduğunda, yazılım, hedefin yönüne bağlı olarak, kendini neşelendirmek veya rakibi yuhalamak için bir ses baytı başlatır. Daha iyi bir sistem, uygulamaya zamanımız olmamasına rağmen, kaleye düşen topu algılamak için basit bir kızılötesi emitör/sensör çifti kullanmak olacaktır. Bu projede kullanılan tüm yazılımlar tek bir zip dosyasında mevcuttur., Burada. Java kodunu derlemek için javac komutunu kullanın. PIC-18F ve PIC-12F kodu, Microchip'in MPLAB yazılımı ile dağıtılır.

4. Adım: Web Kamerası Bağlantısı

Web Kamerası Montajı
Web Kamerası Montajı

Tavsiye edilmemesine rağmen, bir Philips SPC-900NC web kamerası kullanıldı. Bu kameranın teknik özellikleri, Philips'teki mühendislik veya satış personeli tarafından tahrif edildi. Bunun yerine, işletim sistemi tarafından desteklendiği sürece herhangi bir ucuz web kamerası yeterli olacaktır. Web kameralarının linux altında kullanımıyla ilgili daha fazla bilgi için bu sayfaya göz atın. Web kamerasının odak uzaklığının gerektirdiği mesafeyi, tüm langırt masasını çerçeveye sığdırmak için ölçtük. Bu kamera modeli için bu sayının 5 fitin biraz üzerinde olduğu ortaya çıktı. Kamera için bir montaj parçası oluşturmak için herhangi bir büyük hırdavatçıdan temin edilebilen raf raflarını kullandık. Raflar, masanın dört köşesinden yukarı doğru uzanır ve açılı alüminyum braketlerle çapraz desteklenir. Yazılım, x ve y ekseninin masaya hizalandığını varsaydığından, kameranın ortalanmış olması ve açısal dönüşü olmaması çok önemlidir.

Adım 5: Sonuç

İlgili tüm proje dosyaları bu siteden indirilebilir. Site içeriğinin çoğunluğunun bir yedeği burada, kişisel web sunucumda bulunabilir. Bu, bir pazarlama analizinin yanı sıra değiştireceğimiz şeyleri, orijinal hedeflerimizi ve gerçekte hangi özelliklere ulaşıldığının bir listesini içeren nihai raporu içerir. Proje, dünyanın en rekabetçi oyuncusu DEĞİLDİR. Böyle bir canavarı tasarlamak için kullanılan adımların daha fazlasını ve inanılmaz derecede düşük bir maliyetle inşa edilmiş bu tip robotun iyi bir prototipini göstermek için iyi bir araçtır. Dünyada buna benzer başka robotlar da var ve kesinlikle birçoğu bu robotu "dövecek". Bu proje, Georgia Tech'de bir grup dört elektrik/bilgisayar mühendisi tarafından kıdemli bir tasarım projesi olarak tasarlandı. Hiçbir makine mühendisi tarafından herhangi bir yardım alınmadı ve hiçbir üçüncü taraf finansmanı kullanılmadı. Hepimiz için harika bir öğrenme süreciydi ve kıdemli tasarım kursu zamanının iyi bir şekilde kullanılmasıydı. Teknik stratejilerdeki sürekli yardımları için bölüm danışmanımız Dr. James Hamblen'e teşekkür etmek istiyorum> baş profesör Dr. Jennifer Michaels, bizi daha iddialı bir projeye girişmekten caydırmadıkları için> Kıdemli tasarım laboratuvarı yöneticileri James Steinberg ve Edgar Jones, parça sipariş etme, sorun giderme ve projeye düşük maliyetle atılacak "harika şeyler" bulma konusunda sürekli yardım için ve yüksek işlevsellik> Ve elbette, bunların hiçbiri mümkün olmayacak olan ekibimin diğer üç üyesi: Michael Aeberhard, Evan Tarr ve Nardis Walker.

Önerilen: