Ultralytics YOLO27: Bekleme listesine katıl.
YOLO'yu lisansla
Ultralytics Sözlüğüne dön

Model Predictive Control (MPC)

Model öngörülü kontrolü (MPC), bir modelle kısa bir eylem dizisi planlar, yalnızca ilk eylemi uygular ve her adımda yeniden planlama yapar. Bileşenleri, kullanım alanlarını ve kodu ele alır.

Model öngörülü kontrol (MPC), bir sistemin yakın gelecekteki davranışını tahmin etmek için sistem modelini kullanan, kısıtları gözetirken bir hedefe en iyi şekilde ulaşacak eylem dizisini seçen, yalnızca ilk eylemi uygulayan ve ardından yeni ölçümlerle tüm süreci sonraki zaman adımında yineleyen bir kontrol yöntemidir. Bu planla, uygula ve yeniden planla döngüsüne kayan ufuklu kontrol denir; bu yaklaşım, denetleyicinin yalnızca mevcut hataya tepki vermek yerine neler olacağını öngörmesini sağlar. MPC, 1970'lerin sonlarında petrol rafinasyonu ve kimyasal işleme alanlarında gelişti; Shell'in Dynamic Matrix Control sistemi ilk endüstriyel uygulamalardan biriydi. Günümüzde robotları, otonom araçları ve bina iklimlendirme sistemlerini yönlendirir.

Bir MPC Denetleyicisinin Bileşenleri#

Her MPC denetleyicisi dört bileşeni bir araya getirir:

  • Dinamik modeli: Mevcut durum ve bir eylemden sonraki durumu tahmin eder; örneğin belirli bir direksiyon açısında bir aracın konumunun ve yönünün nasıl değişeceğini öngörür. Fizik denklemlerinden, kaydedilmiş veriler üzerinde sistem tanımlamadan veya kaydedilmiş yörüngelerle eğitilmiş bir sinir ağından elde edilebilir.
  • Maliyet fonksiyonu: Tahmin edilen bir yörüngeyi puanlar; genellikle hedeften uzaklığı, enerji kullanımını ve kontrollerdeki ani değişimleri cezalandırır.
  • Kısıtlar: Her planın uyması gereken sınırlar; örneğin azami motor torku, hız sınırları ve engellerin çevresindeki girilmez bölgeler. Kısıtları açıkça ele almak, yalnızca hatalar ortaya çıktıktan sonra tepki veren ve bir sınıra önceden bakamayan klasik PID kontrolüne kıyasla MPC'nin temel avantajıdır.
  • İyileştirici: Her kontrol adımında ufuk içindeki en iyi eylem dizisini arar.

Model, optimizasyonun ne kadar zor olacağını belirler. Kuadratik maliyetli doğrusal bir model, özel çözücülerin milisaniyeler veya daha kısa sürede tamamladığı bir kuadratik programlama problemine dönüşür. Doğrusal olmayan modeller ise genellikle durumu tahmin etmek için bir genişletilmiş Kalman filtresi veya örnekleme tabanlı aramayla birlikte kullanılan doğrusal olmayan MPC çözücüleri gerektirir. Her kontrol adımında iyileştirici, aday planları tahmin edip iyileştiren bir iç döngü çalıştırır; denetleyici ise bir eylemi uygulayıp yeni ölçülen durumdan yeniden başlayan bir dış döngü yürütür:

Ufuk uzunluğu, ayarlanması gereken temel seçimdir. Daha uzun bir ufuk, aracın keskin bir viraj için erken fren yapmasını sağlar; ancak her ek adım hesaplama yükünü artırır ve modelin tahmin hatasını büyütür. Üstelik optimizasyonun tamamının tek bir kontrol süresi içinde bitmesi gerekir.

Kodda Kayan Ufuk#

Aşağıdaki kod parçası, ivmesi artı veya eksi 1 ile sınırlı bir arabayı 5. konumuna gidip duracak şekilde kontrol eder. Her adımda 500 rastgele ivme planı örnekler, arabanın dinamikleriyle her planın yörüngesini tahmin eder, maliyeti en düşük planın ilk eylemini uygular ve yeni durumdan yeniden planlama yapar:

import numpy as np

rng = np.random.default_rng(0)
position, velocity, target = 0.0, 0.0, 5.0
dt, horizon = 0.1, 30

for _ in range(100):
    # Sample 500 candidate plans of accelerations within the actuator limit of +/-1
    plans = rng.uniform(-1, 1, size=(500, horizon))
    # Predict every plan's trajectory with the cart's dynamics model
    v = velocity + dt * plans.cumsum(axis=1)
    p = position + dt * v.cumsum(axis=1)
    # Cost: distance from the target at each step plus speed at the end of the horizon
    cost = ((p - target) ** 2).sum(axis=1) + 10 * v[:, -1] ** 2
    # Apply only the first action of the cheapest plan, then replan from the new state
    velocity += dt * plans[cost.argmin(), 0]
    position += dt * velocity

print(f"position: {position:.2f}, velocity: {velocity:.2f}")

10 saniyelik benzetimden sonra araba 5,04 konumunda ve 0,04 hızla durur. Hiçbir rastgele plan tek başına iyi değildir; ancak tek bir adımı uygulayıp ölçülen durumdan yeniden planlama yapmak hataları sürekli düzeltir. Rastgele atış adı verilen bu yaklaşım, çapraz entropi yöntemi ile model öngörülü yol integrali (MPPI) kontrolünü de içeren örnekleme tabanlı MPC ailesinin en basit üyesidir. Georgia Tech araştırmacıları, toprak pistte beşte bir ölçeğindeki bir ralli arabasını yarıştırmak için MPPI kontrolünü kullandı.

Tesislerde, Robotlarda, Araçlarda ve Binalarda MPC#

  • Proses endüstrileri: Rafineriler, kimya tesisleri ve enerji santralleri; yöntemin ortaya çıktığı alanlarda, üretimi en üst düzeye çıkaran sınırlara yakın sıcaklıkları, basınçları ve ürün kalitesini korumak için MPC kullanır.
  • Bacaklı robotlar: MIT'nin Cheetah 3 robotu, yer tepki kuvvetlerini saniyede birçok kez yeniden hesaplayan dışbükey bir MPC kullanarak koştu ve dengesini korudu. MIT daha sonra bu denetleyiciyi Mini Cheetah için açık kaynaklı yazılım olarak yayımladı.
  • Sürüş: Otonom araçlardaki yol izleme denetleyicileri, direksiyon, ivme ve konfor sınırlarına uyarak planlanmış bir yörüngeyi akıcı biçimde izlemek için MPC kullanır.
  • Binalar: Isıtma ve soğutma denetleyicileri, hava durumu ve doluluk tahminlerinden yararlanarak oda sıcaklıklarını saatler öncesinden tahmin eder ve enerjinin en ucuz olduğu zamanlarda ön soğutma ya da ön ısıtma yapar.
  • PID kontrolü: PID denetleyicisi çıktısını mevcut hataya, hatanın integraline ve değişim oranına göre hesaplar. Basit ve ucuzdur; ancak gelecek için bir modeli ve kısıt kavramı yoktur.
  • Doğrusal kuadratik düzenleyici (LQR): LQR, kuadratik maliyetli doğrusal bir sistem için sonsuz ufukta en iyi geri besleme yasasını kapalı biçimde bulur. MPC, bunun çevrimiçi çözülen sonlu ufuklu bir sürümünü kullanır; böylece kısıtları uygular ve doğrusal olmayan modelleri ele alabilir.
  • Pekiştirmeli öğrenme: RL, dağıtımdan önce deneyimlerden bir politika öğrenir; dağıtımdan sonra bir eylem seçmek için tek ve hızlı bir ileri geçiş yeterlidir. MPC ise açık bir model kullanarak yeni bir optimizasyonu çevrimiçi çözer.

Bu iki yaklaşım giderek daha fazla birleşiyor. Model tabanlı derin pekiştirmeli öğrenme, bir dünya modeli öğrenip bu model üzerinden MPC ile plan yapar. TD-MPC2 gibi yöntemler, öğrenilmiş bir değer işlevi kısa ufkun ötesinde ne olacağını puanlarken öğrenilmiş gizil bir uzayda plan yapar. Öğrenilmiş dinamik modeller bir tür öngörücü modellemedir; bu modellerin ufuk boyunca gösterdiği doğruluk, böyle bir denetleyicinin ne kadar ileriye yararlı biçimde plan yapabileceğini belirler.

MPC için Algılama#

Bir MPC denetleyicisi, algılama performansının izin verdiği ölçüde iyi plan yapar ve insanların arasında hareket eden bir robot gibi bir fiziksel AI sistemi için sistemin durumu, bu insanların nerede olduğunu ve hangi yöne doğru gittiklerini içermelidir. Ultralytics YOLO26 modelini izleme modu nda çalıştıran bir kamera, her karede her kişi için bir sınırlayıcı kutu ve kalıcı bir takip ID'si sağlar. Bu izler, derinlik tahmini veya kamera kalibrasyonu ve bir Kalman filtresi ile birleştirildiğinde, denetleyicinin kısıtlarının uzak durulmasını sağladığı engellerin konum ve hızlarına dönüşür.

Çözümleri keşfet

Sporda bilgisayarlı görü

Sporda bilgisayarlı görü

Ultralytics YOLO'nun oyuncu ve top takibi, performans analitiği, antrenörlük içgörüleri ve sporcu rehabilitasyonuyla spor alanında görsel yapay zekâyı nasıl güçlendirdiğini keşfet.
Daha fazla bilgi edin
Hava görüntüleri için bilgisayarlı görü

Hava görüntüleri için bilgisayarlı görü

İHA ve hava görüntülerini Ultralytics YOLO ile tarım, su ürünleri yetiştiriciliği, koruma çalışmaları ve jeo-uzamsal analiz için gerçek zamanlı içgörülere dönüştür.
Daha fazla bilgi edin
Havacılıkta bilgisayarlı görü

Havacılıkta bilgisayarlı görü

Uçak denetimi, pistteki yabancı madde tespiti, havaalanı yer operasyonları ve kompozit malzeme kusurlarının tespiti için Ultralytics YOLO ile havacılık ve uzay sektöründe bilgisayarlı görü uygula.
Daha fazla bilgi edin
Güvenlikte bilgisayarlı görü

Güvenlikte bilgisayarlı görü

Ultralytics YOLO modelleriyle her sahayı koru. Görsel yapay zekâ; çevre izleme, tehdit tespiti, plaka tanıma ve iş yeri güvenliğini destekler.
Daha fazla bilgi edin
Robotikte bilgisayarlı görü

Robotikte bilgisayarlı görü

Ultralytics YOLO modelleriyle daha akıllı makinelere güç ver. Robotikte görsel yapay zekâ; otonom navigasyonu, algılamayı, nesne takibini ve gerçek zamanlı kontrolü destekler.
Daha fazla bilgi edin
Lojistikte bilgisayarlı görü

Lojistikte bilgisayarlı görü

Ultralytics YOLO modelleriyle lojistiği kolaylaştır. Görüntü yapay zekâsı; paket denetimini, ayrıştırmayı, araç takibini ve gerçek zamanlı depo güvenliği izlemeyi mümkün kılar.
Daha fazla bilgi edin
Perakendede bilgisayarlı görü

Perakendede bilgisayarlı görü

Ultralytics YOLO modelleriyle perakendeyi yeniden tasarla. Görüntü yapay zekâsı; envanter takibini, raf izlemeyi, kuyruk yönetimini ve daha kapsamlı müşteri analizlerini mümkün kılar.
Daha fazla bilgi edin
Sağlık hizmetlerinde bilgisayarlı görü

Sağlık hizmetlerinde bilgisayarlı görü

Ultralytics YOLO modelleriyle sağlık çözümleri geliştir. Sağlık hizmetlerinde görüntü yapay zekâsı; daha hızlı tıbbi görüntüleme, daha akıllı tanı ve hasta takibini mümkün kılar.
Daha fazla bilgi edin
Üretimde bilgisayarlı görü

Üretimde bilgisayarlı görü

Ultralytics YOLO modelleriyle üretimi optimize et. Görsel yapay zekâ; kalite kontrolünü, kusur tespitini, kişisel koruyucu donanım uyumunu ve montaj hattı otomasyonunu destekler.
Daha fazla bilgi edin
Otomotivde bilgisayarlı görü

Otomotivde bilgisayarlı görü

Ultralytics YOLO modelleriyle otomotivde bilgisayarlı görüden yararlan. Görsel yapay zekâ; daha akıllı yollar için yol güvenliğini, sürüş desteğini ve araç otomasyonunu ileri taşır.
Daha fazla bilgi edin
Tarımda bilgisayarlı görü

Tarımda bilgisayarlı görü

Ultralytics YOLO modelleriyle akıllı tarıma görüntü yapay zekâsı kazandır. Daha yüksek ve akıllı verim için mahsul izleme, hayvan takibi ve hassas tarımı destekle.
Daha fazla bilgi edin

Geleceğin yapay zekasını birlikte inşa edelim!

Makine öğreniminin geleceğine yolculuğuna başla