Mengoptimalkan Kebutuhan Ruang untuk Robot Enam Sumbu Mikro-Otomatisasi
Berapa Ruang yang Anda Butuhkan untuk Robot Enam Sumbu Mikro-Otomatisasi?
Jika Anda berniat menggunakan lengan robot enam sumbu mikro-otomatisasi, seperti Meca500 dari Mecademic yang digunakan dalam tutorial ini sebagai contoh, Anda kemungkinan tertarik untuk memosisikan dan mengarahkan alat (end-effector) robot ke berbagai lokasi. Oleh karena itu, Anda pasti ingin tahu kumpulan lokasi yang dapat Anda capai dengan end-effector tertentu yang dipasang pada lengan robot enam sumbu tertentu. Anda mungkin meminta sejenis diagram yang menunjukkan “working area,” “working volume,” “working envelope,” atau “working range” robot. Dan, sayangnya, Anda sering akan disajikan dengan diagram yang sederhana seperti yang ditunjukkan di sini, atau lebih buruk lagi, dengan reach robot yang disebutkan.
Dalam robotika, istilah yang tepat untuk apa yang Anda cari adalah workspace. Reach hanyalah jarak maksimum antara wrist center robot (titik interseksi dari sumbu tiga sendi terakhir robot) dan sumbu sendi 1. Area abu-abu di gambar di atas adalah area yang dapat dicapai oleh wrist center, untuk rotasi tertentu dari sendi 1. Area ini, atau bahkan volume yang dihasilkan dengan memutar area ini di sekitar sumbu sendi 1, bukan workspace robot. Tidak ada jaminan sama sekali bahwa Anda dapat mencapai posisi dalam volume ini dengan tooltip end-effector tertentu, untuk tidak sampai mencapai posisi itu dengan orientasi apa pun. Faktanya, jika Anda memasang end-effector yang cukup panjang, Anda tidak akan dapat mencapai posisi apa pun dari volume ini dengan ujung alat Anda.
Workspace robot enam sumbu mikro-otomatisasi adalah kumpulan semua pose (posisi dan orientasi) yang dapat dicapai oleh end-effector tertentu yang dipasang pada robot tersebut. Jadi, (1) tidak ada yang dapat memberi tahu Anda apa workspace lengan robot enam sumbu tertentu, kecuali Anda menentukan apa end-effector yang Anda berniat gunakan, dan (2) workspace tersebut adalah entitas enam dimensi yang secara umum tidak dapat direpresentasikan secara grafis.
Tentu saja, ada beberapa pengecualian di bidang robotika, ketika datang ke representasi grafis. Workspace robot enam sumbu Cartesian seperti yang ditunjukkan di bawah ini mudah untuk dijelaskan tetapi hanya untuk satu pilihan tooltip tertentu. Memang, jika tooltip end-effector robot coincid dengan titik interseksi sumbu tiga sendi revolutif, maka robot enam sumbu mikro-otomatisasi ini dapat memosisikan tooltipnya di mana saja di dalam kubus kuning, dengan orientasi alat apa pun.
Sayangnya, mayoritas besar robot industri enam sumbu bukan Cartesian, untuk alasan praktis yang berbeda. Misalnya, robot Cartesian di atas memiliki workspace yang sangat kecil dalam hal posisi. Lengan robot enam sumbu umum, sering disebut dengan aneh sebagai vertically articulated robot, terdiri dari tujuh link (badan), yang terhubung secara berurutan melalui enam sendi revolutif yang diaktuasi. Badan pertama adalah basis robot, dan yang terakhir adalah flange robot (juga disebut mechanical interface). Juga, sumbu sendi pertama vertikal, sumbu sendi 2 dan 3 horizontal, sumbu sendi 4 normal terhadap sumbu sendi 3, dan sumbu tiga sendi terakhir biasanya berinterseksi di satu titik.
Sementara lengan robot industri biasanya dijual tanpa peralatan, end-effector (seperti gripper atau touch probe) akhirnya dipasang pada flange robot. Pengguna kemudian harus mengaitkan tool reference frame, yang tetap pada end-effector ini. Tool reference frame ini didefinisikan terhadap flange reference frame. Asal tool reference frame disebut TCP (tool center point). Akhirnya, Anda harus tertarik pada kumpulan pose terhadap base reference frame robot, di mana robot dapat membawa tool reference frame tertentu. Jadi, workspace robot adalah kumpulan pose yang dapat dicapai oleh tool reference frame robot.
Dalam lengan robot enam sumbu mikro-otomatisasi umum, seperti Meca500 kami, apa pun end-effectornya, untuk setiap posisi TCP yang dapat dilakukan, rentang orientasi alat yang dapat dicapai sepenuhnya berbeda, karena interferensi mekanis, batasan sendi, dan batasan panjang link. Di atas kopling tinggi antara kemampuan pemosisian dan orientasi lengan robot enam sumbu umum, robot ini memiliki yang disebut singularities. Dalam singularity, robot tidak dapat bergerak dalam arah tertentu. Ini adalah blokade fisik, bukan masalah matematika, dan semua lengan robot enam sumbu mikro-otomatisasi (termasuk yang Cartesian yang ditunjukkan di atas) memiliki singularities. Misalnya, ketika semua sendi di Meca500 berada pada nol derajat, seperti di gambar kiri di bawah, end-effector robot tidak dapat bergerak di sepanjang garis sejajar dengan sumbu y basis (yang hijau). Untuk bergerak di sepanjang garis ini, sendi 4 dan 6 harus berputar ±90° terlebih dahulu (di arah berlawanan).
Singularities adalah fenomena yang sangat penting (atau gangguan) dalam robotika dan akan dibahas dalam tutorial terpisah. Di sini, cukup untuk mengatakan bahwa meskipun suatu jalur berada di dalam workspace robot, seperti dalam contoh di atas, tool reference frame robot mungkin tidak dapat mengikutinya secara kontinu (tanpa jeda dalam gerakan TCP), karena singularities.
Jadi, singularities robot lebih membatasi bagian yang dapat digunakan dari workspace robot. Faktanya, workspace lengan robot enam sumbu mikro-otomatisasi umum adalah kombinasi dari beberapa subset workspace bebas singularity, yang dipisahkan oleh singularities. Robot dapat bergerak di mana saja dalam workspace total, dalam mode joint, tetapi hanya dalam satu subset workspace bebas singularity saat dalam mode Cartesian (saat TCP secara kontinu mengikuti jalur tertentu).
Setiap subset workspace bebas singularity ini sesuai dengan konfigurasi robot tertentu. Topik ini akan dibahas dalam tutorial mendatang tentang singularities robot. Untuk saat ini, perhatikan bahwa jika suatu pose tampak tidak dapat diakses dengan konfigurasi robot saat ini, mungkin dapat diakses dengan konfigurasi lain. Misalnya, pose tool reference frame di gambar di bawah ini hanya dapat dicapai dalam salah satu dari delapan konfigurasi robot. Namun, kesalahan umum adalah mempertimbangkan hanya salah satu subset workspace bebas singularity alih-alih workspace total (yaitu bekerja dalam hanya salah satu dari delapan mode konfigurasi). Perhatikan bahwa jika Anda menentukan pose menggunakan koordinat x, y, z dan sudut Euler lalu menggunakan perintah MovePose, robot akan otomatis menemukan konfigurasi terbaik. Sayangnya, namun, pengguna biasanya mengajari posisi robot dengan jogging, alih-alih dengan menentukan pose.
Seringkali, pengguna sudah memiliki kumpulan pose end-effector yang akan dicapai untuk aplikasi tertentu. Misalnya, sebuah workpiece harus diambil dari conveyor, lalu dipajang di depan kamera dalam berbagai orientasi, dan akhirnya ditinggalkan di conveyor lain. Menemukan penempatan optimal untuk kamera, pemasangan optimal gripper dan desain optimal untuk jari, jauh dari sederhana. Sayangnya, sampai sekarang, tidak ada prosedur otomatis yang tersedia secara komersial untuk menemukan desain sel optimal — satu-satunya metode adalah dengan coba dan kesalahan.
Beruntungnya, Anda tidak perlu memiliki setup nyata untuk ini; Anda dapat menggunakan perangkat lunak simulasi seperti RoboDK. Itu saja, Anda masih memerlukan keterampilan robotika, atau Anda mungkin menghabiskan banyak usaha pada coba dan kesalahan. Jadi, dalam yang berikutnya, kami akan memberi Anda sepuluh pedoman untuk memanfaatkan workspace robot Anda secara terbaik. Meskipun kami menggunakan Meca500 kami sebagai contoh, pedoman ini berlaku untuk lengan robot enam sumbu mikro-otomatisasi umum apa pun.
Pedoman 1: Letakkan TCP Anda sedekat mungkin dengan flange robot
Dalam inspeksi, sangat umum untuk harus memajang bagian di depan kamera dengan rentang orientasi yang luas. Dalam aplikasi seperti ini, aturan praktis pertama adalah meletakkan tool reference frame sedekat mungkin dengan flange reference frame. Dengan kata lain, Anda harus merancang sistem pegangan yang memungkinkan Anda memegang bagian yang akan diperiksa sedekat mungkin dengan flange robot.
Perhatikan bahwa kami menyediakan gripper listrik opsi kami dengan plat adaptor yang memungkinkan Anda memasang gripper seperti yang ditunjukkan di atas. Namun, untuk beberapa aplikasi mungkin lebih baik merancang plat adaptor Anda sendiri untuk memasang gripper dengan cara yang jari dan sumbu sendi 6 berada di satu bidang, atau untuk memasang gripper di sepanjang sumbu sendi 6 (seperti dalam video ini). Alternatif lainnya mungkin adalah menggunakan jari berforma L.
Pedoman 2: Jangan bergerak dalam mode Cartesian kecuali mengikuti jalur
Dalam inspeksi, Anda sering perlu memutar bagian dalam orientasi yang berbeda. Tentu saja, dalam kasus ini, jauh lebih mudah menggunakan perintah MoveLinRelTRF atau memutar robot dalam mode Cartesian. Namun, kedua pendekatan gagal jika ada singularity di sepanjang rotasi, seperti dalam contoh yang diilustrasikan di gambar di bawah ini. Dalam contoh itu, Anda tidak dapat memutar end-effector sekitar sumbu y (yang hijau) pada 90°, karena singularity (sumbu sendi 4 dan 6 menjadi sejajar).
Jadi, Anda harus mempelajari cara menggunakan sudut Euler dan menggunakan perintah MovePose alih-alih. Alternatifnya, Anda dapat menggunakan RoboDK. Karena RoboDK adalah simulator, ia memungkinkan Anda melewati singularities dalam mode jogging Cartesian. Terlepas dari singularities, selalu gunakan perintah MovePose atau MoveJoints kecuali Anda ingin TCP Anda mengikuti jalur tertentu. Penggunaan perintah ini umumnya menghasilkan waktu siklus tercepat.
Pedoman 3: Jika kabel membatasi sendi 6 terlalu banyak, ratakan sumbu sendi 1, 4 dan 6
Meskipun sendi 6 secara mekanis tidak terbatas, jika Anda menggunakan end-effector yang memiliki kabel yang terpasang, seperti gripper kami, rentang sendi 6 akan terbatas pada sekitar ±180° atau bahkan lebih sedikit. Jika Anda membutuhkan rentang yang lebih, Anda dapat meratakan sumbu sendi 4 dan 6, atau bahkan sendi 1, 4 dan 6. Tentu saja, konfigurasi semacam itu akan singular, jadi Anda perlu menggunakan perintah MoveJoints untuk memutar sekitar sumbu yang coincid ini
Pedoman 4: Jika Anda menggunakan end-effector dengan kabel, jaga sendi 6 semakin dekat mungkin dengan nol derajat
Selalu memungkinkan, pada pose yang diinginkan, coba jaga sendi 6 semakin dekat mungkin dengan nol derajat. Jika, misalnya, Anda mengambil workpiece di posisi robot di mana sendi 6 berada pada 170°, lalu menjalankan perintah MovePose, sendi 6 kemungkinan besar akan berputar banyak. Misalnya, jika pada pose yang diinginkan baru, sendi 6 bisa berada pada 190°, robot akan otomatis memutar sendi terakhirnya 340° di arah negatif (daripada 20° di arah positif).
Pedoman 5: Jika Anda perlu mengorientasikan banyak, letakkan TCP Anda di sumbu sendi 1
Jika Anda perlu mencakup rentang orientasi yang luas, Anda harus memosisikan TCP Anda di sumbu sendi 1. Konfigurasi semacam ini akan memungkinkan Anda memutar ±175° sekitar sumbu sendi 1 dan ±180° sekitar sumbu sendi 6. Semakin jauh pusat pergelangan tangan robot dari sendi 1, semakin sedikit kemampuan orientasi robot.
Pedoman 6: Coba semua konfigurasi robot
Kadang-kadang, robot akan terlalu dekat dengan singularity dalam satu atau lebih pose end-effector yang akan dicapai. Dalam aplikasi inspeksi, ini mungkin tidak menjadi masalah, tetapi jika Anda perlu mengambil atau meletakkan objek, Anda kemungkinan besar perlu tiba dan berangkat dari pose akhir dalam mode linear. Dalam kasus itu, uji semua konfigurasi robot yang mungkin dan pilih yang paling jauh dari singularities. Misalnya, dalam gambar di bawah, konfigurasi kiri terlalu dekat dengan singularity (sumbu 4 dan 6 hampir sejajar), tetapi yang kanan cukup jauh dari singularity.
Pedoman 7: Pertimbangkan lebih dari sekadar kemampuan tercapai
Seperti yang sudah kita sebutkan, workspace lengan robot enam sumbu mikro-otomatisasi adalah kumpulan beberapa subset workspace yang dipisahkan oleh singularities. Di atas itu, tidak semua pose yang dapat dicapai sama “baik.” Faktanya, workspace lengan robot enam sumbu sangat heterogen, dalam hal kriteria kinerja seperti kecepatan dan presisi. Kami sudah menyebutkan bahwa Anda perlu sejauh mungkin dari singularities saat bergerak dalam mode Cartesian. Selain itu, semakin terlentang lengan robot, semakin rendah presisinya (semakin fleksibel) dan semakin lama waktu yang dibutuhkan untuk menekan getaran di tooltip.
Pedoman 8: Manfaatkan redundansi robot jika Anda tidak memerlukan enam derajat kebebasan
Dalam banyak kasus, Anda hanya memerlukan lima derajat kebebasan. Misalnya, jika end-effector Anda adalah pemasok perekat atau spindle, Anda mungkin tidak peduli mengarahkannya sekitar sumbu jarum atau poros, masing-masing. Selain itu, jika Anda memeriksa workpiece menggunakan sensor axisymmetric seperti kamera, dalam banyak kasus Anda mungkin dapat memajang workpiece dalam rotasi apa saja sekitar sumbu sensor. Dalam kasus ini, jangan rata-kan sumbu sendi 6 dengan sumbu simetri alat atau sensor Anda dan pilih posisi robot terbaik dari posisi tak terbatas untuk setiap pose yang akan dicapai. Terbaik berarti jauh dari singularities, tetapi juga terdekat dengan pose sebelumnya dan berikutnya yang akan dicapai.
Pedoman 9: Perbaiki robot Anda dalam posisi tegak, kecuali benar-benar diperlukan
Seperti robot industri kebanyakan, Meca500 dapat dipasang dalam orientasi apa pun (misalnya, terbalik, atau di dinding). Masalah satu-satunya dengan pemasangan non-tegak apa pun adalah Anda memerlukan peralatan yang sangat kokoh, yang dapat membuat sel Anda lebih rumit dan mahal. Oleh karena itu, pilih pemasangan non-tegak hanya setelah mencoba memasang robot dalam posisi tegak.
Pedoman 10: Ukur tujuh kali, potong sekali
Peribahasa Inggris mengatakan “Ukur dua kali, potong sekali,” tetapi ketika datang ke desain sel robot, pilih versi Rusia “Ukur tujuh kali, potong sekali.” Jika sel Anda relatif kompleks, atau workspace robot Anda tampak terbatas, Anda harus menggunakan paket simulasi robot dan melalui banyak iterasi desain sampai Anda menemukan solusi yang memuaskan. Namun, jangan bergantung sepenuhnya pada simulasi. Paket simulasi generik seperti RoboDK tidak mensimulasikan perilaku robot yang tepat. Misalnya, gerak linier tertentu mungkin dapat dilakukan di RoboDK, tetapi mustahil pada robot nyata, karena singularities. Oleh karena itu, Anda juga harus mencoba program Anda pada robot nyata.
Dalam kesimpulan, kecuali aplikasi Anda hanya melibatkan beberapa gerakan repetitif, Anda harus sepenuhnya memahami workspace robot Anda dan menghabiskan waktu yang besar merancang sel robot Anda. Desain sel robot bukan hanya tentang dapat melakukan semua gerakan robot, ini juga tentang mengoptimalkan waktu siklus dan kriteria kinerja lain (presisi, konsumsi energi).