Skip to content

3 Serbestlik Dereceli Manipülatör Kinematiği, Yörünge Planlama ve Simülasyon Optimizasyonu

GitHub: 3 Axis Robot

Proje Özeti

Bu projede, kartezyen uzayda otonom yörünge takibi ve harf çizimi gerçekleştirebilen 3 eksenli (3-DOF) döner mafsallı bir robotik manipülatörün kinematik analizini, yörünge planlama algoritmalarını ve yüksek çözünürlüklü simülasyon entegrasyonunu geliştirdim.

Projenin temel hedefleri doğrultusunda sistemin matematiksel ve algoritmik altyapısını tamamen 3 eksenli uzay geometrisine göre tasarladım. End effector yalnızca XX , YY ve ZZ öteleme koordinatlarında hareket kabiliyetine sahip. Ancak, projeme profesyonel bir endüstri standardı ve görsel zenginlik katmak amacıyla simülasyon arayüzünde 6 eksenli UR5 modelini kullandım. Görüntüde 6 eksenli bir donanım bulunsa da, yönelim matrislerini yazılımsal olarak kilitleyerek donanımı 3 eksenli çalışmaya zorladım ve yaptığım tüm iteratif çözümleri, hata fonksiyonlarını kısıtladığım bu 3 serbestlik derecesine göre hesapladım.

Kinematik Model ve İndirgeme Stratejisi

1. İleri Kinematik (Forward Kinematics)

End effector’un 3 boyutlu uzaydaki pozisyonunu hesaplamak için Denavit-Hartenberg (DH) homojen dönüşüm matrisleri (Ai)A_i) kullandım. Her bir eksen geçişi için genel DH matrisi şu şekilde tanımladım:

Ai=[cos⁡θi−sin⁡θicos⁡αisin⁡θisin⁡αiaicos⁡θisin⁡θicos⁡θicos⁡αi−cos⁡θisin⁡αiaisin⁡θi0sin⁡αicos⁡αidi0001] A_i = \begin{bmatrix} \cos\theta_i & -\sin\theta_i\cos\alpha_i & \sin\theta_i\sin\alpha_i & a_i\cos\theta_i \\ \sin\theta_i & \cos\theta_i\cos\alpha_i & -\cos\theta_i\sin\alpha_i & a_i\sin\theta_i \\ 0 & \sin\alpha_i & \cos\alpha_i & d_i \\ 0 & 0 & 0 & 1 \end{bmatrix}

İleri kinematik denklemi, taban koordinat sisteminden en effectora kadar olan ardışık matris çarpımlarından oluşur. Sistemi matematiksel olarak 3 eksendr kısıtladığım için temel öteleme denklemi şu yapıda oluştu:

T03(q)=A1(q1)⋅A2(q2)⋅A3(q3) T_0^3(q) = A_1(q_1) \cdot A_2(q_2) \cdot A_3(q_3)

2. Ters Kinematik (Inverse Kinematics)

Kartezyen uzayda belirlenen yörünge noktalarına ulaşmak için gerekli eklem açılarının (q)q) hesabı, Levenberg-Marquardt (LM) Nümerik Çözücü algoritması ile hesapladım. LM algoritması, Jacobian tabanlı aşağıdaki sönümlemeli (damped) iterasyon denklemini kullanarak hedef fonksiyondaki hatayı minimize eder:

qk+1=qk+(JTJ+λdiag(JTJ))−1JTe q_{k+1} = q_k + (J^T J + \lambda \text{diag}(J^T J))^{-1} J^T e

Bu yaklaşım, geleneksel Newton-Raphson yöntemine kıyasla tekillik (singularity) bölgelerinde kilitlenmeleri önleyerek çok daha stabil bir yakınsama sağlaması. Eklem limitlerini de fiziksel katmanları önleyecek şekilde düzenledim.

Robot Arm Simulation

Yörünge Planlamada Karşılaşılan Sorunlar ve Optimizasyonlar

1. “Null-Space” (Boş Uzay) Karmaşası ve 3-Eksen İndirgemesi

Problem: Simülasyonda kullandığım UR5 modeline hedef olarak yalnızca pozisyon verisi (X,Y,ZX, Y, Z) gönderdiğimde, ters kinematik çözücü pozisyon hatasını sıfırlamak için yönelim serbestliğini bozduğunu fark ettim. Bu Null-Space karmaşası, robotun bilek eksenlerini aniden 180 derece döndürmesine ve dirseğin beklenmedik bir şekilde ters açıyla kırılarak (elbow-flip) tehlikeli sıçramalar yapmasına neden oluyordu.

Çözüm: Sistemi 3-DOF olarak korumak ve sıçramaları önlemek için Görev Uzayı Kısıtlaması (Task-Space Constraint) uyguladım. Robotun güvenli home pozisyonundaki rotasyon matrisi okunarak (RfixedR_{fixed}) kilitledim. Ve hedef koordinatlara bu sabit yönelimi ekledim. Bu sayede 6 eksenli donanımı, matematiksel olarak 3 eksenli bir mekanizmaya indirgedim.

2. Yörünge Sıçrama (Jumping) Problemi ve Hibrid Planlama

Problem: Robotun bir harfi çizmeyi bitirdikten sonra, onu ardışık olmayan farklı bir başlangıç koordinatına doğrudan çektiğimde, eklem uzayında tanımsız ivmelenmeler ve ani hız sıçramaları oluştu.

Çözüm: Bu ivmelenmeleri yumuşatmak adına hibrid yörünge planlama stratejisi geliştirdim. End effector’un aktif çizim hatlarında kartezyen uzay enterpolasyonu (ctraj), harf geçişlerinde ve başlangıç noktasına gidişlerde ise eklem uzayı enterpolasyonu (jtraj) kullanarak açısal hızları doğrusal ve kontrollü hale getirdim.

3. Tekillik (Singularity) ve Öz-Çarpışma (Self-Collision) Durumları

Problem: Sonsuzluk işareti gibi geniş çalışma uzayı gerektiren yörüngelerin merkezini sınır bölgelere (maksimum erişim yarıçapına) yakın seçtiğimde, kollar tamamen gerilerek kinematik tekilliğe düştü. Kinematik denklemlerin çözüm kümesinin bulduğu noktalara ulaşmaya çalışırken bu kilitlenmeden kurtulma çabası, katı modellerin fiziksel olmayan bir biçimde iç içe geçmesine (self-collision) sebebiyet verdi.

Çözüm: “Manipulability Ellipsoid” (Hareket Kabiliyeti Elipsoidi) analizi yaparak robotun dirsek esnekliğinin en optimum olduğu noktayı buldum. Tüm yörünge merkezlerini X=0.35mX=0.35m ve Z=0.20mZ=0.20m eksenine çekerek kolların çalışma alanını matematiksel olarak kısıtlayarak güvenli bükülme limitleri içine sıkıştırdım.

Simülasyon Dinamikleri ve Nesne Havuzu (Object Pooling) Mimarisi

Yüksek çözünürlüklü Swift simülasyon ortamında, yörünge izi bırakmak için binlerce küresel noktayı anlık olarak yaratmak, bellek sızıntılarına ve işlemci darboğazlarına yol açtı.

Bu yazılımsal yükü minimalize etmek için Object Pooling adında bir çözüm buldum:

  • Simülasyon başlatıldığında bellekte 800 adet nesneyi tek seferde oluşturup sahne dışına (yeraltında, Z=−5mZ=-5m) öteledim.
  • Çizim esnasında ileri kinematik matrisinden end effectorun anlık konumunu okuyarak bu nesneleri ilgili koordinatlara taşıdım.
  • “Garbage Collector” yükünü sıfırlayarak kesintisiz ve yüksek kare hızına sahip bir simülasyon ortamına ulaştım.

Visual Simulation

Sonuç

Bu projeyle, 3 serbestlik dereceli temel bir kinematik modelin, uygun sınırlandırma algoritmaları ve görev uzayı kısıtlamaları kullanarak UR5 gibi 6 eksenli profesyonel bir endüstriyel manipülatörde nasıl simüle edilebileceğini göstermektedir. Ters kinematik çözümlerde karşılaşılan boş uzay (null-space) kilitlenmeleri ve tekillik problemleri yönelim sabitleme ve çalışma uzayı optimizasyonları ile başarılı bir şekilde çözülmüştür. Sonuç olarak, hem teorik isterleri sağlayan hem de yazılımsal mimarisiyle endüstri standartlarına uygun bir yörünge planlama sistemi geliştirilmiştir.

Bu projeyle, 3 serbestlik dereceli temel bir kinematik modelin, uygun sınırlandırma algoritmaları ve görev uzayı kısıtlamaları kullanılarak 6 eksenli profesyonel bir endüstriyel manipülatörde nasıl stabil bir şekilde simüle edilebileceğini uygulamalı olarak göstermiş oldum. Karşılaştığım null-space kilitlenmeleri, tekillik ve optimizasyon problemlerini aşarak, teorik hedeflerimi karşılayan bir yörünge planlama sistemi geliştirdim.