İçindekiler:

UStepper Robot Kol 4: 5 Adım
UStepper Robot Kol 4: 5 Adım

Video: UStepper Robot Kol 4: 5 Adım

Video: UStepper Robot Kol 4: 5 Adım
Video: ustepper Robot ARM DEMO 2024, Kasım
Anonim
UStepper Robot Kol 4
UStepper Robot Kol 4
UStepper Robot Kol 4
UStepper Robot Kol 4
UStepper Robot Kol 4
UStepper Robot Kol 4
UStepper Robot Kol 4
UStepper Robot Kol 4

Bu, uStepper step kontrol panomuz için bir uygulama olarak geliştirdiğim Robotik kolumun 4. yinelemesi. Robot 3 kademeli motora ve çalıştırma için bir servoya sahip olduğundan (temel konfigürasyonunda) uStepper ile sınırlı değildir, ancak herhangi bir kademeli sürücü kartı ile kullanılabilir.

Tasarım endüstriyel bir paletleme robotuna dayanmaktadır ve nispeten basittir. Bununla birlikte, tasarımı bulmak ve hem montaj kolaylığı hem de parçaları yazdırma kolaylığı için optimize etmek için sayısız saatler harcadım.

Tasarımı baskı kolaylığı ve montaj kolaylığı göz önünde bulundurarak yaptım. Bu iki parametreyi geliştirmenin bir yolu olmadığından değil, ama bence çok yol kat ettim. Ayrıca, endüstriyel robotiği, nispeten basit hale getirilebileceğini göstererek, hobinin takip edebileceği bir seviyeye çekmek istiyorum - ayrıca onu kontrol etmek için matematik!

Hem tasarım hem de hepsinden önemlisi (özellikle matematik) herkes için erişilebilir kılmak için nasıl yaptığımla ilgili yapıcı geri bildirim ile bir yorum bırakmaktan çekinmeyin.

Adım 1: Gerekli Parçalar, 3D Baskı ve Montaj

Gerekli Parçalar, 3D Baskı ve Montaj
Gerekli Parçalar, 3D Baskı ve Montaj
Gerekli Parçalar, 3D Baskı ve Montaj
Gerekli Parçalar, 3D Baskı ve Montaj
Gerekli Parçalar, 3D Baskı ve Montaj
Gerekli Parçalar, 3D Baskı ve Montaj
Gerekli Parçalar, 3D Baskı ve Montaj
Gerekli Parçalar, 3D Baskı ve Montaj

Temel olarak bilmeniz gereken her şey montaj kılavuzundadır. Hem satın alınan hem de yazdırılan parçalarla birlikte ayrıntılı bir ürün reçetesi ve ayrıntılı bir montaj talimatı bulunmaktadır.

3D baskı, 0,2 mm katman yüksekliği ve %30 dolgu ile makul kalitede bir 3D yazıcıda (FDM) yapılır. Parçaların ve talimatların en son yinelemesini burada bulabilirsiniz:

2. Adım: Kinematik

Kinematik
Kinematik
Kinematik
Kinematik

Kolun öngörülebilir bir şekilde hareket etmesini sağlamak için matematik yapmanız gerekir: OI, bu tür robotlarla ilgili kinematiğin nispeten basit bir açıklaması için birçok yere baktım, ancak üzerinde olduğuna inandığım bir tane bulamadım. Çoğu insanın anlayabildiği bir seviyeydi. Kinematik için kendi versiyonumu sadece trigonometriye dayalı yaptım ve bu şeyler üzerinde daha önce hiç çalışmadıysanız oldukça korkutucu görünebilecek matris dönüşümlerine değil - ancak, sadece 3 DOF olduğu için bu robot için oldukça basitler.

Yine de, ekteki belgedeki yaklaşımımın nispeten kolay anlaşılır bir şekilde yazıldığını düşünüyorum. Ama bir göz atın ve size mantıklı gelip gelmediğini görün!

Adım 3: Kinematiğin Kodlanması

İlkinde verdiğim hesaplamalarla bile kinematikleri kavramak zor olabilir. İşte ilk önce bir Octave uygulaması - Octave, Matlab'da bulunan aynı özelliklerin çoğuna sahip ücretsiz bir araçtır.

L10 = 40; Zo = -70; L_2 = 73.0; Au = 188.0; Al = 182.0; Lo = 47.0; ÜST ARMLEN = Au; ALT ARMLEN = Al; XOFFSET = Lo; ZOFFSET = L_2; AZOFFSET = Zo; AXOFFSET = L1o; disp('Kod uygulaması') disp('Giriş açıları:') rot = deg2rad(30); sağ = derece2rad(142.5); sol = derece2rad(50); rad2deg(rot) rad2deg(sağ) rad2deg(sol) T1 = rot;#base T2 = right;#omuz T3 = sol;#elbow #FW kinematiği XYZ'yi açılardan almak için: disp('Hesaplanan X, Y, Z:') z = ZOFFSET + sin(sağ)*ALT ARMLEN - cos(sol - (pi/2 - sağ))*ÜST ARMLEN + AZOFFSET k1 = sin(sol - (pi/2 - sağ))*ÜST ARMLEN + cos(sağ)* ALT ARMLEN + XOFFSET + AXOFFSET; x = cos(rot)*k1 y = sin(rot)*k1 ##XYZ'den açıları almak için ters kinematik: rot = atan2(y, x); x = x - cos(rot)*AXOFFSET; y = y - sin(rot)*AXOFFSET; z = z - AZOFFSET-ZOFFSET; L1 = kare(x*x + y*y) - XOFFSET; L2 = kare((L1)*(L1) + (z)*(z)); a = (z)/L2; b = (L2*L2 + ALT KOLLU*ALT KOLLU - ÜST KOLLU*ÜST KOLLU)/(2*L2*ALT KOLLU); c = (ALT ARMLEN*ALT ARMLEN + ÜST ARMLEN *ÜST ARMLEN - L2*L2)/(2*ALT ARMLEN*ÜST ARMLEN); sağ = (atan2(a, sqrt(1-a*a)) + atan2(sqrt(1-b*b), b)); sol = atan2(sqrt(1-c*c), c); ##output hesaplanan açılar disp('Çıkış açıları:') rot = rad2deg(rot) sağ = rad2deg(sağ) sol = rad2deg(sol)

Yukarıdaki komut dosyası ile temel olarak ileri ve geri kinematik için uygulamaya hazır koda sahipsiniz.

Belirli bir motor açıları seti ile nereye varacağınızı hesaplamak için kullandığınız İleri Kinematik. Ters kinematik daha sonra (tersini yapar) istenen bir x, y, z konumunda sonlandırmak için hangi motor açılarına ihtiyacınız olduğunu hesaplar. Motor hareketi üzerindeki kısıtlamalar, örn. dönme tabanı sadece 0 ila 359 derece arasında gidebilir. Bu sayede mümkün olmayan pozisyonlara gitmeyeceğinizden emin olursunuz.

Adım 4: Şeyi Çalıştırmak

Image
Image

Kinematik kitaplığı uygulamasında tam olarak orada değiliz, bu yüzden henüz sağlayamıyorum. Ama nasıl çalıştığına dair bir video gösterebilirim. Burada uStepper S kartları olan makul kaliteli tahriklerin yanı sıra, yatakların ve kayış tahrikinin kullanılması nedeniyle oldukça kararlı ve pürüzsüzdür.

Adım 5: Ek Son Etkileyiciler

Ek Son Etkileyiciler
Ek Son Etkileyiciler
Ek Son Etkileyiciler
Ek Son Etkileyiciler

3 ek uç efektör tasarladım. Biri oldukça basit bir şekilde yatay bir tutucu, diğeri normal bir Avrupa bira veya soda kutusuna uyar ve son olarak bir vakum kabına, pompaya ve valfe takmanızı sağlayan bir vakumlu tutucu sistemi var.

Hepsi burada olacak veya mevcut olacak (3D STL dosyaları ve talimatlar):

Önerilen: