Menguasai Sudut Euler Robot: Panduan Komprehensif
Sulit untuk memahami rotasi robot, bukan? Sudut Euler adalah peradangan. Berikut adalah primer penting untuk menghilangkan rasa sakit tersebut.
Orientasi! Mereka hanya membuat saya ingin merontak rambut saya. Jika Anda pernah harus memprogram pose akhir robot menggunakan koordinat dan rotasi, Anda akan tahu apa yang saya bicarakan.
Pada first glance, mengatur pose end effector robot Anda tampak sederhana, bukan?
Anda cukup bilang “Saya ingin memindahkan alat robot saya ke lokasi ini dan saya ingin arahnya ke arah ini.”
Secara intuitif, Anda tahu tepat orientasi apa yang Anda inginkan untuk alat tersebut. Namun, ketika datang ke mendeskripsikan orientasi menggunakan angka yang tepat, tiba-tiba tugas sederhana ini menjadi keruntuhan kebingungan.
Mengapa Orientasi Robot Sulit Dipahami
Mudah untuk mendeskripsikan koordinat X, Y, Z (translasi) alat robot.
Untuk mendeskripsikan translasi, Anda cukup memasukkan koordinat — mis. Point[X, Y, Z] = [100, 1000, 1500] mm — dan hanya ada satu lokasi yang dapat dirujuk oleh ini, asalkan Anda menggunakan base reference yang sama. Ini hanya dapat berarti 100 mm sepanjang sumbu X, 1 meter sepanjang sumbu Y dan 1,5 meter sepanjang sumbu Z.
Tetapi, bagaimana Anda mendeskripsikan orientasi alat?
Anda dapat bilang:
Rotation[XYZ] = [5, 45, 15]°
namun, Anda juga dapat bilang (membulatkan angka)
Rot[XY’Z”] = [-7.9, 44.7, 16.2]°
atau
Rot[ZY’Z”] = [7.9, 45.2, 5.0]°
atau bahkan
Quaternion[q1-q4] = [0.9, -0.1, 0.4, 0.1]
Semua ini merujuk pada orientasi yang sama sekali!
Apa yang membuatnya lebih memusingkan adalah produsen robot yang berbeda menggunakan konvensi yang berbeda. Semuanya bisa menjadi sedikit sakit kepala, bahkan ketika Anda sudah terbiasa dengan geometri 3D.
Masalah: Kita Tidak Berpikir dalam Rotasi
Masalah sebenarnya adalah kita tidak secara alami berpikir dalam hal rotasi.
Kami secara intuitif memahami koordinat translasi karena kita menggunakannya dalam kehidupan sehari-hari (mis. “Itu ada di rak kedua dari bawah, empat buku dari kiri.”). Namun, ketika kita harus mendeskripsikan orientasi, kita bersandar pada menunjuk dengan jari kita dan bilang “Itu ada di arah itu.”
Untungnya, robot membutuhkan informasi yang lebih tepat daripada “itu ada di sana.”
Apa yang kita butuhkan adalah pemahaman yang kokoh tentang Sudut Euler.
Apa Itu Sudut Euler?
Mari kita mundur sedikit dan mulai dari dasar-dasar.
Metode yang paling umum untuk mendeskripsikan orientasi robot adalah Sudut Euler. Sudut Euler terdiri dari tiga angka yang masing-masing mendeskripsikan rotasi di sekitar satu sumbu. Ada konvensi Sudut Euler yang berbeda tergantung pada urutan rotasi.
Pertama, mari kita sederhanakan ini menjadi contoh satu sumbu.
Bayangkan kompas.
Seringkali sumbu Z dunia merujuk pada sumbu yang melintang dari langit ke tanah. Jadi, Anda dapat menganggap jarum kompas sebagai rotasi di sekitar sumbu Z (disebut Rot[Z]). Ketika Anda memegang kompas rata di depan Anda dan panah menunjuk ke 135°, berarti Utara ada di atas bahu kiri Anda jadi Anda saat ini menghadap Tenggara. Tidak masalah di mana Anda menempatkan kompas (di lantai, di kepala Anda, dll) jika memiliki orientasi yang sama, sudutnya akan selalu 135°.
Sampai sini, sederhana.
Kompas kita hanya memiliki satu nilai rotasi (yaitu Rot[Z]) tetapi untuk mendeskripsikan orientasi 3D apa pun kita butuh tiga nilai. Inilah dimana hal itu mulai sedikit lebih rumit.
Metode lain untuk mendeskripsikan orientasi robot adalah Quaternion atau Poses (matriks 4×4).
Mari Kita Praktikkan
Dari sekarang, akan berguna bagi Anda untuk memiliki alat bantu visual interaktif.
Saya menyarankan Anda mengunduh salinan gratis RoboDK di tautan ini, yang membuatnya sangat mudah untuk memvisualisasikan frame referensi dan melihat koordinat yang dihasilkan.
Jalankan RoboDK dan buat frame referensi menggunakan tombol “Add Reference Frame” atau memilih opsi di menu Program. Anda harus melihat frame merah, hijau dan biru muncul di tengah layar.
Anda dapat memutar frame seperti ini: tekan tombol Alt, kemudian klik dan seret salah satu panah melengkung yang muncul.
Cara Terbang Pesawat
Mari kita gunakan analogi pesawat, seperti yang dijelaskan dengan sangat jelas di robot-forum.
Bayangkan frame referensi adalah pesawat. Ujung panah merah lurus (sumbu X) adalah ujung hidung pesawat dan panah hijau lurus (sumbu Y) adalah sayap kiri.
Dalam hal ini, memutar panah melengkung berfungsi sebagai berikut:
- Panah merah melengkung = Rot[X]: Rol pesawat, yang memungkinkan pesawat berputar di sekitar sumbu horizontalnya.
- Panah hijau melengkung = Rot[Y]: Pitch pesawat, yang menunjuk hidung pesawat ke atas atau ke bawah.
- Panah biru melengkung = Rot[Z]: Yaw pesawat, yang menentukan arah pesawat bergerak.
Jika pilot ingin pesawat belok ke kiri dan ke bawah secara bertahap, pesawat tidak akan hanya berputar di sumbu Z — itu bukan cara kerja pesawat.
Alih-alih, pesawat akan:
- Menurunkan hidungnya: Rot[Y]
- Melakukan roll ke kiri: -Rot[X]
- Melakukan yaw ke kiri: Rot[Z]
Seluruh gerakan ini akan direpresentasikan sebagai Rot[XYZ]. Coba putar frame di sekitar sedikit sendiri di RoboDK sampai Anda nyaman dengan konsep ini.
Kemudian, double-click nama frame di pojok kiri atas jendela utama untuk membuka panel “Frame Details”.
Satu Orientasi, Beberapa Rotasi yang Mungkin
Menggunakan RoboDK, coba tugas-tugas berikut.
Sebelum setiap tugas, reset frame dengan membuka ikon menu “hamburger” (tiga garis horizontal) di panel Frame Details dan memilih “Reset (set identity)”.
- Pilih menu drop-down di atas koordinat dan pilih rotasi Stäubli (X->Y’->Z”) alih-alih Generic.
- Putar frame sehingga biru (Z) menunjuk ke bawah dan merah (X) menunjuk ke belakang (yaitu keduanya terbalik dari posisi awal dan hijau (Y) sama seperti posisi awal), tetapi hanya dengan memutar di sekitar sumbu Y.
- Reset frame lalu pindahkan ke rotasi yang sama lagi. Namun, kali ini hanya gunakan satu rotasi Z lalu satu rotasi X.
- Reset frame lalu pindahkan ke rotasi yang sama lagi. Namun, kali ini hanya gunakan satu rotasi X lalu satu rotasi Z.
Seperti yang Anda lihat, dapat ada lebih dari satu cara untuk mencapai orientasi yang sama.
Metode pertama kita bisa sebut Rot[Y], karena hanya mencakup rotasi di sekitar sumbu Y. Metode kedua kita bisa sebut Rot[Z, X’], karena mencakup satu rotasi di sekitar sumbu Z dan satu rotasi di sekitar sumbu X baru. Yang ketiga kita sebut Rot[X, Z’]. Simbol prima berarti rotasi terjadi dengan mengacu pada gerakan terakhir alih-alih sumbu statis.

Ini adalah konsep dasar di balik sudut Euler. Anda dapat memutar frame ke orientasi yang sama dengan cara yang berbeda dengan mengubah urutan sumbu dan rotasi.
Produsen robot yang berbeda telah memilih kombinasi rotasi yang berbeda. Misalnya, Stäubli menggunakan konvensi XY’Z”, Adept menggunakan konvensi ZY’Z”, KUKA menggunakan konvensi ZY’X” dan Fanuc & Motoman menggunakan konvensi XYZ. Di sisi lain, ABB menggunakan Quaternion dan Universal Robots menggunakan vektor orientasi. Namun semua konvensi dapat digunakan untuk mewakili orientasi apa pun di ruang.

Anda akan menemukan informasi lebih lanjut dalam Dokumentasi RoboDK.
Uji Berbagai Konvensi Robot
Semoga, ini mulai masuk akal. Namun, ini hanya awalnya. Untuk benar-benar menguasai konvensi sudut Euler di RoboDK, saya menemukan berguna untuk bermain-main dengan perangkat lunak mengikuti panduan ini.
Anda dapat melihat efek rotasi Anda dalam angka di kotak biru muda, ungu dan kuning di panel “Frame Details”.
Secara default, konvensi XYZ Generic dipilih untuk frame referensi baru. Coba pilih produsen robot yang berbeda dari menu drop-down di atas kotak berwarna. Coba masukkan nilai numerik ke dalam kotak untuk melihat efeknya pada frame referensi.
Untuk tutorial mendalam tentang sudut Euler, saya juga dapat merekomendasikan halaman ini di Mecademic.