Saturday, 21 November 2015

Hasil melawan kelicikan

Setelah berpusing - pusing, akhirnya menemukan juga rumus untuk membuat robot dua lengan (2DoF) yang bisa tepat dan sesuai di semua kuadran, kuadran I, kuadran II, kuadran III dan kuadran IV. Yee..seneng banget rasanya.. Tapi ya ini adalah proses yang menurutku agak curang, karena aku sebenarnya ngga menemukan satu rumus untuk semua kuadran tapi beberapa rumus yang aku coba - coba dengan sebuah algoritma pemrograman.
Setelah aku menghitung - hitung di kertas, yang jelas capek ngitungin sin, cos, tan, abis banyak kertas dan tinta pulpen, dan aku rasa kurang efektif, akhirnya aku tulis rumusnya di delphi, kebetulan aku bisa delphi dikit - dikit. Sebenernya pake matlab lebih sesuai dengan perhitungan rumus - rumus itu, tapi aku kurang luwes pake matlab. Aku bikin simulasi forward kinematic dan inverse kinematic, aku coba satu per satu beberapa kemungkinan koordinat x,y dan beberapa macam sudut - sudut. Saat aku mulai kuadran pertama sampai ke empat, aku menemukan pola ketidaksesuaian hasilnya. Ada beberapa sudut yang kalo aku forward tidak sesuai dengan ketika aku inverse kan. Ketidaksesuaiannya berselisih 180 derajat. Entahlah setelah itu, aku tidak lagi memikirkan bagaimana cara menemukan rumus satu untuk semua itu, tapi sudah mulai berpikir bagaimana cara mengakali program tersebut agar aku bisa mendapatkan hasil - hasil yang benar, tidak lagi berselisih.
Berhenti sejenak, ngobrol - ngobrol dengan teman sambil otak terus berjalan, sekitar sepuluh menitan, perut mulai laper.. mandi.. dengan terus berpikir.. dan di kamar mandi lah aku dapet ide.. tapi ngga langsung aku kerjain. Aku pergi cari makan dulu, muter - muter lumayan lama buat cari yang selera sambil melepas penat juga. Jam sembilan lebih baru pegang laptop lagi, mulailah bercoding - coding ria. Aku kombinasikan rumus dari forward kinematik dengan inverse nya. Ketika hasil dari forward aku inverse kan dan mendapatkan hasil yang sama dari inputan awal maka hasil dari forward aku loloskan begitu saja, tapi saat hasil dari forward aku inverse kan dan ternyata hasilnya berbeda maka hasil dari forwad aku tambahkan dengan 180 dan aku inverse kan lagi dan ternyata sudah sesuai.
Aku mulai mendapatkan kelegaan, aku coba masukkan beberapa koordinat - koordinat lagi dan hasilnya sesuai dengan yang diinginkan. Emm.. bisa dibilang sangat licik, tapi ya toh hasilnya memang bener begitu. Untuk sementara sangat puas dengan hasilnya dan cukup puas dengan prosesnya, mungkin suatu saat bisa menemukan proses yang lebih baik, dan aku bisa merevisi programku. Otak memang rajanya bohong.. hehehe..

0 comments:

Post a Comment