BAB IV PENGUJIAN MODUL SIMULATOR FISIKA 4.1
Spesifikasi Pengujian
4.1.1 Ruang Lingkup Pengujian
Pengujian terhadap implementasi modul simulator dilakukan melalui dua tahap pengujian. Pengujian tahap pertama merupakan pengujian fungsional untuk memeriksa apakah modul yang dibangun sudah mampu untuk : -
memuat parameter-parameter kinematika dari sebuah robot manipulator ke dalam model robot virtual (sesuai spesifikasi modul butir 1),
-
memuat parameter-parameter dinamika dari sebuah robot manipulator ke dalam model robot virtual (sesuai spesifikasi modul butir 2),
-
menerjemahkan model robot virtual menjadi obyek robot virtual dalam dunia virtual physics engine (sesuai spesifikasi modul butir 3),
-
menggerakkan robot virtual secara manual maupun otomatis (sesuai spesifikasi modul butir 4),
-
menyimulasikan kinematika dari robot, baik kinematika maju maupun kinematika balik, dalam dunia virtual physics engine (sesuai spesifikasi modul butir 5),
-
menyimulasikan gerakan dari robot ketika diberikan metoda pengendalian tertentu, dalam kasus ini adalah metoda pengendalian profiling kecepatan trapezoidal dengan filter kendali PID (sesuai spesifikasi modul butir 6),
-
menyimpan data hasil simulasi ke dalam file teks untuk analisa lebih lanjut. (sesuai spesifikasi modul butir 7).
Kemudian pengujian tahap ke dua adalah pengujian unjuk kerja simulasi, yang digunakan untuk memeriksa bagaimana hasil simulasi robot virtual dibandingkan dengan perilaku robot riil pada set gerakan dan metoda pengendalian yang setara. Pada pengujian unjuk kerja, pertama kali dilakukan pengendalian robot riil untuk beberapa kasus pengujian, sehingga diperoleh tanggapan robot riil terhadap teknik pengendalian yang dipilih. Selanjutnya spesifikasi teknik pengendalian robot riil 66
digunakan sebagai dasar kalibrasi parameter robot virtual dan pengendali robot virtual pada simulator. Setelah robot dan pengendali virtual dikalibrasi, proses simulasi fisika dapat dilakukan. Penalaan parameter simulasi fisika dan pengendali robot virtual dilakukan untuk memperoleh tanggapan robot virtual yang mendekati tanggapan robot riil. Pengujian simulasi akan dilakukan dengan cara menggerakkan lengan robot manipulator sesuai dengan set-set gerakan yang ditentukan. Gerakan-gerakan yang akan dilakukan dibagi menjadi 3 kelompok : 1. gerakan sendi tunggal, 2. gerakan dua sendi bersamaan, 3. gerakan tiga sendi bersamaan. Pengujian gerakan dibatasi hanya untuk tiga sendi pertama yang membentuk bagian lengan (arm) robot PUMA 260. Sedangkan gerakan sendi 4, sendi 5, dan sendi 6 yang membentuk pergelangan (wrist) tidak diuji pada penelitian ini, dengan alasan bahwa sebenarnya sendi 4, sendi 5, dan sendi 6 pada PUMA 260 bukanlah sendi-sendi yang independen, namun sebuah mekanisme gir mengatur sekaligus ketiga sendi tersebut. Mengingat implementasi pemodelan dinamika pada simulator yang dikembangkan masih terbatas pada parameter massa link dan friksi sendi, sendi 4, sendi 5, dan sendi 6, yang bisa dianggap bersama-sama menggerakkan satu link yang sama, sulit dimodelkan dengan baik pada simulator yang telah dikembangkan. 4.1.2 Instrumen Pengujian
Pengujian dilakukan dengan menggunakan instrumen-instrumen sebagai berikut. 1. Formulir pengujian fungsional. 2. Perangkat keras, berupa komputer, lengan robot PUMA 260, dan unit kendali. 3. Perangkat lunak, berupa aplikasi SIRUPP dan aplikasi pengolahan data hasil simulasi, dalam hal ini menggunakan MS Excel. Data yang diperoleh dari pengujian fungsional berupa daftar spesifikasi yang harus dipenuhi dan hasil pengujian apakah modul simulator sudah memenuhi 67
spesifikasi tersebut. Data yang diharapkan dari pengujian simulasi ini adalah data gerakan robot riil dan data gerakan robot virtual dalam simulasi fisika untuk set gerakan dan metoda pengendalian yang sama. Konfigurasi perangkat keras yang digunakan dalam pengujian simulasi adalah sebagai berikut.
Gambar IV.1 Konfigurasi pengujian simulasi. 4.2
Pengujian Fungsional
4.2.1 Prosedur Pengujian Fungsional
Pengujian fungsional bertujuan untuk mengetahui apakah spesifikasi-spesifikasi dasar dari modul simulator telah tepenuhi. Pengujian ini dilakukan melalui tujuh uji kasus sebagai berikut. 1. Uji kasus model kinematika, yaitu untuk mengetahui apakah modul simulator mampu memuat parameter-parameter kinematika dari sebuah robot manipulator ke dalam model robot virtual (spesifikasi 1). Prosedur uji kasus ini adalah sebagai berikut. a. Menjalankan aplikasi SIRUPP. b. Menampilkan panel Pemodelan dengan cara memilih menu Pengaturan Pengaturan Model Robot. Tampilan panel ini adalah seperti
Gambar III.13. c. Memilih menu File Baru. d. Memasukkan banyaknya link dari robot yang akan ingin dimodelkan pada kotak masukan yang tersedia, misal sama dengan 3.
68
e. Memasukkan nilai-nilai paramater D-H dari robot pada kotak-kotak masukan yang tersedia. misal nilai a1 = 1, a2 = 1, dan a3=1. Nilai parameter lain dibiarkan 0. f. Menekan menu File Simpan. Akan muncul dialog yang menanyakan nama file model yang dsimpan, misal uji_model_1.xml. g. Menutup aplikasi, membuka aplikasi kembali, dan kemudian memuat file model uji_model_1.xml. h. Membuka panel Pemodelan, dan memilih halaman Sendi. Hasil yang diharapkan adalah sebagai berikut. -
Parameter-parameter D-H yang telah dimasukkan sebelumnya akan ditampilkan di panel Pemodelan.
2. Uji kasus model dinamika, yaitu untuk mengetahui apakah modul simulator mampu memuat parameter-parameter dinamika dari sebuah robot manipulator ke dalam model robot virtual (spesifikasi 2). Prosedur uji kasus ini adalah sebagai berikut. a. Menjalankan aplikasi SIRUPP. b. Memuat file model uji_model_1.xml yang telah dibuat pada pengujian sebelumnya, dengan cara memilih menu File Buka File, dan memilih file yang sesuai. c. Menampilkan panel Pemodelan dengan cara memilih menu Pengaturan Pengaturan Model Robot, kemudian memilih halaman dengan judul
Link pada panel tersebut (Gambar III.14).
d. Mengubah nilai massa link-3 menjadi 50 dari nilai default 1, kemudian menyimpan model dengan memilih menu File Simpan. e. Menutup aplikasi, membuka aplikasi kembali, dan kemudian memuat file model uji_model_1.xml. f. Membuka panel Pemodelan, dan memilih halaman Link. Hasil yang diharapkan adalah sebagai berikut. -
Contoh dari parameter dinamika, yaitu massa link yang telah diubah sebelumnya akan ditampilkan di panel Pemodelan.
69
3. Uji kasus robot virtual, yaitu untuk mengetahui apakah modul simulator mampu menerjemahkan model robot virtual menjadi obyek robot virtual dalam dunia virtual physics engine (spesifikasi 3). Prosedur uji kasus ini adalah sebagai berikut. a. Menjalankan aplikasi SIRUPP. b. Memuat file
model
uji_model_1.xml. Panel visualisasi
akan
menampilkan bentuk robot sesuai model yang dimuat. c. Menampilkan panel Pemodelan dengan cara memilih menu Pengaturan Pengaturan Model Robot. Mengubah nilai a3 menjadi 0.5,
kemudian menyimpan model dengan menekan menu File Simpan. Hasil yang diharapkan adalah sebagai berikut. -
Panel Visualisasi menampilkan bentuk robot sesuai dengan perubahan parameter yang model yang telah dimasukkan
4. Uji kasus simulasi manual, yaitu untuk mengetahui apakah modul simulator mampu melakukan simulasi pada mode manual (spesifikasi 4). Selain itu uji kasus ini sekaligus juga untuk memeriksa apakah modul simulator mampu menyimulasikan kinematika dari robot, baik kinematika maju maupun kinematika balik (spesifikasi 5). Prosedur uji kasus ini adalah sebagai berikut. a. Menjalankan aplikasi SIRUPP. Aplikasi akan secara langsung memuat file pemodelan robot default, yamg mempunyai 3 sendi. Secara default panel Sudut Sendi dan panel Efektor Akhir juga langsung terbuka. b. Memulai simulasi dengan menekan tombol
(Start/Pause Simulasi)
pada toolbar. Secara default simulasi berjalan pada mode simulasi manual. c. Memasukkan nilai sudut 1 = 30 °, sudut 2 = 45°, dan sudut 3 = 45°, pada panel Sudut Sendi (Gambar III.18) dan menekan tombol Terapkan. d. Memasukkan nilai x = 1, y = 1, dan z = 1 pada panel Efektor Akhir dan menekan tombol Terapkan.
70
Hasil yang diharapkan adalah sebagai berikut. -
Setelah langkah 4.c, robot akan bergerak sesuai dengan nilai sudut yang dimasukkan. Panel Efektor Akhir akan menampilkan posisi efektor akhir robot pada kotak-kotak dengan warna latar biru muda, menunjukkan perhitungan kinematika maju sudah berjalan. Pada panel Sudut Sendi, kotak-kotak sebelah kanan dengan warna latar biru muda akan menampilkan nilai sudut aktual dari robot virtual. Selain itu trayektori dari posisi efektor akhir akan ditampilkan sebagai garis berwarna merah pada panel Visualisasi 3D.
-
Setelah langkah 4.d, pada panel Sudut Sendi, nilai sendi 1, 2, dan 3 akan berubah menjadi hasil perhitungan kinematika balik berdasar posisi efektor akhir yang diinginkan. Selanjutnya robot juga akan bergerak sesuai dengan nilai sudut-sudut tersebut.
5. Uji kasus simulasi otomatis, yaitu untuk mengetahui apakah modul simulator mampu melakukan simulasi pada mode otomatis (spesifikasi 4). Prosedur uji kasus ini adalah sebagai berikut. a. Menjalankan aplikasi SIRUPP. Aplikasi akan secara langsung memuat file pemodelan robot default, yamg mempunyai 3 sendi. Secara default panel Sudut Sendi dan panel Efektor Akhir juga langsung terbuka. b. Mengubah mode simulasi menjadi mode Otomatis.dengan memilih menu Kendali Kendali Otomatis. Pada mode otomatis, gerakan robot akan mengikuti gerakan-gerakan yang telah ditentukan pada Rencana Gerakan. Isi dari Rencana Gerakan dapat mengambil dari file teks, ataupun dari hasil perhitungan subsistem Perencanaan Gerak. Secara default, aplikasi telah memuat file moplan.txt ke dalam Rencana Gerakan. c. Memulai pelaksanaan Rencana Gerakan dengan menekan tombol (Start rencana gerakan) pada toolbar. Akan muncul kotak dialog konfirmasi yang menanyakan apakah akan langsung menjalankan simulasi. Bila menekan tombol Yes, maka simulasi akan langsung
71
dijalankan. Bila menekan tombol No, maka pengguna harus memulai simulasi dengan menekan tombol
pada toolbar.
Hasil yang diharapkan adalah sebagai berikut. -
Robot akan bergerak sesuai dengan Rencana Gerakan yang dijalankan. Untuk moplan.txt, Rencana Gerakan terdiri dari 10 langkah. Pada statusbar window utama akan ditampilkan langkah berapa yang sudah
dijalankan (dalam format Otomatis : [langkah ke-] / [total lamgkah] ). 6. Uji kasus pengendalian, yaitu untuk mengetahui apakah modul simulator mampu menyimulasikan gerakan dari robot ketika diberikan metoda pengendalian tertentu, dalam kasus ini adalah metoda pengendalian profiling kecepatan trapezoidal dengan filter kendali PID (spesifikasi 6).
Pada dasarnya uji kasus merupakan pendahuluan dari Pengujian Simulasi yang akan dibahas pada subbab berikutnya. Prosedur uji kasus ini adalah sebagai berikut. a. Menjalankan aplikasi SIRUPP. b. Memastikan bahwa pengendalian yang digunakan adalah profiling kecepatan dengan membuka panel Pengaturan Simulasi (dengan cara memilih menu Pengaturan Pengaturan Simulasi) pada halaman Kendali, kotak isian Kelas Pengendali. c. Memulai simulasi dengan menekan tombol
pada toolbar.
d. Memasukkan nilai 90 pada kotak masukan Sendi 2 pada panel Sudut Sendi, dan menekan tombol Terapkan. e. Setelah gerakan selesai, menghentikan simulasi dengan menekan tombol
pada toolbar.
f. Membuka panel Pemodelan, kemudian memilih halaman Sendi, dan mengubah nilai kecepatan Sendi 2 menjadi 10°/detik, dari nilai default 20°/detik g. Menekan menu File Simpan untuk menyimpan perubahan. h. Memulai simulasi dengan menekan tombol
72
pada toolbar.
i. Memasukkan nilai 90 pada kotak masukan Sendi 2 pada panel Sudut Sendi, dan menekan tombol Terapkan (setiap kali simulasi dihentikan robot akan kembali ke posisi default) j. Setelah gerakan selesai, menghentikan simulasi dengan menekan tombol
pada toolbar.
Hasil yang diharapkan adalah sebagai berikut. -
Gerakan sendi 2 pada saat kecepatan sendi 2 diatur pada nilai 20°/detik akan berbeda dengan saat kecepatan sendi 2 diatur pada nilai 10°/detik
7. Uji kasus data log, yaitu untuk mengetahui apakah modul simulator mampu menyimpan data hasil simulasi ke dalam file teks. Prosedur uji kasus ini adalah sebagai berikut. a. Menjalankan aplikasi SIRUPP. b. Memulai simulasi dengan menekan tombol
pada toolbar.
c. Memasukkan nilai 90 pada kotak masukan Sendi 1 pada panel Sudut Sendi, dan menekan tombol Terapkan. d. Menghentikan simulasi dengan menekan tombol
pada toolbar.
Hasil yang diharapkan adalah sebagai berikut. -
Sebuah file log data dengan ekstensi .csv akan disimpan di folder simdata yang berada dalam working directory aplikasi SIRUPP. Nama file log mengikuti pola sim-tahunbulantanggal-jammenitdetik.csv (misalnya sim-20090610-021627.csv)
73
4.2.2 Hasil Prosedur Pengujian Fungsional
Hasil pengujian fungsional dapat dilihat pada Tabel IV.1. Tabel IV.1 Pengujian fungsional modul simulator. Nama Uji Kasus
Indikator
Hasil Pengujian
Model kinematika
- Parameter-parameter D-H yang telah dimasukkan sebelumnya akan ditampilkan di panel Pemodelan.
Berhasil
Model dinamika
- Contoh dari parameter dinamika, yaitu massa link yang telah diubah sebelumnya akan ditampilkan di panel Pemodelan
Berhasil
Robot virtual - Panel Visualisasi menampilkan bentuk robot sesuai dengan perubahan parameter yang model yang telah dimasukkan
Berhasil
Simulasi manual
- Setelah langkah 4.c, robot akan bergerak sesuai dengan nilai sudut yang dimasukkan. Panel Efektor Akhir akan menampilkan posisi efektor akhir robot pada kotak-kotak dengan warna latar biru muda, menunjukkan perhitungan kinematika maju sudah berjalan. - Setelah langkah 4.d, pada panel Sudut Sendi, nilai sendi 1, 2, dan 3 akan berubah menjadi hasil perhitungan kinematika balik berdasar posisi efektor akhir yang diinginkan. Selanjutnya robot juga akan bergerak sesuai dengan nilai sudut-sudut tersebut.
Berhasil
Simulasi otomatis
- Robot akan bergerak sesuai dengan Rencana Gerakan yang dijalankan.
Berhasil
Pengendalian - Gerakan sendi 2 pada saat kecepatan sendi 2 diatur pada nilai 20°/detik akan berbeda dengan saat kecepatan sendi 2 diatur pada nilai 10°/detik
Berhasil
Data log
Berhasil
- Sebuah file log data dengan ekstensi .csv akan disimpan di folder simdata yang berada dalam working directory aplikasi SIRUPP.
74
4.3
Pengujian Simulasi Robot Manipulator
4.3.1 Prosedur Pengujian Simulasi
Pengendalian di robot virtual menyimulasikan pengendalian di robot riil, namun karena satuan yang dipakai di simulasi fisika menggunakan satuan yang berbeda, maka dilakukan konversi dari nilai parameter untuk robot riil dengan parameter robot virtual. Selain itu juga terdapat satuan yang digunakan di antar muka pengguna, di mana satuan dari nilai parameter dipilih yang mudah dimengerti pengguna. Berikut adalah konversi satuan yang dilakukan. a. Kalibrasi sudut sendi robot riil
Untuk memudahkan melakukan perbandingan antara data robot riil dan robot virtual, penetapan sudut 0° dari masing-masing sendi robot tidak menggunakan konvensi D-H, namun menggunakan konvensi sebagaimana ditampilkan pada Gambar IV.2.
Gambar IV.2 Konvensi sudut 0° untuk pengujian simulasi. b. Konversi satuan untuk kecepatan
Satuan yang digunakan untuk kecepatan sudut adalah:
Satuan yang digunakan di antarmuka pengguna dan dalam file model yang digunakan aplikasi
: °/detik
Satuan dalam dunia fisika
: radian/detik
Satuan yang digunakan di PIC-Servo
: encoder counts/servo tick
Selanjutnya encoder count disingkat ec, dan servo tick disingkat st.
75
Untuk melakukan konversi dari °/detik ke ec/st, harus diketahui nilai rasio ec/derajat dari sendi yang bersangkutan, mengingat nilai rasio tersebut berbeda untuk satu sendi dengan sendi lainnya. Contoh untuk sendi 1 PUMA 260 :
1°
= 130
ec
1 servo tick
= 0.00051
detik
Kecepatan yang diinginkan
= 23,015 °/detik
Kecepatan yang digunakan simulasi fisika
= 0, 402 radian/detik
Kecepatan yang digunakan ke PIC-Servo : derajat detik ec x rasio x rasio detik st derajat 23,015 x 0,00051 * 130 1.526 ec/st
v PIC v
Namun nilai sesungguhnya yang dikirimkan ke PIC-Servo bukanlah nilai di atas, namun nilai di atas dikalikan 2^16. Hal tersebut dikarenakan nilai yang digunakan PIC-Servo untuk masukan parameter kecepatan berupa nilai 32-bit, di mana 16 bit bawah untuk menunjukkan nilai pecahan. Dengan demikian nilai sesungguhnya yang dikirimkan : vPICout = 1,526 x (2^16) = 99999,72 ≈ 100000 c. Konversi satuan untuk percepatan
Satuan percepatan °/detik2 perlu dikonversi ke radian/detik2 dan ec/st2. = 45,127 °/detik2
Percepatan yang diinginkan
Percepatan yang digunakan simulasi fisika = 0, 788 radian/detik2
Percepatan yang digunakan PIC-Servo : 2
derajat ec detik x rasio x rasio st derajat detik 2 45,127 x 0,00051 * 130 0,001526 ec/st/st
a PIC a
aPICout = 0,001526 x (2^16) = 100 d. Konversi untuk parameter filter kendali PID
Pada pengendalian dengan trapezoidal profiling dengan PIC-Servo, filter kendali PID digunakan setelah posisi target untuk setiap servo tick dihitung dengan trapezoidal profiling. Pada percobaan ini, salah satu yang akan
76
dijawab adalah bagaimana mengonversi nilai parameter Kp, Kd, dan Ki untuk pengendalian robot virtual. Untuk nilai awal, ditetapkan nilai untuk pengendalian robot riil, Kp = 100, Kd = 1000, dan Ki = 0. Nilai-nilai tersebut akan dikonversi menjadi nilai parameter pengendalian robot virtual Kpv, Kdv, dan Kiv. Pengendalian robot riil menggunakan unit kendali yang berbasis chip PIC-Servo. Pengaturan untuk pengendalian robot riil adalah sebagai berikut.
Menggunakan mode posisi. dengan trapeziodal profiling PIC-Servo mendukung tiga mode pengendalian, yaitu mode kecepatan, mode posisi, dan mode PWM. Mode kecepatan dan posisi menggunakan profiling untuk pengendaliannya. Satu-satunya mode di mana dapat dihindari penggunaan profiling, adalah pada mode PWM, di mana nilai PWM, yang bernilai dari -255 hingga 255, secara langsung dikirim ke PIC-Servo. Mode PWM ini memungkinkan digunakan metoda kendali di luar yang sudah tersedia untuk mendapatkan unjuk kerja kendali yang diinginkan. Mengingat mode pengendalian yang biasa digunakan untuk menggerakkan robot PUMA adalah mode posisi, maka pada percobaan ini menggunakan mode posisi.
Pengaturan untuk perintah ServoSetGain o Kp
= 100
o Kd
= 1000
o Ki
=0
o IL
(Integration Limit)
=0
o OL
(Output Limit)
= 255
o CL
(Current Limit)
=0
o EL
(Position Error Limit)
= 4000
o SR
(Servo Rate)
=1
o DC
(Deadband Compensation)
=0
Keterangan detil untuk masing-masing parameter dilampirkan di Lampiran B Deskripsi Parameter Pengendalian PIC-Servo.
77
Pengendalian di robot virtual menyimulasikan pengendalian di robot riil. Pengendalian robot virtual akan dilakukan dengan menggunakan kelas VRCtrlTrapez yang merupakan implementasi dari algoritma profiling kecepatan
trapezoidal.
Sebagaimana disebutkan di atas, gerakan-gerakan pengujian yang akan dilakukan dibagi menjadi 3 kelompok : 1. gerakan satu sendi, 2. gerakan dua sendi bersamaan, 3. gerakan tiga sendi bersamaan. Detil set-set gerakan pengujian, termasuk paramater kecepatan dan percepatan untuk profiling kecepatan, dilampirkan di Lampiran A Set-Set Gerakan Pengujian Sebelum pengujian simulasi dilakukan, rencana gerakan setiap set gerakan yang telah ditentukan untuk pengujian dituliskan dalam sebuah file teks dengan format tertentu. Contoh file teks tersebut terlampir di Lampiran A Set-Set Gerakan Pengujian. Untuk setiap set gerakan yang telah ditentukan, dilakukan langkahlangkah sebagai berikut. 1. Menjalankan aplikasi SIRUPP. 2. Memuat model robot yang sesuai dengan PUMA 260. 3. Menginisialisasi koneksi ke robot riil dengan membuka dialog Kendali Robot Riil (Gambar III.21) dengan cara memilih menu Kendali Kendali Robot Riil. Langkah-langkah inisialisasi adalah sebagai berikut: a. memilih port Serial ke mana robot terhubung, b. menekan tombol Init NMC, c. menekan tombol Init Semua Modul, d. melakukan kalibrasi sudut robot riil sehingga sesuai dengan konvensi yang dipakai (Gambar IV.2), dengan cara mengubah sudut robot riil, dan menekan tombol Reset Semua Sudut bila robot riil sudah berada pada kondisi yang diinginkan, e. menekan tombol Hubungkan ke Simulasi,
78
f. menutup dialog Kendali Robot Riil. Pada statusbar window utama akan tertampil tulisan “robot riil terhubung”. 4. Mengubah simulasi ke mode Otomatis, bila simulator masih berada pada mode Manual. 5. Memuat file rencana gerakan sesuai dengan set gerakan yang akan diuji. 6. Menjalankan rencana gerakan dengan menekan tombol
(Start rencana
gerakan) pada toolbar. Setelah Rencana Gerakan selesai dijalankan, sebuah file data log akan dituliskan ke folder simdata. File data simulasi yang diperoleh akan berisi data theta set point, theta robot virtual, dan robot riil untuk sendi 1, 2, dan 3. Pengujian dengan kondisi robot riil terhubung hanya perlu dilakukan untuk mendapatkan data gerakan robot riil. Untuk pengujian yang bertujuan memperoleh data gerakan robot virtual, robot riil tidak perlu terhubung. Pada kondisi ini, file data simulasi akan tetap mempunyai kolom data theta robot riil, namun nilainya selalu 0. 4.3.2 Hasil dan Pembahasan Pengujian Simulasi 1. Gerakan satu sendi
Pengujian ini bertujuan untuk mengetahui perilaku dinamis dari masing-masing link. Berikut adalah contoh grafik dari data yang diperoleh.
sudut (derajat)
Gerakan Sendi 1 Robot Riil dan Virtual 100 90 80 70 60 50 40 30 20 10 0
Theta 1 Target Theta 1 Virtual Theta 1 Riil
3
4
5
6
7
8
9
10 11 12 13 14 15 16 17 18 19 20 waktu (detik)
Gambar IV.3 Grafik gerakan sendi 1.
79
derajat
Gerakan Sendi 1 Robot Riil dan Virtual saat Transien 100 90 80 70 60 50 40 30 20 10 0
Theta 1 Target Theta 1 Virtual Theta 1 Riil
4.5
5
5.5
6
6.5
waktu
Gambar IV.4 Grafik gerakan sendi 1 saat transien. Data-data hasil simulasi selengkapnya terlampir di Lampiran D Data Hasil Simulasi. Hasil rangkuman data simulasi ditampilkan pada Tabel IV.2. Galat kesalahan yang dimaksud pada tabel tersebut adalah selisih antara theta robot virtual dan theta hasil pengamatan robot riil pada waktu pengambilan data yang sama. Tabel IV.2 Hasil pengujian gerakan satu sendi. Set
Sendi ke-
Deskripsi Gerakan
Rerata Galat (keadaan transien)
Rerata Galat (keadaan tunak)
I
Sendi 1
Dari 0 ke 90 °
3,53°
1,72°
II
Sendi 2
Dari 0 ke 90 °
4,32°
0,17°
III
Sendi 3
Dari 0 ke 90 °
4,94°
0,40°
Dari hasil pengamatan, nampak bahwa robot riil tidak bergerak langsung seketika ketika diberikan set point baru, namun ada beberapa saat di mana sendi belum bergerak yang lamanya berkisar 0,35-0,4 detik untuk sendi 1. Hal tersebut disebabkan mekanisme profiling kecepatan trapezoidal akan memberikan set posisi yang relatif kecil pada saat awal gerakan, yang pada gilirannya menyebabkan masukan galat untuk filter PID kecil, nilai PWM yang diberikan kecil, dan akhirnya nilai torsi yang dibangkitkan belum cukup mengatasi gesekan
80
statis yang ada pada motor. Sedangkan pada robot virtual, pada saat-saat awal mulai gerakan, walaupun torsi yang diberikan pada sendi virtual kecil, sendi tetap bergerak. 2. Gerakan dua sendi bersamaan
Pengujian ini bertujuan untuk mengetahui pengaruh dari sebuah gerakan link terhadap gerakan link lain yang dilakukan secara bersamaan. Berikut adalah contoh grafik dari data yang diperoleh. Gerakan Sendi 1 dan Sendi 2 100 Theta 1 Target (°)
90 80
Theta 1 Virtual (°)
sudut (derajat)
70
Theta 1 Riil (°)
60 50
Theta 2 Target (°)
40 30
Theta 2 Virtual (°)
20
Theta 2 Riil (°)
10 0 4
5
6
7
8
9
10 11 12 13 14 15 16 17 18 19 waktu (detik)
Gambar IV.5 Grafik gerakan sendi 1 dan 2.
81
Gerakan Sendi 1 dan Sendi 2 saat Transien 100
Theta 1 Target (°)
90
sudut (derajat)
80
Theta 1 Virtual (°)
70
Theta 1 Riil (°)
60 50
Theta 2 Target (°)
40 30
Theta 2 Virtual (°)
20
Theta 2 Riil (°)
10 0 4.5
5
5.5
6
6.5
7
7.5
waktu (detik)
Gambar IV.6 Grafik gerakan sendi 1 dan 2 saat transien. Sendi 2 pada Gerakan Satu dan Dua Sendi 100 90
Theta 2 Target (°)
sudut (derajat)
80 70 60
Theta 2 Riil (gerakan dua sendi)
50 40 30
Theta 2 Riil (gerakan satu sendi)
20 10 0 4.5
5
5.5
6
6.5
7
7.5
waktu (detik)
Gambar IV.7 Grafik sendi 1 pada gerakan satu dan dua sendi. Data-data hasil simulasi selengkapnya terlampir di LAMPIRAN D Data Hasil Simulasi. Hasil rangkuman data simulasi ditampilkan pada Tabel IV.3.
82
Tabel IV.3 Hasil pengujian gerakan dua sendi. Set
Sendi ke-
Deskripsi Gerakan
Rerata Galat (keadaan transien)
Rerata Galat (keadaan tunak)
IV
Sendi 1 Sendi 2
Dari 0° ke 90° Dari 0° ke 90°
3,81° 5,16°
1,63° 0,23°
V
Sendi 1 Sendi 3
Dari 0° ke 90° Dari 0° ke 90°
3,90° 1,80°
5,21° 0,47°
VI
Sendi 2 Sendi 3
Dari 0° ke 90° Dari 0° ke 90°
4,33° 0,32°
5,33° 0,75°
3. Gerakan tiga sendi bersamaan Gerakan Sendi 1, 2 dan Sendi 3 100 Theta 1 Target (°)
80
Theta 1 Virtual (°)
sudut (derajat)
60 40
Theta 1 Riil (°)
20
Theta 2 Target (°)
0 -20 4
Theta 2 Virtual (°)
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
-40
Theta 2 Riil (°) Theta 3 Target (°)
-60
Theta 3 Virtual (°)
-80
Theta 3 Riil (°)
-100 waktu (detik)
Gambar IV.8 Grafik gerakan sendi 1, 2, dan 3.
83
Gerakan Sendi 1, 2 dan Sendi 3 saat Transien 100
Theta 1 Target (°)
80 Theta 1 Virtual (°)
60 Theta 1 Riil (°)
sudut (derajat)
40
Theta 2 Target (°)
20
Theta 2 Virtual (°)
0 -20 4.5
5
5.5
6
6.5
7
7.5
Theta 2 Riil (°)
-40
Theta 3 Target (°)
-60
Theta 3 Virtual (°)
-80 Theta 3 Riil (°)
-100 waktu (detik)
Gambar IV.9 Grafik gerakan sendi 1, 2 dan 3 saat transien. Sendi 2 pada Gerakan Satu dan Tiga Sendi 100 90 Theta 2 Target (°)
sudut (derajat)
80 70 60
Theta 2 Riil (gerakan satu sendi)
50 40 30
Theta 2 Riil (gerakan tiga sendi)
20 10 0 4.5
5
5.5
6
6.5
7
7.5
waktu (detik)
Gambar IV.10 Grafik sendi 2 robot riil pada gerakan satu dan tiga sendi.
84
Sendi 2 Robot Virtual pada Gerakan Satu dan Tiga Sendi
sudut (derajat)
100 90
Theta 2 Target (°)
80 70 Theta 2 Virtual (Gerakan satu sendi) Theta 2 Virtual (gerakan tiga sendi)
60 50 40 30 20 10 0 4.5
5
5.5
6
6.5
7
7.5
waktu (detik)
Gambar IV.11 Grafik sendi 2 robot virtual pada gerakan satu dan tiga sendi. Data-data hasil simulasi selengkapnya terlampir di LAMPIRAN D Data Hasil Simulasi. Hasil rangkuman data simulasi ditampilkan pada tabel berikut. Tabel IV.4 Hasil pengujian gerakan tiga sendi. Set
Sendi ke-
Deskripsi Gerakan
Rerata Galat (keadaan transien)
Rerata Galat (keadaan tunak)
VII
Sendi 1 Sendi 2 Sendi 3
Dari 0° ke 90° Dari 0° ke 90° Dari 0° ke 90°
3,66° 4,81° 5,54°
1,89° 0,28° 0,65°
Dari data di atas, nampak bahwa pada robot riil,
gerakan tiga sendi secara
bersamaan akan membuat gerakan masing-masing sendi berbeda dengan gerakan ketika suatu sendi bergerak sendiri. Hal ini disebabkan gerakan satu sendi akan menjadi gangguan berupa torsi tambahan bagi gerakan sendi lain, seperti yang digambarkan pada diagram blok Gambar II.9. Gambar IV.10 menunjukkan sendi 2 justru mulai bergerak lebih awal dibanding ketika sendi 2 digerakkan sendiri. Gerakan sendi 1 dan sendi 3 pada saat yang bersamaan menjadi sebuah torsi tambahan bagi sendi 2, sehingga sendi 2 lebih cepat mengatasi friksi statisnya dan mulai bergerak lebih awal.
85
Sedangkan untuk robot virtual, gerakan dua atau lebih sendi secara bersamaan relatif tidak mempengaruhi unjuk kerja gerakan masing-masing sendi. Hal tersebut dimungkinkan karena physics engine melakukan penyederhanaan dalam perhitungan simulasi fisika. Salah satu penyederhanaan parameter yang berpengaruh besar adalah pemodelan friksi dalam physics engine ODE.. Untuk mendapatkan hasil simulasi yang lebih baik, maka implementasi gesekan pada simulasi perlu diperbaiki. Namun secara umum, untuk keperluan pembelajaran, yang merupakan salah satu fungsi SIRUPP, hasil simulasi robot virtual mampu menunjukkan bagaimana gerakan robot riil ketika dikenai teknik pengendalian tertentu.
86