Kinematika Terbalik dalam Robotika: Panduan Praktis Lengkap
Apa itu kinematika terbalik?
Seberapa banyak yang perlu Anda ketahui tentangnya untuk mendapatkan hasil maksimal dari robot Anda?
Kinematika terbalik untuk robotika adalah topik yang besar dan seringkali kompleks. Tergantung pada proyek Anda, Anda mungkin perlu mengetahuinya dengan detail yang besar atau cukup dengan pengetahuan dasar.
Inilah informasi penting yang perlu Anda ketahui tentang kinematika terbalik untuk robotika.
Apa Itu Kinematika Terbalik?
Kinematika terbalik adalah proses matematika yang digunakan untuk menghitung posisi sendi yang diperlukan untuk menempatkan end effector robot pada posisi dan orientasi tertentu (juga dikenal sebagai “pose”). Solusi kinematika terbalik yang andal diperlukan untuk memprogram robot melakukan tugas.
Penting untuk jelas tentang perbedaan antara kinematika terbalik dan kinematika maju robot.
Kinematika maju menentukan di mana end effector akan berada jika sendi diatur ke posisi tertentu. Hanya ada satu solusi untuk persamaan kinematika maju. Ketika sendi diatur ke posisi tertentu, end effector akan selalu berada di tempat yang sama.
Dengan kinematika terbalik, seringkali ada banyak solusi yang berbeda dan banyak pendekatan untuk menghitung solusi kinematika terbalik.
Mengapa Kita Membutuhkan Kinematika Terbalik dalam Robotika
Jika kita tidak memiliki kinematika terbalik, pemrograman robot akan sangat sulit… jika tidak mustahil.
Saat Anda ingin end effector robot bergerak ke tempat tertentu di ruang kerjanya, masuk akal bahwa Anda akan memasukkan pose yang diinginkan ke dalam program.
Namun, Anda tidak dapat hanya memberitahu robot untuk pergi ke koordinat X, Y, dan Z yang Anda inginkan dan berharap robot memahami instruksi Anda… tidak tanpa kinematika terbalik.
Sebagian besar robot industri terdiri dari beberapa sendi terartikulasi yang dapat dikontrol secara independen. Setiap sendi terhubung dengan satu atau lebih sendi lainnya, terkadang dalam konfigurasi yang kompleks. End effector diletakkan di ujung seluruh “rantai kinematik”. Ketika Anda menggerakkan satu sendi saja, ini akan mempengaruhi pose end effector dengan berbagai cara.
Ini berarti tidak ada hubungan sederhana dan langsung antara posisi end effector dan satu sendi tertentu.
Misalnya, jika Anda ingin end effector robot bergerak 1 mm secara linier sepanjang sumbu Z, Anda mungkin perlu menggerakkan semua sendi dengan jumlah yang berbeda.
Terakhir, algoritma kinematika terbalik menghitung posisi tepat dari setiap sendi robot yang diperlukan untuk mencapai pose end effector yang diinginkan.
Bagaimana Mencari Kinematika Terbalik Lengan Robot
Saat Anda melakukan beberapa penelitian tentang kinematika terbalik untuk robotika, Anda akan sering menemukan halaman demi halaman persamaan, rumus, dan deskripsi algoritma. Ini karena menghitung kinematika terbalik adalah bidang yang sudah terbentuk dalam penelitian robotika. Tidak banyak orang yang membicarakan kinematika terbalik di luar bidang penelitian (kecuali animator 3D).
Namun, saat kita menggunakan robot untuk aplikasi industri, ada 2 opsi dasar untuk menemukan solusi kinematika terbalik:
- Anda dapat melakukan semua pekerjaan matematika dan pemrograman sendiri untuk membuat solver kinematika terbalik untuk robot spesifik Anda.
- Anda dapat menggunakan solver kinematika terbalik yang sudah ada untuk robot spesifik Anda yang bekerja “out of the box.”
Pilihan mana yang Anda pilih akan tergantung pada situasi unik Anda.
Jika Anda membangun robot sendiri — yakni membangunnya dari nol dengan menghubungkan motor dan tautan mekanis — Anda kemungkinan besar harus memilih Opsi 1.
Jika Anda menggunakan robot industri yang berasal dari produsen robot, Opsi 2 hampir selalu akan lebih cepat dan lebih mudah.
Metode Sulit: Membuat Solver Kinematika Terbalik
Jika Anda memilih untuk membuat solver kinematika terbalik Anda sendiri, siapkan diri untuk pemrograman yang serius!
Ada 2 pendekatan dasar untuk menghitung kinematika terbalik:
1. Solusi Kinematika Terbalik Analitik
Solver kinematika terbalik analitik akan mampu mengambil pose end effector yang diinginkan dan (hampir) segera mengeluarkan posisi sendi yang diperlukan.
Ini karena, “di dalam”, rantai kinematik robot telah diringkas menjadi ekspresi bentuk tertutup — untuk setiap pose end effector, ada definisi matematika dari posisi sendi yang diperlukan.
Meskipun Anda dapat melalui pekerjaan untuk menghasilkan ekspresi bentuk tertutup sendiri (secara manual) ini biasanya tidak diperlukan. Sekarang ini pustaka IKFast membuat tugas ini jauh lebih mudah daripada dulu.
2. Solver Kinematika Numerik/Iteratif
Tidak semua robot memiliki solusi kinematika terbalik analitik. Ketika struktur kinematik robot kompleks atau tidak biasa, opsi satu-satunya adalah menggunakan solver kinematika terbalik numerik.
Selain itu, dalam solusi numerik, tidak ada ekspresi bentuk tertutup yang jelas. Sebaliknya, saat Anda memasukkan posisi end effector yang diinginkan, algoritma iteratif bekerja menuju solusi untuk posisi sendi yang diperlukan dengan memperlakukannya sebagai solusi optimasi.
Pada setiap iterasi, algoritma memasukkan beberapa posisi sendi ke dalam persamaan kinematika maju robot untuk mengetahui di mana end effector berada. Pada iterasi berikutnya, ia menggunakan informasi ini untuk menyesuaikan posisi sendi lebih lanjut. Ini akan secara bertahap memindahkan end effector menuju pose yang diinginkan.
Karena pendekatan iteratif ini, solusi kinematika terbalik numerik lebih lambat daripada solusi analitik.
Metode Mudah: Gunakan Solver Kinematika Terbalik yang Teruji
Membuat solver kinematika terbalik Anda sendiri adalah latihan intelektual yang baik saat Anda di universitas atau jika Anda membangun robot sendiri dari nol.
Namun, jika Anda hanya ingin menggunakan robot di lingkungan produksi, tidak mungkin Anda perlu membuat solver kinematika terbalik Anda sendiri.
Jauh lebih mudah dan cepat untuk hanya menggunakan solver yang sudah ada yang telah diintegrasikan ke dalam lingkungan pemrograman robot Anda.
Semua robot di Robot Library RoboDK datang dengan solver kinematika terbalik mereka sendiri. Ini memungkinkan Anda untuk memulai memprogram mereka segera tanpa perlu memikirkannya.
Sebagian besar solver kami adalah solusi analitik yang telah dibuat sebelumnya yang disertakan dengan file robot. Namun, beberapa robot yang lebih kompleks di library menggunakan solver numerik. Bahkan dengan solver numerik, kecepatan perhitungan yang lebih rendah bukan masalah dengan RoboDK karena Anda akan memprogram robot secara offline sebelum mengirim program ke robot itu sendiri.
Akhirnya, hanya buat solver kinematika terbalik Anda sendiri jika benar-benar harus.
Jika tidak, waktu Anda akan lebih baik dihabiskan untuk membuat program robot untuk tugas Anda dan memasukkannya ke produksi lebih cepat.
Pertanyaan apa yang Anda miliki tentang kinematika terbalik dalam robotika? Beritahu kami di komentar di bawah atau bergabunglah dengan diskusi di LinkedIn, Twitter, Facebook, Instagram, atau di Forum RoboDK.