Simulasi Robot Humanoid dengan Webots
Latar Belakang
Perkembangan dunia robotika terjadi sangat cepat pada era ini. Ketertarikan manusia
terhadap perkembangan robot semakin tinggi dan penelitian yang berkaitan dengan
perkembangan robot semakin bermunculan.
Selama tiga dekade terakhir, penelitian dan perkembangan robotika semakin
berkembang dari robot industri tradisional ke autonomous dan animal like atau humanoid
robot. Salah satu dari perkembangan tersebut adalah teknologi robot berkaki atau disebut juga
bipedal walking robot. Yang berarti robot yang berjalan dengan dua kaki. Bipedal diambil
dari bahasa latin, bi berarti dua dan pedal berarti kaki. Teknologi ini sangat bermanfaat mulai
dari yang sederhana seperti sebagai sarana hiburan atau entertainment, manfaat dalam dunia
medis, eksplorasi planet, eksplorasi bawah laut, digunakan di lingkungan dengan kadar
radioaktif yang tinggi, sampai pendukung kekuatan militer.
Untuk itu dalam pembuatan makalah ini kita membahas bagaimana membuat simulasi
robot lengan dengan menggunakan aplikasi webots.
Simulator
Robot simulator adalah alat yang mudah digunakan robot untuk penelitian
mengembangkan dan menguji pengendali robot baru. Salah satu keuntungan utamanya
adalah bahwa dengan simulasi dapat menghemat waktu dan tenaga daripada bekerja
dikeadaan yang sebenarnya. Hal ini dikarenakan waktu di simulasi biasanya berjalan lebih
cepat dari waktu sebenarnya dan oleh karena itu hasil percobaan lebih cepat mendapatkan
hasil karena sedikit waktu yang dihabiskan untuk mensetup sebuah lingkungan dalam si
mulasi daripada di dunia nyata. Selain itu, simulasi dapat melakukan pengulangan berkalikali dengan konsisten. Keadaan seperti ini sangat membantu, misalnya, ketika kita perlu
membandingkan pengendali robot dalam dua kondisi identik (robot dan lingkungan).
Akhirnya, dengan beberapa paradigma belajar seperti reinforcement learning, perlu untuk
memungkinkan robot untuk berbuat salah untuk belajar dimana dengan simulasi dapat
memungkinkan pergantian program behaviour untuk mendapatkan hasil yang diinginkan.
Simulasi robot, dalam kasus seperti itu, akan sangat efisien untuk mengatur ulang pengaturan
percobaan setelah seperti kesalahan dan juga akan meminimalkan resiko kerusakan pada
robot.
Simulasi telah lama digunakan untuk sebuah penelitian di bidang robotik. Robotika
merupakan bidang yang sangat interdisipliner semua aplikasi baru, metodologi dan teknologi
dalam bagian robotika mensyaratkan untuk mensimulasikan sistem robot dan lingkungan
dengan kecanggihan cukup dan akurasi. Berikut ini, peranan simulasi dibeberapa bidang
robot:
1. Simulasi manipulator robot
2. Off-line programming
3. Humanoid robots
4. Robot dalam bidang medik
5. Mobile robotics
6. Nanorobotics
7. Space robotics
Webots
Webots dapat bekerja pada sistem operasi Windows, Linux dan Mac OS X dan
merupakan ditujukan bagi para peneliti dan guru yang tertarik dengan mobile robotics.
Meskipun tujuan akhir adalah robot sebenarnya, sangat berguna untuk melakukan simulasi
sebelum penyelidikan dengan robot sebenarnya. Ini karena simulasi lebih mudah untuk
pengaturan, lebih murah, lebih cepat dan lebih nyaman untuk digunakan. Merancang model
robot yang baru dan melakukan percobaan hanya membutuhkan waktu yang singkat. Sebuah
simulasi robot lebih sedikit mengeluarkan biaya daripada trial and error robot nyata yang
dilakukan pada robot sebenarnya sehingga memungkinkan eksplorasi desain yang lebih baik.
Simulasi lebih cepat mendapatkan hasil dibandingkan dengan mencobanya dengan robot
sebenarnya dan paramater pada simulasi seperti sensor dan aktuator dapat dengan mudah
ditampilkan dan diintegrasikan. Simulasi dapat memungkinkan menggunakan komputer
menjalankan algoritma yang rumit yang jika dijalankan dengan mikrocontroller selain
membutuhkan biaya yang sangat mahal dan komputasi yang lama seperti algoritma genetika.
Akhirnya, hasil simulasi dapat ditransfer ke robot sebenarnya.
Perancangan Desain dan Simulasi Robot
Perancangan dalam tugas akhir ini terinspirasi oleh mekanisme tubuh manusia bagian
pundak yang berhubungan dengan lengan. Mekanisme tersebut selanjutnya
diimplementasikan pada robot yang nantinya akan di hadapkan oleh lingkungan yang tidak
dapat diprediksi seperti yang terlihat pada berikut.
Langkah awal untuk project merancang robot pada webots adalah anda harus membuat folder
pada computer anda My_Webots yang nantinya berisikan tentang semua informasi
subdivisi(World, Controllers , dan plugin) caranya pilih toolbar wizard-New Project
Directory. Selanjutnya pilih folder dimana anda membuat folder My_webots sebelumnya
seperti berikut
Merancang r obot dalam webots adalah kita membuat robot pada world webots.
World adalah 3D virtual Environment dimana kita dapat membuat robot didalamnya dimana
sebelumnya Dengan software Webots seorang perancang dapat membuat desain robot yang
hampir sama dengan bentuk aslinya. Webots menggunakan bahasa VRML97 3D tetapi tidak
dalam bahasa VRML yang lengkap, berikut beberapa contoh bahasa VRML yang digunakan
dalam webots:
Appearance, Background, Box, Color, Cone, Coordinate, Cylinder, DirectionalLight,
ElevationGrid, Extrusion, Fog, Group, ImageTexture, IndexedFaceSet, IndexedLineSet,
Material, PointLight, Shape, Sphere, TextureCoordinate, TextureTransform, Transform,
Viewpoint and WorldInfo. Untuk merancang robot yang sangat presisi webots menyediakan
tool yang tidak disediakan oleh VRML97, berikut adalah contohnya:
Accelerometer, Camera, Charger, Connector, CustomRobot, DifferentialWheels,
DistanceSensor, Emitter, GPS, Gripper, HyperGate, LED, LightSensor, Pen, Physics,
Receiver, Servo, Solid, Supervisor and TouchSensor.
Gambar dibawah ini dapat menunjukan dimana yang disebut dalam webots sebagai
scene tree. Pada scene tree kita dapat mulai merancang robot mulai dari desain menambahkan
sensor sampai membuat kontrolernya serta memberikan nilai seperti nilai torsi, kecepatan,
percepatan, dan gaya yang dikarenakan gerakan robot . Pemberian komponen dinamik juga
dapat diberikan misalnya torsi dan berat robot. Komponen untuk sensor, servo motor, motor
dc dan sebagainya tersedia dalam Webots.
Robot humanoid memilki bentuk kotak untuk bagian tangahnya yang merupakan center
massa juga maka untuk menggambarnya dimulai dari membuat sebuah kubus yang terdiri
dari rusuk-rusuk.
1. Buat node solid, beri nama Body
2. Sisipkan node transform pada node childrennya, beri nama HEAD
3. Sisipkan node transform pada node children transform HEAD, beri nama A
4. Sisipkan node shape pada node node children A
5. Buat bidang seperti rusuk sebuah kubus seperti yang terlihat pada gambar berikut
dengan mengulang langkah 4
Mekanisme robot humanoid memiliki dimensi yang simetris maka dimana bagian
kanan kirinya sama oleh karena itu pembuatan mekaniknya dalam perancangan kali ini juga
seperti itu, bagian kanan yang akan dibuat terlebih dahulu lalu dengan mencopy bagian
kanannya maka bagian kirinya otomatis akan sama.
Tahap selanjutnya adalah membuat bagian kanan robot dimulai dari rangkanya. Buat
dua buah balok kecil yang akan diletakan padah bagaian tengah sela-sela bagian robot
1. Sisipkan node transform pada node children BODY, beri nama ARM_R
2. Sisipkan node transform pada children ARM_AR, beri nama F2
3. Sisipkan node transform pada children F2, beri nama ANKLE
4. Sisipkan node shape pada children ANKLE, buat box dengan di mensi X=0.035,
Y=0.025, Z=0.08
5. Ulangi langkah 3 dan 4 namun tempatkan box ini tepat dibawahnya seperti gambar
berikut.
Perancangan Servo
Dalam membuat fisik dalam simulasi di webots sebuah servo bisa dibuat sedemikan
rupa sesuai dengan apa yang desain dan dalam webots ini bisa saja servo hanya fungsi dalam
nodenya tanpa harus ada fisiknya. Robot iSRo mempunyai konfigurasi servo, yaitu:
1. Servo Utama, menggerakan sero pendukung pertama dan servo pendukung kedua
2. Servo pendukung pertama, menyegerakan servo pendukung kedua
3. Servo pendukung kedua, bergerak bebas sendiri
Dimana dengan konfigurasi tersebut sama untuk bagi an kanan dan kiri
Perancangan servo dalam makalah ini dalam webots dibuat secara terpisah antara
Body utama, bagian kanan dan bagian kiri sehingga nantinya node akan terdapat 3 node juga.
Cara menyisipkannya adalah:
1. Klik node yang akan disisipkan node sero
2. Klik insert after pada scene tree toolbar
3. Pilih new node, lalu pilih servo dan klik Ade
4. Beri nama dengan Arm_R (Servo Utama) Penamaan ini dapat langsung dilakukan
pada node servonya namun yang paling penting adalah penamaan pada node name
penamaan dalam node ini nantinya berpengaruh pada pemrograman nantinya sebagai
inisialisasi Service
Dalam webots fungsi ser vo akan terlihat seperti garis hitam yang menunjukan sumbu
putar dari sebuah servo. Fungsi sero yang terdapat dalam webots ini hampir mempunyai
fungsi yang sama dengan sero aslinya seperti nilai torsi, kecepatan, percepatan, tumbukan
dan gesekan sekaipun. Berikut adalah hal-hal yang harus diperhatikan dalam merancang torsi
dalam webots
1. Rotation: sumbu putar yang terdapat pada node ini kita dapat memilih di sumbu mana
servo akan aktif apakah X,Y atau Z seperti yang terlihat gambar 3.10. untuk servo
utama sumbu terletak pada sumbu Z maka diberi nilai 1 dan X,Ynya 0, untuk default
nilai alpha adalah 0 merupakan nilai dari setiap step yang berupa keliling lingkaran
2
2. Besaran fisika:node physics physics beriisikan beberapa nilai yang dapat kita rubah
sesuai apa yang kita hadapi di sunia sebenernya namun kondisi awal nilai ini adalah
sudah nor mal. Untuk coloumbfriction nilai untuk gesekan yang jika kita ingin
menghadirkan gesekan yang terjadi pada robot dapat kita aktifkan dengan memberi
kan nilai 1
3. Nilai fisika selain pada node physics: yaitu node dibawah node ini ada beber apa node
yang perlu diperhatikan
3.1 maxvelocity:nilai yang terdapat pada node ini disesuaikan dengan kecepatan
terdapat pada spesifikasi motor servo aslinya yang akan dipakai
3.2 maxforce:nilai yang terdapat pada node ini disesuaiakn dengan torsi yang terdapat
pada spesifikasi motor servo aslinya yang akan dipakai
3.3 minposition dan maxposition:nilai yang terdapat pada node ini merupakan
reprentasi dari motor servo yang digunakan continous atau bukan jika bukan kita
dapat mengubah nilainya seperti yang terlihat gambar 3.12 dimana nilainya
1.57(p/)
NAMA
NIM
SMT
: KELAWAN SUCIPTO
: 12041054
:7