Bagaimana cara saya memodelkan robot?

8

Jawaban yang saya terima untuk pertanyaan tentang pelatihan robot mengikuti garis menggunakan teknik pembelajaran penguatan , membuat saya berpikir tentang cara melatih robot. Saya percaya pada dasarnya ada dua cara -

  1. Latih robot fisik.
  2. Memodelkan robot dan mensimulasikan pelatihan.
  3. Apakah saya melewatkan sesuatu?

Pendekatan 2 jelas merupakan pendekatan yang lebih baik. Namun, pengetahuan apriori tentang gerak (respons), sinyal PWM tertentu (stimulus) akan menyebabkan ketika robot dalam keadaan tertentu diperlukan. Gerakan yang disebabkan oleh sinyal PWM mungkin tergantung pada ( 1 ) tegangan baterai saat ini, ( 2 ) massa robot dan ( 3 ) kecepatan arus (apakah saya melewatkan sesuatu?).

Bagaimana cara saya memodelkan robot seperti itu? Dan bagaimana cara memodelkannya dengan cepat? Jika saya mengganti baterai atau menambahkan beberapa papan dan periferal lain serta mengubah massa robot, saya harus merombak dan melatih ulang robot. Dapatkah saya melakukan ini dengan memberikan beberapa PWM stimulus acak dan mengukur respons?

menambahkan: Pertanyaan terkait saya di dsp.SE

Pembaruan: Suntingan yang disarankan untuk judul oleh Ian layak disebutkan - " Bagaimana cara saya model melatih robot sehingga jika dinamika berubah, itu tidak perlu pelatihan ulang lengkap? " Saya pikir ini adalah pertanyaan yang bagus juga tetapi berbeda dari yang saya tanyakan di sini. Saya baik-baik saja dengan pelatihan ulang untuk saat ini.

Tuan Loh.
sumber
Ada banyak pertanyaan bagus di sini. Bahkan mungkin lebih baik untuk membaginya menjadi beberapa pertanyaan.
DaemonMaker
Bagaimana Anda menyarankan saya melakukan itu tanpa kehilangan latar belakang? Saya sudah membagi sebagian pertanyaan saya menjadi dsp.SE
Lord Loh.
Anda pada dasarnya memiliki dua pertanyaan yang terjadi di sini. Yang pertama, bagaimana cara membuat model robot? Yang kedua, bagaimana saya melatih robot yang diberikan model dan algoritma pembelajaran? Menurut saya ini adalah dua pertanyaan terpisah.
DaemonMaker
Kamu benar. Pertanyaan yang muncul seperti bagaimana melatih robot itu dimaksudkan untuk retoris. Saya pikir saya akan mencoba mengeditnya.
Tuan Loh.
Dalam hal ini saya akan menunggu untuk melihat hasil edit Anda sebelum saya mencoba menjawab pertanyaan Anda.
DaemonMaker

Jawaban:

4

Seperti yang saya lihat ada dua pertanyaan utama di sini. Yang pertama adalah, bagaimana cara saya memodelkan robot? Ini sering dilakukan dengan perumusan ruang- gerak dari persamaan gerak . Persamaan yang tepat tergantung pada konstruksi fisik robot Anda. Ya, untuk memodelkan mereka dengan input PWM maka Anda perlu menentukan fungsi transfer dari nilai PWM yang Anda berikan ke output aktuator Anda. Kemudian Anda pasang fungsi itu untuk sinyal kontrol dalam model Anda. Sekali lagi derivasi dari fungsi ini adalah robot khusus. Tegangan baterai saat ini dan massa robot kemungkinan akan berguna tetapi saya tidak tahu tentang kecepatannya.

Pertanyaan kedua adalah, mengingat model matematika robot saya, apa cara terbaik untuk melatih algoritma penguatan belajar (RL) untuk mengendalikannya? Singkatnya tidak ada satu cara terbaik. Pelatihan langsung pada robot cenderung memakan waktu karena membutuhkan robot lebih lama untuk melakukan uji coba. Namun simulasi dapat menghasilkan kebijakan yang kurang akurat karena fisika simulasi disederhanakan. Pendekatan lain adalah melatih pelajar dalam simulasi untuk mendapatkan perkiraan yang masuk akal dan kemudian mentransfer kebijakan yang dihasilkan ke robot untuk penyempurnaan lebih lanjut. Ini tentu saja gagal jika modelnya tidak cukup akurat. Ini juga membutuhkan pengembangan ekstra.

Akhirnya Anda bertanya, "Dapatkah saya [merombak dan melatih ulang robot] dengan memberikan beberapa PWM stimulus acak dan mengukur responsnya?" Dalam kasus RL tidak ada alasan untuk berpikir bahwa kebijakan optimal yang baru adalah sesuatu seperti kebijakan optimal sebelumnya dan karena itu tidak ada banyak alasan untuk berpikir bahwa beberapa kontrol acak akan menyediakan informasi yang cukup untuk mengubah kebijakan dengan tepat. Tentu saja pelatihan ulang hanya perlu terjadi jika perubahan yang Anda buat pada robot Anda memengaruhi formulasi model state-space dan / atau model aksi yang Anda gunakan. Misalnya, jika model tindakan Anda dalam hal tindakan tingkat tinggi ("ke kiri", "ke kanan", "maju") maka mengubah dinamika memerlukan mengubah cara Anda menerapkan gerakan ini tetapi kebijakan tersebut harus tetap berlaku .

DaemonMaker
sumber
0

Untuk pemodelan kinematika Denavit–Hartenberg parametersbiasanya digunakan. kursus Pengantar Robotika yang disediakan oleh Stanford University tersedia di YouTube

Johan Larsson
sumber