Contents — find the section you need

Model Öngörücü Kontrol (MPC), mevcut bir komutun gelecek adımlarda ne yapacağını tahmin eder, kısıtlamaları karşılarken izleme ve çabayı en iyi şekilde dengeleyen bir komut dizisi seçer, yalnızca ilk komutu uygular, ardından ölçer ve tekrar çözer. Bu geriye doğru ufuk döngüsü, girdilerin sınırları olduğunda, durum değişkenlerinin güvenlik sınırları olduğunda, girdiler etkileşime girdiğinde veya gelecekteki eğrilik ve gecikme önemli olduğunda değerlidir. Proses tesislerinden araçlara, robot hareketine ve enerji sistemlerine kadar birçok alanda kullanılır.

MPC, PID'nin evrensel bir alternatifi değildir. Geç bir durum tahmini, yanlış bir model, uygulanabilir olmayan bir problem veya kaçırılmış bir son tarih içeren bir öngörücü optimizasyon algoritması, matematiksel kısıtlamaları tamamlanmış görünse bile güvenli hale gelmez. Birçok sağlam mimari, yol, enerji, termal veya çok değişkenli koordinasyon için MPC'nin altında hızlı PID akım/hız döngülerini korur. Yürütme sınırı için ROS 2 Temel Kılavuzu ve mobil robot kontrolcüsünü besleyen zamanlama ve konumlandırma varsayımları için Visual SLAM Temel Kılavuzu okuyun.

Pratik Sonuç

  • x durumundan ve u girişinden N ufuk çizgisini oluşturun ve kısıtlamasız bir komutu sonradan kırpmak yerine, giriş, giriş hızı, durum ve güvenlik kısıtlamalarını optimizasyona dahil edin.

  • Çözücü geç kaldığında, sayısal olduğunda veya uygulanamaz olduğunda ne olacağını dağıtımdan önce belirtin. Son tarih, geri dönüş ve bağımsız durdurma davranışı kontrolcünün parçalarıdır.

  • İlgili zaman ölçeğini tahmin eden en küçük modelle başlayın. Daha büyük bir model, kararları iyileştirmeden çalışma süresini, tanımlama hatasını ve bakımı kötüleştirebilir.

  • Açık operasyonel önceliklerden (güvenlik marjı, izleme, enerji, aşınma, konfor ve hesaplama) ufuk ve ağırlıkları ayarlayın; körü körüne bir izleme ağırlığını yükselterek değil.

Sezgi: Virajdan önce fren yapmaya karar verin

Basit bir geri besleme kontrolcüsü, yanal hatayı gördükten sonra bir aracı döndürebilir. MPC, ilerideki virajı, hızı, direksiyon aralığını, lastik sınırlarını, ivmeyi ve engel açıklığını birlikte değerlendirebilir. Aday direksiyon ve ivme dizilerini değerlendirir, uygulanabilir bölgede kalan birini seçer, yalnızca ilk hareketi gerçekleştirir ve yeni bir ölçüm geldiğinde eski tahmini atar. Bu nedenle MPC bir falcı değildir. Gelecek hakkında kısa ömürlü hipotezleri tekrar tekrar test eden bir geri besleme kontrolüdür.

Sinyal akışı ve geri çekilen ufuk

Diagram 1 · Use the button to switch views
MPC: referans, model, kısıtlamalar ve tahmin edilen durum besleme optimizasyonu; İlk hamleyi uygulayın ve tekrar gözlemleyin.
Referans, model, kısıtlamalar ve tahmini durum, optimizasyon algoritmasına ayrı ayrı girer. Kesikli yol, bir sonraki çözüm için yeni gözlemler döndürür. Open tam boyutlu şekil

Diyagram: Duskcoil, ölçülmekten ziyade kavramsal. Tahmin edilen bir yörünge, model tabanlı bir adaydır ve bir eylem uygulandıktan sonra gözlemle güncellenmelidir.

Minimal doğrusal MPC formülasyonu

Ayrık doğrusal model için

x_{k+1}=Ax_k+Bu_k+Ew_k,\qquad y_k=Cx_k

x durum, u giriş, w bozulma ve y çıkıştır. Referans r için bir tahmin ufku N boyunca, yaygın bir ikinci dereceden maliyet şöyledir:

J=\sum_{i=0}^{N-1}\left(\lVert x_{k+i}-x_{ref,k+i}\rVert_Q^2+\lVert u_{k+i}\rVert_R^2+\lVert\Delta u_{k+i}\rVert_S^2\right)+\lVert x_{k+N}-x_{ref,k+N}\rVert_P^2

burada \Delta u_k=u_k-u_{k-1} ve Q,R,S,P durum takibinin, komut büyüklüğünün, ani değişimin ve terminal davranışının önemini ifade eder. Bunlar matematiksel biçimde mühendislik öncelikleridir. Örneğin, yalnızca yanal hatayı cezalandırmak, yolcular, lastikler veya bir aktüatör için kabul edilemez şiddetli direksiyon hareketlerine neden olabilir.

Sınırsız bir regülatörden temel fark, açıkça belirtilmiş uygulanabilir kümedir:

u_{min}\le u_{k+i}\le u_{max},\quad \Delta u_{min}\le\Delta u_{k+i}\le\Delta u_{max},\quad x_{min}\le x_{k+i}\le x_{max}

Sınırlar direksiyon, akım, sıcaklık, eklem açısı, pil durumu, basınç veya engel açıklığını temsil edebilir. Kısıtlamalar çelişebilir. Dokunulmaz bir çarpışma veya donanım sınırını sabit tutun; Negatif olmayan bir gevşeklik (\epsilon\ge0) yalnızca kasıtlı olarak gevşetilebilir kısıtlamalar için kullanılır ve cezalandırılır, örneğin \rho\lVert\epsilon\rVert^2. Gevşekliğin ne zaman kullanıldığını kaydedin: yumuşak bir kısıtlama, ihlalin zararsız olduğunun kanıtı değil, ilan edilmiş bir uzlaşmadır.

Tahmin, gecikme ve model uyumsuzluğu

MPC, x_k'den tahmin yapar, ancak bu durum normalde bir sensör füzyon tahminidir. Görsel SLAM kullanan bir mobil robot için, konumlandırma gecikmesi, yeniden konumlandırma sıçramaları ve tutarsız kareler her optimizasyonun başlangıç durumunu bozar; bkz. Görsel SLAM Temel Bilgileri. Eski bir durum ve yeni bir referansla mükemmel bir problemi çözmek, fiziksel olarak gecikmiş bir komut verir.

Uyumsuzluk, sürtünme, yük, rüzgar, lastik kayması, değişen termal kapasite ve modellenmemiş esnekliği içerir. Yanıtlar arasında bozulma durumunun artırılması veya bütünleşik eylem, çevrimiçi parametre güncellemeleri, çoklu modeller, sağlam/tüp MPC marjları ve hızlı stabilize edilmiş iç döngü yer almaktadır. Hiçbiri, uyumsuzluk tasarım zarfının dışında olduğunda bağımsız durdurma davranışının yerini almaz.

Ufuk ve ağırlıkların ayarlanması

Örnekleme zamanı T_s ve ufuk N'yi, NT_s'in ilgili gecikmeyi, durma mesafesini, baskın geçici durumu ve rota eğriliğini kapsayacak şekilde seçin; ancak çalışma süresi ve uzak gelecekteki model hatasının baskın olacağı kadar uzak olmasın. Daha kısa bir kontrol ufku, sonraki girdileri sabit tutabilir ve karar değişkenlerini azaltabilir.

Ayarlama şu sırayla yapılır: birimleri ve katı güvenlik sınırlarını sabitleyin; operasyonel görev için izleme ağırlıklarını Q seçin; enerji, aşınma ve düzgünlüğü yönetmek için R ve S'ü yükseltin; ardından gürültü, yük, gecikme ve bozulma altında en kötü durum çözücü süresini ve uygulanabilirliksizliği ölçün. Çalışma noktasını seçmeden önce hem kısa vadeli N hem de uzun vadeli ufku test edin. Sistem "hızlı görünene" kadar Q'yı yükseltmek, optimizasyoncunun katı kısıtlama sınırlarında kalmasına ve kısıtlamalar karşılandığında bile az bir marj bırakmasına neden olabilir.

Gözlem Olası neden Önce inceleyin Tipik eylem
Bir eğrinin sonunda ufuk çok kısa; durum gecikmesi tahmin edilen ve ölçülen yol, zaman damgaları ufku, hız planını, gecikme yönetimini ayarlayın
Düzensiz komutlar düşük S; gürültülü tahmin \Delta u ve sensör izi hareket cezasını artırın; tahmin ediciyi/filtreyi iyileştirin
Sık sık gevşeklik/sınırlar uyumsuzluk; marj yok gevşeklik, aktif kısıtlamalar, bozulma marj ekleyin, bozulma modeli, daha yumuşak referans
Çözüm yok çelişkili kısıtlamalar Çözücü durumu ve aktif küme Uygulanamaz politikayı tanımla; yalnızca izin verilen sınırları yumuşat
Son teslim tarihi kaçırıldı problem çok büyük/değişken en kötü durum çözüm süresi modeli/ufku azalt; çözücüyü yapılandır

PID ve güvenlik ile ilişkisi

Bir MPC döngüsü, hız, tutum veya yörünge referansları vermek için 10-100 Hz'de çalışabilirken, motor sürücüleri veya ros2_control PID döngüleri akım, hız veya konumu daha yüksek bir hızda kapatır. MPC, iç döngünün gerçekte ne sağlayabileceğini bilmelidir: doygunluk, gecikme, zaman aşımı ve izleme sınırları. Optimizasyoncu geç kalırsa veya uygulanamazsa, alt döngü sıfır hız, kontrollü yavaşlama veya tutma gibi tanımlanmış güvenli bir referansa ihtiyaç duyar.

Güvenlik korumaları optimizasyoncudan bağımsız kalmalıdır: acil durdurma, çarpışma tespiti, sert hareket sınırları, aşırı akım/aşırı sıcaklık koruması, hız izleme ve iletişim izleme mekanizmaları. Eksik çözüm, sayısal hata, eski durum, geçersiz referans ve tahminci hatası için bir yanıt tanımlayın. Optimizasyon modelindeki uygulanabilirlik, gerçek dünyadaki güvenlik ile aynı şey değildir.

Mevcut yazılımlar, ürünler ve araştırma örnekleri

MPC, sürekli proses endüstrilerinden araçlara, robotiklere ve enerji yönetimine geçmiştir. Uygulanan bir uygulama, yalnızca bir maliyet fonksiyonu değil, bir çözücü, model tanımlama, durum tahmini, izleme ve son tarih yönetimi içerir. OSQP, açık kaynaklı bir dışbükey karesel programlama çözücüsü ve MPC odaklı materyal yayınlamaktadır. MathWorks'ün MPC genel bakışı, tahmin, kısıtlama ve tekrarlanan optimizasyon yapısını açıklamaktadır. Bunlar birincil uygulama referanslarıdır, ürün onayları değildir.

Robotik tarafında, ros2_control donanım arayüzlerini, kontrolör yaşam döngülerini, eşzamansız güncelleme sorunlarını ve kontrolör zincirleme işlemlerini yönetir. ROS 2'ye bir MPC düğümü eklemek, kendi başına gerçek zamanlı zamanlama, durum/referans zaman damgası hizalaması veya güvenli bağımsız bir alt döngü oluşturmaz. Mevcut araştırmalar arasında doğrusal olmayan MPC, öğrenilmiş dinamikler, dağılımsal olarak sağlam MPC ve ortak algılama-planlama optimizasyonu yer almaktadır; çalışma süresi, açıklanabilirlik, belirsizlik ve güvenlik güvencesi pratik sınırlamalar olarak kalmaktadır.

Uygulama kontrol listesi

  1. Durum, giriş, bozulma ve referans için birimleri, çerçeveleri, güncelleme oranlarını, gecikmeyi, tazeliği, ufku N ve hareket ağırlığını S tanımlayın.

  2. Sert fiziksel kısıtlamaları kasıtlı olarak yumuşak operasyonel kısıtlamalardan ayırın.

  3. En kötü durum çözüm süresini, zaman aşımını, uygulanabilir olmamayı ve sayısal hata geri dönüşünü test edin.

  4. Tahminleri, ölçümleri, giriş dizisini, aktif kısıtlamaları, boşluğu ve çözücü durumunu tek bir saat döngüsünde kaydedin.

  5. Uyumsuzluk, bozulma, kayma, sensör gecikmesi/kaybı ve iletişim kaybı ekleyin.

  6. MPC'nin iç döngü doygunluğunu anladığından ve MPC, ROS 2 veya tahmin başarısız olursa bağımsız durdurma korumasının çalıştığından emin olun.

Simülasyonda önce test edilecek sınır durumları

MPC, simülasyonda çekici yörüngeler üretebilir, bu nedenle yalnızca sıradan koşullar tehlikeli varsayımları gizleyebilir. Ani referans değişikliklerini, sürtünme ve yük değişikliklerini, aktüatör doygunluğunu, gecikmiş veya eksik ölçümleri ve kasıtlı olarak kısa çözücü sürelerini otomatikleştirin. Hangi kısıtlamanın aktif hale geldiğini, güvenli bir geri dönüşe girmek için kaç döngü gerektiğini ve hangi sinyalin kararı haklı çıkardığını kaydedin. Düşük hızda donanıma geçin ve geniş bir marjla çıktı verin ve yalnızca çözücü başarı bayrağı yerine artıkları, doygunluk süresini, boşluğu ve durma mesafesini izleyin.

Anlayışınızı Kontrol Edin
Optimize edilmiş girdi dizisinin tamamı yürütülüyor mu?

Genellikle yalnızca ilk girdi uygulanır, ardından problem yeni gözlemler kullanılarak tekrar çözülür. Bu, tahminden sapmaları içerir.

Referanslar

Related reading

Explore another aspect of this fieldMPC Laboratuvarı — bir ufuk ve direksiyon sınırları içinde eğrilik dizisini yeniden çözmeExplore another aspect of this fieldYol takibi karşılaştırma Laboratuvarı — PP, APP, RPP, Stanley ve MPC'yi aynı koşullar altında çalıştırınExplore another aspect of this fieldPure Pursuit Laboratuvarı — sabit ileri-bakış mesafeli yol takibini karşılaştırın