Apa pendekatan yang baik untuk Kiprah Quadruped?

12

Saya memiliki quadruped kecil dengan tiga derajat kaki kebebasan yang telah saya kerjakan: 3DOF Mini Quadruped .

Kode asli saya untuk itu adalah pengontrol servo sederhana pada arduino, dan kode Scala yang akan mengirim perintah servo melalui kabel. Saya melakukan semua logika Invert Kinematika dan Gait di Scala, dan membuatnya berjalan: 3dof gait pertama berkiprah .

Logika gaya berjalan saya di Scala agak naif; itu tergantung pada kaki berada di posisi yang tepat di awal (satu sisi memanjang ke depan dan ke belakang, sisi lain ke arah satu sama lain). Logikanya hanya menerjemahkan keempat kaki mundur 1mm sepanjang y, dan setiap kali sudut coxa menjadi terlalu ke belakang, berhenti dan melakukan sedikit rutin di mana kaki diangkat 10mm dalam z, kemudian diterjemahkan ke depan 60mm sepanjang y, dan turunkan kembali. Naif, tetapi efektif.

Sekarang, saya telah menulis ulang kode IK saya di arduino C, dan saya mencoba untuk memutuskan bagaimana untuk maju dengan dinamika Gait. Saya kesulitan menemukan sumber daya yang baik dan mudah dipahami tentang gait. Saya memiliki beberapa pengetahuan tentang perbedaan antara perangkat dinamis yang stabil (seperti perangkat creep) di mana tubuh adalah tripod yang stabil setiap saat dan perangkat yang tidak stabil secara dinamis (berjalan, berlari), di mana dua kaki terlepas dari tanah pada satu waktu dan tubuh pada dasarnya jatuh ke depan ke kaki maju.

Saya memiliki beberapa pemikiran tentang mesin-mesin negara dan mencoba untuk menghitung apakah pusat tubuh jatuh dalam segitiga yang dibuat oleh kaki yang tersisa untuk memutuskan kaki mana yang aman untuk diangkat, tetapi saya tidak yakin apakah ini adalah ide yang pantas untuk dijelajahi.

Saya tahu ini semacam pertanyaan yang terlalu umum, tetapi saya tertarik untuk melihat bagaimana orang lain telah menyerang masalah ini, dan yang bisa saya temukan hanyalah makalah penelitian.

Ian McMahon
sumber
Saya terkesan dengan pekerjaan yang Anda lakukan pada robot. Saya sangat membutuhkan bantuan Anda untuk mencari beberapa solusi berharga. Saya telah mencari solusi selama 6 bulan terakhir untuk menyelesaikan kinematika hexapod tanpa hasil positif .. Saya berhasil menemukan persamaan untuk semua sudut servo dengan tubuh sejajar dengan lantai, tetapi tidak dapat melakukannya dengan Tubuh miring ke satu sisi. Hargai jika Anda dapat membantu :-) Salam Gary
Selamat datang di R.Se @ user2350 - tolong jangan ajukan pertanyaan tambahan (tidak peduli seberapa terkait) sebagai jawaban
Andrew

Jawaban:

5

Kiprah yang Anda dapatkan sebenarnya tidak terlalu buruk, meskipun kaki tidak memiliki daya tarik yang cukup, sehingga sulit untuk melihat seberapa baik itu sebenarnya.

Saya tidak yakin tentang terminologi Anda tentang dinamika stabil. Seperti yang saya selalu mengerti, gaya berjalan dua tripod dikenal sebagai gaya berjalan stabil statis, sedangkan berjalan baik biped seperti Petman menggunakan gaya berjalan stabil secara dinamis. Tidak pernah mendengar gaya berjalan yang tidak stabil secara dinamis. Itu terdengar seperti mabuk.

Dua kaki di tanah mungkin merupakan batas bawah untuk desain robot ini. Secara umum, ini lebih mudah untuk membuat ini bekerja dengan robot humanoid yang tinggi, yang membutuhkan waktu lama untuk jatuh. Robot pipih lebar perlu mengangkat dan meletakkan kaki mereka dengan cepat jika mereka tidak meninggalkan banyak di lantai.

Tetapi bagaimana mengembangkan gair untuk robot Anda. Pertama, Anda harus memutuskan apa yang ingin Anda capai dari kiprah. Apakah Anda mencari kecepatan maksimum pada permukaan datar, atau stabilitas maksimum pada permukaan yang tidak rata?

Jika tujuan Anda adalah stabilitas, maka saya tentu berpikir layak memiliki robot untuk mengetahui pusat gravitasi dalam kaitannya dengan kakinya. Untuk membantunya mengetahui hal ini, bahkan mungkin perlu menambahkan beberapa sensor gaya ke kakinya sehingga dapat menghitung ini dengan mudah.

Jika tujuan Anda hanya kecepatan maksimum, maka saya hanya akan berkonsentrasi pada pendanaan pola kiprah optimal. Ini lebih sulit dilakukan. Ada dua cara yang baik untuk mendekatinya:

  1. Pemodelan. Buat model komputer robot yang komprehensif, termasuk massa, kekakuan, torsi, dll. Gunakan model ini untuk sepenuhnya memahami perilaku dinamis.

  2. Trial and error. Anda dapat melakukan ini dengan cara yang sulit, memprogram dalam ukuran acak, menyesuaikannya pada firasat dan mengukur kinerja mereka. Cobalah membuatnya berjalan ke depan, dan secara diagonal. Atau Anda dapat menggunakan algoritma genetika untuk membantu Anda secara otomatis mencari ukuran yang lebih baik. Kesulitan menggunakan GA adalah bahwa Anda perlu memiliki beberapa cara untuk secara otomatis mengukur kinerja gaya berjalan.

Cara ketiga, adalah membuat robot menjadi ilmuwan yang menjalankan eksperimen sendiri untuk memvalidasi hipotesis tentang dirinya, dan mencari cara untuk berjalan, seperti robot bintang laut Cornell University .

Roket
sumber