Saya berjuang dengan masalah ini selama berhari-hari. Saya benar-benar berharap seseorang dapat memberi saya petunjuk apa masalahnya.
Robot itu terdiri dari 5 sumbu. Sumbu pertama berputar di sekitar sumbu z dan 4 sumbu lainnya berputar di sekitar sumbu y. Dan pemecah dasarnya bekerja.
Inilah yang telah saya lakukan sejauh ini:
Saya menghitung faktor manipulabilitas dengan matriks Jacobian saya (hanya bagian translasi, karena hanya posisi yang dilacak di sini. Sebenarnya, saya juga mencoba dengan matriks Jacobian gabungan, jadi tidak hanya bagian translasi tetapi juga bagian rotasi. Tetapi gerakan dendeng ada di sana. bagaimanapun):
Maka faktor redaman adalah:
Faktor redaman kemudian diintegrasikan ke dalam perhitungan invers semu:
Seperti yang Anda lihat, ini hanyalah solver kinematik terbalik semu klasik dengan metode kuadrat terkecil teredam. Faktor manipulabilitas menurut gerakan (masalah) kedua adalah: Kemampuan manipulabilitas turun di awal video. Tapi kenapa? Sejauh yang saya tahu, faktor manipulabilitas ini menunjukkan ketergantungan linear dari sumbu. Bagi saya sumbu nampaknya tidak tergantung secara linear di bagian awal.
Gerakan tersentak ini membuatku gila. Seperti yang dapat Anda lihat di animasi pertama, pemecah tampaknya berfungsi dengan baik. Apa yang kulewatkan di sini?
atan
bukanatan2
, dll. Bisakah Anda mengedit pertanyaan Anda untuk mengirim kode yang Anda gunakan?Jawaban:
Seperti yang telah ditunjukkan oleh orang lain, harus ada masalah dengan implementasi algoritma IK Anda karena tidak akan ada perilaku tunggal dalam deskripsi yang Anda berikan.
Sekarang Anda memiliki dua alternatif: Anda memulai debug kode atau Anda mungkin ingin mengeksploitasi fakta bahwa masalah dapat dengan mudah dipecah dalam dua sub-masalah yang Anda dapat menggunakan sebagian besar kode yang ditulis sejauh ini.
Mengingat target 3D yang diinginkan , mudah untuk mengamati bahwa nilai yang diinginkan dari sambungan pertama adalah: .(xd,yd,zd) θ1d=arctan(ydxd)
Hukum kontrol untuk menggerakkan sendi pertama dari manipulator ke dapat sesederhana:θ1d
Kemudian, misalkan menjadi matriks yang memperhitungkan rotasi sekitar sumbu :R∈SO(3) θ1d z
Melalui , Anda akan mendapatkan target baru yang akan membuat masalah planar IK 2D baru di bidang .R (xd,0,zd)1=RT⋅(xd,yd,zd)T xz
Pada titik ini, Anda dapat menyelesaikan untuk dengan menggunakan Jacobian dari manipulator 4-DOF yang tersisa.(xd,zd)1
sumber
Saya pikir Anda telah memperkenalkan singularitas algoritmik pada sumbu pergelangan tangan pertama. Tampak bagi saya bahwa, ketika mencapai 90 derajat "turun," bahwa alih-alih ke 91 ia mencoba untuk membalik kembali melalui nol hingga -269 derajat.
Tentu saja ini spekulatif tanpa melihat kode.
sumber