Robotik Mühendisliği

Robotik Mühendisliği
Bu sayfanın QR kodu

Robotik mühendisliğini mekanik, eyleyici, sensör, kinematik, Jacobian, dinamik, kontrol, gerçek zamanlı yazılım, hareket planlama, durum kestirimi, SLAM, simülasyon ve güvenilir sistem entegrasyonu ekseninde ele alan akademik ders notu.

Robotik mühendisliği; mekanik yapı, eyleyici, sensör, güç elektroniği, gömülü sistem, gerçek zamanlı yazılım, durum kestirimi, planlama ve kontrolün aynı fiziksel sistem üzerinde birlikte çalışmasını inceler. Robotun davranışı yalnız kaynak kodun çıktısı değildir; ölçüm belirsizliği, koordinat sistemi, gecikme, mekanik boşluk, doygunluk, güç sınırı ve haberleşme durumu da davranışın parçasıdır.

Bu ders notu robot mimarisinden başlayarak eyleyiciler ve sensörler, kinematik ve dinamik, Jacobian, kontrol, hareket planlama, gömülü yazılım, telemetri, insan-robot etkileşimi, simülasyon, güvenilirlik, yapay zekâ, konumlama ve SLAM konularını birbirine bağlı bir sistem çerçevesinde ele alır. Üniteler, tek bir robot markası veya yazılım ürününden bağımsız olacak şekilde problem sınıfları ve mühendislik sözleşmeleri üzerinden yapılandırılmıştır.

Robotik sistemlerde “doğru hesaplama” ile “doğru fiziksel davranış” aynı şey değildir. Bir algılama sonucu matematiksel olarak doğru fakat eski olabilir; bir motor komutu gönderilmiş fakat eyleyici tarafından uygulanmamış olabilir; bir yörünge geometrik olarak geçerli fakat hız, tork veya çarpışma sınırları nedeniyle yürütülemez olabilir. Bu nedenle durum, zaman, belirsizlik ve fiziksel sınırlar her katmanda açık tutulmalıdır.

Dersin bazı başlıklarının mesleki uygulama bağlamı Akınsoft ve Akın Robotics deneyimi sayfasında ayrı olarak belgelenmiştir. Bu bağlantı, kişisel kariyer anlatısını dersin içine taşımak yerine uygulama kaydını akademik içerikten ayırmak amacıyla kullanılır.


Ünite 1: Robotik Mühendisliğinin Sistem Çerçevesi

1.1. Robot ile Otomasyon Arasındaki Sınır

Her otomatik makine robot değildir; her robot da tam otonom değildir. Robotik sistemler genellikle fiziksel çevreyle algılama ve eylem yoluyla etkileşir, programlanabilir davranış üretir ve en azından belirli durum değişikliklerine göre farklı tepki verebilir.

Bir sistemin otonomi düzeyi tek bir ikili özellik değildir. Aynı robot:

  • bazı görevleri doğrudan operatör komutuyla,
  • bazılarını yarı otonom,
  • bazılarını tamamen otomatik

yürütebilir.

Bu nedenle robotik tasarımda ilk soru “robot otonom mu?” değil, hangi karar hangi katmanda ve hangi güven sınırları içinde veriliyor? olmalıdır.

1.2. Algıla-karar ver-eyle Çevrimi

Bir robotu en genel biçimde şu çevrimle ifade etmek mümkündür:

çevre -> sensörler -> durum kestirimi -> karar / plan -> kontrol -> eyleyiciler -> çevre

Bu çevrimde her ok bir mühendislik sınırıdır. Sensör verisinin elektriksel işaretten sayısal değere dönüşmesi, zamanlanması, filtrelenmesi ve bir üst katmana taşınması ayrı problemlerdir. Benzer biçimde üst düzey “kolu uzat” isteği, motor sürücüsünün anlayacağı gerilim/akım/PWM düzeyine doğrudan çevrilemez; arada kinematik, yörünge ve kontrol katmanları bulunur.

1.3. Robotiğin Disiplinler Arası Niteliği

Robotik mühendisliği aynı anda şu alanlara dayanabilir:

  • mekanik tasarım ve mukavemet,
  • elektrik ve elektronik,
  • sensörler ve ölçme,
  • motorlar, sürücüler, hidrolik ve pnömatik,
  • kontrol kuramı,
  • sinyal işleme,
  • gömülü sistemler,
  • gerçek zamanlı yazılım,
  • bilgisayarlı görü,
  • konuşma işleme,
  • yapay zeka,
  • ağ ve haberleşme,
  • insan-makine etkileşimi.

Mekatronik sistemlerin temelleri ile robotik arasındaki güçlü bağ buradan gelir. Mekatronik, bu alt sistemlerin birlikte tasarlanmasını öğretir; robotik ise bu bütünleşmeyi algılama, davranış ve hareket üretimiyle daha ileri taşır.

1.4. Gereksinimden Üst Düzey Tasarıma

Robotik projede mimari kararların sağlıklı olabilmesi için önce sistemin ne yapacağı ile bunun nasıl gerçekleştirileceği ayrılmalıdır. İşlevsel gereksinim; robotun gözlenebilir davranışını, çalışma koşulunu ve kabul sınırını tanımlar. İşlemci türü, haberleşme veri yolu, motor sürücüsü veya yazılım modülü ise bu davranışı gerçekleştirmek için seçilen tasarım araçlarıdır.

Bu ayrım yapılmadığında erken verilen bir teknoloji kararı bütün sistemi kendisine uydurmaya başlar. Daha güvenli akış şöyledir:

görev / ihtiyaç
      ↓
gözlenebilir sistem gereksinimleri
      ↓
alt sistemlere sorumluluk dağıtımı
      ↓
arayüz sözleşmeleri
      ↓
üst düzey tasarım
      ↓
gerçekleme
      ↓
doğrulama ve kabul kanıtı

Bir robot için gereksinimler yalnız hareket hedeflerinden oluşmaz. En azından şu sınıflar düşünülmelidir:

  • çalışma modları ve mod geçişleri,
  • hız, kuvvet, konum ve tekrarlanabilirlik sınırları,
  • görev süresi ve enerji sınırı,
  • çevresel çalışma koşulları,
  • sensör ve eyleyici kullanılabilirliği,
  • haberleşme kesildiğinde davranış,
  • güvenli duruma geçiş,
  • yeniden başlatma ve hata sonrası toparlanma,
  • bakım ve değiştirilebilirlik,
  • görevin tamamlandığını kanıtlayan kabul ölçütleri.

Üst düzey tasarım bu gereksinimlerin hangi mimariyle karşılanacağını görünür hale getirir. Robotik bir sistemde bu aşamada yalnız yazılım modüllerinin blok diyagramı yeterli değildir. Güç dağıtımı, işlem platformu, motor sürücüleri, sensör bağlantıları, veri yolları, zamanlama, ısıl sınırlar, bellek ve çevre birimleri, hata sınırları ve operatör arayüzü aynı bütün içinde değerlendirilmelidir.

fiziksel yapı ── eyleyici/sürücü ── kontrol
      │                              │
      ├─ güç / ısıl sınırlar         ├─ durum / hata modeli
      │                              │
      └─ sensörler ── veri yolu ── hesaplama ── görev / HRI

Bu çizim bir ürün mimarisi değildir; önemli olan bağımlılıkların erken görünür olmasıdır. Örneğin daha güçlü bir motor, daha büyük sürücü ve batarya gerektirebilir; bu değişiklik kütleyi artırabilir; kütle arttığında hareket dinamiği, görev süresi ve kontrol ayarları yeniden etkilenebilir. Robotikte yerel görünen kararların sistem düzeyinde geri besleme üretmesi bu yüzden yaygındır.

Teknik riskler de geliştirme sonuna bırakılmamalıdır. Yeni bir sensörün gerekli doğruluğu sağlayıp sağlamadığı, seçilen işlem platformunun en kötü durum yükünü taşıyıp taşıyamadığı veya bir mekanizmanın beklenen çevrim ömrüne ulaşıp ulaşmadığı erken prototip ve ölçümle sınanmalıdır. En pahalı hata, kod yazıldıktan sonra değil; yanlış sistem varsayımı uzun süre doğru kabul edildiğinde oluşur.


Ünite 2: Robot Mimarisi ve Temel Alt Sistemler

Robot mimarisi belirlenirken önce hareket, algılama ve görev planlama döngülerinin gereken frekansları ayrılır. Mekanik dinamiklerin hızlı geri besleme gereksinimi ile yüksek seviyeli rota kararının zaman ölçeği aynı değildir. Bileşenler arasındaki veri sözleşmeleri koordinat çerçevesi, zaman damgası ve geçerlilik koşulunu içermelidir. Bir alt modülden veri gelmediğinde sistemin kullanacağı son geçerli değer, durdurma veya güvenli moda geçiş kararı açıkça belirlenmelidir.

2.1. Mekanik Gövde ve Kinematik Yapı

Robotun fiziksel gövdesi yük taşır, eklemleri sınırlar ve çalışma uzayını belirler. Manipülatörlerde bağlantı elemanları ve eklemler bir kinematik zincir oluşturur. Mobil robotlarda ise şasi, tekerlek/palet/bacak geometrisi ve kütle dağılımı hareket kabiliyetini belirler.

Bir robotun yazılımını tasarlarken mekanik geometriyi “donanım ekibinin konusu” olarak dışarıda bırakmak doğru değildir. Eklemin fiziksel hareket aralığı, boşluğu, sürtünmesi, redüksiyon oranı ve atalet momenti kontrol yazılımının davranışını doğrudan etkiler.

2.2. Eklemler ve Serbestlik Derecesi

En temel eklem türleri:

  • dönel eklem,
  • prizmatik eklem

olarak düşünülebilir. Bir dönel eklem açısal, prizmatik eklem doğrusal hareket üretir.

Bir robotun serbestlik derecesi, bağımsız hareket değişkenlerinin sayısını ifade eder. Üç boyutlu uzayda serbest bir rijit cismin altı serbestlik derecesi vardır:

  • x, y, z doğrusal hareketleri,
  • roll, pitch, yaw dönmeleri.

Bir manipülatörün eklem sayısı ile görev uzayındaki etkin serbestlik derecesi her zaman birebir aynı anlamı taşımaz. Kısıtlar, kapalı kinematik zincirler ve tekil konumlar kullanılabilir hareket uzayını değiştirir.

2.3. Uç Eyleyici

Manipülatörün çevreyle doğrudan iş yapan son bileşeni uç eyleyicidir. Uç eyleyici:

  • iki veya üç parmaklı tutucu,
  • vakum tutucu,
  • elektromıknatıs,
  • kaynak tabancası,
  • boya aparatı,
  • tornavida,
  • ölçüm probu

olabilir.

Uç eyleyici seçimi yalnız “nesneyi tutabiliyor mu?” sorusuna indirgenemez. Nesnenin yüzeyi, ağırlığı, kırılganlığı, izin verilen kavrama kuvveti, konum toleransı ve süreç hızı birlikte değerlendirilir.

2.4. Robot Sınıfları

Mekanik yapı ve kullanım biçimine göre yaygın sınıflar arasında:

  • Kartezyen robotlar,
  • silindirik robotlar,
  • küresel/polar robotlar,
  • SCARA yapıları,
  • mafsallı robot kolları,
  • paralel robotlar,
  • tekerlekli/paletli mobil robotlar,
  • bacaklı robotlar,
  • insansı robotlar

bulunur.

Bu sınıflandırmalar “en iyi robot” seçmez. Her geometri çalışma uzayı, rijitlik, hız, taşıma kapasitesi, kontrol karmaşıklığı ve maliyet arasında farklı bir ödünleşim oluşturur.


Ünite 3: Eyleyiciler, Sürücüler ve Güç Sistemi

Robot hareketi için sürücü seçilirken önce eklem torku veya doğrusal kuvvet gereksinimi yörünge boyunca hesaplanır. Tepe değer kadar tekrarlı çevrimdeki ortalama ısıl yük de değerlendirilir. Dişli boşluğu, esneklik ve sürtünme nominal kinematik modelden sapma oluşturuyorsa kontrolcünün toleransı yeniden belirlenmelidir. Seçilen mekanizmanın erişilebilir hareket aralığı, akım sınırlaması ve acil duruş davranışı deneysel olarak doğrulanmalıdır.

3.1. Elektrik Motorları

Robotik sistemlerde hareket çoğunlukla elektrik motorlarıyla üretilir. DC motor, BLDC motor, step motor ve servo sistemlerin avantajları farklıdır.

Bir motor seçerken yalnız azami devir sayısına bakmak yeterli değildir. Temel değişkenler:

  • sürekli ve tepe moment,
  • hız aralığı,
  • moment-hız eğrisi,
  • rotor ataleti,
  • verim,
  • besleme gerilimi,
  • sürücü gereksinimi,
  • ısıl sınırlar,
  • geri besleme çözünürlüğüdür.

Motorun katalogda yüksek hız üretebilmesi, robot ekleminde aynı hızın kullanılabileceği anlamına gelmez. Redüktör, yük ataleti, mekanik dayanım ve kontrol çevrimi birlikte sınır koyar.

3.2. Servo Sistem

Servo, yalnız küçük model motorlarının adı değildir. Genel anlamıyla servo sistem; hedef büyüklüğü geri beslemeyle izleyen hareket sistemidir.

Basit bir konum servosu şu çevrimi kurar:

hedef konum -> kontrolcü -> motor sürücüsü -> motor/eklem -> konum sensörü -> geri besleme

Servo kontrolünde komutun iletilmesi ile eklemin gerçekten hedef duruma ulaşması ayrı olaylardır. Üst seviye davranış yalnızca komut kuyruğuna göre ilerlememeli; konum, hız, akım/tork ve zaman aşımı gibi geri besleme değişkenleriyle fiziksel gerçekleşmeyi doğrulamalıdır. Böylece “komut kabul edildi”, “hareket başladı”, “hedefe ulaşıldı” ve “hata oluştu” durumları birbirinden ayrılır.

3.3. Aktarma Organları

Motorun hareketi doğrudan kullanılmayabilir. Dişli kutuları, kayış-kasnak, zincir, vida-mil, harmonik redüktör veya başka mekanizmalar:

  • hızı azaltabilir,
  • momenti artırabilir,
  • hareket yönünü değiştirebilir,
  • doğrusal harekete dönüştürebilir.

Aktarma oranı büyüdükçe motor tarafında gereken moment azalabilir; buna karşılık boşluk, sürtünme, esneklik ve verim kaybı kontrol doğruluğunu etkileyebilir.

3.4. Hidrolik ve Pnömatik Eyleyiciler

Yüksek kuvvet gereken uygulamalarda hidrolik sistemler; hızlı, basit doğrusal hareketlerde pnömatik sistemler kullanılabilir. Bunların kontrol problemi elektrik motorlarından farklıdır. Basınç, valf dinamiği, sıkıştırılabilirlik, kaçak ve akış karakteristiği önem kazanır.

Sakarya Üniversitesi Mekatronik eğitiminde elektrik motorları, hidrolik ve pnömatik gibi konuların aynı müfredatta bulunmasının mesleki karşılığını robotik sistemlerde daha açık gördüm: yazılımın “hareket” olarak gördüğü soyut komut, farklı fiziksel eyleyici türlerinde tamamen farklı dinamiklere sahiptir.

3.5. Güç Bütçesi

Mobil robotlarda enerji sınırlı bir kaynaktır. Toplam güç bütçesi yalnız motorlardan oluşmaz:

  • işlemci/GPU,
  • sensörler,
  • kamera,
  • haberleşme birimleri,
  • sürücüler,
  • ses sistemi,
  • yardımcı elektronik

aynı kaynağı paylaşabilir.

Ani motor akımı, besleme geriliminde düşüm oluşturarak işlemci veya sensör tarafını etkileyebilir. Bu nedenle güç bütünlüğü, yazılımda görülen rastlantısal yeniden başlama veya iletişim hatalarının gerçek nedeni olabilir.

3.6. Enerji Bütçesinden Enerji Durumlarına

Güç bütçesi anlık tüketimi anlamak için gereklidir; mobil robotun görev süresini belirleyen büyüklük ise zamana yayılan enerjidir:

E = ∫ P(t) dt

Bu nedenle robotu yalnız “ortalama kaç watt tüketiyor?” sorusuyla değerlendirmek eksiktir. Aynı donanım farklı çalışma durumlarında çok farklı enerji profili oluşturabilir. Örneğin sistem durumları şöyle ayrılabilir:

AKTİF
  tüm görev ve hareket işlevleri açık

HAZIR
  hareket yok; algılama ve temel haberleşme çalışıyor

DÜŞÜK GÜÇ
  yalnız uyanma için gerekli işlevler açık

GÜVENLİ KAPANMA
  fiziksel enerji azaltılmadan önce durum güvenli hale getiriliyor

Bu durumların adı ürüne göre değişebilir; mühendislik açısından önemli olan her durum için aşağıdakilerin açık olmasıdır:

  • hangi alt sistemlerin enerjili olduğu,
  • hangi olayın başka duruma geçiş ürettiği,
  • uyanma veya yeniden etkinleşme gecikmesi,
  • RAM, görev ve fiziksel durumun ne ölçüde korunduğu,
  • kontrol çevrimlerinin kesilip kesilemeyeceği,
  • geçiş sırasında sensör verisinin geçerliliği,
  • enerji kesintisinde güvenli fiziksel davranış.

Enerji yönetimi yalnız güç elektroniğinin görevi değildir. Yazılım zamanlaması, görev planlama ve hareket koordinasyonu da tüketimi etkiler. Sürekli tam hızda çalışan işlemci, gereksiz yüksek örnekleme oranı, boşta beklerken moment üretmeye devam eden eklem veya aynı fiziksel işi gereksiz tekrarlarla yapan hareket planı enerji maliyetini artırır.

Bunun karşısında enerji kazanmak için denetim görevlerini kör biçimde yavaşlatmak tehlikelidir. Motor kontrolünün örnekleme aralığı, sensör güncelliği ve güvenlik gözetimi zaman gereksinimlerine bağlıdır. Enerji optimizasyonu şu sırayı izlemelidir:

görevin zaman ve güvenlik sınırlarını belirle
                 ↓
gereksiz etkinliği bul
                 ↓
donanım / yazılım durumlarını koordine et
                 ↓
geçiş gecikmesini ve fiziksel sonucu ölç
                 ↓
görev süresi kazancını doğrula

Hareketin kendisi de enerji yönetiminin parçasıdır. Aynı uç konuma ulaşan iki yörünge süre, tepe momenti, frenleme ve eşzamanlı eklem hareketi bakımından farklı enerji tüketebilir. Bu nedenle hareket planlayıcı yalnız mesafe veya zamanı değil, uygulamaya uygunsa enerji maliyetini de değerlendirebilir.

Enerji kesintisi ayrıca bir hata semantiğidir. Sistem tekrar açıldığında yazılımın önceki görevi otomatik sürdürmesi her zaman güvenli değildir; fiziksel eklemlerin konumu, tutulan yük, sensör referansı ve iletişim durumu yeniden doğrulanmalıdır. Yazılımın kalıcı durumu ile robotun gerçek fiziksel durumu eşleşmeden göreve devam etmek, enerji yönetimi ile güvenlik arasındaki sınırın kaybolmasına yol açar.


Ünite 4: Sensörler, Ölçüm ve Robot Algısı

4.1. İç ve Dış Algılama

Robot sensörleri işlevsel olarak iki grupta düşünülebilir:

İç algılama: robotun kendi durumunu ölçer.

  • eklem konumu,
  • hız,
  • motor akımı,
  • sıcaklık,
  • batarya seviyesi,
  • yönelim.

Dış algılama: çevreyle ilgili bilgi sağlar.

  • kamera,
  • lidar,
  • ultrasonik sensör,
  • kuvvet/tork sensörü,
  • yakınlık sensörü,
  • mikrofon,
  • ışık sensörü.

Bu ayrım mutlak değildir. Örneğin bir kamera hem çevre algısı hem kalibrasyon/konum kestirimi için kullanılabilir.

4.2. Ölçüm, Gerçeklik Değildir

Her sensör şu sorularla birlikte ele alınmalıdır:

  • çözünürlüğü nedir?
  • doğruluğu nedir?
  • bias var mı?
  • gürültü spektrumu nasıl?
  • örnekleme hızı nedir?
  • gecikmesi ne kadar?
  • doygunluk sınırı nedir?
  • veri ne zaman geçersiz kabul edilir?

Ölçüm değerini fiziksel gerçekliğin kendisi gibi kullanmak, robotik yazılımda en tehlikeli soyutlama hatalarından biridir.

4.3. Örnekleme, Sayısallaştırma ve Aliasing

Robotik algı zincirinde birçok sensör fiziksel dünyadan sürekli zamanlı bir büyüklük üretir; kontrol yazılımı ise bunun sayısal örneklerini işler. Bu dönüşüm yalnız ADC çözünürlüğüyle açıklanamaz:

fiziksel büyüklük
      ↓
dönüştürücü / sensör
      ↓
analog koşullandırma
      ↓
örtüşme önleyici filtre
      ↓
örnekleme + A/D dönüşümü
      ↓
zaman damgası
      ↓
sayısal filtre / durum kestirimi

Örnekleme hızı, ölçülmek istenen sinyalin bant genişliğiyle uyumlu olmalıdır. Bant sınırlı ideal bir sinyal için temel Nyquist-Shannon koşulu:

f_s > 2 f_max

şeklinde ifade edilir. Gerçek robotik sistemde ise yalnız teorik sınırı biraz aşmak yeterli tasarım kuralı değildir. Sensörün analog bant genişliği, filtre geçiş bölgesi, mekanik titreşimler, elektriksel gürültü ve kontrolün ihtiyaç duyduğu faz/gecikme davranışı birlikte değerlendirilir.

Özellikle aliasing, yüksek frekanslı bir bileşenin örnekleme sonrasında daha düşük frekanslı sahte bir bileşen gibi görünmesidir. Bu hata oluştuktan sonra yalnız sayısal filtre uygulamak kaybolan bilgiyi geri getiremez; istenmeyen yüksek frekans bileşenlerinin A/D dönüşümünden önce yeterince bastırılması gerekir.

Sayısallaştırmada başka hata kaynakları da vardır:

  • nicemleme çözünürlüğü,
  • giriş aralığının yanlış seçilmesi,
  • doygunluk,
  • örnekleme anındaki titreşim,
  • kanal geçiş gecikmesi,
  • saat sapması ve jitter,
  • farklı sensörlerin eşzamanlı olmaması.

Bu nedenle 100 Hz sensör ifadesi tek başına veri kalitesini tanımlamaz. Ölçümün hangi anda fiziksel dünyadan alındığı, hangi gecikmeyle yazılıma ulaştığı ve filtrelemenin ne kadar geçmiş veri kullandığı kontrol katmanı için en az örnekleme frekansı kadar önemlidir.

4.4. Enkoderler

Kuadratür enkoderde A ve B kanalları, Gray kodu durum döngüsü, yön algısı ve dört kat sayım
Kuadratür enkoder

Döner veya doğrusal enkoderler eklem konumunu ve buradan türetilen hızı ölçmek için kullanılır. Artımlı enkoder bağıl hareket verir; mutlak enkoder güç kesilse bile konumu kodlayabilir.

Konumdan hız türetirken fark alma işlemi ölçüm gürültüsünü büyütebilir:

v[k] ≈ (x[k] - x[k-1]) / Δt

Bu nedenle filtreleme ile gecikme arasında denge gerekir. Aşırı filtreleme daha temiz grafik üretirken kontrol için eski veri sağlayabilir.

4.5. IMU ve Yönelim

IMU; ivmeölçer ve jiroskop başta olmak üzere hareket kestiriminde kullanılan sensörleri bir araya getirir. Jiroskop entegrasyonu zamanla sürüklenebilir; ivmeölçer ise doğrusal ivme ve yerçekimini birlikte görür. Manyetometre çevresel manyetik bozulmadan etkilenebilir.

Bu yüzden tek sensör yerine sensör füzyonu kullanmak yaygındır. Filtreleme ve durum kestirimi yaklaşımı probleme göre tamamlayıcı filtre, Kalman ailesi veya başka yöntemlerle kurulabilir.

4.6. Kamera ve Görüntü İşleme

Kamera yüksek bilgi yoğunluğu sağlar fakat ham görüntü doğrudan “anlam” değildir. Tipik bir işleme hattı:

kamera -> kare yakalama -> ön işleme -> özellik/nesne çıkarımı -> izleme -> karar katmanı

Robot algısında tek kare üzerindeki algoritmik doğruluk tek başına yeterli değildir. Bir sonuç sayısal olarak doğru olsa bile gecikme, veri yaşı veya sensör ile kontrol döngüsü arasındaki zaman uyumsuzluğu nedeniyle operasyonel olarak kullanılamaz hâle gelebilir. Bu nedenle algı çıktısı değerle birlikte zaman damgası, güven bilgisi ve üretildiği sensör bağlamını da taşımalıdır.

4.7. Ses Algısı

Mikrofon dizisi veya tek mikrofon, robotun sesli komut alması ve çevresel sesleri işlemesi için kullanılabilir. Robotik bağlamda konuşma tanıma sonucu yalnız metin değildir; fiziksel eylem tetikleyebilen bir kontrol girdisidir. Bu nedenle güven eşiği, bağlam, yanlış kabul ve iptal davranışı önemlidir.

4.8. Görüntü Hatasından Eyleyici Komutuna Giden Koordinat Zinciri

Bir kamerada hedefin piksel merkezi (u,v), istenen görüntü merkezi (u*,v*) olsun. Görüntü hatası e = [u-u*, v-v*]ᵀ doğrudan motor momenti değildir. Önce kameranın iç parametreleri ve hedefin yaklaşık derinliğiyle görüntü koordinatlarının yerel hareket duyarlılığı belirlenir; sonra kamera–robot dönüşümü ve robot Jacobian'ı üzerinden hangi eklem hareketinin hatayı azaltacağı hesaplanır. Aynı iki piksellik hata, derinliği farklı iki hedef için farklı fiziksel yer değiştirme gerektirir.

Kapalı çevrimde kamera kare zamanı ayrıca durum kestiriminin parçasıdır. 30 kare/s çalışan bir algılayıcıda ardışık görüntüler yaklaşık 33,3 ms aralıklıdır; işleme ve taşıma gecikmesi bu aralığa eklenebilir. Robot hareket hâlindeyken eski kareye göre hesaplanan düzeltme, yeni durum için gereğinden büyük olabilir. Bu nedenle kontrol kazancı, toplam gecikme, mekanik hız sınırı ve özellik noktasının kaybolması birlikte değerlendirilir. Takip kaybolduğunda son ölçümü süresiz doğru kabul etmek yerine hareketi sınırlayan tanımlı bir davranış gerekir.


Ünite 5: Koordinat Sistemleri ve Kinematik

5.1. Konum ve Yönelim

Robotik hesaplamalarda “nerede?” sorusu tek başına yeterli değildir; “hangi yönde?” sorusu da gerekir. Bir uç eyleyicinin uzaydaki durumu genellikle konum ve yönelim birlikte düşünülerek ifade edilir.

Üç boyutlu konum:

p = [x y z]^T

ile gösterilebilir. Yönelim için dönme matrisi, Euler açıları veya quaternion gibi temsiller kullanılabilir.

5.2. Referans Çerçeveleri

Bir robot üzerinde birden fazla koordinat çerçevesi bulunabilir:

  • dünya çerçevesi,
  • robot tabanı,
  • gövde,
  • eklemler,
  • uç eyleyici,
  • kamera,
  • hedef nesne.

Bir kameranın ölçtüğü nesne konumunu robot koluna vermek için kamera ile robot tabanı arasındaki geometrik dönüşüm bilinmelidir.

Homojen dönüşüm matrisi konum ve yönelimi tek yapıda taşır:

T = [ R  p ]
    [ 0  1 ]

Burada R 3x3 dönme matrisi, p ise 3x1 konum vektörüdür.

5.3. İleri Kinematik

İleri kinematik, eklem değişkenleri bilindiğinde uç eyleyicinin konum ve yönelimini bulur:

q -> x

Seri manipülatörde dönüşümler zincirlenir:

T_0^n(q) = A_1(q_1) A_2(q_2) ... A_n(q_n)

Bu hesap, ekranda robot modelini çizmekten hareket kontrolüne kadar birçok işlevin temelidir.

5.4. Ters Kinematik

Düzlemsel robot kolunda eklem değişkenleri ile uç nokta konumu arasındaki ileri ve ters kinematik ilişki
Robot ileri ve ters kinematiği

Ters kinematikte istenen uç eyleyici duruşundan eklem değerleri aranır:

x -> q

Problem ileri kinematiğe göre daha zordur. Bir hedef için:

  • tek çözüm,
  • birden fazla çözüm,
  • sonsuz çözüm,
  • hiç çözüm

olabilir.

Yazılım yalnız matematiksel çözüm üretmemelidir. Eklem limitleri, çarpışma, mekanik kablo sınırları ve mevcut konuma göre en uygun çözüm de değerlendirilmelidir.

5.5. Çalışma Uzayı

Robotun ulaşabildiği konum ve yönelimlerin tamamı çalışma uzayını oluşturur. Çalışma uzayı mekanik geometri, eklem sınırları ve tekilliklerle belirlenir.

Bir hedefin koordinat olarak tanımlanabilmesi onun robot tarafından erişilebilir olduğu anlamına gelmez.


5.6. Koordinat Sistemi, Durum Kestirimi ve Kontrolü Ayırmak

Robotikte aynı konum veya yönelim farklı koordinat sistemlerinde farklı sayılarla ifade edilir. Bir noktanın robot tabanına göre koordinatı ile kamera çerçevesine göre koordinatı aynı fiziksel noktayı temsil edebilir, ancak sayısal bileşenleri farklıdır. Bu nedenle dönüşüm zincirinde yalnız matris çarpımını değil, her dönüşümün “hangi çerçeveden hangi çerçeveye” gittiğini açık tutmak gerekir. Dönüşüm sırasının değişmesi genel olarak aynı sonucu vermez.

İleri kinematik eklem değişkenlerinden uç noktanın konum ve yönelimini hesaplar. Ters kinematik ise istenen uç nokta duruşu için uygun eklem değerlerini arar. Ters problem tek çözümlü olmak zorunda değildir; birden fazla çözüm, erişilemeyen hedef veya tekillik bulunabilir. Bu nedenle “matrisi ters çevirerek ters kinematik bulunur” biçimindeki basitleştirme genel robot mekanizmaları için yeterli değildir.

Durum kestirimi ile kontrol de ayrı katmanlardır. Encoder, IMU, kamera veya başka sensörler robotun gerçek durumunu doğrudan ve hatasız vermez. Ölçümlerden konum, hız veya yönelim kestirilir; denetleyici ise bu kestirilen durum ile hedef arasındaki hataya göre komut üretir. Kötü kestirim iyi bir kontrol yasasını, eyleyici doyumu da doğru kestirimi başarısız bir davranışa dönüştürebilir.

Bu ayrım otonomi için de önemlidir:

algılama → durum kestirimi → planlama → kontrol → eyleyici → fiziksel sistem
              ↑                                      ↓
              └──────────── geri besleme ───────────┘

Makine öğrenmesi bu zincirin bir veya birkaç bölümünü güçlendirebilir; fakat koordinat dönüşümleri, zamanlama, fiziksel sınırlar ve geri besleme gereksinimi ortadan kalkmaz. Robotik problemi hangi katmanda çözdüğünü bilmek, kullanılan algoritmanın adından daha temel bir mühendislik becerisidir.

Diferansiyel sürüşte tekerlek hızından yörüngeye geçiş. Tekerlek yarıçapı r = 0,05 m, tekerlekler arası iz genişliği b = 0,30 m olan kaymasız diferansiyel sürüşlü robotta sağ ve sol tekerlek açısal hızları sırasıyla 12 rad/s ve 8 rad/s olsun. Gövde doğrusal hızı v = r(ω_R + ω_L)/2 = 0,50 m/s, düşey eksen etrafındaki açısal hızı ω = r(ω_R − ω_L)/b ≈ 0,667 rad/s bulunur. ω ≠ 0 için anlık dönüş yarıçapı R = v/ω = 0,75 m olur. İki tekerlek eşit hızdaysa ω = 0 ve ideal model doğrusal harekete indirgenir; zıt ve eşit hızlarda v = 0 olup robot kendi ekseni çevresinde döner. Model yalnız düzlemsel, kaymasız temas altında geçerlidir. Deneyde enkoder odometrisi ile bağımsız konum ölçümünün ayrışması, tekerlek yarıçapı hatası veya kaymanın işareti olabilir.

Ünite 6: Jacobian, Tekillik ve Robot Dinamiği

6.1. Diferansiyel Kinematik

Diferansiyel sürüşlü robotta sağ ve sol teker hızlarının anlık dönme merkezi dönüş yarıçapı ve eğrisel harekete dönüşmesi
Diferansiyel sürüş kinematiği
Robot Jacobian matrisinde düzenli ve tekil konfigürasyonların hız eşleme kabiliyetleri açısından karşılaştırılması
Jacobian tekilliği

Uç eyleyici hızı ile eklem hızları arasındaki ilişki Jacobian matrisiyle ifade edilir:

x_dot = J(q) q_dot

J(q) robot konfigürasyonuna bağlıdır. Robot hareket ettikçe Jacobian da değişir.

Bu ilişki hız kontrolü, kuvvet dönüşümü, ters kinematiğin sayısal çözümleri ve tekillik analizi için önemlidir.

6.2. Tekillik

Bazı robot konfigürasyonlarında Jacobian gerekli rank koşulunu kaybedebilir. Bu durumda robot belirli görev uzayı yönlerinde hareket kabiliyetini kaybedebilir veya küçük görev uzayı hızı için çok büyük eklem hızları gerekebilir.

Tekillik yalnız matematiksel bir istisna değildir. Gerçek sistemde:

  • hız komutlarının büyümesi,
  • moment taleplerinin artması,
  • kontrolün hassaslaşması,
  • yol planlayıcının başarısız olması

gibi sonuçlar doğurabilir.

6.3. Kuvvet ve Moment İlişkisi

İdealize edilmiş biçimde uç eyleyicideki kuvvet ile eklem momentleri arasında:

τ = J(q)^T F

ilişkisi kullanılır.

Bu, robot kolunun çevreye uyguladığı kuvvetin eklemlerde nasıl bir yük oluşturduğunu anlamada temel araçlardan biridir.

6.4. Dinamik Model

Seri bir robotun hareket denklemi genel biçimde:

M(q) q_ddot + C(q, q_dot) q_dot + g(q) + f(q_dot) = τ

şeklinde ifade edilebilir.

Burada:

  • M(q): kütle/atalet matrisi,
  • C: Coriolis ve merkezkaç etkileri,
  • g(q): yerçekimi,
  • f: sürtünme,
  • τ: eklem momentleridir.

Düşük hızda çalışan basit bir sistemde ayrıntılı dinamik model gerekmeyebilir. Yüksek hız, yüksek hassasiyet veya değişken yükte ise yalnız kinematik yeterli olmaz.


6.5. Tekillik Yakınında Sönümlü Ters Jacobian

Robot kinematiğinde Jacobian tekilliği ve sönümlü en küçük kareler ile ters çözüm

Uç nokta hızını eklem hızına bağlayan \(\dot x=J(q)\dot q\) eşitliği, Jacobian tekil veya kötü koşullu olduğunda doğrudan tersle çözülemez. En küçük kareli çözümde küçük tekil değerler, uç nokta hızındaki küçük bir değişime karşı çok büyük eklem hızı üretebilir. Sönümlü en küçük kareler yaklaşımı bu büyütmeyi sınırlar:

\[ \dot q=J^T(JJ^T+\lambda^2I)^{-1}\dot x_d,\qquad \lambda>0. \]

Burada \(\lambda\) arttıkça hesaplanan eklem hızının büyümesi sınırlanır; buna karşılık istenen uç nokta hızının tam karşılanması zorlaşır. Yöntem tekilliği ortadan kaldırmaz, tekillik yakınındaki sayısal davranışı düzenler. Dönüş ve öteleme bileşenleri farklı fiziksel birimlere sahipse Jacobian'ın uygun ölçeklenmesi ayrıca gereklidir.

Bir kontrol uygulamasında yalnız cebirsel çözüm yeterli değildir. Eklemlerin hız, ivme, konum ve tork sınırları nedeniyle hesaplanan \(\dot q\) komutu sınırlanabilir; sınırlama sonrasında gerçekleşen uç nokta hareketi yeniden hesaplanmalıdır. Hedefe yaklaşma hatası, en küçük tekil değer ve uygulanan sınırlandırma birlikte izlenirse kontrolörün erişilemeyen isteği sessizce başarı olarak sunması önlenir.

Ünite 7: Robot Kontrolü ve Geri Besleme

7.1. Açık ve Kapalı Çevrim

Açık çevrim sistemde komut verilir fakat çıktı üzerinden düzeltme yapılmaz. Kapalı çevrimde ise ölçülen durum hedefle karşılaştırılır.

hata = hedef - ölçülen

Bu yapı Otomatik Kontrol notunun robotik karşılığıdır.

7.2. PID Kontrol

Yaygın kontrol yapılarından biri PID'dir:

u(t) = Kp e(t) + Ki ∫e(t)dt + Kd de(t)/dt
  • P terimi mevcut hataya,
  • I terimi biriken hataya,
  • D terimi hata değişim hızına

tepki verir.

Robot eklemlerinde PID yaygındır ancak her problem için tek başına yeterli değildir. Besleme ileri denetim, yerçekimi telafisi, durum geri beslemesi, tork kontrolü ve model tabanlı yöntemler gerekebilir.

7.3. Kaskat Kontrol

Bir servo sistemde çevrimler katmanlı olabilir:

konum çevrimi -> hız çevrimi -> akım/moment çevrimi -> motor

İç çevrim daha hızlı çalışır. Dış çevrim daha üst düzey hedefi üretir. Yazılım mimarisi de bu zaman ölçeklerine uymalıdır.

7.4. Doygunluk ve anti-windup

Gerçek eyleyici sonsuz komut üretemez. Motor gerilimi, akım, hız ve mekanik sınırlar vardır. Kontrolcü bu sınırları yok sayarsa özellikle integral terimi birikip toparlanmayı geciktirebilir.

Robot kontrolünde yazılımın fiziksel sınırları modellemesi bu nedenle zorunludur.

7.5. Güvenli Durum

Haberleşme kopması, sensör geçersizliği veya kontrolcü hatasında sistemin nasıl davranacağı önceden tanımlanmalıdır. “Komut gelmiyorsa son komutu sürdür” bazı sistemlerde tehlikelidir. Başka bir sistemde ise ani duruş daha tehlikeli olabilir.

Güvenli davranış robotun görevine ve fiziksel yapısına göre tasarlanır.


Ünite 8: Hareket Planlama, Görev Yürütme ve Otonomi

2 radyanlık eklem hareketi için ivme sınırı 2 ve hız sınırı 1 ile yamuk hız profili: 0,5 s hızlanma, 1,5 s sabit hız, 0,5 s yavaşlama, toplam 2,5 s; kısa mesafede üçgen profil
Yamuk hız profili

8.1. Yol ve Yörünge Ayrımı

Yol, geometrik olarak nereden geçileceğini; yörünge ise bunun zamanla nasıl yürütüleceğini ifade eder.

Bir yol çarpışmasız olabilir ancak hızlanma ve moment sınırları nedeniyle fiziksel olarak uygulanamayabilir.

8.2. Arama ve Planlama

Potansiyel alan yaklaşımıyla engeller etrafında yol planlamasını gösteren bilimsel animasyon
Potansiyel alan planlama

Izgara veya grafik tabanlı ortamlarda Dijkstra ve A* gibi arama algoritmaları; sürekli yüksek boyutlu uzaylarda örnekleme tabanlı yöntemler kullanılabilir. Robotik planlama problemi yalnız en kısa yolu bulmak değildir. Maliyet fonksiyonu:

  • mesafe,
  • enerji,
  • çarpışma riski,
  • dönüş sayısı,
  • zaman,
  • görüş alanı

gibi etkenleri içerebilir.

8.3. Davranış Katmanı

Üst seviye robot davranışı tek bir “AI fonksiyonu” değildir. Davranış katmanı; önkoşulları, modları, zaman aşımını, olayları, başarısızlık durumlarını ve alt davranışlar arasındaki geçişleri yönetir. Bu yapı durum makinesi, davranış ağacı veya görev grafiği olarak modellenebilir; önemli olan yürütmenin gözlenebilir ve iptal edilebilir olmasıdır.

  • başlatılmalı,
  • alt adımlara ayrılmalı,
  • olaylarla kesilebilmeli,
  • başarısızlık üretmeli,
  • gerektiğinde geri alınmalı,
  • başka davranışlarla önceliklendirilmelidir.

Bu nedenle otonomi çoğu zaman durum makineleri, davranış ağaçları, görev grafikleri, olay sistemleri ve planlayıcıların birlikte çalıştığı bir yürütme problemidir.

8.4. Ağaç ve Devre Tabanlı Görsel Programlama

Ağaç veya devre tabanlı görsel programlamada zor problem blokları ekrana yerleştirmek değil, kullanıcı tarafından oluşturulan grafiği çalışma zamanında güvenilir biçimde yürütmektir. Düğüm tipleri, veri türleri, çevrimler, zamanlama, iptal, hata yayılımı ve kalıcı durum açık sözleşmelerle tanımlanmadığında görsel kolaylık çalışma zamanı belirsizliğine dönüşür.

Bir görsel davranış editöründe:

  • geçersiz bağlantılar engellenmeli,
  • veri tipleri korunmalı,
  • parametreler doğrulanmalı,
  • döngüler ve bağımlılıklar kontrol edilmeli,
  • çalışma zamanı hatası görünür olmalı,
  • yürütme motoru UI'dan ayrılmalıdır.

Bu yaklaşım daha sonra farklı yazılım alanlarında kullandığım önemli bir ilkeyi pekiştirdi: kullanıcıya esneklik verirken geçersiz durum uzayını daraltmak gerekir.

8.5. Otonomi ve Belirsizlik

İşgal ızgarası üzerinde olasılıksal haritalamayı gösteren bilimsel animasyon
İşgal ızgarası haritalama

Sensör verisi kesin değildir. Otonom davranış katmanı bu nedenle “nesne bulundu/bulunmadı” gibi aşırı kesin ikilikler yerine güven, yaş, kaynak ve geçerlilik bilgisini gerektiğinde taşımalıdır.

Fiziksel sistemde yanlış pozitif sonuç, yalnız hatalı bir etiket değil, gerçek hareket üretebilir.

8.6. Öğrenme Tabanlı Rota Kararının Sınanması

Ayrık bir ızgara üzerinde hareket eden robotta bir durum hücresi s, eylem ise izin verilen komşu hücreye geçiş olsun. Q-öğrenmesinin güncellemesi Q(s,a) ← Q(s,a) + α[r + γ max Q(s',a') - Q(s,a)] biçimindedir. Q(s,a)=0,5, α=0,2, r=-1, γ=0,9 ve sonraki durumun en yüksek değeri 3 ise hedef 1,7, güncellenmiş değer 0,74 olur. Bu hesap gelecekteki ödülü tahmin eder; robotun fiziksel olarak güvenli yörünge izleyeceğini kanıtlamaz.

Karşılaştırma için aynı harita, hareket sınırları ve hesap bütçesi altında deterministik bir arama algoritması temel alınır. Öğrenme algoritmasının başarısı yalnız ortalama ödülle değil, engelle çarpışma sayısı, görev tamamlama süresi, en kötü sapma ve dağılım değişimine dayanıklılıkla ölçülür. Güvensiz hareketler ödül cezasına bırakılmadan eylem kümesinden çıkarılmalıdır. Öğrenme ve keşif simülasyonda yürütülebilir; gerçek sistemde izinli eylem filtresi ile acil durdurma öğrenilmiş politikanın dışında, bağımsız sınır olarak kalır.


Ünite 9: Gömülü Sistem ve Robot Yazılım Mimarisi

9.1. Katmanlı Mimari

Bir robot yazılımını şu katmanlarla düşünmek yararlıdır:

Donanım / sürücüler
        ↓
Cihaz soyutlama ve haberleşme
        ↓
Gerçek zamanlı kontrol
        ↓
Durum ve yetenek servisleri
        ↓
Davranış / görev / otonomi
        ↓
Operatör arayüzü ve harici sistemler

Her projede bu kadar kesin katman bulunması gerekmez; fakat sorumlulukların ayrılması donanım değişikliğinin üst seviyedeki bütün yazılıma yayılmasını önler.

9.2. İşlem Platformunu Seçmek: Kapasite, G/Ç ve Marj

Robotun işlem platformu “en hızlı işlemciyi seçme” problemi değildir. Doğru seçim, robotun iş yükü ile fiziksel ve operasyonel kısıtlarının birlikte değerlendirilmesini gerektirir.

Önce görev yükü ayrıştırılmalıdır:

gerçek zamanlı kontrol
sensör toplama ve zamanlama
durum kestirimi
haberleşme
telemetri / kayıt
insan-robot etkileşimi
görüntü veya ses işleme
üst seviye planlama

Bu görevlerin ortalama işlem maliyeti kadar en kötü durum davranışı önemlidir. Kamera işleme normalde hızlıyken belirli bir sahnede uzuyorsa, ağ trafiği patlama gösteriyorsa veya loglama depolama gecikmesine takılıyorsa zaman kritik kontrol görevleri bundan etkilenmemelidir.

Platform değerlendirmesinde şu eksenler birlikte ele alınmalıdır:

  • zaman kritik görevlerin son tarihleri,
  • işlem yükü ve büyüme payı,
  • bellek kapasitesi ve bant genişliği,
  • ADC/PWM/sayaç gibi çevre birimleri,
  • UART, SPI, I2C, CAN, Ethernet gibi G/Ç gereksinimleri,
  • kesme ve DMA davranışı,
  • güç tüketimi ve ısıl sınır,
  • fiziksel boyut ve çevresel dayanım,
  • hata ayıklama ve gözlenebilirlik olanakları,
  • işletim sistemi ve sürücü desteği,
  • geliştirme araç zinciri,
  • parça bulunabilirliği ve bakım ömrü.

Katalogdaki tek bir performans sayısı gerçek iş yükünü temsil etmeyebilir. En güvenilir değerlendirme, mümkün olduğunca gerçek algoritmaları, veri boyutlarını ve G/Ç örüntülerini aday platform üzerinde ölçmektir. Özellikle kontrol çevrimi ile yoğun görüntü/ses işlemenin aynı işlemciyi paylaşacağı mimarilerde gecikmenin yalnız ortalaması değil dağılımı da izlenmelidir.

Kapasite planında boş pay bırakmak gereksiz savurganlık değildir. Kesme fırtınası, yeniden iletim, hata kaydı, bakım işlevleri ve gelecekteki yazılım büyümesi normal ölçümde görünmeyebilir. Sürekli doygun çalışan bir işlem platformunda küçük bir ek yük kuyrukları büyütüp son tarih kaçırmalarına dönüşebilir.

Birden fazla işlem birimi kullanmak da otomatik çözüm değildir. İş yükü bölündüğünde yeni maliyetler oluşur:

  • senkronizasyon,
  • veri kopyalama,
  • haberleşme gecikmesi,
  • saat/zaman damgası uyumu,
  • dağıtık hata yönetimi,
  • sürüm ve konfigürasyon tutarlılığı.

Dolayısıyla merkezi ve dağıtık mimari arasındaki seçim, yalnız hesaplama gücü değil zaman, veri sahipliği ve hata sınırları üzerinden yapılmalıdır.

9.3. Kontrol Yazılımında Durum, Komut ve Donanım Sınırları

Robot kontrol yazılımında üç kavramın ayrı tutulması gerekir: istenen durum, komutun yürütme durumu ve ölçülen fiziksel durum. Örneğin bir eklemin 90° hedefi alması, komutun sürücüye gönderilmesi ve encoder'ın hedef toleransına girmesi aynı olay değildir.

Sağlam bir mimaride üst seviye görev mantığı doğrudan cihaz ayrıntılarına bağlanmaz. Motor, servo, I/O kartı veya sensör için donanım bağımlı iletişim; açık bir adaptör sözleşmesinin arkasında tutulur. Adaptörün görevi yalnız veri dönüştürmek değil; zaman aşımı, bağlantı kaybı, geçersiz değer ve cihaz durumunu üst katmana açık biçimde taşımaktır.

Durumun tek bir yetkili kaynağı bulunmalıdır. Aynı eklem konumu GUI, görev yürütücü ve sürücü katmanında birbirinden bağımsız “doğru” değerler olarak tutulursa yarış durumu ve eski veri sorunları ortaya çıkar. Bunun yerine ölçüm kaynağı, zaman damgası ve güncellik politikası tanımlanmalı; türetilmiş görünümler bu kaynaktan üretilmelidir.

Komut yaşam döngüsü için pratik bir model şöyledir:

  1. komut oluşturulur ve önkoşulları doğrulanır,
  2. komut benzersiz kimlikle yürütme katmanına iletilir,
  3. kabul/red bilgisi alınır,
  4. fiziksel geri besleme izlenir,
  5. başarı, zaman aşımı, iptal veya hata ile sonlandırılır,
  6. olaylar tanı koymaya yetecek bağlamla kaydedilir.

Bu ayrım, robot yazılımında “mesaj gönderildiği için hareket gerçekleşti” varsayımını ortadan kaldırır.

9.4. Mikrodenetleyiciler ve Çevre Birimleri

Robotun alt seviyesinde:

  • GPIO,
  • PWM,
  • ADC,
  • enkoder sayıcıları,
  • UART,
  • SPI,
  • I2C,
  • CAN veya benzeri veri yolları

gibi çevre birimleri bulunabilir.

Mikrodenetleyici katmanında zamanlama, interrupt davranışı, buffer yönetimi ve hata durumları fiziksel sonuç üretir. Mikroişlemci, Mikrodenetleyiciler, FPGA ve PLC notunda ayrıntılandırılan çevre birimi ve gerçek zamanlı yürütme ilkeleri robotikte; sensör örnekleme, motor sürme, encoder okuma ve güvenlik I/O'su gibi fiziksel görevlerle birleşir.

9.5. Gerçek Zamanlılık

Gerçek zamanlı sistem, yalnız hızlı sistem değildir. Önemli olan hesaplamanın doğru sonuca doğru zaman sınırı içinde ulaşmasıdır.

Bir görüntü işleme görevi 200 ms geç sonuç verdiğinde kullanıcı yalnız küçük bir gecikme görebilir. Aynı 200 ms, denge veya eklem kontrol çevriminde kabul edilemez olabilir.

Bu nedenle robot yazılımında gecikme tek sayı olarak ölçülmez; gecikmenin hangi kontrol halkasında oluştuğu belirleyicidir.

9.6. Eşzamanlılık

Robot üzerinde aynı anda:

  • sensör okuma,
  • kontrol,
  • telemetri,
  • görüntü işleme,
  • konuşma tanıma,
  • kullanıcı komutu,
  • loglama

çalışabilir.

İş parçacığı (thread) sayısını artırmak tek başına çözüm değildir. Paylaşılan durumun sahipliği, kilit süresi, öncelik terslenmesi, kuyruk büyümesi ve eski verinin işlenmesi kontrol edilmelidir.


9.7. Robotik İşlem Hattında Gecikme ve Kuyruk Birikimi

Gerçek zamanlı mühendislikte ortalama performans yerine uçtan uca gecikme bütçesi, en kötü veya yüksek yüzdelikli gecikme, jitter, kaynak doygunluğu ve hata sonrası toparlanma birlikte ele alınır. Robotik döngüde algılama, lokalizasyon, planlama, kontrol ve actuator iletişimi ardışık servis ve bekleme süreleri oluşturur; bir düğümün ortalama gecikmesinin düşük olması, kuyruklanma ve senkronizasyon altında kontrol periyodunun deterministik kalacağını garanti etmez. Sınırlar, overload davranışı ve degradasyon biçimi açık tanımlanmalıdır.

  • Kamera/sensör üretim hızı inference veya kontrol hızını aştığında backpressure politikasını tanımlamak.
  • Eski frame işlemenin doğruluk açısından yeni frame düşürmekten daha kötü olabileceği durumları belirlemek.
  • Perception-planning-control zincirinde p95/p99 gecikmeyi uçtan uca ölçmek.

Ünite 10: Haberleşme, Telemetri ve Dağıtık Durum

10.1. Komut ile Durum Aynı Şey Değildir

Bir komutun gönderilmesi, alındığı veya uygulandığı anlamına gelmez. Sağlam bir protokol gerektiğinde şu durumları ayırmalıdır:

oluşturuldu -> gönderildi -> alındı -> kabul edildi -> uygulanıyor -> tamamlandı / başarısız

Robot GUI'sinin “başarılı” işareti vermesi için hangi aşamanın yeterli olduğu açıkça tanımlanmalıdır.

10.2. Telemetri

Telemetri yalnız hata ayıklama çıktısı değildir. Robotun çalışma anındaki durumunu daha sonra açıklayabilmek için mühendislik kanıtıdır.

Yararlı telemetri:

  • zaman damgası,
  • durum kimliği,
  • sensör değerleri,
  • komutlar,
  • kontrolcü çıktıları,
  • hata kodları,
  • bağlantı durumu,
  • kaynak kullanımı

gibi veriler taşıyabilir.

Telemetri, fiziksel robot ile operatör/yazılım görünümü arasındaki durum tutarlılığını değerlendirmek için temel araçlardan biridir. Yalnız anlık değerleri taşımak yeterli değildir; kaynak zamanı, sıra bilgisi, geçerlilik süresi, mod ve hata durumu gibi metadata da alınmalıdır. Aksi hâlde arayüz doğru değeri yanlış zamanda göstererek yanıltıcı olabilir.

10.3. Veri Güncelliği

Dağıtık robotik sistemde “en son alınan değer” her zaman “şu an geçerli değer” değildir. Paket gecikmiş, sırada beklemiş veya yeniden iletilmiş olabilir.

Bu nedenle veriye:

  • ölçüm zamanı,
  • alınma zamanı,
  • sıra numarası,
  • geçerlilik süresi

gibi bağlamlar eklemek gerekebilir.

10.4. Bağlantı Kaybı

Bağlantı kaybı yalnız ağ katmanı hatası değildir. Robotun görev mantığında bir olaydır.

Üst seviye sistem şu sorulara cevap vermelidir:

  • robot son görevi sürdürmeli mi?
  • durmalı mı?
  • güvenli konuma dönmeli mi?
  • yerel otonomiyle devam etmeli mi?
  • operatöre hangi durum gösterilmeli?

Bu düşünce Bilgisayar Ağları ile robot kontrolü arasındaki doğrudan bağdır.


10.5. Telemetride Kaynak Zamanı, Olay Sırası ve İletişim Kopması

Robotik telemetride paketin alındığı zaman ile sensörde ölçümün gerçekleştirildiği zaman birbirinden farklıdır. Ağda geciken veya tekrar iletilen paketler eski ölçümü yeni durum gibi gösterebilir. Her telemetri kaydı kaynak zaman damgası, ölçüm sıra numarası, kaynak kimliği ve uygun kalite göstergeleriyle birlikte değerlendirilir; uygulama arayüzünde en son alınan paketi en güncel fiziksel durum kabul etmek güvenli değildir.

İletişim kopmasında son değerle devam etme, denetim çevrimine bağlı olarak tehlikeli olabilir. Geçerlilik süresi dolan ölçümün kontrol kararından çıkarılması, fail-safe durumuna geçiş, komut–geri bildirim ayrımı ve yeniden bağlanma sonrasında durum uzlaştırması önceden tanımlanır. Testler paket kaybı, sırasız teslimat, yinelenme ve farklı sensör saatleri altında yapılır.

Ünite 11: İnsan-robot Etkileşimi, GUI, Konuşma ve Görüntü

11.1. Operatör Arayüzleri ve Durum Tutarlılığı

Robot kontrol arayüzü klasik CRUD ekranından farklıdır; ekrandaki bilginin fiziksel sistemle zamansal olarak da tutarlı olması gerekir. Bir konum değeri doğru fakat eskiyse, operatör açısından yanlış bilgi işlevi görebilir.

Arayüz modelinde en az şu ayrımlar korunmalıdır:

  • hedef değer ile ölçülen değer,
  • son alınan telemetri ile telemetrinin kaynak zamanı,
  • komutun gönderilmesi ile cihaz tarafından kabul edilmesi,
  • uyarı ile kritik hata,
  • otomatik, yarı otomatik ve manuel modlar.

Bağlantı kaybında son değeri sessizce göstermeyi sürdürmek yerine verinin eskidiği açıkça belirtilmelidir. Operatör komutu verildiğinde ise arayüz optimistik olarak fiziksel durumu değiştirmemeli; önce komut durumunu, ardından ölçülen sonucu göstermelidir.

İnsan-robot etkileşiminde iyi GUI tasarımı estetikten önce durumsal farkındalık, yanlış komutu önleme, geri alınabilirlik ve hata teşhisi problemidir.

11.2. Konuşma Tanıma

HMM tabanlı otomatik konuşma tanıma, modern transformer tabanlı yaklaşımlardan önce akustik özellikler, durum geçişleri, telaffuz sözlüğü ve dil modelinin açık biçimde ayrıldığı yaygın bir mimariydi. Robotik açısından yöntemden bağımsız temel sorun, ASR çıktısının kesin komut olarak değil belirsiz bir algı sonucu olarak ele alınmasıdır.

Robotik kullanımda ASR için doğruluk tek ölçüt değildir. Şunlar da önemlidir:

  • yanlış komut kabul oranı,
  • gürültü altında davranış,
  • komut başlangıç/bitiş tespiti,
  • tanıma gecikmesi,
  • güven eşiği,
  • mevcut davranış bağlamı.

Bir masaüstü dikte sistemindeki yanlış kelime kullanıcı tarafından düzeltilebilir. Fiziksel hareket başlatan yanlış robot komutu ise farklı güvenlik sınıfındadır.

Konuşma arayüzlerinde özellik çıkarımı, akustik kestirim ve dilsel karar birbirinden ayrılabildiği gibi, robot tarafındaki eylem yetkisi de tanıma sonucundan ayrılmalıdır. MFCC ile özellik çıkarımı ve otomatik konuşma tanıma notları sinyal ve ASR katmanlarını ayrıntılandırır; robotik katman ise güven eşiği, bağlam, doğrulama ve güvenli reddetme davranışına odaklanır.

11.3. Konuşma Sentezleme

TTS, robotun yalnız “konuşmasını” sağlamaz; sistem durumunu insana ileten bir çıktı kanalıdır. Sesli çıktı:

  • hareketle zamanlanmalı,
  • kesilebilir olmalı,
  • yanlış durum bildirmemeli,
  • yüksek öncelikli uyarıyla çatışmamalıdır.

Robotun “işlem tamamlandı” demesi ile görevin gerçekten tamamlanması aynı state değişimine bağlı olmalıdır.

11.4. Görüntü İşleme

Robotik görüntü işleme algoritması; kamera, kalibrasyon, görüntü zamanı, işlem gecikmesi ve davranış katmanından ayrı düşünülemez.

Bir nesne algılama sisteminin yüksek doğruluğu, sonuç fiziksel hareket başlamadan önce geçerliliğini yitiriyorsa yeterli değildir. Bu nedenle işlem hacmi (throughput) kadar bilginin yaşı (age-of-information) da önemlidir.


Optik akışın parlaklık değişmezliği varsayımı, nesnenin yer değiştirmesi ile aydınlatma değişikliğini birbirinden ayırmaya yetmeyebilir. Sabit bir yüzey üzerinde ışık şiddeti değiştiğinde piksel değerleri hareket olmadığı hâlde farklılaşır; doygun bölgelerde ise gradyan bilgisi kaybolur. Lucas–Kanade benzeri yerel hesaplamalarda küçük pencerenin gradyan matrisi tekil veya kötü koşulluysa yalnız hareket büyüklüğü değil, tahminin güvenilirliği de raporlanmalıdır. Robot, düşük güvenli görsel ölçümü kesin konum bilgisi yerine ağırlığı azaltılmış bir gözlem olarak kullanmalıdır.

Düzlemsel bir yüzeydeki dört nokta eşleşmesi, uygun genel konum koşullarında homografi kestirmek için yeterli olabilir; ancak noktaların yaklaşık aynı doğru üzerinde olması problemi kötü koşullu yapar. Kamera açısından görülen bu dönüşüm, farklı derinliklerdeki bütün üç boyutlu nesnelere aynı biçimde uygulanamaz. RANSAC gibi sağlam kestirim yöntemleri hatalı eşleşmelerin etkisini sınırlayabilir; buna rağmen geometrik olarak tekilleşmiş örnek kümeleri doğru modeli üretmez. Kalibrasyon hatası, yeniden izdüşüm artığı ve düzlem varsayımı ayrı ayrı denetlenmelidir.

Ünite 12: Endüstriyel, Mobil ve İnsansı Robotlar

12.1. Endüstriyel Robotlar

Endüstride robotların güçlü olduğu işler genellikle:

  • tekrarlı,
  • hassas,
  • ağır,
  • tehlikeli,
  • yüksek çevrim hızına sahip

görevlerdir.

Robotik uygulamalar içinde punta ve ark kaynağı, boyama, yükleme-boşaltma ve montaj; tekrarlanabilirlik ile proses güvenliğinin birlikte değerlendirildiği klasik endüstriyel örneklerdir.

Bir endüstriyel robot seçerken yalnız erişim mesafesi değil:

  • taşıma kapasitesi,
  • tekrarlanabilirlik,
  • çevrim süresi,
  • çalışma uzayı,
  • proses kuvveti,
  • güvenlik bölgesi,
  • entegrasyon maliyeti,
  • bakım kabiliyeti

değerlendirilmelidir.

12.2. Mobil Robotlar

Mobil robotlarda ana problem manipülatörden farklıdır. Robotun kendi tabanı çevrede hareket ettiği için konum kestirimi, haritalama ve yol planlama öne çıkar.

Tekerlek kinematiği, kayma, zemin koşulları ve sensör görüşü lokalizasyonun doğruluğunu belirler. GPS dış ortamda yardımcı olabilir; iç ortamda lidar, kamera, odometri ve başka sensörlerin birleşimi gerekebilir.

12.3. Tehlikeli Ortam Robotları

Robotların önemli kullanım alanlarından biri insan için riskli ortamlardır. Maden, biyokimyasal numune alma, radyasyon ve yangın gibi ortamlar; robotun yalnız görevi değil, kendi çevresel dayanımını da tasarım problemi haline getirir.

Bu uygulamalar “insanı robota değiştir” kadar basit değildir. Robotun kendisi de:

  • sıcaklık,
  • radyasyon,
  • su,
  • toz,
  • patlayıcı atmosfer,
  • kimyasal kirlenme

nedeniyle arızalanabilir. Dolayısıyla çevre dayanımı görev tasarımının parçasıdır.

12.4. İnsansı Robotlar

İnsansı robot, insan biçimini yalnız görsel amaçla taklit etmez. İnsan ortamlarına uyum, merdiven/kapı/araç gibi insan ölçülerine göre tasarlanmış çevrede çalışma ve doğal etkileşim gibi hedefler humanoid tasarımı anlamlı kılar.

Buna karşılık serbestlik derecesi arttıkça:

  • kinematik,
  • denge,
  • enerji tüketimi,
  • gerçek zamanlı kontrol,
  • kablolama,
  • mekanik dayanım,
  • yazılım durum uzayı

hızla karmaşıklaşır.

İnsansı robotlar çok sayıda eklem, yüksek boyutlu durum, temas dinamiği, denge, algı ve insan-robot etkileşimini aynı sistemde birleştirdiği için entegrasyon karmaşıklığını görünür hâle getirir. Alt sistemlerden biri kendi içinde doğru çalışırken zamanlama veya durum sözleşmesi hatası bütün davranışı bozabilir.


Ünite 13: Simülasyon, Test ve Hata Ayıklama

13.1. Simülasyonun Doğrulama Sınırları

Simülasyon; gerçek robot üzerinde pahalı, tehlikeli veya yavaş tekrarlanabilecek durumları denetimli biçimde sınamak için kullanılır. Ancak simülatörün doğru çalışması, fiziksel sistemin aynı davranışı göstereceğini garanti etmez. Motor doygunluğu, backlash, sürtünme, sensör gürültüsü, paket gecikmesi, CPU yükü ve mekanik toleranslar modelde eksik kalabilir.

Bu nedenle simülasyon testleri üç sınıfa ayrılabilir:

  • algoritmik doğrulama: planlama, kinematik ve kontrol mantığının matematiksel beklentiyi sağlaması,
  • arayüz doğrulama: mesaj biçimi, durum geçişi, zaman aşımı ve hata yollarının sınanması,
  • gerçeklik farkı analizi: model ile fiziksel sistem arasındaki sistematik sapmaların ölçülmesi.

Simulation-in-the-loop, software-in-the-loop ve hardware-in-the-loop düzeyleri aynı testin eş anlamlıları değildir. Her biri gerçek donanımın farklı bölümünü test çevrimine dahil eder ve farklı hata sınıflarını görünür kılar.

13.2. SIL, HIL ve Gerçek Sistem

Robot yazılımı farklı seviyelerde doğrulanabilir:

  • yazılım içinde simülasyon,
  • model/algoritma testi,
  • Software-in-the-Loop,
  • Hardware-in-the-Loop,
  • tezgah testi,
  • gerçek robot testi.

Her seviyenin bulduğu hata türü farklıdır. Bir kinematik birim testi yanlış işaretli dönüşümü yakalayabilir; ancak motor sürücüsündeki elektriksel gürültüyü yakalayamaz.

13.3. Gereksinimden Kabul Testine İzlenebilirlik

Robot testinin en önemli sorularından biri “ne zaman tamamlandı sayacağız?” sorusudur. Bu cevap geliştirme bittikten sonra verilirse test ekibi yalnız eldeki davranışa göre ölçüt üretmeye başlar. Daha sağlıklı yaklaşım, kabul ölçütlerini gereksinim aşamasında tanımlamaktır.

Basit izlenebilirlik zinciri şöyledir:

gereksinim
    ↓
tasarım karşılığı
    ↓
gerçekleme birimi
    ↓
doğrulama yöntemi
    ↓
ölçüm / log / test kanıtı

Örneğin “robot bağlantı kaybında güvenli davranmalıdır” ifadesi test edilebilir olmak için daha açık hale getirilmelidir. Hangi bağlantı? Kaç farklı çalışma modunda? Güvenli davranış durmak mı, görevi yerel otonomiyle sürdürmek mi? Eyleyicilerin hangi zaman sınırı içinde hangi duruma geçmesi bekleniyor? Operatör arayüzü ne göstermeli?

Bu soruların cevabı tasarımı da etkiler. Kabul testi bu nedenle yalnız son aşama kalite kontrolü değil, gereksinimin yeterince açık yazılıp yazılmadığını sınayan erken bir araçtır.

Robotik doğrulamada nominal senaryo kadar sınır ve hata senaryoları da önemlidir:

  • sensörün geçersiz veya eski veri üretmesi,
  • haberleşmenin kesilmesi veya gecikmesi,
  • motor/eyleyici doygunluğu,
  • düşük enerji durumu,
  • yeniden başlatma,
  • kısmi alt sistem kaybı,
  • zaman kritik görevin gecikmesi,
  • operatör komutunun görev sırasında değişmesi.

Risk yüksekse önce en belirsiz veya en yıkıcı varsayım doğrulanmalıdır. Böylece mekanik, elektronik ve yazılım uzun süre yanlış bir ortak varsayım üzerine inşa edilmez.

Test kanıtı da yalnız “başarılı/başarısız” işareti olmamalıdır. Gerekli olduğunda zaman damgalı telemetri, sensör ve komut geçmişi, yazılım/konfigürasyon sürümü ve fiziksel test koşulu birlikte saklanmalıdır. Bu yaklaşım, Ünite 13'teki yeniden üretilebilirlik ilkesini doğrudan gereksinim mühendisliğine bağlar.

13.4. Uçtan Uca Hata Ayıklama

Fiziksel robotta “kol yanlış yere gidiyor” problemi şu zincirin herhangi bir noktasında olabilir:

hedef -> ters kinematik -> yörünge -> kontrol -> sürücü -> motor -> mekanik -> sensör -> geri besleme

Bu nedenle iyi hata ayıklama katmanlar arasında veri izler.

Uçtan uca hata ayıklamada yazılım durumu, elektronik arayüz ve fiziksel sinyal aynı olay zincirinin parçaları olarak izlenmelidir. Bir motorun hareket etmemesi örneğinde sorun üst seviye görev mantığından sürücü komutuna, haberleşmeden güç elektroniğine ve mekanik sıkışmaya kadar farklı katmanlarda bulunabilir.

13.5. Log ve Yeniden Üretilebilirlik

Bir robot hatası laboratuvarda tekrar üretilemiyorsa şu veriler kritik hale gelir:

  • zaman çizelgesi,
  • komutlar,
  • sensörler,
  • konfigürasyon,
  • yazılım sürümü,
  • hata kodları,
  • sistem modu.

“Bende çalıştı” fiziksel sistem için yeterli doğrulama değildir.


Pekiştirmeli öğrenme için durum s, eylem a, ödül r ve bir sonraki durum s' aynı fiziksel karar döngüsüne bağlanmalıdır. Q-learning güncellemesi Q(s,a) ← Q(s,a) + α[r + γ max Q(s',·) − Q(s,a)] biçimindedir. Q(s,a)=2, α=0,5, r=1, γ=0,9 ve sonraki en yüksek Q değeri 4 ise hedef 1+0,9×4=4,6, yeni değer 2+0,5×(4,6−2)=3,3 olur. Bu güncelleme hesap olarak tutarlı olsa da robot için rastgele eylem seçmeyi güvenli kılmaz. Çarpışma sınırları, eylem hız sınırları ve güvenlik filtresi öğrenme politikasından bağımsız olarak uygulanmalıdır.

Ünite 14: Güvenilirlik, Güvenlik ve Bakım Yapılabilirlik

14.1. Fiziksel Sınırların Yazılımla Korunması

Robot yazılımı eklem limitlerini, hız sınırlarını, sıcaklık ve akım sınırlarını yalnız GUI doğrulaması olarak görmemelidir. Kritik sınırlar mümkün olduğunca ilgili düşük seviyede de uygulanmalıdır.

Tek bir üst seviye yazılım hatası, mekanik sınırın aşılmasına yol açmamalıdır.

14.2. Watchdog ve Yaşam Belirtisi

Dağıtık robot sistemlerinde bir bileşenin çalışıyor görünmesi ile gerçekten görevini zamanında yapması farklıdır. Watchdog veya heartbeat mekanizması:

  • süreç yaşıyor mu,
  • döngü ilerliyor mu,
  • veri güncel mi,
  • kontrol görevi deadline içinde mi

gibi farklı anlamlarda tasarlanabilir.

14.3. Hata İzolasyonu

Bir kamera arızası, hareketin tamamını zorunlu olarak durdurmalı mı? Cevap göreve bağlıdır. Sistem fonksiyonları kritik önemine göre ayrılırsa bir alt sistem hatasının gereksiz yere bütün robotu çökertmesi önlenebilir.

14.4. Güvenilirlik, Kullanılabilirlik ve Bakım Süresi

Robotun bir kez doğru çalışması ile uzun süre güvenilir biçimde çalışması farklı problemlerdir. Güvenilirlik, belirli koşullarda gerekli işlevi belirli süre boyunca yerine getirme yeteneğini; kullanılabilirlik ise sistemin ihtiyaç duyulduğunda hizmet verebilir durumda olmasını ifade eder. Bakım yapılabilen bir sistemde arıza sıklığı kadar arızadan ne kadar hızlı dönüldüğü de önemlidir.

Bu yüzden MTTF/MTBF gibi arıza aralığı göstergeleri ile MTTR gibi onarım süresi göstergeleri farklı soruları cevaplar. Tek bir yüksek değer bütün sistemin güvenilir olduğunu kanıtlamaz; ölçüm koşulu, arıza tanımı, örneklem ve görev profili açık olmalıdır.

Robotlarda pratik hata kaynakları yalnız işlemci veya algoritma değildir. Özellikle hareketli fiziksel sistemlerde:

  • konnektörler ve temas yüzeyleri,
  • sürekli bükülen kablolar,
  • batarya ve güç dağıtımı,
  • motor/sürücü ısıl yükleri,
  • rulman, redüktör ve başka hareketli parçalar,
  • fanlar ve soğutma elemanları,
  • titreşim ve darbe altında mekanik bağlantılar

yaşam döngüsünü belirleyebilir.

Kablo demetinin ilk gün çalışması yeterli değildir; eklemle birlikte binlerce kez büküldüğünde ne olacağı önemlidir. Benzer biçimde bir eyleyicinin kısa laboratuvar testini geçmesi, görev profilindeki sürekli/tepe yük ve sıcaklık altında aynı ömrü sağlayacağını göstermez.

Bu nedenle robot doğrulamasında ömür ve çevrim testi ayrı bir katman olmalıdır. Amaç her parçayı yok olana kadar çalıştırmak değil, kullanım profilini hızlandırılmış veya tekrarlanabilir koşullarda temsil ederek zayıf noktaları üretim öncesinde görünür hale getirmektir.

Bakım yapılabilirlik mimari karardır. Bir sensör arızalandığında bütün gövdenin sökülmesi gerekiyorsa onarım süresi artar. Hata kodu yalnız “cihaz hatası” diyorsa arıza bulma süresi uzar. Değiştirilebilir modüller, erişilebilir konnektörler, açık telemetri, tanılama modları ve sürüm bilgisi MTTR'yi düşürerek kullanılabilirliği artırabilir.

Yedeklilik bazı görevlerde arıza toleransı sağlayabilir; fakat ikinci bileşen yalnız “yedek parça” değildir. Arıza algılama, geçiş mantığı, durum eşleme ve ortak hata nedenleri de tasarlanmalıdır. Aynı güç hattına bağlı iki denetleyici güç hattı arızasına karşı gerçek yedeklilik sağlamaz.

Dolayısıyla güvenilir robot tasarımı şu üç ekseni birlikte ele alır:

arızayı azalt
      +
arızayı erken ve doğru algıla
      +
arızadan güvenli ve hızlı toparlan

14.5. Programlama Standartları

Programlama standartları ve statik analiz, fiziksel sistem yazılımında yalnız kod biçimi konusu değildir. Uzun ömürlü robot yazılımında açık sahiplik, sınır kontrolleri, deterministik hata yolları, değişken yaşam döngüsü ve makine tarafından denetlenebilir kurallar; bakım yapılabilirlik ile güvenilirliği birlikte destekler.

  • cihaz bağımlılıklarının izole edilmesi,
  • ortak veri modelleri,
  • deterministik durum geçişleri,
  • açık hata sözleşmeleri,
  • sorumlulukların ayrılması

bakım maliyetini ve hata yayılımını doğrudan etkiler.

14.6. Güvenlik

Robot güvenliği yalnız acil durdurma düğmesi değildir. Risk; robotun hızı, kuvveti, çalışma alanı, insanla fiziksel yakınlığı ve kontrol biçimine bağlıdır. Endüstriyel uygulamalarda mekanik koruma, emniyet devreleri, yazılım limitleri ve operasyon prosedürü birlikte düşünülür.


Ünite 15: Sistem Entegrasyonu, Durum Sözleşmeleri ve Güvenli Yürütme

Bir robotun alt sistemleri ayrı ayrı doğru çalışabilir; buna rağmen bütün robot yanlış davranabilir. Sistem entegrasyonunun temel işi, alt sistemler arasındaki durum, zaman ve hata sözleşmelerini açık hâle getirmektir.

15.1. Yetkili Durum Kaynağı

Aynı fiziksel büyüklüğün farklı katmanlarda bağımsız kopyaları tutulduğunda hangi değerin güncel ve güvenilir olduğu belirsizleşir. Her durum alanı için kaynak, üretim zamanı, geçerlilik süresi ve dönüşüm zinciri tanımlanmalıdır. GUI, görev yürütücü ve kayıt katmanı bu yetkili durumdan türetilmiş görünümler kullanmalıdır.

15.2. Komut ile Hedef Durumunu Ayırmak

Bir komutun gönderilmesi fiziksel etkinin gerçekleştiğini göstermez. Güvenilir yürütme; created -> accepted -> executing -> completed/failed/cancelled gibi gözlenebilir bir yaşam döngüsü kurar. Üst seviye davranışın sonraki adıma geçmesi, yalnız mesaj kuyruğunun boşalmasına değil uygun fiziksel geri beslemeye dayanmalıdır.

15.3. Donanım Adaptörleri ve Arayüz Sözleşmeleri

Motor sürücüsü, servo, kamera, lidar veya özel I/O kartı gibi cihazların protokol ayrıntıları üst katmanlara yayılmamalıdır. Adaptör katmanı veri biçimini dönüştürürken aynı zamanda zaman aşımı, yeniden bağlanma, sıra numarası, cihaz hata kodu ve geçersiz ölçüm semantiğini de standartlaştırmalıdır.

Bu sınır, donanım değiştiğinde görev mantığının yeniden yazılmasını azaltır; ancak “her cihazı tek arayüze zorlamak” anlamına gelmez. Cihazın güvenlik veya zamanlama açısından anlamlı özellikleri soyutlama içinde kaybolmamalıdır.

15.4. Kalibrasyon ve Konfigürasyon Yönetimi

Encoder ofseti, eklem limiti, kamera intrinsics/extrinsics, kontrol kazançları ve kinematik parametreler koddan bağımsız fakat sürümlenebilir konfigürasyon verisi olarak ele alınmalıdır. Bir test sonucu, kullanılan yazılım sürümü kadar bu parametre kümesiyle de ilişkilendirilmelidir.

15.5. Hata Yayılımı ve Yeniden Başlatma Sınırları

Tek bir sensörün bozulması bütün robotu belirsiz duruma sokmamalıdır. Hangi hatanın hangi alt sistemi durduracağı, hangi fonksiyonun degrade modda sürdürülebileceği ve yeniden başlatmanın hangi durumu temizleyeceği önceden tanımlanmalıdır. Yeniden başlatma, bilinmeyen fiziksel durumu otomatik olarak güvenli hâle getirmez.

15.6. Uçtan Uca Gözlenebilirlik

Bir davranış hatası incelenirken “üst seviye görev neden başarısız oldu?” sorusu; olay zaman çizelgesi üzerinden sensör ölçümüne, karar düğümüne, gönderilen komuta, sürücü cevabına ve fiziksel geri beslemeye kadar izlenebilmelidir. Bu izlenebilirlik robotikte yalnız operasyonel gözlem değil, doğrulama altyapısının da parçasıdır.

Ünite 16: Robotik Sistem Tasarım İlkeleri

Robotik sistemlerin farklı alt disiplinleri aşağıdaki ortak mühendislik ilkelerinde birleşir.

16.1. Yazılım Durumu Fiziksel Gerçeklik Değildir

Yazılımın iç modeli sensörler, önceki durum ve haberleşme yoluyla oluşturulur. Bu model gecikebilir, eksik olabilir veya yanlış ölçüme dayanabilir. Kontrol ve görev mantığı yalnız değeri değil, verinin kaynağını ve yaşını da değerlendirmelidir.

16.2. Gecikme Yalnız Performans Metriği Değildir

Algıdan eyleyiciye uzanan yolun gecikmesi kontrol kararlılığını ve güvenliği etkileyebilir. Ortalama gecikmenin düşük olması yeterli değildir; jitter, kuyruk birikmesi ve en kötü durum davranışı da incelenmelidir.

16.3. Arayüzler Sistem Davranışının Parçasıdır

Seri port, CAN, Ethernet, shared memory veya süreçler arası mesajlaşma yalnız taşıma ayrıntısı değildir. Çerçeveleme, sıra, zaman aşımı, tekrar, idempotency ve hata bildirimi doğrudan davranış semantiğine dönüşür.

16.4. Simülasyon ve Gerçek Sistem Birlikte Doğrulanmalıdır

Simülasyon geniş senaryo kapsamı sağlar; fiziksel test ise modellenmemiş dinamikleri ve donanım kusurlarını ortaya çıkarır. İkisi birbirinin alternatifi değil, farklı hata sınıflarını hedefleyen doğrulama katmanlarıdır.

16.5. Güvenli Sistem Başarısızlığı Açıkça Yönetir

Robotik yazılım, yalnız normal akışı değil; sensör kaybı, sürücü reddi, iletişim kopması, enerji kısıtı ve yazılım yeniden başlatması gibi olayları da tasarımın parçası kabul etmelidir. Güvenli duruş, sınırlı işlevle devam ve insan müdahalesine geçiş koşulları sistem gereksinimlerinde tanımlanmalıdır.

16.6. Matematik ile Sistem Mühendisliği Birlikte Gereklidir

Kinematik, dinamik, kestirim ve kontrol algoritmaları robot davranışının matematiksel temelidir. Bununla birlikte gerçek bir robot; zamanlama, protokol, kalibrasyon, güç, yazılım yaşam döngüsü ve insan etkileşimi nedeniyle yalnız denklemlerle açıklanamaz. Akademik robotik eğitiminin amacı bu iki düzeyi aynı sistem modeli içinde birleştirmektir.

Ünite 17: Belirsizlik, Öğrenme ve Yapay Zekâ

17.1. Durum Kestirimi ve Belirsizliğin Karar Katmanına Taşınması

Ön kestirim belirsizliği ile ölçüm belirsizliğinin Kalman kazancı üzerinden daha dar posterior belirsizlik bölgesinde birleşmesi
Kalman sensör birleştirme

Robotik yazılımda konum, hız veya engel mesafesi "gerçek sayı" değil kestirimdir. Sensör gürültüsü, zaman senkronizasyonu ve model hatası nedeniyle her kestirimin belirsizliği vardır. Kontrol ve planlama katmanı bu belirsizliği tamamen kaybederse sistem ölçümden daha kesin davranmaya başlar.

Kalman filtresi veya başka bir kestirici yalnız daha düzgün grafik üretmek için kullanılmamalıdır. Kovaryans, filtre tutarlılığını ve ölçümün ne kadar güvenilir olduğunu temsil eder. Yenilik (innovation) dağılımı model/ölçüm uyuşmazlığını tanılamak için izlenebilir.

Planlayıcıda güvenlik marjı sabit sayı olmak zorunda değildir; konum belirsizliği büyüdükçe engel mesafesi de genişletilebilir. Böylece algı belirsizliği doğrudan davranış güvenliğine bağlanır.

17.2. Robotik Deneyde Durum ve Belirsizliği Kaydetmek

Robot performansı yalnız “görevi tamamladı” ölçütüne indirgenmemelidir. Başlangıç konumu, harita, sensör koşulu, batarya düzeyi, zemin ve yazılım sürümü tekrar üretilebilirlik için önemlidir.

Konumlama ve algı sonuçları belirsizlik taşır. Ortalama hata yanında dağılım, aykırı değer oranı ve başarısız takip/yeniden lokalizasyon sayısı raporlanabilir. Kontrol başarısı da bu algı belirsizliğinden bağımsız değerlendirilmemelidir.

Simülasyon-gerçek farkı özellikle sürtünme, sensör gürültüsü, gecikme ve aktüatör dinamiğinde belirgindir. Simülasyonda elde edilen sonuç fiziksel robotta yeniden doğrulanmalı; fark modelin eksikliği olarak kaydedilmelidir.

17.3. Robotik ile Yapay Zekâ Arasındaki Etkileşim

Öğrenen bir yöntem robota bağlandığında çıktı artık yalnız sayısal bir tahmin değildir; sensör, zaman, dinamik ve güvenlik sınırları içinde fiziksel davranışa dönüşebilir. Robotik bu sınırları görünür kılar; yapay zekâ ise algılama, temsil, planlama ve bazı kontrol problemlerine veriden öğrenilen yöntemler ekler. Bu nedenle robotikte yapay zekâ, yalnız robota bir yapay sinir ağı eklemek değildir.

17.3.1. Algılama ile Durum Aynı Şey Değildir

Kamera görüntüsünden nesne tespiti, mikrofondan konuşma tanıma veya lidar verisinden sınıflandırma birer algılama problemidir. Robotun karar vermesi için bunların zaman, koordinat sistemi ve belirsizlikle birlikte duruma dönüştürülmesi gerekir.

sensör gözlemi
↓
algılama
↓
durum kestirimi
↓
karar / plan
↓
kontrol

Bir nesnenin görüntüde bulunması, robot koordinat sisteminde güvenilir 3B konumunun bilindiği anlamına gelmez. Kalibrasyon ve dönüşümler robotik geometrinin parçasıdır.

17.3.2. Sensör Füzyonu ve Öğrenilmiş Ölçüm

Kalman süzgeci veya diğer Bayesçi kestirim yöntemleri fiziksel model ile ölçümü birleştirir. Öğrenen model ölçüm fonksiyonunun bir bölümünü sağlayabilir; örneğin görüntüden işaret noktası veya poz kestirebilir. Ancak model çıktısının hata dağılımı bilinmeden bu değeri kesin sensör ölçümü gibi kullanmak yanlış olabilir. Öğrenilmiş algı ile durum kestirimi arasındaki arayüzde güven değeri, kovaryans veya en azından ölçülmüş hata karakteristiği gerekir.

17.3.3. Planlama ve Öğrenme

Klasik hareket planlama, engel ve kinematik kısıtlar altında geçerli yol arar. Öğrenme yöntemi maliyet fonksiyonu, sezgisel veya davranış politikası öğrenebilir. Ancak fiziksel çarpışma kısıtı öğrenilmiş skorla aynı şey değildir. Kritik sınırlar deterministik olarak denetlenebilir.

Pekiştirmeli öğrenmede politika:

u = π(s)

durumdan eylem üretir ve ödül üzerinden optimize edilir. Robotikte sorun, yanlış keşif eyleminin gerçek donanımda maliyetli veya tehlikeli olabilmesidir. Bu nedenle simülasyon, çevrimdışı veri, güvenli eylem setleri ve klasik denetleyiciyle hibrit kullanım önem kazanır.

17.3.4. Kontrol ile AI'nın Sınırı

Düşük seviyeli eklem veya hız kontrolü çoğu sistemde deterministik kontrol yasalarıyla daha doğal ve doğrulanabilir olabilir. Öğrenen bileşen daha üst seviyede hedef, ileri besleme düzeltmesi, model hata kestirimi veya görev politikası üretebilir. Bu katman ayrımı gereksiz karmaşıklığı azaltır.

güvenli temel kontrol
+
öğrenen yardımcı katman
+
sert fiziksel sınırlar

her problem için zorunlu mimari değildir; fakat kritik robotlarda sorumluluğu ayrıştırmak için güçlü bir başlangıçtır.

17.3.5. İnsan-robot Etkileşimi

Konuşma, görüntü ve doğal dil modelleri insan-robot arayüzünü zenginleştirebilir. Ancak serbest biçimli doğal dil doğrudan motor komutuna çevrilmemelidir. Kullanıcı niyeti önce açık görev durumuna ve izin verilen eylemlere dönüştürülmelidir. “Bana yaklaş” gibi basit bir ifade bile mesafe, hız ve engel politikası gerektirir.

17.3.6. Simülasyondan Gerçeğe Geçiş

Simülasyonda öğrenilen politika gerçek dünyada sensör gürültüsü, sürtünme, mekanik boşluk, gecikme veya modellenmemiş temas nedeniyle farklı davranabilir. Alan rastgeleleştirme (domain randomization) ve ince ayar (fine-tuning) bu farkı azaltabilir; sıfırlamaz. Gerçek donanım testi robotik öğrenmenin ayrı doğrulama aşamasıdır.

Robotik, yapay zekâ için güçlü bir sınav alanıdır çünkü hata yalnız yanlış sınıf etiketi olarak kalmaz; fiziksel harekete dönüşebilir. Yapay zekâ da robotiği, açıkça modellenmesi zor algılama ve karar örüntülerinde genişletir. İki alanın kesişimindeki temel ilke şudur: öğrenilmiş tahmini fiziksel gerçek, planı kontrol komutu ve simülasyon başarısını saha güvencesi ile karıştırmamak.

Ünite 18: Konumlama, SLAM ve Olasılıksal Durum Kestirimi

Mobil robotta kontrolcüye verilen (x, y, θ) durumu doğrudan ölçülen kesin gerçek değildir. Encoder, IMU, GNSS, kamera veya lidar ölçümleri gürültü, bias, gecikme ve çevresel belirsizlik taşır. Konumlama problemi bu ölçümlerden robot durumunun olasılıksal olarak kestirilmesidir.

18.1. Bayesçi Durum Kestirimi

Durum kestirimi iki bilgi kaynağını tekrar tekrar birleştirir:

önceki durum
   + hareket modeli
        ↓
      tahmin
        +
   yeni ölçüm
        ↓
     düzeltme

Tahmin hareket modeline, düzeltme ise sensör modeline dayanır. Sensör füzyonu "bütün sensörleri ortalamak" değildir; her ölçüm kendi belirsizliği ve gözlenebilirliğiyle ele alınmalıdır.

Tekerlek odometrisindeki hata genellikle her adımda bağımsız bir konum kayması değildir. Yanlış tekerlek yarıçapı ölçeği kat edilen mesafeyle büyüyen sistematik hata oluştururken yönelimdeki küçük bir sapma uzun düz sürüşte yanal konum hatasına dönüşür. İki boyutlu bir aracın x, y ve yönelim durumları birlikte kestirildiğinde kovaryansın çapraz terimleri bu bağlılığı gösterir. Yalnız x ve y varyanslarını bağımsız bildirmek, gerçek belirsizlik elipsini gizleyebilir. Harici bir konum ölçümü geldiğinde düzeltme kazancı bu ortak belirsizliğe göre hesaplanmalıdır.

18.2. EKF ve UKF

Kalman filtresi doğrusal ve Gauss varsayımlı model için kapalı biçimde durum ve kovaryans güncellemesi sağlar.

Extended Kalman Filter (EKF) doğrusal olmayan hareket/ölçüm modelini mevcut kestirim çevresinde Jacobian ile doğrusallaştırır. Güçlü doğrusal olmayanlık veya kötü başlangıçta bu yaklaşım yetersiz kalabilir.

Unscented Kalman Filter (UKF) Jacobian yerine seçilmiş sigma noktalarını doğrusal olmayan fonksiyondan geçirerek ortalama ve kovaryansı yaklaşık taşır. "UKF her zaman EKF'den daha iyidir" biçiminde genel bir sonuç yoktur; boyut, model maliyeti ve doğrusal olmayanlığın yapısı önemlidir.

18.3. Parçacık Filtresi

Koridorda parçacık filtresiyle konum kestirimi: tahmin, ağırlıklandırma ve yeniden örnekleme
Parçacık filtresi

Durum dağılımı tek Gauss ile iyi temsil edilemiyorsa çok sayıda ağırlıklı örnek kullanılabilir:

{x_i, w_i}

Hareket modeliyle parçacıklar ilerletilir, sensör olasılığıyla ağırlıklar güncellenir ve gerektiğinde yeniden örneklenir. Çok modlu konum belirsizliğini temsil edebilmesi güçlü yanıdır; maliyet parçacık sayısıyla artar.

18.4. SLAM

Çevrim kapatma ile odometri kaymasının dağıtılması adımlarının ve durum değişimlerinin gösterimi
Çevrim kapatma ile odometri kaymasının dağıtılması

SLAM, robotun bilinmeyen çevrede hem kendi konumunu hem haritayı birlikte tahmin etmesidir. Bu iki bilinmeyen birbirine bağlıdır:

konum kestirimi haritayı kullanır
harita güncellemesi konum kestirimini kullanır

Odometry drift zamanla büyür. Daha önce görülen bir yerin yeniden tanınması loop closure ile biriken hatanın düzeltilmesine yardımcı olabilir. Yanlış loop closure ise bütün haritayı bozabilecek güçlü bir hatadır; bu nedenle data association doğrulaması kritiktir.

18.5. Front-end ve back-end Ayrımı

Modern SLAM sistemi kavramsal olarak:

sensörler
  ↓
özellik / scan eşleme / odometry      <- front-end
  ↓
kısıtlar
  ↓
pose graph / optimizasyon             <- back-end
  ↓
trajectory + map

şeklinde ayrılabilir.

Front-end ölçümden aday ilişkiler üretir; back-end bu ilişkiler altında global tutarlılığı optimize eder. Bu ayrım bilgisayarlı görü algoritması ile robotik durum kestirimini birbirine karıştırmamayı sağlar.

18.6. ROS 2'nin Konumu

ROS 2 bir konumlama veya SLAM algoritması değildir. Düğümler, topic/service/action iletişimi, zaman, QoS ve araç ekosistemi sağlayan robotik middleware katmanıdır. Algoritmik doğruluk ile middleware taşıma davranışı ayrı doğrulanmalıdır.

Robotik sistemde güvenilir konum, tek sensörün "doğru koordinat" üretmesinden değil; hareket modeli, ölçüm belirsizliği, zaman eşleme ve tutarlılık kontrolünün birlikte tasarlanmasından doğar.

18.7. Sonuç

Robotik mühendisliği; mekanik yapı, eyleyici, sensör, kestirim, kinematik, dinamik, kontrol, planlama, haberleşme ve insan-robot etkileşimini aynı fiziksel sistemde birleştirir. Alt katmanların her biri kendi alanında doğru olsa bile, zaman ve durum sözleşmeleri bozulduğunda bütün sistem hatalı davranabilir.

Bu nedenle iyi bir robotik tasarım yalnız “çalışan algoritma” üretmez. Ölçümün güvenilirliğini, komutun yaşam döngüsünü, fiziksel geri beslemeyi, gecikmeyi, hata yayılımını ve doğrulama kanıtını birlikte ele alır. SLAM, yapay zekâ veya gelişmiş planlama gibi yüksek seviyeli yöntemler de ancak bu temel sistem sözleşmelerinin üzerinde güvenilir biçimde çalışabilir.

Dersin temel çıktısı, bir robotu birbirinden kopuk mekanik ve yazılım bileşenleri olarak değil; ölçen, kestiren, karar veren, eyleyen ve geri besleme alan bütünleşik bir gerçek zamanlı sistem olarak analiz edebilmektir.

18.8. Parçacık Filtrelerinde Hipotezlerin Korunması

Mobil robotun konum belirsizliği dar bir Gaussian dağılımla temsil edilemediğinde aynı gözleme uyan farklı konum hipotezleri ortaya çıkabilir. Parçacık filtresinde her örnek bir olası poz ve buna ait ağırlığı taşır. Hareket modeli parçacıkları ilerletirken sensör modeli ölçümün ilgili poz altında ne kadar olası olduğunu değerlendirir. Örneğin birbirine benzeyen iki koridorda algoritmanın iki ayrı konum kümesi tutması, belirsizliği erken tek noktaya indirgemekten daha doğru olabilir.

Ağırlıklar yoğunlaştığında yeniden örnekleme yapılır; ancak çok sık yeniden örneklemek düşük ağırlıklı fakat doğru çıkabilecek hipotezleri yok edebilir. Etkin parçacık sayısı ve yeniden örnekleme sıklığı birlikte izlenmeli, hata senaryolarında yeniden konumlama yeteneği ölçülmelidir. Yetersiz algılayıcı modeli veya yanlış zaman damgası, parçacık sayısını büyütmekle giderilemez. Özellikle gecikmeli sensör paketleri kullanılıyorsa tahmin ve ölçüm güncellemesinin hangi zaman durumuna uygulandığı açık olmalıdır.

SLAM bağlamında parçacık kümesi üzerinde aynı anda poz ve harita belirsizliği tutulabilir; fakat harita boyutu ve parçacık sayısı hesaplama maliyetini artırır. Bir sistemin parçacık filtreli SLAM kullanması, bütün SLAM yöntemlerinin parçacık filtresi temelli olduğu anlamına gelmez. Ön uçtaki eşleştirme ve veri ilişkilendirme hataları arka uç optimizasyonuna aktarılabileceğinden, geometrik tutarlılık ve zaman eşleştirmesi ayrı test edilmelidir.

İlgili Ders Notları

Öğrenilmiş Ölçümleri Olasılıksal Konum Kestirimine Katmak

Bir görüntü veya ses ağının z_t kestirimi robotun gözleyicisinde ölçüm olarak kullanılacaksa beraberinde belirsizlik modeli R_t, doğru zaman damgası ve koordinat çerçevesi gelmelidir. UKF/EKF yenilemesinde küçük fakat gerçekte hatalı R_t, kestirimin aşırı güvenli hâle gelmesine neden olabilir. Aykırı değer kapısı inovasyonun kovaryans-normalize uzaklığıyla kurulabilir; bu kapı da kalibre edilmelidir.

Statik sahnede düşük ortalama hata, hareket sırasında zaman hizasızlığının doğuracağı sıçramayı göstermez. Kayıp paket, out-of-order ölçüm, tekrarlanan gözlem ve robotun daha önce görmediği çevre için ayrı denemeler yapılmalıdır. Öğrenilmiş ölçüm, durum tahmini ve kontrol kararı üç ayrı doğrulama katmanıdır.

18.9. SLAM Gözlemlerinin Yenilik Temelli Doğrulanması

Robotun konum ve yönelim kestirimindeki bir görsel eşleşme, harita durumuna göre büyük artık üretebilir. Mahalanobis uzaklığı ve yenilik kovaryansı kullanılarak gözlemin beklenen belirsizlikle tutarlılığı sınanır. Ancak yanlış veri ilişkilendirme, yeni mekân geometrisi ve gerçek hızlı hareket farklı hata kaynaklarıdır. Ölçüm reddi kararı iz sürekliliği, harita güvenilirliği ve yeniden kazanım stratejisiyle birlikte tasarlanmalıdır. Matematiksel çerçeve Anomali Algılama dersinde sunulur.

Kaynakça

  • Brendan Gregg. Systems Performance: Enterprise and the Cloud. Pearson Education, 2014.
  • Bruno Siciliano, Lorenzo Sciavicco, Luigi Villani, Giuseppe Oriolo. Robotics: Modelling, Planning and Control. Springer.
  • Charles M. Bergren. Anatomy of a Robot. McGraw-Hill, 2003. DOI: https://doi.org/10.1036/0071429301.
  • Heather Adkins; Betsy Beyer; Paul Blankinship; Piotr Lewandowski; Ana Oprea; Adam Stubblefield. Building Secure & Reliable Systems: Best Practices for Designing, Implementing, and Maintaining Systems. O’Reilly Media, 2020.
  • John J. Craig. Introduction to Robotics: Mechanics and Control. Pearson.
  • Mark W. Spong, Seth Hutchinson, M. Vidyasagar. Robot Modeling and Control. Wiley.
  • Mor Harchol-Balter. Performance Modeling and Design of Computer Systems: Queueing Theory in Action. Cambridge University Press, 2013.
  • Peter Corke. Robotics, Vision and Control: Fundamental Algorithms in MATLAB. Springer.
  • Richard S. Sutton, Andrew G. Barto. Reinforcement Learning: An Introduction, 2nd ed. MIT Press, 2018.
  • Sebastian Thrun, Wolfram Burgard, Dieter Fox. Probabilistic Robotics. MIT Press, 2005.
  • Walter W. Piegorsch, Richard A. Levine, Hao Helen Zhang, Thomas C. M. Lee (eds.). Computational Statistics in Data Science. Wiley, 2022. ISBN 9781119561071.
  • Billingsley, J. Mechatronics Experiments with Machine Vision. Springer Nature Switzerland, 2026. DOI: https://doi.org/10.1007/978-3-032-11218-7.
  • Naveenkumar, P.; Sharma, V.; Devarajan, G.; Abdullah, A.; Elngar, A. A. (eds.). Handbook of AI-Based Mechatronics Systems and Smart Solutions in Industrial Automation. CRC Press, 2026. DOI: https://doi.org/10.1201/9781032615790.
  • Chunwei Zhang, Tianpeng Li, Ying Dai, Li Sun ve Ardashir Mohammadzadeh. Practical Neural Networks in Python and MATLAB. Springer Nature, 2026. DOI: https://doi.org/10.1007/978-3-032-14746-2.
  • Simo Särkkä; Lennart Svensson. Bayesian Filtering and Smoothing, 2nd ed.. Cambridge University Press, 2023. https://doi.org/10.1017/9781108917407
İçindekiler