Saya sedang mempertimbangkan pemrograman robot garis berikut menggunakan algoritma pembelajaran penguatan. Pertanyaan yang saya renungkan adalah bagaimana saya bisa mendapatkan algoritma untuk belajar menavigasi melalui jalur sembarang?
Setelah mengikuti Buku Sutton & Barto untuk pembelajaran penguatan, saya menyelesaikan masalah olahraga yang melibatkan arena pacuan kuda di mana agen mobil belajar untuk tidak keluar jalur dan mengatur kecepatannya. Namun, masalah latihan itu membuat agen belajar bagaimana menavigasi trek yang dilatihnya.
Apakah itu dalam lingkup penguatan pembelajaran untuk mendapatkan robot untuk menavigasi jalan sewenang-wenang? Apakah agen benar - benar harus memiliki peta sirkuit atau jalur balapan? Parameter apa yang bisa saya gunakan untuk ruang keadaan saya?
Jawaban:
Salah satu langkah kunci dari setiap algoritma pembelajaran mesin adalah kemampuannya untuk menggeneralisasi (yaitu menerapkan apa yang telah dipelajari untuk skenario yang sebelumnya tidak terlihat). Pembelajar penguatan (RL) dapat menggeneralisasi dengan baik tetapi kemampuan ini sebagian merupakan fungsi dari formulasi ruang-ruang dalam pengalaman saya. Ini berarti bahwa jika Anda dapat menemukan pengaturan yang tepat maka pelajar RL tidak perlu peta sirkuit balapan.
Ini meninggalkan pertanyaan tentang parameter mana yang digunakan. Tanpa mengetahui lebih lanjut tentang sensor yang tersedia pada robot Anda, saya hanya bisa berspekulasi. Kecenderungan pertama saya adalah mencoba menyandikan orientasi relatif dari garis dan robot (yaitu robot yang cenderung ke kanan, kiri, atau hanya bergerak sejajar dengan garis). Melakukannya akan menghasilkan ruang-negara kecil yang bagus. Meskipun tidak sepenuhnya diperlukan itu akan membuat implementasi yang cepat dan sederhana. Lebih jauh, jika robot tidak akan bergerak dengan kecepatan konstan maka dapat membantu untuk menyandikan kecepatan robot karena robot harus bereaksi lebih cepat ketika bergerak dengan kecepatan lebih tinggi.
sumber
Saya tidak yakin apa jenis robot yang Anda miliki tetapi saya telah melakukan jalur penyelamatan robocup selama beberapa tahun sekarang. Saya menyadari bahwa jika Anda ingin mengikuti garis dengan baik menggunakan PID adalah pilihan yang baik. Biarkan saya memperluas ini. Jika Anda membayangkan dua sensor cahaya di kedua sisi garis, Anda ingin mereka memiliki nilai yang sama sehingga garis berada di tengah. Anda kemudian dapat menggunakan perbedaan antara nilai kedua sensor untuk mengubah persentase putaran robot. Dengan teknik ini dimungkinkan untuk mendapatkan robot untuk mengikuti garis dengan kecepatan luar biasa. Saya hanya seperti Anda telah merenungkan membuat robot belajar untuk meningkatkan kemampuan pelacakan garisnya. Apa yang saya hasilkan adalah mulai dengan nilai PID awal Anda lebih tinggi dari yang Anda inginkan dan menggunakan sensor gyroscopic untuk mengukur frekuensi osilasi robot saat melacak garis. Anda dapat dari sana membuat fungsi Anda sendiri untuk menentukan berapa banyak untuk menurunkan nilai-nilai Anda dengan untuk mendapatkan sistem yang stabil, ini bukan kecerdasan buatan lebih seperti algoritma optimasi otomatis, tapi hei 18 dan saya belajar bagaimana kode dari Internet. Saya harap ini membantu. Jika Anda memiliki pertanyaan email saya ini bukan alamat email utama saya jadi saya tidak akan memeriksanya secara teratur. [email protected]
sumber