Saya telah membaca beberapa makalah untuk mengendalikan sistem nonlinier (mis. Pendulum nonlinear). Ada beberapa pendekatan untuk menargetkan sistem nonlinier. Yang paling umum adalah linearizaing umpan balik , backstepping , dan pengontrol mode geser .
Dalam kasus saya, saya telah melakukan bagian teoritis dan praktis untuk mengendalikan model nonlinear dari pendulum sederhana plus masalah manipulator lainnya di C ++. Untuk pendulum, saya telah menggunakan kontroler backstepping untuk menyelesaikan tugas pelacakan untuk perpindahan sudut dan kecepatan. Hasilnya
di mana dan g = 9,81 .
Hasilnya bagus. Namun, menyetel pengontrol memakan waktu. Mayoritas makalah menggunakan algoritma genetika untuk menyetel pengontrol mereka seperti PD, PID, dan pengontrol mundur. Saya tidak mengerti di bidang ini dan saya harap seseorang memberi penjelasan tentang konsep ini, lebih disukai jika ada sampel MATLAB untuk setidaknya mengendalikan pendulum sederhana.
Sejauh ini saya telah merancang GUI sederhana di C ++ / Qt untuk menyetel controller secara manual. Pada gambar di bawah ini, respons controller untuk fungsi step.
Algoritma genetika adalah teknik pembelajaran mesin untuk menghilangkan kebutuhan pengguna untuk 'menyempurnakan' suatu sistem, dan sebagai gantinya memungkinkan komputer untuk mencari tahu cara menyesuaikan sistem. Manfaat dari pendekatan ini adalah bahwa hal itu membebaskan waktu para peneliti / pengguna dan seringkali dapat mengarah pada sistem yang lebih baik daripada apa yang dapat dicapai oleh peneliti / pengguna itu sendiri.
Ide umum menggunakan algoritma genetika akan mengikuti beberapa aliran kontrol dasar sebagai berikut:
Contoh terbaik yang dapat saya tunjukkan dengan mudah dari prinsip ini dalam praktik adalah 'permainan' ini yang menggunakan evolusi genetika untuk merancang kendaraan yang mampu mengemudi dalam suatu perjalanan. Gagasan yang sama berlaku untuk sistem apa pun yang ingin Anda sempurnakan tanpa harus melakukan penyetelan sendiri. Contoh: http://rednuht.org/genetic_cars_2/
sumber
Saya bingung dengan apa yang Anda sebut sebagai algoritma genetika. Kontroler PD, PID, dll. Bukanlah metode heuristik atau stokastik, dan mereka tidak didasarkan pada algoritma evolusioner. Alih-alih, mereka adalah algoritma deterministik yang dimaksudkan untuk memungkinkan penempatan kutub dan nol respons sistem untuk memberikan kinerja yang diinginkan (minimalisasi kesalahan, kecepatan respons, waktu penyelesaian, stabilitas, dan penolakan gangguan). Referensi pembelajaran yang baik, menurut saya, adalah buku Sistem Kontrol Otomatis Kuo . Anda dapat menemukan perlakuan yang tidak terlalu ketat dalam buku Teknik Kontrol Otomatis Raven .
sumber