Contents — find the section you need
Kontrol Prediktif Model (MPC) memprediksi apa yang akan dilakukan oleh perintah saat ini pada langkah-langkah selanjutnya, memilih urutan perintah yang paling menyeimbangkan pelacakan dan upaya sambil memenuhi batasan, hanya menerapkan perintah pertama, kemudian mengukur dan menyelesaikannya lagi. Siklus horizon mundur ini berharga ketika input memiliki batasan, variabel keadaan memiliki batas keamanan, input berinteraksi, atau kelengkungan dan penundaan di masa depan menjadi penting. MPC digunakan mulai dari pabrik pengolahan hingga kendaraan, gerakan robot, dan sistem energi.
MPC bukanlah pengganti universal untuk PID. Pengoptimal prediktif dengan estimasi keadaan yang terlambat, model yang salah, masalah yang tidak layak, atau tenggat waktu yang terlewat tidak menjadi aman hanya karena batasan matematisnya tampak lengkap. Banyak arsitektur yang baik mempertahankan loop arus/kecepatan PID cepat di bawah MPC untuk koordinasi jalur, energi, termal, atau multivariabel. Baca ROS 2 Primer untuk batasan eksekusi dan Visual SLAM Primer untuk asumsi waktu dan lokalisasi yang menjadi masukan bagi pengontrol robot bergerak.
Kesimpulan praktis
-
Bangun horizon N dari keadaan x dan masukan u, dan masukkan masukan, laju masukan, keadaan, dan batasan keamanan ke dalam optimasi daripada memotong perintah yang tidak dibatasi setelahnya.
-
Tentukan apa yang terjadi ketika pemecah masalah terlambat, numerik, atau tidak layak sebelum diterapkan. Batas waktu, cadangan, dan perilaku berhenti independen adalah bagian dari pengontrol.
-
Mulailah dengan model terkecil yang memprediksi skala waktu yang relevan. Model yang lebih besar dapat memperburuk waktu eksekusi, kesalahan identifikasi, dan pemeliharaan tanpa meningkatkan keputusan.
-
Sesuaikan horizon dan bobot berdasarkan prioritas operasional yang eksplisit: margin keselamatan, pelacakan, energi, keausan, kenyamanan, dan komputasi—bukan dengan menaikkan bobot pelacakan secara membabi buta.
Intuisi: putuskan untuk mengerem sebelum tikungan
Pengontrol umpan balik sederhana dapat membelokkan kendaraan setelah melihat kesalahan lateral. MPC dapat mempertimbangkan tikungan di depan, kecepatan, rentang kemudi, batas ban, akselerasi, dan jarak bebas rintangan secara bersamaan. Ia mengevaluasi urutan kemudi dan akselerasi kandidat, memilih salah satu yang tetap berada dalam wilayah yang layak, hanya mengeksekusi gerakan pertama, kemudian membuang prediksi lama ketika pengukuran baru tiba. Oleh karena itu, MPC bukanlah peramal. Ini adalah kontrol umpan balik yang berulang kali menguji hipotesis jangka pendek tentang masa depan.
Aliran sinyal dan horizon yang menyusut
Diagram: Duskcoil, konseptual daripada terukur. Trajektori yang diprediksi adalah kandidat berbasis model, dan harus diperbarui dengan pengamatan setelah tindakan diterapkan.
Formulasi MPC linier minimal
Untuk model linier diskrit
x adalah keadaan, u masukan, w gangguan, dan y keluaran. Dalam rentang prediksi N untuk referensi r, biaya kuadrat umum adalah
di mana \Delta u_k=u_k-u_{k-1} dan Q,R,S,P menyatakan pentingnya pelacakan keadaan, besaran perintah, perubahan mendadak, dan perilaku terminal. Ini adalah prioritas teknik dalam bentuk matematis. Misalnya, hanya memberikan penalti pada kesalahan lateral dapat menghasilkan kemudi yang keras dan tidak dapat diterima untuk penumpang, ban, atau aktuator.
Perbedaan mendasar dari regulator yang tidak dibatasi adalah himpunan yang layak secara eksplisit:
Batas-batas tersebut dapat mewakili kemudi, arus, suhu, sudut sambungan, keadaan baterai, tekanan, atau jarak bebas rintangan. Batasan dapat saling bertentangan. Pertahankan batas tabrakan atau perangkat keras yang tidak dapat dilanggar; gunakan kelonggaran non-negatif \epsilon\ge0 hanya untuk batasan yang dapat dilonggarkan secara sengaja, dan berikan penalti, misalnya. \rho\lVert\epsilon\rVert^2 . Catat kapan kelonggaran digunakan: batasan lunak adalah kompromi yang dinyatakan, bukan bukti bahwa pelanggaran tersebut tidak berbahaya.
Estimasi, penundaan, dan ketidaksesuaian model
MPC memprediksi dari x_k , tetapi keadaan ini biasanya merupakan estimasi fusi sensor. Untuk robot bergerak yang menggunakan SLAM visual, latensi lokalisasi, lompatan relokalisasi, dan frame yang tidak konsisten merusak keadaan awal setiap optimasi; lihat Panduan SLAM Visual. Menyelesaikan masalah sempurna dengan keadaan lama dan referensi baru memberikan perintah yang terlambat secara fisik.
Ketidaksesuaian mencakup gesekan, muatan, angin, selip ban, perubahan kapasitas termal, dan fleksibilitas yang tidak dimodelkan. Respons mencakup penambahan keadaan gangguan atau aksi integral, pembaruan parameter online, beberapa model, margin MPC yang kuat/tabung, dan loop dalam yang distabilkan dengan cepat. Tidak ada yang menggantikan perilaku penghentian independen ketika ketidaksesuaian berada di luar batas desain.
Penyesuaian horizon dan bobot
Pilih waktu sampel T_s dan horizon N sehingga NT_s mencakup penundaan yang relevan, jarak berhenti, transien dominan, dan kelengkungan rute—tetapi jangan terlalu jauh sehingga waktu eksekusi dan kesalahan model di masa depan mendominasi. Horizon kontrol yang lebih pendek dapat menjaga input selanjutnya tetap konstan dan mengurangi variabel keputusan.
Lakukan penyesuaian dalam urutan ini: tetapkan satuan dan batas keamanan yang ketat; pilih bobot pelacakan Q untuk tugas operasional; tingkatkan R dan S untuk mengelola energi, keausan, dan kelancaran; kemudian ukur waktu penyelesaian kasus terburuk dan ketidaklayakan di bawah kebisingan, beban, latensi, dan gangguan. Uji horizon pendek N dan horizon panjang sebelum memilih titik operasi. Meningkatkan Q hingga sistem "terlihat cepat" dapat membuat pengoptimal tetap berada pada batas kendala yang ketat, menyisakan sedikit margin bahkan ketika kendala terpenuhi.
| Pengamatan | Penyebab yang masuk akal | Periksa terlebih dahulu | Tindakan umum |
|---|---|---|---|
| Terlambat dalam kurva | horizon terlalu pendek; penundaan keadaan | jalur yang diprediksi vs. terukur, stempel waktu | sesuaikan horizon, rencanakan kecepatan, tangani penundaan |
| Perintah yang tidak beraturan | S rendah; estimasi yang bising | \Delta u dan jejak sensor | tingkatkan penalti pergerakan; tingkatkan estimator/filter |
| Sering terjadi kelonggaran/batas | ketidakcocokan; tidak ada margin | kelonggaran, kendala aktif, gangguan | tambahkan margin, model gangguan, referensi yang lebih lembut |
| Tidak ada solusi | kendala yang bertentangan | Status solver dan set aktif | tentukan kebijakan yang tidak layak; lunakkan hanya batas yang diizinkan |
| Gagal memenuhi tenggat waktu | masalah terlalu besar/variabel | waktu penyelesaian kasus terburuk | kurangi model/horizon; konfigurasikan solver |
Hubungan dengan PID dan keselamatan
Loop MPC mungkin berjalan pada 10–100 Hz untuk mengeluarkan referensi kecepatan, sikap, atau lintasan, sementara driver motor atau loop PID menutup arus, kecepatan, atau posisi pada tingkat yang lebih tinggi. MPC harus mengetahui apa yang sebenarnya dapat diberikan oleh loop dalam: saturasi, penundaan, batas waktu, dan batas pelacakan. Jika pengoptimal terlambat atau tidak layak, loop bawah memerlukan referensi aman yang ditentukan seperti kecepatan nol, deselerasi terkontrol, atau penahanan.
Perlindungan keselamatan harus tetap independen dari pengoptimal: penghentian darurat, deteksi tabrakan, batas perjalanan yang ketat, perlindungan arus berlebih/suhu berlebih, pemantauan kecepatan, dan pengawas komunikasi. Definisikan respons untuk solusi yang hilang, kesalahan numerik, keadaan usang, referensi tidak valid, dan kesalahan estimator. Kelayakan dalam model optimasi tidak sama dengan keselamatan di dunia nyata.
Contoh perangkat lunak, produk, dan penelitian terkini
MPC telah bergeser dari industri proses berkelanjutan ke kendaraan, robotika, dan manajemen energi. Implementasi yang diterapkan mencakup pemecah masalah, identifikasi model, estimasi keadaan, pemantauan, dan manajemen tenggat waktu—bukan hanya fungsi biaya. OSQP menerbitkan pemecah masalah pemrograman kuadratik cembung sumber terbuka dan materi berorientasi MPC. Gambaran umum MPC MathWorks menjelaskan struktur prediksi, kendala, dan optimasi berulang. Ini adalah referensi implementasi utama, bukan dukungan produk.
Dari sisi robotika, ros2_control mengelola antarmuka perangkat keras, siklus hidup pengontrol, masalah pembaruan asinkron, dan perantaian pengontrol. Menempatkan node MPC ke dalam ROS 2 saja tidak secara otomatis menetapkan penjadwalan waktu nyata, penyelarasan stempel waktu status/referensi, atau loop bawah independen yang aman. Penelitian saat ini mencakup MPC nonlinier, dinamika yang dipelajari, MPC yang tangguh secara distribusi, dan optimasi persepsi-perencanaan bersama; waktu eksekusi, kemampuan menjelaskan, ketidakpastian, dan jaminan keamanan tetap menjadi batasan praktis.
Daftar periksa implementasi
-
Definisikan unit, frame, laju pembaruan, latensi, kesegaran, horizon N, dan bobot pergerakan S untuk status, input, gangguan, dan referensi.
-
Pisahkan kendala fisik yang keras dari kendala operasional yang sengaja lunak.
-
Uji waktu penyelesaian kasus terburuk, batas waktu, ketidaklayakan, dan fallback kegagalan numerik.
-
Catat prediksi, pengukuran, urutan input, kendala aktif, kelonggaran, dan status solver pada satu siklus clock.
-
Suntikkan ketidaksesuaian, gangguan, slip, penundaan/kehilangan sensor, dan kehilangan komunikasi.
-
Pastikan MPC memahami saturasi loop dalam dan bahwa perlindungan penghentian independen berfungsi jika MPC, ROS 2, atau estimasi gagal.
Kasus batas yang perlu diuji dalam simulasi terlebih dahulu
MPC dapat menghasilkan lintasan yang menarik dalam simulasi, sehingga kondisi biasa saja dapat menyembunyikan asumsi berbahaya. Otomatiskan perubahan referensi yang tiba-tiba, perubahan gesekan dan muatan, saturasi aktuator, pengukuran yang tertunda atau hilang, dan tenggat waktu solver yang sengaja dipersingkat. Catat kendala mana yang menjadi aktif, berapa banyak siklus yang dibutuhkan untuk memasuki fallback yang aman, dan sinyal mana yang membenarkan keputusan tersebut. Pindah ke perangkat keras dengan kecepatan rendah dan keluarkan dengan margin yang besar, dan pantau residual, waktu saturasi, kelonggaran, dan jarak berhenti daripada hanya flag keberhasilan solver saja.
Apakah seluruh urutan input yang dioptimalkan dieksekusi?
Biasanya hanya input pertama yang diterapkan, kemudian masalah diselesaikan lagi menggunakan pengamatan baru. Ini mencakup penyimpangan dari prediksi.
Komentar
Silakan masuk terlebih dahulu.
Belum ada data.