Contents — find the section you need
Motor lengan robot hanya dapat memutar sudut setiap sendi, namun apa yang sebenarnya kita inginkan, hampir selalu, adalah sesuatu yang dinyatakan dalam ruang tugas: "gerakkan tangan ke posisi dan orientasi ini." Kinematika adalah matematika yang menghubungkan kedua dunia ini — "apa yang dilakukan sendi" dan "apa yang kita inginkan agar tangan lakukan" — dan membentuk dasar dari setiap perangkat lunak yang mengontrol lengan robot. Artikel ini secara sistematis membahas kinematika maju, yang menemukan posisi tangan dari sudut sendi; kinematika invers, yang menyelesaikan masalah sebaliknya; dan Jacobian, yang menjembatani "kecepatan" antara kedua ruang — mengikuti persamaan sepanjang prosesnya.
Lengan robot kolaboratif di lapanganGambar: UR16e lengan robot (Auledas, CC BY-SA 4.0), Wikimedia Commons. Struktur sambungan dan penghubung representatif seperti yang dijelaskan oleh persamaan dalam artikel ini, bukan parameter kinematik dari merek atau model spesifik ini.
0. Apa yang Dibahas Artikel Ini
- Masalah apa yang dipecahkan oleh kinematika lengan robot, dan mengapa dibutuhkan
- Hubungan antara input (sudut sambungan, posisi target) dan output (posisi tangan, sudut sambungan)
- Cara membangun kinematika maju dengan matriks transformasi homogen dan parameter DH
- Mengapa kinematika invers "tidak selalu dapat dipecahkan secara unik," dan perbedaan antara metode analitik dan numerik
- Apa itu Jacobian, dan mengapa ia dapat menghubungkan kecepatan sambungan dengan kecepatan tangan
- Apa yang terjadi pada singularitas, dan mengapa derajat kebebasan redundan berguna
- Perbedaan di antara algoritma kinematika invers representatif — CCD, FABRIK, Damped Least Squares, dan lainnya
- Bagaimana penggunaan kinematika berbeda di berbagai robot industri, humanoid, dan animasi CG
1. Kesimpulan Pertama: Apa Itu Kinematika Lengan Robot
Dalam satu kalimat: kinematika adalah kerangka kerja matematika yang mengkonversi bolak-balik antara dua representasi berbeda dari lengan robot — sudut sendi (ruang sendi) dan posisi/orientasi tangannya (ruang tugas) — menggunakan hubungan geometris murni, tanpa mempertimbangkan gaya atau karakteristik motor.
Frasa "hubungan geometris murni" adalah batasan penting. Kinematika tidak pernah menyentuh dinamika — berapa banyak berat yang dapat ditopang lengan, seberapa cepat motor dapat bergerak. Kinematika hanya berurusan dengan pertanyaan geometris murni: "di mana tangan berada ketika sudut sendi adalah θ?" dan "berapa seharusnya sudut sendi untuk menempatkan tangan pada posisi ini?" Hanya setelah fondasi geometris ini ada, kita dapat membangun diskusi tentang gaya, torsi, dan pelacakan lintasan di atasnya.
2. Mengapa Kinematika Diperlukan?
Motor lengan robot hanya dapat memutar (atau memperpanjang/menarik) setiap sendi secara individual. Namun, instruksi yang ingin diberikan manusia kepada robot, hampir selalu, dirumuskan dalam hal posisi dan orientasi tangan (ujung lengan robot) — "letakkan bagian ini di sini," "bawa cangkir ini ke sana." Kumpulan sudut sendi (ruang sendi) dan posisi serta pose tangan (ruang tugas) secara intuitif tampak seperti besaran yang sama sekali berbeda: untuk lengan 6 sumbu, sudut sendi adalah kumpulan 6 angka, sedangkan pose tangan dinyatakan sebagai posisi 3D (x, y, z) ditambah orientasi 3D (rotasi) — total 6 derajat kebebasan.
Tanpa aturan konversi yang menghubungkan kedua ruang ini, tidak ada cara untuk menghitung "seberapa jauh setiap sendi harus diputar agar tangan mencapai posisi target," dan lengan robot tidak akan dapat melakukan gerakan yang kita inginkan. Kinematika berperan dalam menyatakan, sebagai persamaan eksplisit, korespondensi geometris antara ruang sendi dan ruang tugas — korespondensi yang ditentukan oleh struktur robot (panjang sambungan, tata letak sendi).
3. Apa Saja Inputnya?
Input yang ditangani kinematika bergantung pada arah penyelesaian yang kita lakukan.
- Input untuk Kinematika Maju (FK): vektor sendi \boldsymbol{\theta} = (\theta_1, \theta_2, \ldots, \theta_n) yang mengumpulkan sudut setiap sendi (untuk sendi putar) atau jumlah pergeseran (untuk sendi prismatik). Selain itu, informasi struktural robot (panjang setiap tautan, tata letak setiap sumbu sendi) diberikan sebagai serangkaian konstanta yang dibutuhkan sebelumnya untuk membangun model kinematika.
- Input untuk Kinematika Terbalik (IK): pose target \mathbf{x}_d yang harus dicapai oleh tangan. Ini adalah pasangan posisi target \mathbf{p}_d \in \mathbb{R}^3 dan orientasi target (dinyatakan sebagai matriks rotasi atau kuaternion) R_d; dalam banyak kasus, terutama dengan metode numerik, sudut sendi saat ini \boldsymbol{\theta}_0 juga disertakan sebagai input nilai awal.
Informasi struktural robot adalah sebuah "model," bukan sesuatu yang diberikan pada setiap perhitungan — tetapi jika tidak akurat, baik FK maupun IK akan menghasilkan hasil yang tidak sesuai dengan mesin sebenarnya. Sebelum bekerja dengan kinematika lengan robot, model struktural ini harus terlebih dahulu dikalibrasi dengan benar.
4. Apa yang Kita Cari Solusinya? Apa Hasil Keluarannya?
Hasil keluaran FK adalah posisi tangan \mathbf{x} = (\mathbf{p}, R) yang diberikan sudut sendi \boldsymbol{\theta}. Ini ditentukan secara unik — setelah setiap sudut sendi ditetapkan, panjang tautan dan tata letak sendi juga ditetapkan, sehingga posisi tangan ditentukan secara geometris sebagai satu jawaban tunggal.
Hasil keluaran IK adalah sudut sendi \boldsymbol{\theta}^{*} yang mewujudkan posisi target \mathbf{x}_d. Di sinilah IK berbeda secara mendasar dari FK: solusi IK, secara umum, tidak unik. Mungkin ada beberapa cara untuk menekuk siku yang mencapai posisi tangan yang sama (beberapa solusi), atau target mungkin berada di luar jangkauan gerak robot (di luar ruang kerja yang dapat dijangkau), dalam hal ini tidak ada solusi sama sekali. Ketidakunikan inilah yang membuat IK secara matematis lebih sulit daripada FK.
Ada juga banyak situasi di mana yang kita inginkan bukanlah posisi atau pose itu sendiri, melainkan hubungan antara kecepatan — "jika saya menggerakkan sudut sendi saat ini sebanyak ini, seberapa jauh tangan bergerak?" Inilah peran Jacobian, yang akan kita bahas secara detail di Bagian 6.
5. Arsitektur Dasar
Pemrosesan seputar kinematika dapat diorganisasikan berdasarkan struktur bagaimana tiga transformasi — FK, IK, dan Jacobian — menghubungkan ruang sendi dan ruang tugas.
Gambar 1 — Kinematika maju (FK) secara unik menemukan posisi tangan dari sudut sendi. Kinematika invers (IK) menyelesaikan arah sebaliknya, tetapi mungkin ada beberapa solusi, atau tidak ada sama sekali. Jacobian menghubungkan "kecepatan" dari kedua ruang melalui hubungan linier.
Baris atas mewakili FK, baris tengah IK, dan baris bawah hubungan kecepatan melalui Jacobian. FK selalu dapat dihitung secara unik (kiri ke kanan), sedangkan IK (kanan ke kiri) adalah masalah invers geometris yang umumnya membutuhkan beberapa teknik solusi. Karena Jacobian menghubungkan "laju perubahan" (kecepatan) daripada posisi atau pose itu sendiri, dalam kerangka aljabar linier, lebih mudah untuk dikerjakan daripada FK atau IK — itulah sebabnya sebagian besar metode numerik IK dibangun di atasnya.
6. Algoritma Representatif
Matriks Transformasi Homogen dan Parameter DH — Membangun Kinematika Maju
Operasi dasar kinematika maju adalah menghubungkan kerangka koordinat tautan yang berdekatan menggunakan matriks transformasi homogen, yang menggabungkan rotasi dan translasi.
R_i mewakili rotasi dari kerangka koordinat tautan i ke kerangka koordinat tautan i-1, dan \mathbf{d}_i mewakili translasi. Untuk lengan dengan n sendi, transformasi dari kerangka dasar ke kerangka tangan adalah hasil perkalian semua transformasi sendi individual.
Jika matriks transformasi homogen n ini ditulis dari awal dengan definisi yang berbeda untuk setiap tautan, seluruh rangkaian persamaan harus dibangun kembali setiap kali robot berubah. Inilah sebabnya mengapa notasi standar — parameter Denavit-Hartenberg (DH) — sangat banyak digunakan. Jacques Denavit dan Richard Hartenberg mengusulkan notasi ini dalam makalah mereka tahun 1955 "A Kinematic Notation for Lower-Pair Mechanisms Based on Matrices," yang diterbitkan di ASME Journal of Applied Mechanics. Notasi ini mengekspresikan hubungan posisi antara dua sumbu sambungan yang berdekatan hanya menggunakan empat parameter — panjang tautan a_i, sudut puntir tautan \alpha_i, offset sambungan d_i, dan sudut sambungan \theta_i — memungkinkan matriks transformasi setiap sambungan untuk disusun dalam bentuk yang terpadu.
Dengan tabel parameter DH ini — tiga konstanta a_i, \alpha_i, d_i untuk setiap sambungan, ditambah variabel \theta_i — persamaan kinematika maju untuk robot serial-link apa pun dapat dirakit secara mekanis menggunakan prosedur yang sama. Inilah mengapa manual robot industri dan banyak simulator menyediakan spesifikasi robot dalam bentuk parameter DH ini.
IK Analitik, Dilihat Melalui Lengan Planar 2-Link
Mari kita lihat secara konkret gagasan IK analitik, yang menyelesaikan persamaan FK yang dibangun dari parameter DH secara terbalik, menggunakan contoh sesederhana mungkin: lengan planar 2-link dengan panjang link l_1, l_2.
Gambar 2 — Lengan planar 2-link. Posisi tangan E (x, y) ditentukan oleh sudut sendi bahu O dan sendi siku J θ₁, θ₂ dan panjang link l₁, l₂ (FK). Sebaliknya, menemukan θ₁, θ₂ dari (x, y) adalah IK.
Kinematika maju dapat dituliskan dengan sederhana dengan menambahkan kedua vektor link.
Kinematika invers menemukan \theta_1, \theta_2 dari sebuah Posisi target (x, y). Pertama, gunakan hukum kosinus untuk menemukan sudut siku \theta_2.
Solusi ada ketika sisi kanan persamaan ini berada dalam [-1, 1], dan \theta_2 = \pm\arccos(\cdots) memberikan dua solusi, hanya berbeda tanda (membengkokkan siku ke atas atau ke bawah). Setelah \theta_2 ditetapkan, \theta_1 ditentukan secara unik (untuk pilihan \theta_2 tersebut) dari hubungan geometris. Prosedur ini — "menurunkan fungsi trigonometri invers melalui manipulasi aljabar murni" — adalah IK analitik; dapat ditulis sebagai ekspresi bentuk tertutup untuk mekanisme sederhana dengan 2–3 derajat kebebasan, tetapi seiring bertambahnya derajat kebebasan atau tata letak sambungan menjadi lebih kompleks, menemukan ekspresi bentuk tertutup secara umum menjadi sulit.
IK Numerik — Solusi Iteratif Menggunakan Jacobian
Untuk robot dengan banyak derajat kebebasan, atau mekanisme tanpa solusi bentuk tertutup, IK numerik — komputasi iteratif yang secara bertahap mendekati target dari sudut sendi saat ini — digunakan sebagai gantinya. Ini didasarkan pada Jacobian.
Mendiferensiasikan posisi tangan \mathbf{x}(\boldsymbol{\theta}) terhadap sudut sendi memberikan hubungan linier antara kecepatan sendi dan kecepatan tangan.
J(\boldsymbol{\theta}) adalah Jacobian manipulator, sebuah matriks m \times n (m adalah derajat kebebasan ruang tugas, n adalah jumlah sendi). Arah pembaruan sudut sendi untuk mengurangi kesalahan \mathbf{e} = \mathbf{x}_d - \mathbf{x}(\boldsymbol{\theta}) dari posisi target dapat ditemukan menggunakan invers (atau pseudoinvers) dari Jacobian.
Gagasan pembaruan iteratif menggunakan pseudoinvers Jacobian ini berakar pada makalah Daniel E. Whitney tahun 1969 "Resolved Motion Rate Control of Manipulators and Human Prostheses," yang mengusulkan kerangka kerja kontrol kecepatan yang mencakup penyelesaian derajat kebebasan yang berlebihan. Namun, ketika robot mendekati konfigurasi singular (dijelaskan di Bagian 7), J J^{\top} menjadi hampir singular (inversnya menyimpang), dan pembaruan ini menjadi tidak stabil. Damped Least Squares (DLS), yang ditunjukkan oleh Charles Wampler dalam makalah tahun 1986, menekan ketidakstabilan ini dengan menambahkan suku peredaman \lambda^2 I ke perhitungan invers.
Ada pertukaran: semakin besar \lambda, semakin stabil secara numerik di dekat singularitas, tetapi konvergensi menjadi semakin lambat (kesalahan hanya dapat dikurangi dengan (jumlah yang lebih kecil setiap iterasi). Karena rumus ini memungkinkan Anda untuk menyesuaikan kecepatan konvergensi dan stabilitas dengan satu parameter, \lambda, rumus ini banyak diadopsi dalam pemecah IK robot industri karena kepraktisannya.
CCD dan FABRIK — Heuristik Geometris Iteratif
Ada juga metode yang memecahkan IK dengan mengulangi operasi geometris yang lebih intuitif, tanpa menggunakan Jacobian sama sekali. CCD (Cyclic Coordinate Descent) berjalan sendi demi sendi, dari sendi yang terdekat dengan tangan menuju sendi akar, mengulangi operasi sederhana "putar hanya sendi ini untuk membawa tangan sedekat mungkin ke target." Metode ini mudah diimplementasikan dan murah secara komputasi, tetapi karena hanya menggerakkan satu sendi pada satu waktu, konvergensinya lambat dan cenderung menghasilkan lintasan yang tampak tidak alami.
FABRIK (Forward And Backward Reaching Inverse Kinematics), sebuah metode yang dipublikasikan oleh Andreas Aristidou dan Joan Lasenby di Graphical Models pada tahun 2011, tidak menangani rotasi. Algoritma ini tidak menghitung sudut sama sekali — melainkan menyelesaikan IK dengan berulang kali memposisikan ulang posisi sendi setiap tautan sebagai "titik pada garis lurus ke target, pada jarak yang mempertahankan panjang tautan," bergerak dari tangan ke akar dan kemudian dari akar kembali ke tangan. Karena menghindari perhitungan sudut, algoritma ini ringan secara komputasi dan cenderung konvergen ke pose yang tampak alami dalam beberapa iterasi, itulah sebabnya algoritma ini banyak digunakan untuk gerakan lengan dan kaki dalam animasi CG dan karakter video game.
7. Perbedaan Algoritma
| Metode | Prinsip | Akurasi | Biaya Komputasi | Ketahanan di Dekat Singularitas | Kesulitan Implementasi |
|---|---|---|---|---|---|
| Parameter DH + transformasi homogen (FK) | Rantai matriks transformasi tautan demi tautan | Tepat (tidak ada kesalahan jika modelnya benar) | Rendah (hanya perkalian matriks) | Tidak berlaku (FK tidak memiliki singularitas) | Rendah |
| IK Analitik | Mendapatkan solusi bentuk tertutup melalui aljabar trigonometri | Tepat (solusi sebenarnya, jika ada) | Sangat rendah | Ditangani dengan menghitung cabang solusi | Rendah untuk sedikit derajat kebebasan (DoF), sangat tinggi seiring bertambahnya DoF |
| Pseudoinvers Jacobian | Melinierkan kesalahan dan memperbarui secara iteratif | Bergantung pada jumlah iterasi; akurasi tinggi setelah konvergen | Sedang (operasi matriks berulang) | Rendah (rentan terhadap divergensi di dekat singularitas) | Sedang |
| Kuadrat Terkecil Teredam | Menambahkan suku peredaman ke pseudoinvers | Bergantung pada jumlah iterasi dan \lambda | Sedang | Tinggi (stabil bahkan di dekat singularitas) | Sedang |
| CCD | Memutar satu sendi pada satu waktu menuju target tangan | Bergantung pada jumlah iterasi; dapat jatuh ke minimum lokal | Rendah | Tinggi (tidak perlu inversi matriks) | Rendah |
| FABRIK | Menggerakkan posisi sendi sepanjang garis sambil mempertahankan panjang tautan | Bergantung pada jumlah iterasi; cenderung konvergen ke solusi yang tampak alami secara visual | Rendah | Tinggi | Rendah |
IK analitik adalah "tercepat dan paling akurat jika dapat dipecahkan," tetapi seiring bertambahnya derajat kebebasan, menurunkan persamaan itu sendiri menjadi sulit. Metode numerik (berbasis Jacobian, CCD, FABRIK) dapat digunakan secara umum terlepas dari derajat kebebasan atau mekanisme, tetapi karena bersifat iteratif, metode ini tidak dapat menghindari pertukaran antara kecepatan konvergensi, minimum lokal, dan biaya komputasi.
8. Di Mana Ia Mengalami Kesulitan / Lingkungan yang Sulit
Kesulitan yang melekat pada kinematika dapat dikelompokkan secara luas menjadi tiga kategori.
Singularitas: pada konfigurasi sendi tertentu, peringkat Jacobian J menurun, menciptakan arah di mana tangan sama sekali tidak dapat digerakkan apa pun yang terjadi. Misalnya, dengan lengan terentang penuh, tidak ada kombinasi sendi Kecepatan yang dapat menggerakkan tangan lebih jauh ke luar. Dalam keadaan ini, J J^{\top} mendekati matriks singular, dan hukum kontrol yang menggunakan pseudoinverse menyebabkan kecepatan sendi yang diperintahkan menyimpang. Indeks manipulabilitas w = \sqrt{\det(J J^{\top})}, yang diusulkan oleh Tsuneo Yoshikawa pada tahun 1985, banyak digunakan untuk mengukur kedekatan dengan singularitas — semakin dekat w ke nol, semakin dekat konfigurasi tersebut dengan singularitas.
Solusi ganda dan keterjangkauan: IK umumnya dapat memiliki banyak solusi (misalnya, berbagai cara menekuk siku), dan ada juga kasus di mana posisi target secara fisik tidak dapat dijangkau mengingat panjang tautan robot dan batasan jangkauan gerak. Kecuali metode numerik secara eksplisit merancang kondisi penghentian untuk kasus "tidak ada solusi" ini, metode tersebut akan terus berulang tanpa pernah konvergen.
Derajat kebebasan yang berlebihan: untuk robot dengan lebih banyak sendi daripada derajat kebebasan ruang tugas (biasanya 6) — misalnya, lengan 7 sumbu — terdapat kombinasi sudut sendi yang tak terhingga banyaknya yang menghasilkan posisi tangan yang sama. Kelebihan derajat kebebasan ini bukanlah "ambiguitas yang merepotkan" — ini adalah sumber daya yang dapat digunakan secara aktif untuk tujuan sekunder seperti penghindaran rintangan, penghindaran singularitas, atau menjaga sendi tetap berada di dekat tengah rentang geraknya. IK untuk robot redundan dirancang dengan memproyeksikan gradien tujuan sekunder ke ruang nol Jacobian (arah kecepatan sendi yang tidak berpengaruh pada posisi tangan).
9. Pilihan Praktis
Cara mengimplementasikan kinematika bergantung pada derajat kebebasan robot, aplikasi, dan persyaratan waktu nyata.
- Lengan robot industri (pengelasan, perakitan, dll., biasanya 6 sumbu): dengan 6 derajat kebebasan, banyak mekanisme memungkinkan solusi IK analitik, dan dalam praktiknya, banyak pengontrol pabrikan mengimplementasikan IK analitik langsung di firmware. Tanpa memerlukan komputasi iteratif, Ini cepat dan berperilaku dapat diprediksi.
- Lengan robot dengan derajat kebebasan redundan (7+ sumbu, robot kolaboratif atau lengan humanoid): penyelesaian analitik sulit atau menghasilkan banyak solusi yang sulit ditangani, sehingga IK numerik berbasis Jacobian (seperti Damped Least Squares) umum digunakan. Ini juga mempermudah perancangan penghindaran rintangan dan penghindaran singularitas secara bersamaan melalui ruang nol.
-
Animasi CG, karakter video game, avatar VR/AR: naturalitas visual dan biaya komputasi rendah biasanya diprioritaskan daripada akurasi fisik, lebih menyukai heuristik geometris ringan seperti CCD atau FABRIK.
-
Manipulator bergerak (basis bergerak + lengan) atau humanoid seluruh tubuh: perlu untuk menangani tidak hanya IK lengan itu sendiri tetapi juga derajat kebebasan redundan dari seluruh tubuh, termasuk kaki dan badan, secara terintegrasi — seringkali menggunakan kerangka kerja yang memperluas metode berbasis Jacobian ke kinematika seluruh tubuh (Whole-Body IK).
Dalam Dalam setiap aplikasi, kinematika tidak pernah menjadi teknologi yang berdiri sendiri — lengan robot hanya mencapai gerakan yang diinginkan ketika dikombinasikan dengan loop kontrol yang benar-benar menghasilkan perintah kecepatan sendi dan torsi (LQR Primer, MPC Primer) dan Trajectory Generation Primer, yang merancang jalur yang harus diikuti tangan sepanjang sumbu waktu.
10. Ringkasan (Rekap Tiga Baris)
- Kinematika maju secara unik menemukan posisi tangan dari sudut sendi; kinematika invers menyelesaikan masalah sebaliknya, tetapi mungkin ada beberapa solusi, atau tidak ada sama sekali.
- Jacobian secara linier menghubungkan kecepatan sendi dengan kecepatan tangan, dan merupakan dasar dari IK numerik melalui pseudoinvers atau Damped Least Squares.
- Bagaimana Anda menangani tiga kesulitan dari Singularitas, solusi ganda, dan derajat kebebasan yang berlebihan menentukan apakah IK analitik atau numerik adalah pilihan yang tepat.
Apakah hanya ada satu konfigurasi sendi untuk posisi ujung efektor?
Solusi ganda atau redundansi mungkin ada, dan beberapa titik tidak dapat dijangkau. Pilih solusi menggunakan batasan sendi, singularitas, dan batasan tabrakan.
Komentar
Silakan masuk terlebih dahulu.
Belum ada data.