Saya memiliki sistem servo sederhana yang menggunakan kontroler PID diimplementasikan dalam MCU untuk melakukan umpan balik. Namun, sifat-sifat sistem berubah secara dinamis, sehingga parameter PID tidak pernah dapat disetel untuk semua keadaan.
Robot saya adalah lengan yang ringan dengan motor listrik back-drivable, mirip dengan yang ini:
Lengan melakukan beberapa tugas, termasuk mengambil beban berat, mendorong dan menarik benda di atas meja. Setiap tugas ini memerlukan parameter penyetelan PID yang berbeda yang tidak dapat saya prediksi dengan mudah.
Apa yang saya benar-benar sukai adalah untuk beberapa fungsi level yang lebih tinggi yang dapat dengan hati-hati menyesuaikan parameter sebagai respons terhadap perilaku lengan. Sebagai contoh, jika ia mengetahui bahwa lengan berosilasi, ia mungkin mengurangi P dan meningkatkan D. Atau jika ia menyadari bahwa lengan itu tidak mencapai targetnya, itu mungkin akan meningkatkan I.
Apakah ada algoritma seperti itu? Saya akan senang bahkan jika algoritma tidak menyempurnakan parameter dengan segera. EG arm dapat berosilasi beberapa kali sebelum parameter disesuaikan dengan nilai baru mereka.
Pendekatan yang baik untuk masalah seperti itu disebut kontrol adaptif. Singkatnya itu adalah metodologi kontrol yang menganggap model diketahui tetapi parameter model (massa, inersia, dll.) Tidak. Tugasnya adalah memperkirakan parameter yang tidak diketahui. Pengantar singkat dapat ditemukan di wikipedia . Teks Robotika: Pemodelan, Perencanaan dan Kontrol oleh Siciliano et al. tutupi topik dengan lebih teliti.
Edit sebagai respons terhadap permintaan @Rocketmagnets:
Singkatnya, Anda harus memiliki model matematika dari sistem Anda, yaitu persamaan yang menggambarkan bagaimana sistem Anda berkembang seiring waktu ketika dipaksakan atau sebaliknya, tetapi Anda tidak perlu mengetahui parameter dinamis seperti massa berbagai komponen, kelembamannya, dll. .. Ini adalah tugas kontroler adaptif untuk memperkirakan parameter ini. Anda harus memberikannya perkiraan awal untuk masing-masing parameter yang tidak diketahui. Kemudian ketika sistem berjalan menggunakan sinyal kontrol, sinyal output, dan metode seperti regresi linier atau gradient descent untuk memperbarui nilai parameter yang tidak diketahui. Seiring waktu parameter akan konvergen ke nilai yang akan menghasilkan kondisi mapan meskipun mungkin tidak cocok dengan parameter nyata, yaitu mungkin mendapatkan massa salah, tetapi nilai masih akan berfungsi.
Dari sini saya akan menyarankan merujuk pada teks yang membahas metode ini. Saya hanya memperhatikan misalnya bahwa Dr. Marc Bodson menawarkan salinan teksnya Adaptive Control: Stability, Robustness, and Convergence dalam bentuk PDF di situs webnya .
sumber
Proses yang Anda gambarkan dikenal sebagai PID adaptif.
Sepertinya agak berlebihan. Saya telah menemukan PID cukup kuat ketika berhadapan dengan gangguan eksternal dan tugas-tugas yang Anda uraikan tampaknya tidak di luar kemampuan satu set keuntungan.
sumber