3 Eksenli Top Dengeleme Robotu



(Ball Balancing Robot)
Bu proje, kamera destekli geri besleme, ters kinematik hesaplamalar ve PID kontrol algoritması kullanarak bir topu, üç motorlu hareketli bir platform üzerinde gerçek zamanlı olarak dengeleyen gelişmiş bir mekatronik sistemdir.
Sistem; mekanik tasarım, elektronik donanım ve yazılımın bir arada çalıştığı tam anlamıyla disiplinler arası bir projedir. Endüstride kullanılan kontrol mantıklarının birebir uygulanmış hâlidir.
Projenin Temel Mantığı
Bu robotun çalışma mantığı 5 ana adımdan oluşur:
- Kamera topun konumunu algılar
- Topun merkezden sapması hesaplanır (X – Y hatası)
- Bu hata PID kontrolcüye gönderilir
- PID çıktısı ters kinematik ile motor açılarına çevrilir
- Servo motorlar platformu eğerek topu merkeze geri taşır
Bu döngü saniyede onlarca kez tekrar eder ve sistem sürekli kendini düzeltir.
Görüntü İşleme (Kamera & OpenCV)

Topun algılanması için Raspberry Pi Camera ve OpenCV kullanılmıştır.
Neden Kamera?
- Fiziksel sensörlere göre daha hassas ve esnek
- Platforma temas etmeden ölçüm
- Gerçek konum bilgisini (X, Y) doğrudan verir
Kullanılan Yöntem
- Görüntü HSV renk uzayına çevrilir
- Topun rengine göre maskeleme yapılır
- Kontur tespiti ile topun merkezi bulunur
- Ekranın orta noktası referans alınarak hata hesaplanır
Neden HSV?
Çünkü ışık değişimlerinden RGB’ye göre çok daha az etkilenir.
Ters Kinematik (Inverse Kinematics)

4
Bu sistemde 2 giriş (X, Y hatası) bulunur ancak 3 çıkış (servo açıları) üretilir.
Neden 3 Motor?
- Platform 3 noktadan desteklenir
- Daha kararlı ve titreşimsiz hareket
- Endüstriyel paralel robot mantığı
Mantık
- X ve Y yönündeki eğim ihtiyacı hesaplanır
- Bu eğim, platform geometrisine göre 3 servoya paylaştırılır
- Her motor farklı açıda ama uyumlu hareket eder
Bu hesaplama ters kinematik ile yapılır ve sistemin en kritik kısmıdır.
PID Kontrol Sistemi

Topun dengede kalabilmesi için klasik ama çok güçlü bir kontrol yöntemi kullanılmıştır:
PID Control
PID Nedir?
- P (Proportional): Anlık hataya tepki
- I (Integral): Zamanla biriken hatayı düzeltir
- D (Derivative): Ani hareketleri yumuşatır
Neden PID?
- Gerçek zamanlı sistemler için ideal
- Ayarlanabilir ve kararlı
- Endüstride standart
PID değerleri deneysel olarak ayarlanmış ve salınım yapmadan, topu düşürmeden çalışacak şekilde optimize edilmiştir.
Donanım ve Elektronik Bileşenler

Kullanılan Elektronikler
- Raspberry Pi 5 – Ana kontrol birimi
- Raspberry Pi Camera 3 – Görüntü işleme
- PCA9685 – 16 kanallı servo sürücü
- MG90S Metal Dişli Servo (3 adet) – Platform hareketi
- Harici güç kaynağı – Servo stabilitesi için
Neden PCA9685?
Çünkü Raspberry Pi doğrudan servo sürmek için yeterli PWM kararlılığı sunmaz.
Yazılım Yapısı (Kod Mimarisi)
Yazılım tamamen modüler şekilde tasarlanmıştır.
Kullanılan Teknolojiler
- Python
- OpenCV
- NumPy
- Custom PID sınıfı
Kod Modülleri
Camera.py→ Top algılamaPIDController.py→ Kontrol algoritmasıKinematics.py→ Ters kinematik hesaplarServoController.py→ Motor kontrolüMain.py→ Sistem döngüsü
Bu yapı sayesinde:
- Kod okunabilir
- Geliştirilebilir
- Farklı projelere kolayca uyarlanabilir
Mekanik Tasarım & 3D Baskı




Mekanik Yapı
- Üst platform: Pleksi disk
- Alt taşıyıcılar: 3D baskı
- Servo bağlantıları: Özel tasarım
3D Baskı Detayları
- Filament: PLA+
- Nozzle: 0.6 mm
- Doluluk: %25 – %35
- Baskı süresi:
- Parça başı: 3 – 6 saat
- Toplam: ~18 – 24 saat
Neden PLA+?
- Rijit
- Kolay işlenebilir
- Prototip için ideal
Projenin Amacı ve Kullanım Alanları
Bu proje:
- Kontrol sistemleri eğitimi
- Robotik & mekatronik AR-GE
- PID & kinematik öğretimi
- Kamera tabanlı otomasyon örneği
için birebir gerçek dünya uygulamasıdır.