Anda di halaman 1dari 124

HALAMAN SAMPUL

iBAHAN AJARi

R O B OT I K A
(MD316512)

AKHMAD TAUFIK, S.T., M.T.


NIP. 19760413 200812 1 003

PROGRAM STUDI D4 TEKNIK MANUFAKTUR


JURUSAN TEKNIK MESIN
POLITEKNIK NEGERI UJUNG PANDANG
2013
ii

LEMBAR IDENTITAS DAN PENGESAHAN

Mata Kuliah : Robotika

Kode Mata Kuliah : MD316512

Dosen Penyusun : Akhmad Taufik, S.T., M.T.

NIP : 19760413 200812 1 003

Bahan ajar ini telah diperiksa dan disetujui


untuk digunakan sebagai bahan kuliah bagi mahasiswa
Politeknik Negeri Ujung Pandang

Menyetujui,

Makassar, 21 Oktober 2013


Kepala Unit P3AI, Ketua Jurusan Teknik Mesin

Ir. Hastami Murdiningsih, M.T. Muhammad Tekad, S.T., M.T.


NIP 19600606 198803 2 002 NIP 19650824 199003 1 003

Mengetahui / Menyetujui
Pembantu Direktur I

Ir. Muas M, M.T.


NIP 19670228 199303 1 004
iii

KATA PENGANTAR

Puji syukur kami panjatkan kehadirat Allah SWT atas Rahmat dan
Hidayah-Nya sehingga bahan ajar dari Mata Kuliah Robotika ini dapat kami
selesaikan. Mata Kuliah ini merupakan mata kuliah lanjutan dari Sistem Kontrol
dan disajikan pada Semester V pada Program Studi D4 Teknik Manufaktur
Jurusan Teknik Mesin Politeknik Negeri Ujung Pandang.

Bahan ajar ini membahas tentang perkembangan sistem otomasi dan


robotika industri, teknik desain dan pemodelan robot, sistem kendali robot.
Kinematika Robot, Dinamika Robot, Teknik Pemrograman, dan Perancangan
Mobile Robot. Materi yang ada pada edisi pertama ini tentunya masih jauh dari
sempurna dan terdapat kekurangan-kekurangan yang perlu diperbaiki ke depan.
Oleh karena itu, semua sumbang saran dari pembaca sangat kami butuhkan untuk
kesempurnaan bahan ajar ini.

Ucapan terima kasih kami sampaikan pada segenap pihak yang telah
membantu kami dalam penyusunan bahan ajar ini. Semoga bahan ajar ini dapat
memberikan manfaat yang besar khususnya bagi penulis sendiri dan mahasiswa
Program Studi D4 Teknik Manufaktur.

Makassar, 21 Oktober 2013

Penyusun,

Akhmad Taufik, S.T., M.T.


NIP. 19760413 200812 1 003
iv

DAFTAR ISI

HALAMAN SAMPUL ............................................................................................................ i

LEMBAR IDENTITAS DAN PENGESAHAN ..................................................................... ii

KATA PENGANTAR ........................................................................................................... iii

DAFTAR ISI ..........................................................................................................................iv

DAFTAR TABEL .................................................................................................................vii

DAFTAR GAMBAR ........................................................................................................... viii

GBRP MATA KULIAH............................................................................................................

BAB I. OTOMASI DAN ROBOTIKA INDUSTRI ............................................................. I-1

1.1. Pengantar ................................................................................................ I-1


1.2. Robot Industri ......................................................................................... I-3
1.3. Konfigurasi Manipulator ......................................................................... I-5
BAB II. TEKNIK DESAIN DAN PEMODELAN ROBOT .............................................. II-1

2.1. Pendahuluan ......................................................................................... II-1


2.2. Teknik Desain Robot Berorientasi Fungsi ............................................. II-1
2.3. Sistem kontrol....................................................................................... II-5
2.3.1. Rangkaian Kontroler berbasis Prosesor/Mikrokontroler ........................ II-5
2.4. Mekanik................................................................................................ II-9
2.4.1. Pengertian Mekanik .............................................................................. II-9
2.4.2. Roda Gear ............................................................................................. II-9
2.4.2.1. Torsi ....................................................................................... II-9
2.4.2.2. Torsi vs Kecepatan ................................................................ II-10
2.4.2.3. Rasio Roda Gigi .................................................................... II-11
2.4.2.4. Arah Putaran Roda Gigi ........................................................ II-11
2.4.3. Jenis Roda Gigi ................................................................................... II-12
2.4.3.1. Spur Gear .............................................................................. II-12
2.4.3.2. Sproket gears dengan rantai ................................................... II-12
2.4.3.3. Bevel Gear ............................................................................ II-13
2.4.3.4. Rack dan Pinion .................................................................... II-13
2.4.3.5. Worm Gear ........................................................................... II-14
2.4.3.6. Planetary Gear ....................................................................... II-15
2.4.3.7. Roda Pulley ........................................................................... II-15
2.4.4. Aktuator Robot ................................................................................... II-16
2.4.4.1. Fungsi Aktuator..................................................................... II-16
2.4.4.2. Motor DC Brushless .............................................................. II-16
2.4.4.3. Konstruksi dan Cara kerja motor DC Brushless ..................... II-17
2.5. Mekanika Dasar .................................................................................. II-18
v

2.6. Sensor ................................................................................................. II-19


2.6.1. Sensor Robot ...................................................................................... II-19
2.6.2. Sensor Biner ....................................................................................... II-20
2.6.3. Sensor Analog .................................................................................... II-21
2.6.3.1. Potensiometer........................................................................ II-21
2.6.4. Rotary/Shaft Encoder .......................................................................... II-23
2.6.4.1. Absolute Rotary Encoder....................................................... II-25
2.6.4.2. Incremental Rotary Encoder .................................................. II-27
BAB III. SISTEM KENDALI ROBOT ............................................................................ III-1

3.1. Pengantar ............................................................................................. III-1


3.2. Mikrokontroler..................................................................................... III-3
3.3. Sistem Kontrol Dasar Robotik.............................................................. III-7
3.3.1. Kontrol ON/OFF.................................................................................. III-7
3.3.2. Kontrol Proportional, Integral, dan Derivatif ........................................ III-7
3.3.2.1. Kontrol Proporsional (P) untuk motor DC .............................. III-8
3.3.2.2. Kontrol Integral (I) untuk motor DC ....................................... III-9
3.3.2.3. Kontrol Derifatif (D) untuk Motor DC.................................. III-10
3.3.2.4. Kontrol PID untuk Motor DC ............................................... III-12
3.4. Sistem Mikrokontroler ....................................................................... III-12
3.4.1. Pengantar Mikrokontroler .................................................................. III-12
3.4.2. Sejarah Mikrokontroler ...................................................................... III-15
3.4.3. Jenis-Jenis Mikrokontroler ................................................................. III-16
BAB IV. KINEMATIKA ROBOT .................................................................................... IV-1

4.1. Analisis Kinematika Robot .................................................................. IV-1


4.1.1. Kinematika Maju dan Kinematika Mundur .......................................... IV-1
4.1.2. Analisis Kinematik dengan Persamaan Trigonometri ........................... IV-3
4.2. Matriks Rotasi dan Translasi ................................................................ IV-6
4.2.1. Matriks Transformasi Homogen ........................................................... IV-6
4.2.2. Metode Denavit – Hartenberg (D-H) .................................................... IV-9
BAB V. DINAMIKA ROBOT ............................................................................................ V-1

5.1. Konsep Dinamik ................................................................................... V-1


5.2. Analisa Dinamik ................................................................................... V-3
5.3. Komponen Dinamik .............................................................................. V-4
5.4. Pespektif Dinamik dalam Aplikasi ........................................................ V-6
5.5. Metoda Newton-Euler ........................................................................... V-7
5.6. Metoda Lagrange-Euler ...................................................................... V-10
5.7. Persamaan Umum Dinamik Robot Manipulator .................................. V-13
BAB VI. TEKNIK PEMROGRAMAN ............................................................................ VI-1

6.1. Dasar Pemrograman ............................................................................. VI-1


6.1.1. Pengenal (Identifier) dalam Pemrograman C ........................................ VI-2
6.1.2. Tipe Data Dasar dan Pemodifikasi Tipe ............................................... VI-3
vi

6.1.3. Variabel ............................................................................................... VI-4


6.1.3.1. Mendeklarasikan Variable ...................................................... VI-4
6.1.3.2. Memberikan Nilai ke Variabel................................................ VI-5
6.1.4. Konstanta ............................................................................................. VI-5
6.1.4.1. Konstanta Umum ................................................................... VI-5
6.1.4.2. Mendefenisikan Konstanta Simbolis ....................................... VI-7
6.1.5. Operator............................................................................................... VI-8
6.1.6. Perulangan ........................................................................................... VI-9
6.1.6.1. Perulangan dengan For ......................................................... VI-10
6.1.6.2. Perulangan dengan while ...................................................... VI-11
6.1.6.3. Perulangan dengan do...while ............................................... VI-12
6.1.7. Percabangan ....................................................................................... VI-13
6.1.7.1. Perintah if dan if...else .......................................................... VI-13
6.1.7.2. Percabangan switch .............................................................. VI-13
6.2. Pengenalan CodeVisionAVR ............................................................. VI-14
BAB VII. PERANCANGAN MOBILE ROBOT ............................................................ VII-1

7.1. Mengenal Mobile Robot .....................................................................VII-1


7.1.1. Robot Mobil ....................................................................................... VII-1
7.1.2. Pemrograman Robot Mobil .................................................................VII-4
7.2. Robot Line Follower ........................................................................... VII-6
7.2.1. Sensor Proximity ................................................................................ VII-7
7.2.2. Rancangan Mekanik Robot .................................................................VII-8
7.2.3. Algoritma Pergerakan Robot ............................................................... VII-9
7.2.4. Driver Motor..................................................................................... VII-10
vii

DAFTAR TABEL

Tabel II-1. Klasifikasi sensor berdasarkan tipe output. ................................... II-19


Tabel II-2. Klasifikasi sensor berdasarkan tipe aplikasi .................................. II-20
Tabel IV-1. Matriks Transformasi ................................................................... IV-7
Tabel VI-1. Daftar kata kunci turbo C ............................................................. VI-2
Tabel VI-2. Tipe Data Dasar dan Kata Kunci .................................................. VI-3
Tabel VI-3. Daftar Tipe Data Dasar ................................................................ VI-3
Tabel VI-4. Daftar Operator Kondisi ............................................................... VI-8
Tabel VI-5. Daftar Operator Aritmatika .......................................................... VI-8
Tabel VI-6. Daftar Operator Logika ................................................................ VI-9
Tabel VI-7. Daftar Operator Bitwise ............................................................... VI-9
Tabel VI-8. Daftar Operator Assignment......................................................... VI-9
Tabel VII-1. Gerakan Dasar pada Robot Mobil ..............................................VII-3
Tabel VII-2. Arah Putar Motor Kiri................................................................VII-4
Tabel VII-3. Arah Putar Motor Kanan ............................................................VII-5
viii

DAFTAR GAMBAR

Gambar I-1. Robot Tangan dalam sistem CIM ................................................... I-3


Gambar I-2. Anatomi Robot Industri..................................................................I-4
Gambar I-3. Sistem robot Industri ...................................................................... I-4
Gambar I-4. Konfigurasi Polar ........................................................................... I-6
Gambar I-5. Konfigurasi Silinder ....................................................................... I-7
Gambar I-6. Konfigurasi Cartesian .....................................................................I-8
Gambar I-7. Konfigurasi Sendi Lengan .............................................................. I-8
Gambar I-8. Robot ABB .................................................................................... I-9
Gambar I-9. Manipulator Planar ....................................................................... I-10
Gambar I-10. Robot SCARA (Selective Compliance Asembly Robot Arm) ....... I-11
Gambar II-1. Sistem Robot dan orientasi fungsi ............................................... II-2
Gambar II-2. Sistem Robot dengan Kontroler berbasis prosesor ....................... II-6
Gambar II-3. Kontroler berbasis prosesor dengan ucer interface ....................... II-6
Gambar II-4. Torsi ........................................................................................... II-9
Gambar II-5. Spur Gear ................................................................................. II-12
Gambar II-6. Sproket Gear ............................................................................. II-13
Gambar II-7. Bevel gear ................................................................................. II-13
Gambar II-8. Rack dan Pinion ........................................................................ II-14
Gambar II-9. Worn Gear ................................................................................ II-14
Gambar II-10. Planetary Gear ........................................................................ II-15
Gambar II-11. Konfigurasi roda pulley........................................................... II-16
Gambar II-12. Konfigurasi Motor BLDC ....................................................... II-18
Gambar II-13. Rangkaian limit switch............................................................ II-21
Gambar II-14. Potensiometer sebagai sensor posisi ........................................ II-22
Gambar II-16. Blok penyusun rotary encoder ................................................. II-23
Gambar II-17. Rangkaian tipikal penghasil pulsa pada rotary encoder ............ II-24
Gambar II-18. Contoh susunan pola 16 cincin konsentris pada absolute
encoder ................................................................................... II-25
ix

Gambar II-19. Contoh piringan dengan 10 cincin dan 10 LED photo


transistor untuk membentuk sistem biner 10 bit. ...................... II-26
Gambar II-20. Contoh diagram keluaran absolute encoder 4-bit type gray
kode ........................................................................................ II-26
Gambar II-21. Contoh diagram keluaran absolut encoder 4-bit tipe binary
code ........................................................................................ II-27
Gambar II-22. susunan piringan untuk incremental encoder ........................... II-28
Gambar II-23. Contoh pola keluaran incremental encoder .............................. II-28
Gambar II-24. output dan arah putaran pada resolusi yang berbeda-beda........ II-29
Gambar II-25. Sinyal keluaran encoder untuk pengukuran kecepatan dengan
frequencymeter ....................................................................... II-30
Gambar II-26. Pengukuran kecepatan dengan menggunakan Periodimeter ..... II-30
Gambar III-1. Sistem Robotik ......................................................................... III-1
Gambar III-2. Mekanisme kerja kontroler ....................................................... III-2
Gambar III-3. Mikrokontroler Atmega 16 ....................................................... III-6
Gambar III-4. Kontrol ON/OFF ...................................................................... III-7
Gambar III-5. Kontrol Loop tertutup ............................................................... III-7
Gambar III-6. Diagram Kontrol P ................................................................... III-8
Gambar III-7. Kontrol P pada motor DC ......................................................... III-8
Gambar III-8. Diagram Kontrol I .................................................................. III-10
Gambar III-9. Kontrol PI pada motor DC ...................................................... III-10
Gambar III-10. Diagram Kontrol D ............................................................... III-11
Gambar III-11. Kontrol PD pada Motor DC .................................................. III-11
Gambar III-12. Kontrol PID pada Motor DC ................................................. III-12
Gambar III-13. Sistem Minimal Mikrokontroler............................................ III-14
Gambar III-14. Jenis Mikrokontroler MCS-51 .............................................. III-17
Gambar III-15. Mikrokontroler AVR ............................................................ III-18
Gambar III-16. Jenis Mikrokontroler MCS-51 .............................................. III-19
Gambar IV-1. Relasi Kinematika Maju dan Inversi ......................................... IV-1
Gambar IV-2. Diagram Sistem Robotika ......................................................... IV-2
Gambar IV-3. Diagram Sistem Kontrol Robotika ............................................ IV-3
x

Gambar IV-4. Robot Lengan 1 DOF ............................................................... IV-3


Gambar IV-5. Robot Lengan 2 Sendi (2DOF) .......................................................... IV-4
Gambar IV-6. Koordinat Kartesian, World (w) dan Robot (r)................................... IV-6
Gambar IV-7. Robot Manipulator 2 DOF ................................................................. IV-8
Gambar IV-8. Menentukan D-H Parameter ............................................................ IV-10
Gambar IV-9. Hasil Parameter D-H ....................................................................... IV-11
Gambar V-1. Diagram Model Dinamik Robot. .......................................................... V-1
Gambar V-2. Diagram sistem kontrol robotik beroperasi dinamik ............................. V-2
Gambar V-3. Diagram sistem kontrol robotik beroperasi dinamik ............................. V-3
Gambar V-4. Penerapan control dinamik loop tertutup .............................................. V-7
Gambar V-5. Konfigurasi robot satu sendi ................................................................ V-9
Gambar V-6. Konfigurasi robot tangan planar 2 sendi (2DOF)................................ V-12
Gambar VI-1. Diagram alir while ........................................................................... VI-11
Gambar VI-2. Diagram alir do-while...................................................................... VI-12
Gambar VI-3. CodeVisionAVR ............................................................................. VI-15
Gambar VII-1. Motor DC........................................................................................ VII-1
Gambar VII-2. Konfigurasi Gear untuk menghasilkan kecepatan ............................ VII-2
Gambar VII-3. Konfigurasi Gear untuk menghasilkan power ..................................VII-3
Gambar VII-4. Driver Motor DC L293D.................................................................VII-4
Gambar VII-1. Robot Line Follower ....................................................................... VII-6
Gambar VII-2. Robot Line Follower ....................................................................... VII-7
Gambar VII-3. Rangkaian Sensor Proximity ........................................................... VII-8
Gambar VII-4. Mekanik Robot ............................................................................... VII-9
Gambar VII-5. Kemungkinan Posisi Sensor Proximity Pada Line ........................... VII-9
Gambar VII-6. Rangkaian Mikrokontroler ............................................................ VII-10
Gambar VII-7. Rangkaian Driver Motor DC ......................................................... VII-11
Robotika Otomasi dan Robotika Industri

BAB I. OTOMASI DAN ROBOTIKA INDUSTRI

1.1. Pengantar

Kata robot berasal dari bahasa Czech, yakni robota, yang berarti pekerja.
Dilihat dari struktur dan fungsi fisiknya, robot terdiri dari dua bagian yakni mobile
robot dan non mobile robot. Kombinasi dari keduanya dapat menghasilkan
kelompok kombinasi konvensional (mobile dan non mobile) dan kelompok non
konvensional. Pada kelompok pertama diberikan nama kelompok konvensional
karena nama yang digunakan dalam konteks penelitan adalah nama-nama yang
dianggap sudah umum seperti mobile manipulator, climbing robot, dan walking
robot. Sedangkan robot non konvensional dapat berupa robot humanoid,
animanoid, extra ordinary atau segala bentuk penyerupaan yang biasa dilakukan.

Awalnya, aplikasi robot tidak bisa dipisahkan dengan industri, sehingga


muncul istilah industrial robot dan robot manipulator. Robot industri diciptakan
untuk berbagai keperluan dalam meningkatkan produksi, memiliki bentuk lengan-
lengan kaku yang terhubung secara seri dan memiliki sendi yang dapat berputar
(rotasi) dan memanjang atau memendek (translasi atau prismatic). Satu sisi lengan
yang disebut sebagai pangkal ditanam pada bidang atau meja yang statis (tidak
bergerak), sedangkan sisi yang lain disebut sebagai ujung (end of effector) yang
dimuati tool tertentu sesuai dengan tugas robot. Dalam dunia mekanikal,
manipulator ini memiliki dua bagian yakni lengan atau arm dan pergelangan wrist.

Kelompok robot industri yang paling sering disebut sebagai keluarga robot
berlengan dinamai robot manipulator atau robot arm. Sementara yang lebih
dikenali sebagai mesin cerdas yang tidak selalu tampak memiliki lengan (arm),
lebih lazim disebut dengan nama khusus sesuai dengan fungsinya. Mereka
biasanya memiliki nama tersendiri sesuai dengan fungsinya, misalnya mesin
bubut otomatis, milling otomatis digolongkan dengan nama CNC Machine, ada
juga mesin jenis lain yang dinamakan EDM (Electric Discharge Machine).

I-1
Robotika Otomasi dan Robotika Industri

Dua tema dalam judul yang terkait erat ini adalah otomasi dan robot
industri yang dapat dijabarkan dimana Otomasi dapat didefenisikan sebagai
teknologi yang berlandaskna pada aplikasi system mekanik, elektronik dan
computer, sedangkan Robot Industri adalah komponen utama dalam teknologi
otomasi yang dapat berfungsi sebagai layaknya buruh/pekerja manusia dalam
pabrik namun memiliki kemampuan bekerja yang terus meneus tanpa lelah. Robot
industri dapat diciptakan untuk menggantikan posisi-posisi pekerja dalam bagian
produksi, seperti buruh dengan keahlian rendah hingga teknis professional dengan
keahlian tertentu.

1.1.1. Otomasi

Secara umum otomasi dapat dibedakan dalam 4 kategori, yaitu otomasi tetap,
otomasi semi tetap, otomasi fleksibel.

1.1.2. Otomasi Tetap

Otomasi tetap adalah mesin otomatis dibuat hanya untuk keperluan


produksi saja, tidak dapat dipergunakan untuk produk lain. Sesuai untuk produksi
massal dengan kecepatan tinggi. Investasi awal yang dikeluarkan biasanya cukup
tinggi, namum biaya operasionalnya relatif rendah.

1.1.3. Otomasi Semi Tetap

Otomasi semi tetap ialah mesin yang dibuat untuk memproduksi atau
menangani satu macam produk atau tugas, namun dalam beberapa parameter
(ukuran, bentuk dan bagian produk) dapat diatur secara terbatas. Investasi awal
termasuk cukup tinggi, karena mesin masih sersifat khusus. Robot yang mandiri
termasuk dalam kategori ini.

1.1.4. Otomasi Fleksibel

Otomasi Fleksibel merupakan perangkat mesin yang dibuat dan dapat


digunakan untuk berbagai produk, system otomasi lebih bersifat menyeluruh,
bagian-bagian produk dapat diproduksi pada waktu yang bersamman dalam
system otomasi ini. Yang termasuk dalam kategori ini misalnya FMS (Flexible

I-2
Robotika Otomasi dan Robotika Industri

Automation System) dan CIM (Computer IntegratedManufacturing). Robot adalah


salah satu pendukung dalam kelompok otomasi ini.

Gambar I-1. Robot Tangan dalam sistem CIM

Dalam foto di atas sebuah robot tangan yang dapat deprogram untuk
mengambil barang dan mengangkatnya dari meja tetap di sebelah kiri kemudian
meletakkannya ke atas ban berjalan (konveyor). Program dapat dengan mudah
diubah melalui komputer konsol di sebelah kanannya.

1.2. Robot Industri

Anatomi robot industri secara umum dapat diilustrikan seperti pada


Gambar I-2

Robot industri yang diilustrasikan ini adalah robot tangan yang memiliki
dua lengan (dilihat dari persendian), dan pergelangan. Di ujung pergelangan dapat
diinstal berbagai tool sesuai dengan fungsi yang diharapkan. Jika dipandang dari
sudut pergerakan maka terdiri dari tiga pergerakan utama, yaitu badan robot yang
dapat berputar ke kiri dan kanan, lengan yang masing-masing dapat bergerak
rotasi ke arah atas dan bawah, dan gerak pergelangan sesuai dengan sifat tool.

I-3
Robotika Otomasi dan Robotika Industri

Gambar I-2. Anatomi Robot Industri

Perangkat pendukung robot industri secara umum dapat diilustrasikan


dalamGambar I-3 berikut ini. Komponen utamanya terdiri dari 4 bagian, yaitu:

Manipulator
Sensor
Aktuator, dan
Kontroler

Gambar I-3. Sistem robot Industri

I-4
Robotika Otomasi dan Robotika Industri

Manipulator adalah bagian mekanik yang dapat difungsikan untuk


memindah, mengangkat dan memanipulasi benda kerja. Sensor adalah komponen
berbasis instrumental (pengukuran) yang berfungsi sebagaipemberi informasi
tentang berbagai keadaan atau kedudukan dari bagian-bagian manipulator. Output
sensor dapat berupa nilai loika ataupun nilai analog. Dalam berbagai kasus
dewasa ini penggunaan kamera sebagai sensor sudah menjadi lazim. Output
perangkat kamera berupa citra (image) harus dirubah terlebih dahulu ke besaran
digital ataupun analog sesuai dengan kebutuhan. Kajian teknologi transformasi
image ke bentuk biner (nilai acuan dalam proses perhitungan komputer) ini
banyak dikaji dalam konteks terpisah, yaitu pengolahan citra (iamge processing).

Aktuator adalah komponen penggerak yan jika dilihat dari prinsip


penghasil geraknya dapat dibagi menjadi 3 bagian, yaitu penggerak berbasis
motor listrik (motor DC servo, stepper motor, motor AC, dsb.) penggerak
pneumatik (berbasis kompresi gas: udara, nitrogen, dsb.), dan penggerak hidrolik
(berbasis kompresi beda cair: minyak, pelumnas, dsb.).

Kontroler adalah rangkaian elektronik berbasis mikroprosesor yang


berfungsi sebagai pengatur seluruh komponen dalammembentuk fungsi kerja.
Tipe pengaturan yang bisa diprogramkan mulai dari prinsip pengurut (sequencer)
yang bekerja sebagai open loop hingga prinsip umpan balik dengan melibatkan
kecerdasan buatan.

1.3. Konfigurasi Manipulator

Secara klasik konfigurasi manipulator dapat dibagi dalam 4 kelompok,


yaitu polar, silindris, Cartesian, dan sendi lengan (joint-arm).

Manipulator yang memiliki konfigurasi polar dapat diilustrasikan seperti


pada Gambar I-4 Badan dapat berputar ke kiri atau ke kanan. Sendi pada badan
dapat mengangkat atau menurunkan pangkal lengan secara polar. Lengan ujung
dapat digerakkan maju-mundur secara translasi. Konfigurasi ini dikenal cukup
tegar karena sambungan lengan dan gerakan maju-mundur memiliki cara yang

I-5
Robotika Otomasi dan Robotika Industri

secara mekanik sangat kokoh. Kemampuan jangkauan ke atas dan bawah kurang
bagus karena badan tidak mengangkat lengan secara vertical, namun memiliki
gerakan yang khas yaitu mampu memanipulasi ruang kerja yang berbentuk bola
dengan algorithma gerak yang paling sederhana disbanding tipe konfigurasi yang
lain.

Gambar I-4. Konfigurasi Polar

Konfigurasi silinder mempunyai kemampuan jangkauan berbentuk ruang


silinder yang lebih baik, meskipun sudut ujung lengan terhadap garis penyangga
tetap. Konfigurasi ini banyak diadopsi untuk sistem gantry atau crane karena
strukturnya yang kokoh untuk tugas mengangkat beban.pemasangan ujung lengan
yang segaris dengan badan dapat lebih menguntungkan kinematiknya menjadi
lebih sederhana. Selain itu struktur secara keseluruhan bisa lebih kokoh. Contoh
yang mudah dijumpai adalah sistem crane yang biasa digunakandalam
pembangunan gedung-gedung bertingkat tinggi.

Manipulator berkonfiurasi cartesian ditunjukkan dalam Gambar I-6


konfigurasi ini secara relatif adalah yang paling kokoh untuk tugas mengangkat
beban yang berat. Struktur ini banyak dipakai secara permanen pada instalasi
pabrik baik untuk mengangkat dan memindah barang produksi maupun untuk

I-6
Robotika Otomasi dan Robotika Industri

mengangkat peralatan-peralatan berat pabrik ketika melakukan keiatan instalasi.


Crane di galangan kapal juga banyak mengadopsi struktur ini

Gambar I-5. Konfigurasi Silinder

I-7
Robotika Otomasi dan Robotika Industri

Gambar I-6. Konfigurasi Cartesian

Pada aplikasi yang sesungguhnya biasanya struktur penyangga, badan dan


lengan dibuat sedemikian rupa hingga tumpuan beban merata pada struktur.
Misalnya, penyangga dipasang dari ujung ke ujung. Mekanik pengangkat di badan
menggunakan sistem rantai dan sproket atau sistem belt. Pergerakan lengan dapat
menggunakan sistem seperti rel dari kiri-kanan lengan.

Konfigurasi keempat ialah struktur sendi-lengan. Konstruksi ini adalah


yang paling popular untuk tugas-tugas reguler di dalam pabrik, terutama untuk
dapat melaksanakan fungsi layaknya pekerja pabrik, seperti mengangkat barang
dari konveyor, mengelas, memasang komponen mur, baut pada produk, dan
sebagainya. Dengan tool pergelangan yang khusus struktur lengan-sendi ini cocok
digunakan untuk menjangkau daerah kerja yang sempit denan sudut jangkauan
yang beragam.

Gambar I-7. Konfigurasi Sendi Lengan

I-8
Robotika Otomasi dan Robotika Industri

Gambar I-8. Robot ABB

Gambar diatas adalah foto robot ABB yang memiliki konfigurasi sendi-
lengan. Pada ujung lengan kedua dipasang wrist (pergelangan) yang dapat
berputar kiri-kanan. Robot yang secara keseluruhan berbobot mati sekitar 300 kg
ini mampu mengangkat beban hingga 5 kg dan dapat dioperasikan pada
temperature yang relatif panas seperti ruang pengecatan bodi mobil, pengelasan,
dan membantu proses machining.

Sturktur robot ini juga popular dalam dunia penelitian. Banyak kajian
kinematik dan dinamik robot mengambil contoh struktur sendi-lengan. Kajian
dinamiknya menadi lebih rumit karena unsur gravitasi bumi sangat berperan.
Konfigurasi sendi-lengan dapat dimodifikasi sedemikian hingga faktor gravitasi
dapat diabaikan dalam analisa dinamiknya.

I-9
Robotika Otomasi dan Robotika Industri

Gambar I-9. Manipulator Planar

Bentuk ini dikenal sebagai manipulator planar. Secara umum


konfigurasinya dapat diilustrasikan separti pada Gambar I-9 Semua sendi
dirancang berputar horizontal, kecuali posisi ujung lengan (end of effector).
Struktur ini banyak digunakan dalam kajian kinematik dan dinamik terutama yang
berhubungan dengan analisa pembuktian dari suatu pendekatan atau teori kontrol
yang dianggap baru . dengan menghindari pengaruh gravitasi orde dinamik dari
sistem yang dikontrol relative dapat ditekan. Salah satu pertimbangannya adalah
bahwa aplikasi robotik di angkasa luar justru tidak perlu memasukkan unsur
gravitasi dalam analisa. Dinamik hanya dipengaruhi oleh faktor inerti bodi robot
itu sendiri.

Gambar berikut adalah sebuah contoh robot industri yang mempunyai


struktur planar. Meski berkonstruksi planar manipulator ini menjadi sangat kokoh
karena sendi dibuat memanjang dengan lengan yang sangat kak. Robot ini banyak
digunakan dalam pabrik elektronik seperti dalam hal pemasangan komponen.

I-10
Robotika Otomasi dan Robotika Industri

Gambar I-10. Robot SCARA (Selective Compliance Asembly Robot Arm)

Teknik belt dan sproket yang digunakan untuk menyelaraskan gerakan


sendi pertama dan kedua. Metoda ini sering dipakai untuk memanipulasi gerak
lengan pertama dan kedua agar dapat bergerak selaras sehingga sudut sendi kedua
(posisi pergelangan) relatif tetap terhadap referensi badan robot ketika lengan
pertama diayun. Sementara itu lengan kedua tetap dapat digerakkan secara
independen. Untuk pergerakan berulang-ulang tanpa kontrol umpan balik (robot
dioperasikan secara loop terbuka dan bekerja berdasarkan program sekuensial)
cara ini sangat efektif terutama untuk memperoleh kesan gerakan yang lurus pada
posisi pergelangan dengan cukup mengontrol satu sendi saja.

Bila belt penyelaras ini di ON-kan (biasanya menggunakan kopling


magnet) maka uraian kinematic tidak lagi menggunakan cara baku dengan selalu
mengontrol gerak dua sndi sekaligus karena gerakan sendi kedua bisa berada
dalam keadaan tak bermanfaat/mubasir (redundant). Pengguanaan cara ini bisa
diambil dengan pertimbangan bahwa robot tidak perlu menggunakan kontrol
umpan balik linier (misalnya melibatkan posisi dan kecepatan) dalam melakukan
pekerjaan berulang seperti mengambil komponen elektronik dan memasangnya.

I-11
Robotika Teknik Desain dan Pemodelan Robot

BAB II. TEKNIK DESAIN DAN PEMODELAN ROBOT

2.1. Pendahuluan

2.2. Teknik Desain Robot Berorientasi Fungsi

Pertanyaan awal yang sering mengemuka ketika kita berbicara tentang


robot adalah: apa manfaat atau kegunaan robot ini? Pertanyaan ini memiliki
dampak serius ketika konteks diskusinya adalah tentang investasi yang relatif
besar yang biasanya harus dikeluarkan untuk membangun suatu sistem robotik.
Apa dampak keuntungan secara ekonomi, apa sumbangannya untuk kesejahteraan
hidup manusia, merupakan pertanyaan yang sulit dideskripsikan ketika sistem
robot yang dibangun masih dalam taraf penelitian. Seperti misalnya, apa manfaat
dari investasi besar yang harus dikeluarkan dalam keikutsertaan kontes robot?
Kemajuan teknologi di bidang robotik apakah tidak justru mengancam eksistensi
pekerja (manusia) industri di negeri yang masih amat tinggi tingkat
penganggurannya ini?

Bab ini tidak akan membahas fungsi atau manfaat robot seperti yang
dipertanyakan di atas. Bahasan lebih ditujukan untuk menjawab: bagaimana
menguasai teknik disain robotik secara cepat, efisien, bermanfaat dan mudah
dipahami. Fungsi komersial pada gilirannya akan mudah dideskripsikan jika
mahasiswa atau disainer sudah mulai ahli dalam mencipta robot. Gambar 2.1
berikut ini mengilustrasikan tentang sebuah diagram sistem robotik yang
berhubungan dengan “dunia nyata” (real world).

II-1
Robotika Teknik Desain dan Pemodelan Robot

Gambar II-1. Sistem Robot dan orientasi fungsi

Bagian-bagian dalam Gambar diatas diterangkan sebagai berikut:

Sistem Kontroler

Sistem Kontrol adalah rangkaian elektronik yang setidak-tidaknya terdiri


dari rangkaian prosesor (CPU, Memori, komponen interface Input/Output), signal
conditioning untuk sensor (analog dan atau digital), dan driver untuk aktuator.
Bila diperlukan bisa dilengkapi dengan sistem monitor seperti seven segment,
LCD (liquid crystal display] ataupun CRT (cathode ray-tube).

Mekanik Robot

Mekanik Robot adalah sistem mekanik yang dapat terdiri dari setidak-
tidaknya sebuah fungsi gerak. Jumlah fungsi gerak disebut sebagai derajat
kebebasan atau degree of freedom (DOF). Sebuah sendi yang diwakili oleh
sebuah gerak aktuator disebut sebagai satu DOF. Sedangkan derajat kebebasan

II-2
Robotika Teknik Desain dan Pemodelan Robot

pada struktur roda dan kaki diukur berdasarkan fungsi holonomic atau non-
holonomic

Sensor

Sensor adalah perangkat atau komponen yang bertugas mendeteksi (hasil)


gerakan atau fenomena lingkungan yang diperlukan oleh sistem kontroler. Dapat
dibuat dari sistem yang paling sederhana seperti sensor ON/OFF menggunakan
limit switch, sistem analog, sistem bus parallel, sistem bus serial, hingga sistem
mata kamera.

Aktuator

Actuator adalah perangkat elektromekanik yang menghasilkan daya


gerakan. Dapat dibuat dari sistem motor listrik (Motor DC (permanent magnet,
brushless, shunt dan series), Motor DC Servo, Motor DC Stepper, ultrasonic
motor, linear motor, torque motor, solenoid, dsb.), sistem pneumatik (perangkat
kompresi berbasis udara atau gas nitrogen), dan perangkat hidrolik (berbasis
bahan cair seperti oli). Untuk meningkatkan tenaga mekanik aktuator atau torsi
gerakan dapat dipasang sistem gearbox, baik sistem direct-gear (sistem lurus,
sistem ohmic/worm-gear, planetary gear, dsb.), sprochet-chain (gir-rantai, gir-belt,
ataupun sistem wire-roller, dsb.)

Sistem roda

Sistem Roda adalah sistem mekanik yang dapat menggerakkan robot


untuk berpindah posisi. Dapat terdiri dari sedikitnya sebuah roda penggerak (drive
dan steer), dua roda differensial (kiri-kanan independen ataupun sistem belt
seperti tank), tiga roda (synchro drive atau sistem holonomic), empat roda
(Ackermann model/car like mobile robot ataupun sistem mecanum wheels)
ataupun lebih.

II-3
Robotika Teknik Desain dan Pemodelan Robot

Sistem kaki

Pada dasarnya sistem kaki adalah gerakan “roda” yang didisain


sedemikian rupa hingga memiliki kemampuan gerak seperti mahluk hidup. Robot
berjalan dengan sistem dua kaki atau biped robot memiliki struktur kaki seperti
manusia setidak-tidaknya mempunyai sendi-sendi yang mewakili pergelangan
kaki, lutut, dan pinggul. Dalam konfigurasi yang ideal pergerakan pada pinggul
dapat terdiri dari multi DOF dengan kemampuan gerakan memutar seperti orang
menari jaipong. Demikian juga pada pergelangan kaki, idealnya adalah juga
memiliki kemampuan gerakan polar. Untuk robot binatang (animaloid) seperti
serangga, jumlah kaki dapat didisain lebih dari empat. Bahkan robot ular dapat
memiliki DOF yang lebih dari 8 sesuai dengan panjang robot (ular) yang
didefinisikan.

Sistem tangan

System tangan adalah bagian atau anggota badan robot selain sistem roda
atau kaki. Dalam konteks mobile robot, bagian tangan ini dikenal sebagai
manipulator yaitu sistem gerak yang berfungsi untuk memanipulasi (memegang,
mengambil, mengangkat, memindah atau mengolah) obyek. Pada robot industri
fungsi mengolah ini dapat berupa perputaran (memasang mur-baut,
mengebor/drilling, milling, dll.), tracking (mengelas, membubut, dsb.) ataupun
mengaduk (kontrol proses). Untuk robot tangan, disain sendi-lengan diukur
berdasarkan DOF. Lengan dapat dibuat kaku/tegar (rigid) ataupun fleksibel
(flexible manipulator). Sistem tangan memiliki bagian khusus yang disebut
sebagai gripper atau grasper (pemegang). Untuk grasper yang didisain seperti jari
tangan manusia, derajat kebebasannya dapat terdiri lebih dari 16 DOF (3 DOF
untuk jari kelingking, manis, tengah, telunjuk, dan 4 DOF untuk jari jempol),
tidak termasuk gerakan polar pada sendi pergelangan.

II-4
Robotika Teknik Desain dan Pemodelan Robot

Real World

Real World atau dunia nyata didefinisikan sebagai daerah kerja


(workspace) daripada robot. Robot yang tersusun dari tangan/ manipulator saja
memiliki workspace yang terbatas sesuai panjang jangkauan tangannya. Untuk
robot beroda atau berkaki, workspace-nya menjadi relatif tak terbatas tergantung
kemampuan jelajahnya. Dengan menggabung robot tangan ke atas mobile robot
maka daerah kerja untuk navigasi dan manipulasi dapat digabung dengan baik.
Navigasi dasar dapat berupa mengikuti jalur di jalan (seperti line-follower atau
route-runner robot, model labirin pada robot tikus, robot marka jalan berbasis
vision, dsb.), berjalan menuju ke obyek atau sasaran (menggunakan sensor radar,
sonar, kamera, proximity, dsb.), ataupun berjalan menuju sasaran dengan
menghindari halangan (obstacle). Untuk bagian tangan, tugasnya dapat berupa
tracking mengikuti referensi trajektori, menuju atau menghindari obyek berbasis
vision, dan segala terminologi manipulasi yang mungkin dilakukan sesuai dengan
tool pada posisi TIP atau ujung/pergelangan tangan. Untuk mode kerja multi-
robot, kemampuan navigasi dan manipulasi ini dapat digabungkan secara simultan
untuk membentuk fungsi atau tugas baru yang diselesaikan secara gotong-royong
antar robot.

2.3. Sistem kontrol

2.3.1. Rangkaian Kontroler berbasis Prosesor/Mikrokontroler

Sistem kontrol robot menggunakan kontroller berbasis prosesor atau


sistem mikrokontroler

II-5
Robotika Teknik Desain dan Pemodelan Robot

Gambar II-2. Sistem Robot dengan Kontroler berbasis prosesor

Terminal input dan output merupakan interpretasi besaran dari sistem


interfacing yang digunakan . Jika outputmenghendaki besaran analog maka
kontroler perlu dilengkapi dengan komponen Digital to Analog Converter jika
dikehendaki pengolahan data sensor analog maka kontroler harus dilengkapi
dengan Analog to DIgital Converter (ADC).

Secara umum deskripsi kontroller berbasis lengkap dengan user interface


memiliki bagian bagian;

Gambar II-3. Kontroler berbasis prosesor dengan ucer interface

II-6
Robotika Teknik Desain dan Pemodelan Robot

1. Input On/Off

Input kategori ini bekerja dalam dua keadaan yaitu ON atau OFF (1/0)
berdasarkan level tegangan TTL (Transistor Transistor LOgic) 5V untuk logika 1,
dan 0V untuk logika 0. Dalam rangkaian yang sebernarnya, tegangan logika
terukur tidak selalu ekstrim 5V atau 0V. Untuk sistem dengan rangkaian
dilengkapi Vcc +5V dengan semua komponen IC berorientasi CMOS (
COmplementary Metal Oxyde Semiconductor) logika 1 memiliki jangkauan 3,5 -
5V dan logika 0 besarnya 0-0,7 V.

2. Input Analog

Kontroler merupakan komponen pengolah ADC untuk dapat


mengakomodasi input analog ini. Beberapa type processor kelas mikrokontroller
telah memiliki fasilitas ADC didalam Chip ICnya. Jadi user tidak perlu membuat
Chip ADC dilua processor. Sbenarnya semua fenomena lingkungan robot yang
akan dideteksi adalah bersiat analog meskipun dalam representasi kadang cukup
dinyatakan dalam dua keadaan ON/OFF saja. Misalnya jalur terang dilantai
gelap, definsii terang dan gelap dapat dinyatakan langsung sebagai 2 keadaan.
Namun jika terdaat berbagai warna jalur yang mengindikasikan lebih dari 2
keadaan maka representasi ON/OFF diperlukan dalam hal ini pengolahan secara
analog diperlukan

3. Pengolahan Khusus Sistem Bus

Beberapa macam sensor tidak dapat langsung dihubungkan ke input port


digital ataupun analog tanpa bantuan rangkaian penyelaras atau konverter khusus.
Contohnya sinyal output sensor kecepatan dan posisi pada motor DC Servo
biasanya berbentuk pulsa yang nilainya sebanding dengan putaran poros motor.
Dalam kasus ini sinyal sensor harus dikonversi sedemikian rupa sehingga kontoler
dapat menerima atau membaca sensor dalam bentuk yang siap diprose

4.Output ON/OFF

II-7
Robotika Teknik Desain dan Pemodelan Robot

Sinyal output yang berorientasi secara ON/OFF hanya memiliki 2 keadaan


yaitu logika 1 dan logik 0

Terdapat beragai aktator dasar yang beroperasi cukup dengan kondisi


ON/OFF saja. Misalnya solenoid, relay untuk mengemudikan arus besar,
kontaktor magnet, sistem alarm seperti LED, valve dalam pneumatic maupun
hidraulic,dll

5.Output Ananlog

Output analog berguna untuk mengendalikan aktuator yang bekerja


berdasarkan besaran linier seperti misalnya motor DC/AC , heater, linier
controlled valve untuk pneumatic dan hidraulik dan sebagainya. Kontroler pada
dasarnya beroperasi secara digital harus menggunakan konverter untuk
mendapatkan sinyal aktuasi dalam besaran analog. kompnen konverter ini dikenal
sebagai DAC.

6. User Interface

untuk rancangan kontroller yang mudah diakses oleh operator sistem perlu
dilengkapi dengan perangkat user interface. User interface dapat dibedakan dalam
2 macam yaitu perangkat untuk mengakses kontroler / entry data dan perangkat
visual untuk mengetahui kerja kontroller

7. Wirelles COmunication / Komunikasi Nirkabel

Perangkat kategori ini sebetulnya adalah pengembangan user interface.


Dalam kajian kajian hubungan antar robot dan hubungan antar manusia dengan
robot teknologi komunikasi tanpa kabel ini menjadi sangat penting. Robot
diharapkan dapat berkomunikasi dengan robto lain ataupun manusia tanpa
menggunakan kabel.

Dalam hal ini dapat digunakan dengan mudah menggunalan Worelles


LAN. Sepeti yang diketahui jaringan kompter didunia ini telah establish sehingga

II-8
Robotika Teknik Desain dan Pemodelan Robot

setiap perangkat elektronis yang terhubung ke jaringan komputer pada dasarnya


daat diakses di seluruh dunia

2.4. Mekanik

2.4.1. Pengertian Mekanik

Mekanik adalah ilmu yang mempelajari gaya yang bekerja pada sebuah
benda.

2.4.2. Roda Gear

Roda gigi merupakan komponen penting ketika kita akan membuat robot.
Penggunaan roda gigi dalam robot sangat berpengaruh terhadap 2 parameter
penting yaitu torsi dan kecepatan.

2.4.2.1.Torsi

Torsi merupakan perkalian dari f gaya (beban) dengan r jari-jari (panjang


lengan dari poros). Sebagai contoh, jika beban yang harus diputar sebesar 10 N
dan panjang lengan adalah 10 cm maka besar Torsi adalah 1 Nm. Jika ukuran
beban dan panjang lengan sesuai contoh diatas dan motor yang Anda miliki hanya
memiliki torsi maksimum sebesar 0,75 Nm maka dapat dipastikan bahwa motor
Anda tidak akan berputar. Permasalahan tersebut dapat diselesaikan dengan
menggunakan kombinasi roda gigi.

Gambar II-4. Torsi

II-9
Robotika Teknik Desain dan Pemodelan Robot

2.4.2.2.Torsi vs Kecepatan

Kecepatan dan torsi adalah 2 parameter yang menjadi ukuran bagi suatu
motor. dua hal tersebut dapat kita temui pada datasheet dai motor tersebut tetapi
seringkali torsi atau kecepatan yang dihasilkan oleh motor yang dijual di pasar
tidak memenuhi aktuator robot yang akan dibuat. Di sinilah peran roda gigi untuk
mengkonversi torsi dan kecepatan agar sesuai dengan keinginan.

Salah satu keuntungan dari pemakaian roda gigi adalah kita dapat
mengubah kecepatan tinggi menjadi torsi tinggi.

Torsi1 x kecepatan1 = torsi2 x kecepatan2

Torsi1 dan kecepatan1 merupakan parameter output dari motor sedangkan


torsi2 dan kecepatan2 merupakan parameter output roda gigi pada poros output
(biasanya yang terhubung ke roda).

Sebagai contoh, jika motor anda mempunyai parameter output sesuai data
sheet, torsi sebesar 3 Nm dan kecepatan sebesar 2000 rps (round per second)
dengan kecepatan minimum sebesar 1000 rps sedangkan anda menginginkan torsi
sebesar 20 Nm, sesuai perhitungan kecepatan yang akan kita dapatkan adalah 300
rps.dapat kita amati dari contoh tersebut bahwa untuk mendapatkan torsi yang
ideal (lebih besar) maka harus mengorbankan kecepatan.

Hal yang perlu diperhatikan dalam desain mekanik robot adalah


perhitungan kebutuhan torsi untuk menggerakkan sendi atau roda. Salah satu
metode yang paling umum ialah menggunakan sistim gear seperti tampak pada
gambar.

Pada gambar, N1 adalah jumlah gigi pada gear poros motor, N2 adalah
jumlah gigi pada poros output,τ1 ialah torsi pada poros motor dan τ2 ialah torsi
pada poros output.

Torsi output dapat dihitung dengan rumus :

II-10
Robotika Teknik Desain dan Pemodelan Robot

τ2 = N2/N1 + τ1

Sedangkan putaran output dapat dihitung :

Putaranout = x Putaran Motor

2.4.2.3.Rasio Roda Gigi

Salah satu cara mudah untuk mengimplementasikanperhitungan di atas


dengan menggunakan sepasang roda gigi dengan diameter yang berbeda. Bila
menggunakan sepasang roda gigi dengan diameter besar maka didapatkan gerakan
yang lebih lambat tetapi torsinya lebih besar. Semakin besar perbedaan diameter
di antara roda gigi yang berpasangan maka semakin besar perbedaan antara
kecepatan dan torsi yang dihasilkan masing-masing roda gigi.

Diameter Roda Gigi Torsi


Rasio Roda gigi = =
Diameter Roda Gigi Torsi

Rasio roda gigi bisa dicari dengan menghitung perbandingan antara


diameter masing-masing roda gigi. Cara yang lain adalah dengan menghitung
perbandingan jumlah gerigi keliling luar masing-masing roda gigi. Cara terakhir
akan memberikan hasil yang lebih akurat.

Jumlah Gerigi Roda Gigi


Rasio Roda gigi =
Jumlah Gerigi Roda Gigi

2.4.2.4.Arah Putaran Roda Gigi

Didalam membuat sistem roda gigi diharuskan dapat memperkirakan


bagaimana arah perputaran roda gigi tersebut. Sebagai contoh, apabila
mempunyai 2 buah roda gigi yang terhubung langsung, bila salah satu berputar
searah jarum jam maka yang lain pasti berputar berlawanan arah jarum jam.
Kemudian bagaimana arah dari roda gigi terakhir apabila system roda gigi
tersebut mempunyai 20 buah roda gigi yang saling terhubung secara langsung.
Rumus yang digunakan untuk permasalahan tersebut adalah bila jumlah roda gigi

II-11
Robotika Teknik Desain dan Pemodelan Robot

genap maka putaran roda gigi terakhir akan berlawanan arah dengan roda gigi
pertama. Sedangkan apabila jumlah gigi ganjil maka putaran roda gigi terakhir
akan selalu searah dengan roda gigi pertama.

2.4.3. Jenis Roda Gigi

2.4.3.1.Spur Gear

Kombinasi roda gigi ini banyak dipakai karena pemasangannya yang


mudah dan efisiensinya cukup tinggi. Salah satu bentuk penggunaan yang harus
dihindari adalah pada beban berat karena dapat merusak geriginya. Efisiensi yang
diberikan oleh kombinasi roda gigi ini berkisar 90% tergantung datasheet
komponen.

Gambar II-5. Spur Gear

2.4.3.2.Sproket gears dengan rantai

Kombinasi antara 2 buah roda gigi dengan menggunakan rantai atau


menggunakan timing belt dapat dianggap sebagai kombinasi antara 3 buah roda
gigi. Arah putaran dari salah satu roda gigi selalu sama seperti roda gigi lainnya
karena jumlah roda gigi setara dengan 3. Kombinasi ini bergerak seperti spur gear
tetapi mempunyai efisiensi yang sangat rendah karena besarnya area kontak
sehingga friksi yang terjadi meningkat. Efisiensi sebesar 80%.

II-12
Robotika Teknik Desain dan Pemodelan Robot

Gambar II-6. Sproket Gear

2.4.3.3.Bevel Gear

Kombinasi bevel sangat bagus digunakan untuk operasi yang


membutuhkan sudut rotasi, hanya saja mempunyai efisiensi yang buruk sekitar
70%. Jadi direkomendasikan untuk tidak memakai roda gigi ini.

Gambar II-7. Bevel gear

2.4.3.4.Rack dan Pinion

Kombinasi roda gigi ini banyak ditemukan dalam system pengemudian.


Kombinasi roda gigi ini sangat bagus untuk mengubah gerak rotasi menjadi gerak
translasi. Efisiensi sebesar 90%.

II-13
Robotika Teknik Desain dan Pemodelan Robot

Gambar II-8. Rack dan Pinion

2.4.3.5.Worm Gear

Efisiensi kombinasi roda gigi ini cukup rendah, sekitar 70%. Kombinasi
ini mempunyai rasio cukup tinggi. Keuntungan lainnya tidak bisa back-driveable
sehingga yang bisa memutar roda gigi adalah worm yang terpasang pada motor
sehingga hal seperti gravitasi atau gaya lainnya tidak bisa memutar pada roda gigi.
Keuntungan ini hamper mirip motor servo yang biasa digunakan untuk menahan
beban pada robot tangan.

Gambar II-9. Worn Gear

II-14
Robotika Teknik Desain dan Pemodelan Robot

2.4.3.6.Planetary Gear

Kombinasi roda gigi mempunyai rasio roda gigi yang sangat tinggi dan
mempunyai efisiensi sekitar 80%.

Gambar II-10. Planetary Gear

2.4.3.7.Roda Pulley

Roda pulley berbentuk roda gigi tetapi tidak mempunyai gerigi dengan
rongga di sisi luarnya. Fungsinya adalah untuk mentransmisikan gaya pada jarak
jauh dan jika diameter antara 2 buah pulleyberbeda maka fungsinya sama dengan
rantai roda gigi. Dua buah pulley terhubung satu sama lain dengan menggunakan
belt drive yang elastis. Belt drive dapat terpasang terbalik dan dapat digunakan
untuk menghubungkan puli yang mempunyai sudut rotasi berbeda sesuai posisi
poros. Kelemahannya adalah putusnya puli karena beban terlalu berat ataukah slip
karena jarak antarpuli besar.

II-15
Robotika Teknik Desain dan Pemodelan Robot

Gambar II-11. Konfigurasi roda pulley

2.4.4. Aktuator Robot

2.4.4.1.Fungsi Aktuator

Aktuator adalah bagian yang berfungsi sebagai penggerak dari perintah


yang diberikan oleh input. Aktuator elektronik biasanya merupakan piranti
elektomekanik yang menghasilkan daya gerakan. Aktuator terdiri dari 2 jenis,
yaitu Aktuator Elektronik Aktuator Pneumatik/Hidrolik.

Aktuator elektrik yang sering digunakan sebagai penghasil gerak rotasi,


seperti motor DC Brushless.

2.4.4.2.Motor DC Brushless

Motor Brushless Direct Current (BLDC) merupakan motor yang sering


digunakan dalam dunia industri, misalnya permobilan, otomasi medis, dan
peralatan instrumentasi. Motor BLDC tidak menggunakan sikat untuk pergantian
medan magnet (komutasi),tetapi dilakukan secara elektronic commutated.
Keuntungan penggunaan motor BLDC antara lain:

1. Kecepatan yang lebih baik untuk melawan karakteristik tenaga putaran

2. Tanggapan dinamis tinggi

II-16
Robotika Teknik Desain dan Pemodelan Robot

3. Efisiensi tinggi

4. Tahan lama sehingga usia pakainya lebih lama

5. Nyaris tanpa suara bila dioperasikan

6. Speed range yang lebih luas

2.4.4.3.Konstruksi dan Cara kerja motor DC Brushless

Konstuksi sederhana dari motor terdiri dari medan magnet yang tetap yang
berada pada rotor yang dikelilingi oleh tiga medan magnet gulungan pada stator.

Stator

Motor DC Brushless terdiri dari tumpukan baja laminasi dengan lilitan


yang ditempatkan pada slot. BLDC motor mempunyai tiga gulungan stator yang
dihubungkan secara bintang. Masing-masing lilitan dibangun dengan banyak koil
yang saling berhubungan sehingga membentuk suatu gulungan. Satu atau lebih
koil ditempatkan pada satu slot dan mereka saling berhubungan untuk membuat
suatu gulungan . masing-masing lilitan dibagi-bagikan di atas batas luar stator
untuk membentuk bilangan genap kutub. Untuk lebih jelas mengenai susunan tiga
gulungan stator U,V,W yang disusun secara bintang, lihat gambar

Rotor

Rotor pada motor DC Brushless terdiri dari magnet yang berjumlah ganjil.
Jumlah kutub magnet di rotor juga mempengaruhi pergerakan dan torsi yang
dihasilkan oleh motor. semakin banyak kutub maka pergerakan motor akan
semakin halus dan riple torsinya kecil.

II-17
Robotika Teknik Desain dan Pemodelan Robot

Gambar II-12. Konfigurasi Motor BLDC

2.5. Mekanika Dasar

Mekanika dapat dibagi menjadi 2 yaitu : kinematika dan dinamika

Kinematika adalah cabang dari mekanika yang membahas gerakan benda


tanpa mempersoalkan gaya dinamika, tapi mempersoalkan gaya yang
mempengaruhi gerakan atau penyebab gerakan.Sedangkan dinamika
mempersoalkan gaya yang dipengaruhi oleh gerakan.

Dalam mekanik ini sangat erat kaitannya dengan pelajaran matematika dan
fisika karena untuk menjadi seorang mekanik kita harus pandai berhitung karena
untuk membuat sesuatu/ dalam kata lain berkarya, pasti banyak yang akan
diperhitungkan dalam proses pembuatannya.

Sehari-hari kita sering melihat motor, mobil, pesawat dan kendaraan


beroda lainnya. Coba bayangkan jika kendaraan tersebut tidak mempunyai
roda,..? pasti tidak mungkin bisa digunakan sebagai fungsinya, Mobil dan motor
bisa berpindah dengan mudah karena bantuan roda yang berbentuk bulat, begitu
pun pesawat tidakk bisa lepas landas jika terjadi kerusakan pada fungsi rodanya.
Disinilah terlihat betapa pentingnya mekanik.

II-18
Robotika Teknik Desain dan Pemodelan Robot

2.6. Sensor

Terdapat berbagai macam sensor yang digunakan dalam teknik robotik.


Keberagaman ini termaksud dalam hal cara pengukuran dan cara interfacing ke
kontroler.

Dari sudut pandang robot, sensor dapat diklasifikasikan dalam dua kategori,
yaitu sensor lokal (on-board) yang dipasang di tubuh robot,dan sensor global,
yaitu sensor yang diinstal diluar robot tapi masih dalam
lingkungannya(environment) dan data sensor global ini dikirim balik robot
melalui nirkabel. Dalam skala besar contoh sensor global ini adalah kamera yang
terpasang pada satelit GPS yang mampu menangkap citra di lingkungan robot
jauh dari atas.

2.6.1. Sensor Robot

Sensor adalah peranti yang menerima input berupa suatu besaran/sinyal


fisik yang kemudian mengubahnya menjadi besaran/sinyal lain yang diteruskan ke
kontroler. Terdapat banyak jenis sensor yang digunakan pada robot. Bahasan ini
akan meliputi beberapa jenis sensor yang digunakan terutama pada mobile robot
dan lebih dititikberatkan pada antarmuka dengan kontroler.

Dari segi tipe output dan aplikasi sensor dapat diklasifikasikan seperti
pada tabel berikut.

Tabel II-1. Klasifikasi sensor berdasarkan tipe output.

Output Sensor Contoh Aplikasi/sensor


Biner (1/0) Sensor Tacteli(limit switch, TX-RX,Infra merah)
Analog, misal (0-5)volt Sensor temperatur, accelerometer
Pulsa, misal PWM Giroskop (Gyroscope) digital
Data Serial (RS 232,dan Modul Global Position System (GPS)
USB)
Jalur Paralel/bus Kamera Digital, rotary encoder dilengkapi dengan
IC.

II-19
Robotika Teknik Desain dan Pemodelan Robot

Sensor juga dapat diklasifikasikan berdasarkan aplikasinya seperti terlihat pada


Tabel 0-1.

Tabel II-2. Klasifikasi sensor berdasarkan tipe aplikasi

Lokal Global
Internal Pasif : sensor batere,
temperatur, enkoder
poros, akselerometer,
giroskop, inklinometer,
kompas Aktif
External Pasif : kamera on-board Pasif : kamera overhead,
Aktif : sensor sonar, satelit GPS Aktif : sonar
inframerah, pemindai GPS
laser

Besaran fisik yang diindra oleh sensor bisa berasal dari lingkungan di luar
robot (sensor eksternal) ataupun keadaan dari robot itu sendiri (sensor internal).
Sensor internal biasanya digunakan untuk memonitor posisi dan/atau kecepatan
serta torsi pada sendi robot.

Dari sisi robot sensor dibedakan menjadi

1. Sensor lokal (on-board) : yang terpasang pada robot

2. Sensor global : yang terpasang di lingkungan yang mengirimkan data ke


robot

Selain kedua hal di atas, sensor juga dibedakan menjadi :

1. sensor pasif : yang memonitor lingkungan tanpa mengganggunya

2. sensor aktif : yang memberikan stimulasi ke lingkungan dalam


pengukurannya.

2.6.2. Sensor Biner

Sensor biner menghasilkan output 1 atau 0 saja. Setiap perangkat sensor pada
dasarnya dapat dioperasikan secara biner dengan menggunakan sistem threshold
atau komparasi pada outputnya. Contoh paling dasar adalah limit swith yang

II-20
Robotika Teknik Desain dan Pemodelan Robot

dioperasikan sebagai sensor tabrak yang biasa dipasang di bumper robot. Gambar
dibawah adalah contoh rangkaian limit switch yang berfungsi sebagai sensor
sentuh/tabrak.

Gambar II-13. Rangkaian limit switch

2.6.3. Sensor Analog

Fenomena analog yang biasa diukur di dalam sistem internal robot


berhubungan dengan posisi, kecepatan, percepatan, kemiringan/kebocoran, dsb.
Sedangkan yang diukur dari luar sistem robot banyak berhubungan dengan
penetaan posisi koordinat robot terhadap refransi ruang kerja, misalnya posisi
robot terhadap lintang bujur bumi, posisi obstalce yang berada diluar jangkauan
robot, dan sebagainya. Sebagai contoh, sensor GPS yang diinstal di sistem
environvent dapat memberikan data posisi (dalam representasi analog) ke robot
via komunikasi.

2.6.3.1.Potensiometer

Komponen ini adalah sensor analog yang paling sederhana namun sangat
berguna untuk mendeteksi posisi putaran, misalnya kedudukan sudut poros
aktuator berdasarkan nilai resistansi pada putaran porosnya. Gambar berikut ini

II-21
Robotika Teknik Desain dan Pemodelan Robot

adalah sebuah potensiometer presisi yang dipasang pada poros sendi lengan robot
tangan.

Gambar II-14. Potensiometer sebagai sensor posisi

Yang perlu diperhatikan dalam penggunaan potensiometer sebagai sensor


analog adalah masalah linieritas output terhadap besaran yang diukurnya. Jika
yang diukur adalah sudut maka nilai perubahan resistansi yang direpresentasi
dalam perubahan tegangan output harus berbanding lurus dengan perubahan sudut
yang dideteksi. Gambar berikut mengilustrasikan keadaan ini. k adalah konstanta
konversi tegangan output potensiometer ke besaran sudut. Sebagai contoh, Vout
mempunyai jangkauan (0-3volt) sedang sudut diukur adalah (0-300°), maka
putaran 1° dan 10° adalah setara dengan perubahan tegangan output sebesar

Vout1°= (1/300)3V = 0,01V, dan

Vout10°= (10/300)3V = 0,1V,

II-22
Robotika Teknik Desain dan Pemodelan Robot

2.6.4. Rotary/Shaft Encoder

Rotary encoder adalah divais elektromekanik yang dapat memonitor


gerakan dan posisi. Rotary encoder umumnya menggunakan sensor optik untuk
menghasilkan serial pulsa yang dapat diartikan menjadi gerakan, posisi, dan arah.
Sehingga posisi sudut suatu poros benda berputar dapat diolah menjadi informasi
berupa kode digital oleh rotary encoder untuk diteruskan oleh rangkaian kendali.
Rotary encoder umumnya digunakan pada pengendalian robot, motor drive, dsb.

Rotary encoder tersusun dari suatu piringan tipis yang memiliki lubang-
lubang pada bagian lingkaran piringan. LED ditempatkan pada salah satu sisi
piringan sehingga cahaya akan menuju ke piringan. Di sisi yang lain suatu photo-
transistor diletakkan sehingga photo-transistor ini dapat mendeteksi cahaya dari
LED yang berseberangan. Piringan tipis tadi dikopel dengan poros motor, atau
divais berputar lainnya yang ingin kita ketahui posisinya, sehingga ketika motor
berputar piringan juga akan ikut berputar. Apabila posisi piringan mengakibatkan
cahaya dari LED dapat mencapai photo-transistor melalui lubang-lubang yang
ada, maka photo-transistor akan mengalami saturasi dan akan menghasilkan suatu
pulsa gelombang persegi. Gambar II-16 menunjukkan bagan skematik sederhana
dari rotary encoder. Semakin banyak deretan pulsa yang dihasilkan pada satu
putaran menentukan akurasi rotary encoder tersebut, akibatnya semakin banyak
jumlah lubang yang dapat dibuat pada piringan menentukan akurasi rotary
encoder tersebut.

Gambar II-15. Blok penyusun rotary encoder

II-23
Robotika Teknik Desain dan Pemodelan Robot

Rangkaian penghasil pulsa (Gambar II-17) yang digunakan umumnya


memiliki output yang berubah dari +5V menjadi 0.5V ketika cahaya diblok oleh
piringan dan ketika diteruskan ke photo-transistor. Karena divais ini umumnya
bekerja dekat dengan motor DC maka banyak noise yang timbul sehingga
biasanya output akan dimasukkan ke low-pass filter dahulu. Apabila low-pass
filter digunakan, frekuensi cut-off yang dipakai umumnya ditentukan oleh jumlah
slot yang ada pada piringan dan seberapa cepat piringan tersebut berputar,
dinyatakan dengan:

60

Dimana fc adalah frekuensi cut-off filter, sw adalah kecepatan piringan dan


n adalah jumlah slot pada piringan.

Gambar II-16. Rangkaian tipikal penghasil pulsa pada rotary encoder

Terdapat dua jenis rotary encoder yang digunakan, Absolute rotary


encoder dan incremental rotary encoder. Masing-masing rotary encoder ini akan
dipaparkan pada bagian berikutnya.

II-24
Robotika Teknik Desain dan Pemodelan Robot

2.6.4.1.Absolute Rotary Encoder

Absolute encoder menggunakan piringan dan sinyal optik yang diatur


sedemikian sehingga dapat menghasilkan kode digital untuk menyatakan
sejumlah posisi tertentu dari poros yang dihubungkan padanya. Piringan yang
digunakan untuk absolut encoder tersusun dari segmen-segmen cincin konsentris
yang dimulai dari bagian tengah piringan ke arah tepi luar piringan yang jumlah
segmennya selalu dua kali jumlah segmen cincin sebelumnya. Cincin pertama di
bagian paling dalam memiliki satu segmen transparan dan satu segmen gelap,
cincin kedua memiliki dua segmen transparan dan dua segmen gelap, dan
seterusnya hingga cincin terluar. Sebagai contoh apabila absolut encoder memiliki
16 cincin konsentris maka cincin terluarnya akan memiliki 32767 segmen.
Gambar 3 menunjukkan pola cincin pada piringan absolut encoder yang memiliki
16 cincin.

Gambar II-17. Contoh susunan pola 16 cincin konsentris pada absolute encoder

Karena setiap cincin pada piringan absolute encoder memiliki jumlah


segmen kelipatan dua dari cincin sebelumnya, maka susunan ini akan membentuk
suatu sistem biner. Untuk menghasilkan sistem biner pada susunan cincin maka
diperlukan pasangan LED dan photo-transistor sebanyak jumlah cincin yang ada
pada absolut encoder tersebut.

II-25
Robotika Teknik Desain dan Pemodelan Robot

Gambar II-18. Contoh piringan dengan 10 cincin dan 10 LED photo transistor
untuk membentuk sistem biner 10 bit.

Sistem biner yang untuk menginterpretasi posisi yang diberikan oleh


absolute encoder dapat menggunakan kode gray atau kode biner biasa, tergantung
dari pola cincin yang digunakan. Untuk lebih jelas, kita lihat contoh absolut
encoder yang hanya tersusun dari 4 buah cincin untuk membentuk kode 4 bit.
Apabila encoder ini dihubungkan pada poros, maka photo-transistor akan
mengeluarkan sinyal persegi sesuai dengan susunan cincin yang digunakan.
Gambar 5 dan 6 menunjukkan contoh perbedaan diagram keluaran untuk absolute
encoder tipe gray code dan tipe binary code.

Gambar II-19. Contoh diagram keluaran absolute encoder 4-bit type gray kode

Dengan absolute encoder 4-bit ini maka kita akan mendapatkan 16


informasi posisi yang berbeda yang masing-masing dinyatakan dengan kode biner

II-26
Robotika Teknik Desain dan Pemodelan Robot

atau kode gray tertentu. Tabel 1 menyatakan posisi dan output biner yang
bersesuaian untuk absolut encoder 4-bit. Dengan membaca output biner yang
dihasilkan maka posisi dari poros yang kita ukur dapat kita ketahui untuk
diteruskan ke rangkaian pengendali. Semakin banyak bit yang kita pakai maka
posisi yang dapat kita peroleh akan semakin banyak.

Gambar II-20. Contoh diagram keluaran absolut encoder 4-bit tipe binary code

2.6.4.2.Incremental Rotary Encoder

Incremental encoder terdiri dari dua track atau single track dan dua sensor
yang disebut channel A dan B (Gambar II-22). Ketika poros berputar, deretan
pulsa akan muncul di masing-masing channel pada frekuensi yang proporsional
dengan kecepatan putar sedangkan hubungan fasa antara channel A dan B
menghasilkan arah putaran. Dengan menghitung jumlah pulsa yang terjadi
terhadap resolusi piringan maka putaran dapat diukur. Untuk mengetahui arah
putaran, dengan mengetahui channel mana yang leading terhadap channel satunya
dapat kita tentukan arah putaran yang terjadi karena kedua channel tersebut akan
selalu berbeda fasa seperempat putaran (quadrature signal). Seringkali terdapat
output channel ketiga, disebut INDEX, yang menghasilkan satu pulsa per putaran
berguna untuk menghitung jumlah putaran yang terjadi.

II-27
Robotika Teknik Desain dan Pemodelan Robot

Gambar II-21. susunan piringan untuk incremental encoder

Contoh pola diagram keluaran dari suatu incremental encoder ditunjukkan


pada Gambar II-23. Resolusi keluaran dari sinyal quadrature A dan B dapat dibuat
beberapa macam, yaitu 1X, 2X dan 4X. Resolusi 1X hanya memberikan pulsa
tunggal untuk setiap siklus salah satu sinya A atau B, sedangkan resolusi 4X
memberikan pulsa setiap transisi pada kedua sinyal A dan B menjadi empat kali
resolusi 1X. Arah putaran dapat ditentukan melalui level salah satu sinyal selama
transisi terhadap sinyal yang kedua. Pada contoh resolusi 1X, A = arah bawah
dengan B = 1 menunjukkan arah putaran searah jarum jam, sebaliknya B = arah
bawah dengan A = 1 menunjukkan arah berlawanan jarum jam.

Gambar II-22. Contoh pola keluaran incremental encoder

II-28
Robotika Teknik Desain dan Pemodelan Robot

Gambar II-23. output dan arah putaran pada resolusi yang berbeda-beda

Pada incremental encoder, beberapa cara dapat digunakan untuk


menentukan kecepatan yang diamati dari sinyal pulsa yang dihasilkan.
Diantaranya adalah

menggunakan frequencymeter dan periodimeter.

Cara yang sederhana untuk menentukan kecepatan dapat dengan


frequencymeter, yakni menghitung jumlah pulsa dari encoder, n, pada selang
waktu yang tetap, T, yang merupakan periode loop kecepatan (Gambar II-25).
Apabila α adalah sudut antara pulsa encoder, maka sudut putaran pada suatu
periode adalah:
af = na

Sehingga kecepatan putar akan kita dapatkan sebagai:


af

Kelemahan yang muncul pada cara ini adalah pada setiap periode sudut αf
yang didapat merupakan kelipatan integer dari α. Ini akan dapat menghasilkan
quantification error pada kecepatan yang ingin diukur.

II-29
Robotika Teknik Desain dan Pemodelan Robot

Gambar II-24. Sinyal keluaran encoder untuk pengukuran kecepatan dengan


frequencymeter

Cara yang lain adalah dengan menggunakan periodimeter. Dengan cara ini
kita akan mengukur kecepatan tidak lagi dengan menghitung jumlah pulsa
encoder tetapi dengan menghitung clock frekuensi tinggi (HF Clock) untuk
sebuah pulsa dari encoder yaitu mengukur periode pulsa dari encoder (Gambar
11). Apabila αp adalah sudut dari pulsa encoder, t adalah periode dari HF clock,
dan n adalah jumlah pulsa HF yang terhitung pada counter. Maka waktu untuk
sebuah pulsa encoder, Tp, adalah:

Tp=nt

Sehingga kecepatan yang akan kita ukur dapat kita peroleh dengan:

Seperti halnya pada frequencymeter, disini juga muncul quantification


error karena waktu Tp akan selalu merupakan perkalian integer dengan t.

Gambar II-25. Pengukuran kecepatan dengan menggunakan Periodimeter

II-30
Robotika Sistem Kendali Robot

BAB III. SISTEM KENDALI ROBOT

3.1. Pengantar

Kontrol adalah bagian yang amat penting dalam robotic. System robotic
tanpa kontrol hanya akan menjadi benda mekanik yang mati. Dalam system
control robotic terdapat dua bagian, yaitu perangkat keras elektronik dalam
perangkat lunak berisi prigram kemudi dan algoritma kontrol.

Secara garis besar, suatu system robot terdiri dari 3 bagian seperti
ditunjukkan pada gambar berikut:

Gambar III-1. Sistem Robotik

Dalam gambar diatas, kontrol adalah bagian yang tak terpisahkan dalam
sistem robotik. Dalam hal ini, sistem kontrol bertugas mengkolaborasikan sistem
elektronik dan mekanik dengan baik agar mencapai fungsi yang dikehendaki.
Pertemuan ketiga bagian tersebut adalah posisi atau bagian dimana terjadi
interaksi antara ketiga bagian tersebut. Sebagai contoh poros motor dan sendi
pada mekanik berhubungan denga rangkaian kontroler dan rangkaian
interface/drive ke motor, dan bagian program kontroler yang melakukan penulisan
data ke alamat motor. Atau sendi

III-1
Robotika Sistem Kendali Robot

Sistem kontrol sendiri memiliki mekanisme kerja seperti yang


diilustrasikan berikut ini.

Gambar III-2. Mekanisme kerja kontroler

Tiga prosedur utama, yaitu baca sensor, proses data sensor, dan mengirim
sinyal aktuasi ke aktuator adalah tugas utama kontroler. Ilustrasi ini
mengisyaratkan bahwa sebenarnya tugas kontroler adalah sederhana. Dengan
membaginya menjadi tiga bagian maka seorang enginer akan lebih mudah dalam
melakukan analisa tentang bagaimana kontroler yang didisainnya bekerja. Meski
dalam program kemudi robot secara lengkap nampak kompleks namun
sebenarnya tetap dapat dibagi kedalam tiga bagian besar itu.

Dalam aplikasi, prosedur “baca sensor” dapat terdiri dari berbagai teknik
yang masing-masing membawa dampak kerumitan dalam pemrograman. Setidak-
tidaknya ada dua macam teknik yang digunakan kontroler dalam menghubungi
sensor, yaitu polling dan interrupt. Teknik polling adalah prosedur membaca data
berdasarkan pengalamatan langsung yang dapat dilakukan kapan saja kontroler
menghendaki. Sedang pada teknik interrupt, kontroler melakukan pembacaan jika
sistem sensor melakukan interupsi, yaitu dengan memberikan sinyal interrupt ke

III-2
Robotika Sistem Kendali Robot

kontroler (via perangkat keras) agar kontroler (CPU) melakukan proses


pembacaan. Selama tidak ada interrupt maka kontroler tidak akan mengakses
sensor tersebut.

Bagian yang berfungsi untuk memproses data sensor adalah bagian yang
paling penting dalam program kontroler. Di sinilah para peneliti dan enginer dapat
dengan leluasa mengembangkan berbagai ide, teori dan teknik bagaimana
membuat robot dapoat bekerja sesuai harapan. Berbagai algoritma kontrol mulai
dari teknik klasik dapat diterapkan. Jika dikehendaki kontrol yang lebih pintar dan
dapat beradaptasi dapat memasukkan berbagai algorithma kontrol adaptive hingga
teknik artificial intelligent.

Bagian ketiga, yaitu prosedur “tulis data” adalah bagian yang berisi
pengalamatan ke aktuator untuk proses penulisan data. Dalam konteks rangkaian
elektronik, data ini adalah sinyal aktuasi ke kontroler seperti berapa besar
tegangan dan arus yang masuk ke motor, dsb.

3.2. Mikrokontroler

Mikrokontroler adalah suatu chip berupa IC (Integrated Circuit) yang


dapat menerima sinyal input, mengolahnya dan memberikan sinyal output sesuai
dengan program yang diisikan ke dalamnya. Sinyal input mikrokontroler berasal
dari sensor yang merupakan informasi dari lingkungan sedangkan sinyal output
ditujukan kepada aktuator yang dapat memberikan efek ke lingkungan. Jadi secara
sederhana mikrokontroler dapat diibaratkan sebagai otak dari suatu
perangkat/produk yang mempu berinteraksi dengan lingkungan sekitarnya.

Mikrokontroler pada dasarnya adalah komputer dalam satu chip, yang di


dalamnya terdapat mikroprosesor, memori, jalur Input/Output (I/O) dan perangkat
pelengkap lainnya. Kecepatan pengolahan data pada mikrokontroler lebih rendah
jika dibandingkan dengan PC. Pada PC kecepatan mikroprosesor yang digunakan
saat ini telah mencapai orde GHz, sedangkan kecepatan operasi mikrokontroler
pada umumnya berkisar antara 1 – 16 MHz. Begitu juga kapasitas RAM dan

III-3
Robotika Sistem Kendali Robot

ROM pada PC yang bisa mencapai orde Gbyte, dibandingkan dengan


mikrokontroler yang hanya berkisar pada orde byte/Kbyte.

Meskipun kecepatan pengolahan data dan kapasitas memori pada


mikrokontroler jauh lebih kecil jika dibandingkan dengan komputer personal,
namun kemampuan mikrokontroler sudah cukup untuk dapat digunakan pada
banyak aplikasi terutama karena ukurannya yang kompak. Mikrokontroler sering
digunakan pada sistem yang tidak terlalu kompleks dan tidak memerlukan
kemampuan komputasi yang tinggi.

Sistem yang menggunakan mikrokontroler sering disebut sebagai


embedded system atau dedicated system. Embeded system adalah sistem
pengendali yang tertanam pada suatu produk, sedangkan dedicated system adalah
sistem pengendali yang dimaksudkan hanya untuk suatu fungsi tertentu. Sebagai
contoh printer adalah suatu embedded system karena di dalamnya terdapat
mikrokontroler sebagai pengendali dan juga dedicated system karena fungsi
pengendali tersebut berfungsi hanya untuk menerima data dan mencetaknya. Hal
ini berbeda dengan suatu PC yang dapat digunakan untuk berbagai macam
keperluan, sehingga mikroprosesor pada PC sering disebut sebagai general
purpose microprocessor (mikroprosesor serba guna). Pada PC berbagai macam
software yang disimpan pada media penyimpanan dapat dijalankan, tidak seperti
mikrokontroler hanya terdapat satu software aplikasi.

Penggunaan mikrokontroler antara lain terdapat pada bidang-bidang berikut ini.

Otomotif : Engine Control Unit, Air Bag, fuel control, Antilock Braking
System, sistem pengaman alarm, transmisi automatik, hiburan,
pengkondisi udara, speedometer dan odometer, navigasi, suspensi aktif

perlengkapan rumah tangga dan perkantoran : sistem pengaman alarm,


remote control, mesin cuci, microwave, pengkondisi udara, timbangan
digital, mesin foto kopi, printer, mouse.

III-4
Robotika Sistem Kendali Robot

pengendali peralatan di industri.

robotika.

Saat ini mikrokontroler 8 bit masih menjadi jenis mikrokontroler yang


paling populer dan paling banyak digunakan. Maksud dari mikrokontroler 8 bit
adalah data yang dapat diproses dalam satu waktu adalah 8 bit, jika data yang
diproses lebih besar dari 8 bit maka akan dibagi menjadi beberapa bagian data
yang masing-masing terdiri dari 8 bit. Contoh mikrokontroler 8 bit antara lain
keluarga Motorolla 68HC05/11, Intel 8051, Microchip PIC 16, dan yang akhir-
akhir ini mulai populer keluarga Atmel AVR. Selain yang telah disebutkan di atas
terdapat juga beberapa seri mikrokontroler lain yang cukup dikenal antara lain
Basic Stamp dari Parallax (banyak digunakan untuk pembelajaran mikrokontroler)
dan HD64180 dari Hitachi (sebagai pengendali LCD). Masing-masing
mikrokontroler mempunyai cara dan bahasa pemrograman yang berbeda,
sehingga program untuk suatu jenis mikrokontroler tidak dapat dijalankan pada
jenis mikrokontroler lain. Untuk memilih jenis mikrokontroler yang cocok dengan
aplikasi yang dibuat terdapat tiga kriteria yaitu:

Dapat memenuhi kebutuhan secara efektif & efisien. Hal ini menyangkut
kecepatan, kemasan/packaging, konsumsi daya, jumlah RAM dan ROM,
jumlah I/O dan timer, harga per unit

Bahasa pemrograman yang tersedia

Kemudahan dalam mendapatkannya

Mikrokontroler bisa dikelompokkan dalam satu keluarga, masing-masing


mikrokontroler memiliki spesifikasi tersendiri, namun tetap kompatibel dalam
pemrogramannya, maksudnya untuk memprogram mikrokontroler kita dapat
menggunakan bahasa pemrograman bahasa C, Delphi, C++, assembler, basic
compiler, dan lain-lain. Misalnya keluarga AVR yang diproduksi oleh Atmel
seperti Atmega8535/16/32,ATTiny2313.

III-5
Robotika Sistem Kendali Robot

Gambar III-3. Mikrokontroler Atmega 16

Pengontrolan berbasis mikrokontroler telah banyak digunakan pada


industri-industri, perusahaan, hotel, dan lain sebagainya. Salah satu contoh
penggunaan mikrokontroler adalah pada lampu pengatur lalu lintas (taffic light).

Sistem kerja pada pemrograman mikrokontroler AVR dapat menggunakan


low level languange (assembly) dan high level language (C, Basis, Pascal, Java,
dll) tergantung kompiler yang digunakan. Bahasa Assembler mikrokontroler AVR
memiliki keamanan kontruksi, sehingga jika suatu pemograman satu jenis
mikrokontroler AVR sudah dievakuasi, maka akan dengan mudah menguasai
pemograman keseluruhan mikrokontroler jenis AVR, namun bahasa assembler
relative lebih sulit dipelajari dari bahasa C, untuk pembuatan suatu proyek yang
besar akan memakan waktu yang lama, serta penulisan programnya panjang.
Sedangkan bahasa C memiliki keunggulan dibandingkan bahasa assembler yaitu
independent terhadap hardware serta lebih mudah untuk menangani proyek besar.
Bahasa C memiliki keuntungan-keuntungan yang dipunyai oleh bahasa mesin
(assembly), hampir semua operasi yang dapat dilakukan oleh bahasa mesin, dapat
dilakukan oleh bahasa C dengan penyusunan program yang lebih sederhana dan
mudah. Bahasa C sendiri sebenarnya terletak diantara bahasa pemograman tingkat
tinggi dan assembly.

III-6
Robotika Sistem Kendali Robot

3.3. Sistem Kontrol Dasar Robotik

3.3.1. Kontrol ON/OFF

Sistem kontrol On/Off, kadangkala disebut sebagai “bang-bang control”,


adalah kontrol yang paling dasar dalam robotik input sensor dan output pada
aktuator dinyatakan dalam dua keadaan yaitu ON/OFF atau logika 1 dan 0.
kestabilan gerak gerak yang diperoleh hanya hanya berdasarkan pada rule
sederhana tetapi mampu menjaga robot dari gerakan yang menyebabkan tracking
error (TE) menjadi membesar.

Gambar berikut mengilustrasikan diagram kontrol loop tertutup


berdasarkan ON/OFF

I/O I/O I/O I/O


Kontroler Robot
ON/OF

Gambar III-4. Kontrol ON/OFF

3.3.2. Kontrol Proportional, Integral, dan Derivatif

Kita akan menggambarkan bentuk pernyataan standar dalam sistem


kontrol seperti pada gambar dibawah berikut. Dalam gambar, r adalah input, e
adalah error, u adalah sinyal output kontroler, G(s) adalah kontroler, H(s) adalah
dinamik robot, dan y adalah output. Sekarang permasalahannya adalah bagaimana
G(s) didisain.

Gambar III-5. Kontrol Loop tertutup

III-7
Robotika Sistem Kendali Robot

3.3.2.1.Kontrol Proporsional (P) untuk motor DC

Kontroler adalah kontrol P jika G(s) = k, dengan k adalah konstanta jika,


u = G(s).e
maka Persamaan output kontroler u
u=Kp.e

Kontrol P untuk sebuah motor dapat diilustrasikan sebagai berikut.

r e u y
Kp Motor

Gambar III-6. Diagram Kontrol P

Dengan Kp adalah konstanta proportional. Kp berlaku sebagai Gain


(Penguat) saja tanpa memberikan efek dinamik pada kinerja kontroler.

Penggunaan kontrol P memiliki berbagai keterbatasan karena sifat kontrol


yang tidak dinamik ini. Walaupun demikian dalam aplikasi aplikasi dasar
sederhana, kontrol P ini cukup mampu untuk konvergensi meskipun error keadaan
tenangnya (steady state) relatif besar.

sebagai contoh, kita akan mengontrol kecepatan putar sebuah motor DC dengan
menggunakan kontrol P, ilustrasinya adalah sebagai berikut.

Gambar III-7. Kontrol P pada motor DC

III-8
Robotika Sistem Kendali Robot

Dalam fungsi t maka output kontroler u(t) dapat ditulis

U(t) = Kp.( ( )− ( ))

Nilai output kontroler tergantung kepada perwakilan antara error, yakni


kecepatan refrensi dikurangi kecepatan aktual, dengan lebih kecil daripada
kecepatan refrensi. Jika error negatif berarti kecepatan aktual lebih besar daripada
kecepatan refrensi.

Jika kecepatan aktual sama dengan kecepatan refrensi maka sinyal output
akan menjadi nol karena error nol, dari sei rangkaian, sinyal output ini akan
menyebabkan motor tidak mendapat sinyal aktuasi lagi. Akibatnya poros motor
akan berhenti berputar. Begitu putaran poros mulai berkurang maka sensor akan
mendeteksi bahwa kecepatan output tidak lagi sama dengan kecepatan refrensi.
Kecepatan aktual akan lebih kecil dari kecepatan refrensi. Artinya error tidak lagi
nol. Akibatnya, kontroler akan mulai lagi mengirim sinyal aktuasi u(t) positif
sehingga motor kembali menambah kecepatannya.

Demikian hai ini berulang seterusnya sehingga error pada kontrol P ini
tidak dapat mempertahankan error selalu nol atau dengan kata lain dalam kondisi
tetap (steady state), error pada kontrol P tidak bisa nol. Hal ini dikenal sebagai
steady state error (ess).

3.3.2.2.Kontrol Integral (I) untuk motor DC

Fungsi dasar dari kontrol I adalah menurunkan stedy state error. Kontrol I
jarang digunakan sendiran dalam aplikasi. Biasanya selalu dikombinasikan
dengan kontrol P untuk memperbaiki respon guna mencapai error minimum.

Parameter kontrol I dapat diilustrasikan dalam diagram kontrol motor


sebagai berikut.

III-9
Robotika Sistem Kendali Robot

Gambar III-8. Diagram Kontrol I

Gabungan kontrol I dengan kontrol P untuk sebuah motor DC dapat


digambarkan sebagai berikut.

Gambar III-9. Kontrol PI pada motor DC

Persamaan output kontroler diatas adalah

= . ( )− ( ) + ( ( )− ( ))

3.3.2.3.Kontrol Derifatif (D) untuk Motor DC

Parameter D bekerja dalam konteks rate/kecepatan dari error sehingga


dapat mengurangi efek overshoot (respon berlebihan) dalam menuju steady state.

III-10
Robotika Sistem Kendali Robot

Dengan kata lain, seolah olah kontrol D mampu memprediksi error yang akan
terjadi sebagai efek dari kecepatan error yang dihitung sebelumnya.

Parameter kontrol D dapat diilustrasikan dalam diagram kontrol motor


sebagai berikut.

Gambar III-10. Diagram Kontrol D

Gabungan kontrol D dengan kontrol P untuk sebuah motor DC dapat


digambarkan sebagai berikut.

Gambar III-11. Kontrol PD pada Motor DC

Sehingga persamaan output kontroler u(t),

( ( )− ( ))
( ) = . ( )− ( ) + .

III-11
Robotika Sistem Kendali Robot

3.3.2.4.Kontrol PID untuk Motor DC

Setelah kita tahu kelebihan dan kekurangan masing-masing kontrol P, I


dan D kita dapat mengkombinasikan ketiganya sebagai kontroler PID untuk
mendapatkan respon yang terbaik.

Gambar berikut menunjukkan skema kombinasi PID dalam sebuah


kontroler untuk motor DC

Gambar III-12. Kontrol PID pada Motor DC

Persamaan output kontroler PID di atas dapat dituliskan

( ) = . ( )− ( )

( ( )− ( ))
+ ( )− ( ) + .

3.4. Sistem Mikrokontroler

3.4.1. Pengantar Mikrokontroler

Mikrokontroler adalah sebuah sistem komputer fungsional dalam sebuah


chip. Di dalamnya terkandung sebuah inti prosesor, memori (sejumlah kecil
RAM, memori program, atau keduanya), dan perlengkapan input output.

III-12
Robotika Sistem Kendali Robot

Dengan kata lain, mikrokontroler adalah suatu alat elektronika digital yang
mempunyai masukan dan keluaran serta kendali dengan program yang bisa ditulis
dan dihapus dengan cara khusus, cara kerja mikrokontroler sebenarnya membaca
dan menulis data. Sekedar contoh, bayangkan diri Anda saat mulai belajar
membaca dan menulis, ketika Anda sudah bisa melakukan hal itu Anda bisa
membaca tulisan apapun baik buku, cerpen, artikel dan sebagainya, dan Andapun
bisa pula menulis hal-hal sebaliknya. Begitu pula jika Anda sudah mahir
membaca dan menulis data maka Anda dapat membuat program untuk membuat
suatu sistem pengaturan otomatik menggunakan mikrokontroler sesuai keinginan
Anda. Mikrokontroler merupakan komputer didalam chip yang digunakan untuk
mengontrol peralatan elektronik, yang menekankan efisiensi dan efektifitas biaya.
Secara harfiahnya bisa disebut “pengendali kecil” dimana sebuah sistem
elektronik yang sebelumnya banyak memerlukan komponen-komponen
pendukung seperti IC TTL dan CMOS dapat direduksi/diperkecil dan akhirnya
terpusat serta dikendalikan oleh mikrokontroler ini.

Mikrokonktroler digunakan dalam produk dan alat yang dikendalikan


secara automatis, seperti sistem kontrol mesin, remote controls, mesin kantor,
peralatan rumah tangga, alat berat, dan mainan. Dengan mengurangi ukuran,
biaya, dan konsumsi tenaga dibandingkan dengan mendesain menggunakan
mikroprosesor memori, dan alat input output yang terpisah, kehadiran
mikrokontroler membuat kontrol elektrik untuk berbagai proses menjadi lebih
ekonomis. Dengan penggunaan mikrokontroler ini maka :

Sistem elektronik akan menjadi lebih ringkas


Rancang bangun sistem elektronik akan lebih cepat karena sebagian
besar dari sistem adalah perangkat lunak yang mudah dimodifikasi
Pencarian gangguan lebih mudah ditelusuri karena sistemnya yang
kompak

Namun demikian tidak sepenuhnya mikrokontroler bisa mereduksi


komponen IC TTL dan CMOS yang seringkali masih diperlukan untuk aplikasi

III-13
Robotika Sistem Kendali Robot

kecepatan tinggi atau sekedar menambah jumlah saluran masukan dan keluaran
(I/O). Dengan kata lain, mikrokontroler adalah versi mini atau mikro dari sebuah
komputer karena mikrokontroler sudah mengandung beberapa periferal yang
langsung bisa dimanfaatkan, misalnya port paralel, port serial, komparator,
konversi digital ke analog (DAC), konversi analog ke digital dan sebagainya
hanya menggunakan sistem minimum yang tidak rumit atau kompleks.

Agar sebuah mikrokontroler dapat berfungsi, maka mikrokontroler


tersebut memerlukan komponen eksternal yang kemudian disebut dengan sistem
minimum. Untuk membuat sistem minimal paling tidak dibutuhkan sistem clock
dan reset, walaupun pada beberapa mikrokontroler sudah menyediakan sistem
clock internal, sehingga tanpa rangkaian eksternal pun mikrokontroler sudah
beroperasi.

Untuk merancang sebuah sistem berbasis mikrokontroler, kita


memerlukan perangkat keras dan perangkat lunak, yaitu:

1. sistem minimal mikrokontroler

2. software pemrograman dan kompiler, serta downloader

Gambar III-13. Sistem Minimal Mikrokontroler

III-14
Robotika Sistem Kendali Robot

Yang dimaksud dengan sistem minimal adalah sebuah rangkaian


mikrokontroler yang sudah dapat digunakan untuk menjalankan sebuah aplikasi.
Sebuah IC mikrokontroler tidakakan berarti bila hanya berdiri sendiri. Pada
dasarnya sebuah sistem minimal mikrokontroler AVR memiliki prinsip yang
sama, yang terdiri dari 4 bagian, yaitu :

1. prosesor, yaitu mikrokontroler itu sendiri


2. rangkaian reset agar mikrokontroler dapat menjalankan program mulai dari
awal
3. rangkaian clock, yang digunakan untuk memberi detak pada CPU
4. rangkaian catu daya, yang digunakan untuk memberi sumberdaya

3.4.2. Sejarah Mikrokontroler

Pada mikrokontroler jenis2 tertentu (AVR misalnya), poin2 pada no 2 ,3


sudah tersedia didalam mikrokontroler tersebut dengan frekuensi yang sudah
diseting dari vendornya (biasanya 1MHz,2MHz,4MHz,8MHz), sehingga
pengguna tidak perlu memerlukan rangkaian tambahan, namun bila ingin
merancang sistem dengan spesifikasi tertentu (misal ingin komunikasi dengan PC
atau handphone), maka pengguna harus menggunakan rangkaian clock yang
sesuai dengan karakteristik PC atau HP tersebut, biasanya menggunakan kristal
11,0592 MHz, untuk menghasilkan komunikasi yang sesuai dengan baud rate PC
atau HP tersebut.

Mikrokontroler pertama kali dikenalkan oleh Texas Instrument dengan


seri TMS 1000 pada tahun 1974 yang merupakan mikrokontroler 4 bit pertama.
Mikrokontroler ini mulai dibuat sejak 1971. Merupakan mikrokomputer dalam
sebuah chip, lengkap dengan RAM dan ROM. Kemudian, pada tahun 1976 Intel
mengeluarkan mikrokontroler yang kelak menjadi populer dengan nama 8748
yang merupakan mikrokontroler 8 bit, yang merupakan mikrokontroler dari
keluarga MCS 48. Sekarang di pasaran banyak sekali ditemui mikrokontroler
mulai dari 8 bit sampai dengan 64 bit, sehingga perbedaan antara mikrokontroler

III-15
Robotika Sistem Kendali Robot

dan mikroprosesor sangat tipis. Masing2 vendor mengeluarkan mikrokontroler


dengan dilengkapi fasilitas2 yang cenderung memudahkan user untuk merancang
sebuah sistem dengan komponen luar yang relatif lebih sedikit.

Saat ini mikrokontroler yang banyak beredar dipasaran adalah


mikrokontroler 8 bit varian keluarga MCS51(CISC) yang dikeluarkan oleh Atmel
dengan seri AT89Sxx, dan mikrokontroler AVR yang merupakan mikrokontroler
RISC dengan seri ATMEGA8535 (walaupun varian dari mikrokontroler AVR
sangatlah banyak, dengan masing2 memiliki fitur yang berbeda2). Dengan
mikrokontroler tersebut pengguna (pemula) sudah bisa membuat sebuah sistem
untuk keperluan sehari-hari, seperti pengendali peralatan rumah tangga jarak jauh
yang menggunakan remote control televisi, radio frekuensi, maupun
menggunakan ponsel, membuat jam digital, termometer digital dan sebagainya.

3.4.3. Jenis-Jenis Mikrokontroler

Secara teknis, hanya ada 2 macam mikrokontroller. Pembagian ini didasarkan


pada kompleksitas instruksi-instruksi yang dapat diterapkan pada mikrokontroler
tersebut. Pembagian itu yaitu RISC dan CISC.

RISC merupakan kependekan dari Reduced Instruction Set


Computer. Instruksi yang dimiliki terbatas, tetapi memiliki fasilitas
yang lebih banyak.

Sebaliknya, CISC kependekan dari Complex Instruction Set


Computer. Instruksi bisa dikatakan lebih lengkap tapi dengan
fasilitas secukupnya.

Masing-masing mempunyai keturunan atau keluarga sendiri-sendiri.

Sekarang kita akan membahas pembagian jenis-jenis mikrokonktroler yang telah


umum digunakan.

1. Keluarga MCS51

III-16
Robotika Sistem Kendali Robot

Mikrokonktroler ini termasuk dalam keluarga mikrokonktroler CISC. Sebagian


besar instruksinya dieksekusi dalam 12 siklus clock.

Gambar III-14. Jenis Mikrokontroler MCS-51

Mikrokontroler ini berdasarkan arsitektur Harvard dan meskipun awalnya


dirancang untuk aplikasi mikrokontroler chip tunggal, sebuah mode perluasan
telah mengizinkan sebuah ROM luar 64KB dan RAM luar 64KB diberikan alamat
dengan cara jalur pemilihan chip yang terpisah untuk akses program dan memori
data.

Salah satu kemampuan dari mikrokontroler 8051 adalah pemasukan


sebuah mesin pemroses boolean yang mengijikan operasi logika boolean
tingkatan-bit dapat dilakukan secara langsung dan secara efisien dalam register
internal dan RAM. Karena itulah MCS51 digunakan dalam rancangan awal PLC
(programmable Logic Control).

2. AVR

Mikrokonktroler Alv and Vegard’s Risc processor atau sering disingkat


AVR merupakan mikrokonktroler RISC 8 bit. Karena RISC inilah sebagian besar
kode instruksinya dikemas dalam satu siklus clock. AVR adalah jenis

III-17
Robotika Sistem Kendali Robot

mikrokontroler yang paling sering dipakai dalam bidang elektronika dan


instrumentasi.

Gambar III-15. Mikrokontroler AVR

Secara umum, AVR dapat dikelompokkan dalam 4 kelas. Pada dasarnya


yang membedakan masing-masing kelas adalah memori, peripheral dan
fungsinya. Keempat kelas tersebut adalah keluarga ATTiny, keluarga AT90Sxx,
keluarga ATMega dan AT86RFxx.

3. PIC

Pada awalnya, PIC merupakan kependekan dari Programmable Interface


Controller. Tetapi pada perkembangannya berubah menjadi Programmable
Intelligent Computer.

PIC termasuk keluarga mikrokonktroler berarsitektur Harvard yang dibuat


oleh Microchip Technology. Awalnya dikembangkan oleh Divisi Mikroelektronik
General Instruments dengan nama PIC1640. Sekarang Microhip telah
mengumumkan pembuatan PIC-nya yang keenam

III-18
Robotika Sistem Kendali Robot

PIC cukup popular digunakan oleh para developer dan para penghobi
ngoprek karena biayanya yang rendah, ktersediaan dan penggunaan yang luas,
database aplikasi yang besar, serta pemrograman (dan pemrograman ulang)
melalui hubungan serial pada komputer.

Gambar III-16. Jenis Mikrokontroler MCS-51

III-19
Robotika Kinematika Robot

BAB IV. KINEMATIKA ROBOT

4.1. Analisis Kinematika Robot

4.1.1. Kinematika Maju dan Kinematika Mundur

Kinematika dapat didefenisikan sebagai studi pergerakan robot


(motion)tanpa memperhatikan gaya (force) ataupun factor lain yang
mempengaruhi pergerakan robot tersebut. Pada sebuah analisis kinematik, posisi,
kecepatan dan akselerasi seluruh link dihitung tanpa memperhatikan gaya yang
menyebabkan pergerakan tersebut. Kinematika robot secara umum terbagi
menjadi dua, yaitu kinematika maju (forward) dan kinematika inversi (invers).
Kinematika maju juga dikenal sebagai kinematika langsung (direct), dimana
panjang dari tiap link dan sudut dari tiap sendi diberikan dan kita hitung posisi
robot. Pada kinematika inversi, panjang tiap link dan posisi diberikan, lalu kita
hitung sudut dari tiap sendi. Kinematika robot dapat dibagi lagi menjadi serial
manipulator kinematics, parallel manipulator kinematics, mobile robot
kinematics, dan humanoid kinematics.

Kinematika maju adalah analisis kinematika untuk mendapatkan koordinat


posisi (x,y,z) jika diketahui sudut dari tiap sendi. Sebagai contoh, jika mempunyai
robot n-DOF dan diketahui sudut dari tiap sendi maka kita dapat menggunakan
analisis kinematik maju untuk mendapatkan koordinat posisi dari robot.
Kinematika inversi adalah analisis kinematik untuk mendapatkan besar sudut dari
masing-masing sendi jika kita mempunyai data koordinat posisi (x,y,z).

Kinematika Maju
Ruang Sudut/Sendi Ruang Kartesian
(r,θ) P (x,y,z)

Kinematika Inversi

Gambar IV-1. Relasi Kinematika Maju dan Inversi

IV-1
Robotika Kinematika Robot

Model matematik dari pergerakan robot secara umum dibedakan menjadi


2, yaitu gerak holomonik dan gerak non-holomonik. Dalam robotika, gerak
holomonik, misalnya robot manipulator dua DOF dengan konfigurasi planar.
Ujung robot tengan ini dapat menjangkau daerah kerja dalam koordinat kartesian
dari suatu titik koordinat ke titik koordinat yang lain secara langsung tanpa
mengubah arah hadap dari bahan robot itu sendiri. Sedangkan gerak non-
holomonik adalah seperti gerak robot mobil dimana di dalam geraknya ke segala
arah, robot itu harus selalu mengubah arah hadapnya.

System robotika umumnya terdiri dari system kontroler, elektronik, dan


mekanik yang dalam bentuk diagram dapat dinyatakan sebagai berikut:

Kontro Elektronik dan


ref + e u y
G(s) H(s)

Gambar IV-2. Diagram Sistem Robotika

Pada Gambar 4.2, simbol ref menyatakan refrensi input (bisa berupa
posisi, kecepatan, dan akselerasi), simbol G(s) ialah persamaan matematik
kontroler, sedangkan H(s) adalah persamaan system robot secara fisik yang terdiri
dari elektronika dan actuator. Komponen e ialah error dan u ialah output dari
komputer tersebut, dengan output y sebagai fungsi gerak robot yang diharapkan
selalu sama dengan refrensi gerak yang didefenisikan pada input ref. Pada
praktiknya input merupakan fungsi dari suatu koordinat vektor posisi dan
orientasi P(x,y,z) dan output berupa θ( , ,… ) dengan n mempresentasikan
jumlah sendi atau DOF.

Penjabaran lebih detail dari system robotika di atas ditampilkan pada Gambar IV-
3

IV-2
Robotika Kinematika Robot

Kontrol Robot (Elektronik dan


P (x,y,z) e Trans, koordinat P u H(s) θ
ke θ ( , ,… )
(Kinematik Inversi)

Transformasi
koordinat θ ke P
(Kinematik

Gambar IV-3. Diagram Sistem Kontrol Robotika

Pada Gambar IV-3 terlihat bahwa output yang diukur dari gerakan robot
berupa domain sudut dari sendi, atau sudut dari perputaran roda jika robot berupa
robot mobil. Kombinasi transformasi koordinat P ke θ dengan kontroler G(s)
disebut sebagai kontrol kinematik. Dengan input berupa sinyal eror P, ep dan
output sinyal kemudi u untuk actuator (bisa berupa sinyal analog DAC untuk
actuator). Untuk mengontrol system dapat digunakan Fuzzy atau Adaptive Neuro
Fuzzy yang digunakan secara luas saat ini.

4.1.2. Analisis Kinematik dengan Persamaan Trigonometri

Salah satu cara paling mudah menyelesaikan analisis kinematic robot


adalah dengan menggunakan persamaan trigonometri, misalnya analisis kinematic
robot lengan 1 DOF.

Gambar IV-4. Robot Lengan 1 DOF

IV-3
Robotika Kinematika Robot

Dengan menggunakan kinemarik maju maka kita bisa mendapatkn koordinat


P(x,y):

x = l.cos( ) dan

y = l.sin ( )

Sedangkan dengan menggunakan kinematic inversi kita bisa mendapatkan :

= tan-1

Sedangkan analisis kinematic robot lengan 2 DOF:

Gambar IV-5. Robot Lengan 2 Sendi (2DOF)

Kedudukan ujung lengan dinyatakan sebagai P(x,y) dimana:

x = l1 + cos 1 + l2 cos( 1 + 2)

y = l1 + sin 1 + l2 sin( 1 + 2)

IV-4
Robotika Kinematika Robot

Persamaan di atas dapat diperoleh dengan menggunakan anakisis kinematic maju.


Dengan hukum identitas trigonometri:

cos(a + b) = cos(a)cos(b) - sin(a)sin(b) (4.6)

sin(a + b) = sin(a)cos(b) + sin(b)cos(a) (4.7)

Maka kita dapatkan:

x = l1 cos 1 + l2cos 1 cos 2 – l2 sin 1 sin 2 (4.8)

y = l1 sin 1 + l2sin 2 cos 2 + l2 cos 1 sin 2 (4.9)

Dari dua persamaan terakhir dengan mengunakan analisis kinematik inversi maka
kita akan mendapatkan:

(4.10)
2 = cos-1

Dan sudut dapat dicari melalui = −

Dengan hukum identitas trigonometri:

tan( ) − tan( )
tan ( + ) =
1 + sin ( ) sin ( )

Didapat:

( + cos ) − . sin )
tan =
( + cos )+ sin )

Sehingga :

( + cos ) − . sin )
= tan
( + cos ) + sin )

IV-5
Robotika Kinematika Robot

4.2.Matriks Rotasi dan Translasi

Untuk menganalisis persamaan 3D dalam bentuk yang umum seperti

koordinat (x,y,z) maka kita dapat merepresentasikannya dalam matriks 3x1 ,


1
dimana angka 1 merupakan angka pembagi. Jadi koordinat (0,2,3) dapat kita
0 0
2 8
representasikan dalam bentuk vektor = atau ( , , , 1) .
3 12
1 4

Gambar IV-6. Koordinat Kartesian, World (w) dan Robot (r)

Misalkan kita mempunyai 2 koordinat kartesian yang berbeda dan satu


sama lain dipisahkan sejauh 3 satuan pada sumbu Y. Jika gambar diatas korrdinatr
mempunyai titik asal (0,3,0,1) , jika dipandang dari koordinat w. Titik asal
koordinat w jika kita pandang dari koordinat r, secara mudah kita dapatkan
dengan mengurangkan (-3) pada sumbu Y sehingga titik asal koordinat w menjadi
(0, −3,0) pada koordinat r.

4.2.1. Matriks Transformasi Homogen

Matriks transformasi homogen merupakan matriks yang digunakan untuk


mengonversikan lokasi suatu titik pada koordinat sumbu j ke koordinat sumbu k.
Simbol yang biasa dipakai adalah untuk merepresentasikan transformasi suatu

IV-6
Robotika Kinematika Robot

titik pada koordinat sumbu j menjadi suatu titik yang sama pada koordinat sumbu
k.

Simbol juga digunakan untuk merepresentasikan transformasi koordinat


sumbu j menjadi searah dengan koordinat sumbu k.

Tabel IV-1. Matriks Transformasi

Nama Transformasi
Translasi koordinat k 1 0 0 Trans (a,b,c)
pada sumbu x sejauh a, 0 1 0
pada sumbu y sejauh b, 0 0 1
pada sumbu z sejauh c. 0 0 0 1

Rotasi koordinat k pada 1 0 0 0 Rot x( )


sumbu x sebesar 0 cos −sin 0
0 sin cos 0
0 0 0 1

Rotasi koordinat k pada cos 0−sin 0 Rot y( )


sumbu y sebesar 0 1 0 0
−sin 0 cos 0
0 0 0 1

Rotasi koordinat k pada cos −sin 0 0 Rot z( )


sumbu z sebesar sin cos 0 0
0 0 1 0
0 0 0 1

IV-7
Robotika Kinematika Robot

Gambar IV-7. Robot Manipulator 2 DOF

Gambar di atas adalah konfigurasi robot manipulator 1 DOF sebagai salah


satu contoh dalam penggunaan matriks transformasi homogen. L1 merpakan
panjang lengan 1, L2 merpakan panjang lengan 2, merupakan sudut rotasi
koordinat j terhadap koordinat w. Dengan demikian matriks adalah:

1 00 1 cos − sin 0 0 1 00 2
= 0 10 0 • sin cos 0 0 • 0 1 0 0
0 01 0 0 0 1 0 0 01 0
0 00 1 0 0 0 1 0 00 1
cos − sin 0 L2cos + 1
= sin cos 0 2 sin
0 0 1 0
0 0 0 1

Sebagai contoh, berdasarkan gambar di atas, jika sebesar 900 dan titik
asal koordinat gripper (xg,yg,zg) adalah (0,0,0) maka titik asal tersebut bila
direpresentasikan dalam koordinat (xw,yw,zw) adalah:

cos − sin 0 L2cos + 1 0 −1 0 1


= sin cos 0 2 sin = 1 0 0 2
0 0 1 0 0 0 1 0
0 0 0 1 0 0 0 1

Sehingga titik asal gripper dalam koordinat (xw,yw,zw) adalah (L1,L2,0)

IV-8
Robotika Kinematika Robot

0 −1 0 1 0 1
1 0 0 2 • 0 = 2
0 0 1 0 0 0
0 0 0 1 1 1

4.2.2. Metode Denavit – Hartenberg (D-H)

Denavit & Hartenberg mereresentasikan analisis hubungan gerak rotasi


dan translasi antara lengan-lengan yang terhubung dalam suatu manipulator.
Analisis D-H digunakan untuk menentukan koordinat suatu titik seperti pada
kinematik maju dan untuk menentukan hubungan dari setiap sendi pada robot
manipuator.

Prinsip dasar representasi D – H adalah suatu matriks (4x4) yang berupa


sistem koordinat dari suatu link dengan link yang terhubung pada pangkalnya
(link sebelumnya). Dalam konfigurasi serial, koordinat (ujung) link-1 dihitung
berdasarkan sendi-0 atau sendi pada tubuh robot . sistem koordinat pada link-
2dihitung berdasarkan posisi sendi-1 yang berada di ujung link-1 dengan
mengasumsikan link-1 adalah basis gerakan link-2. Demikian seterusnya, link-3
dihitung berdasarkan link-2, hingga link-ke(n) dihitung berdasarkan link-ke(n).

Metode D-H menggunakan 4 buah parameter, yaitu θ, α, d, a. Untuk


robot dengan n-DOF maka keempat parameter itu ditentukan hingga ke-n.
Penjelasannya:

1. adalah sudut putaran pada sumbu .


2. adalah sudut putaran pada sumbu .
3. adalah translasi pada sumbu .
4. adalah translasi pada sumbu .

Dari gambar berikut dapat didefenisikan suatu matriks transformasi


homogen yang mengandung unsur rotasi dan translasi:

(i – 1)
=

IV-9
Robotika Kinematika Robot

Untuk link dengan konfigurasi sendi putaran, matriks A pada sendi ke-n adalah:

cos −sin cos sin sin cos


sin cos cos −cos sin sin
=
0 sin cos
0 0 0 1

Untuk mencari kinematia maju dapat menggunakan metode ini. Metode


ini berguna untuk menganalisis gerak rotasi translasi antara lengan-lengan yang
terhubung dalam suatu manipulator yang berguna pada pemrograman robot
manipulator di industri (misalnya robot SCARA). Prinsipnya ialah transformasi
koordinat antara dua link yang berdekatan, dengan hasil suatu matriks 4x4 yang
menyatakan sistem koordinat dari suatu link dengan link yang terhubung pada
link sebelumnya.

Gambar IV-8. Menentukan D-H Parameter

Pada gambar 3.8, parameter D-H adalah sebagai berikut:

IV-10
Robotika Kinematika Robot

D-H parameter
Joint, i
1 /2 0
2 0 0
3 0 0

Gambar IV-9. Hasil Parameter D-H

IV-11
Robotika Dinamika Robot

BAB V. DINAMIKA ROBOT

5.1. Konsep Dinamik

Robot secara fisik adalah suatu benda yang memiliki struktur tertentu
dengan massa tertentu yang dalam pergerakannya, tunduk kepada hukum-hukum
alam yang berkaitan dengan gravitasi dan atau massa/kelembaman. Jika robot
berada di permukaan bumi maka kedua efek, grafitasi dan massa ini, akan
mempengaruhi kualitas gerakan. Sedangkan bila robot berada di luar angkasa
yang bebas gravitasi maka massa saja yang dapat menimbulkan efek
inersia/kelembaman. Dalam konteks inilah dikatakan bahwa model dinamik dari
suatu robot berhubungan dengan struktur dan massa. Setiap struktur dan massa
yang berbeda akan menberikan efek inersia yang berbeda pula, sehingga
penanganan dalam pemberian torsi pada tiap sendi (dengan kata lain: sinyal
pengemudian actuator/motor tiap sendi) seharusnya berbeda pula.

Gambar V-1. Diagram Model Dinamik Robot.

Perhatikan kembali gambar Gambar IV-3. Diagram Sistem Kontrol


Robotika sebelumnya. Jika u adalah sinyal aktuasi pada actuator motor DC-torsi
maka inmput yang masuk pada model dinamik robot dapat dinyatakan sebagai
torsi ,

= .

Seperti yang di tunjukkan pada GambarV-1. Diagram Model Dinamik


Robot, dengan I adalah sinyal analog (arus motor) yang dikeluarkan oleh

V-1
Robotika Dinamika Robot

kontroler, dan Ktn adalah konstanta motor. Karena torsi pada sendi akan
menghasilkan gerakan maka output (dinamik) robot dapat dinyatakan memiliki 3
komponen yang menyatu dalam fenomena gerak rotasi tiap lengan sendi, yaitu
sudut , kecepatan sudut ̇ ,dan percepatan sudut ̈ , Gambar berikut
memperlihatkna skema control robotic beroperasi dinamik dengan penggambaran
detil tentang torsi yang dihasilkan oleh aktuator.

Gambar V-2. Diagram sistem kontrol robotik beroperasi dinamik

Jika output sistem , . , ..(1,2,…,n) dinyatakan sebagai q maka torsi yang diberikan
kepada sendi sendi robot adalah :

= ( )

Persamaan ini dikenal sebagai dinamik maju/langsung (forward/direct dynamics).


Model dinamikanya dapat ditulis sebahai H(s). sebaliknya, jika torsi diketahui
(sebagai input), bagaimanakah q, ini dikenal sebagai dinamik inversi (inverse
dynamics). Model dinamikanya di nyatakan sebagai H-1(s). Pesamaannya adalah:

-1
q= ( )

V-2
Robotika Dinamika Robot

5.2.Analisa Dinamik

Pembicaraan tentang konsep dasar dinamik robot telah diawali di depan.


Secara garis besar dinamik robot berkaitan dengan torsi aktuator di satu sisi dan
hasil gerak perubahan sudut, kecepatan sudut dan percepatan sudut, (θ, θ̇, θ̈) di sisi
yang lain. Dalam konteks dinamika, output perubahan ini dapat dinyatakan
sebagai percepatan angular, θ̈ saja. Dari konsep ini kemudian dapat
dikembangkan pengertian tentang kontrol dinamik.

Skema kontrol dinamik loop tertutup dapat diilustrasikan seperti dalam


gambar dibahan ini.

Gambar V-3. Diagram sistem kontrol robotik beroperasi dinamik

Dalam skema di atas, input yang diperlukan adalah referensi torsi τ ref.
Outputnya diukur dalam bentuk percepatan ̈ , sehingga model dinamik yang
didefenisikan adalah dinamik invers karena merubah torsi menjadi percepatan.
Sedangkan untuk umpan balik diperlukan transformasi dinamik maju karena error
dihitung dalam torsi.

V-3
Robotika Dinamika Robot

5.3.Komponen Dinamik

Torsi yang diberikan oleh aktuator pada dasarnya harus seimbang dengan
torsi (lawan) yang dihasilkan oleh komponen-komponen dinamik struktur robot
dalam pergerakan, yaitu torsi yang dihasilkan dari pergerakan (torsi vs percepatan
angular), torsi yang diukur karena benda/struktur memiliki tenaga kinetik dan
tenaga potensial, efek gaya sentrifugal, efek gaya Coriolis, dan inersia yang
disebabkan faktor pembebanan dan grafitasi bumi.

Selain itu torsi pada aktuator seharusnya juga mampu mengatasi torsi
lawan yang dihasilkan oleh gangguan Q selama operasi, misalnya gangguan friksi
pada sendi, efek backlash pada gearbox (jika digunakan), efek gaya interaksi
kopel (coupling interaction) antar struktur lengan sendi atau antar lengan dengan
tubuh, efek beban yang dinamik (seperti pada robot pengelas), dan sebagainya.

Torsi pada Percepatan Angular

Sesuai dengan hukum Newton kedua, torsi yang dihasilkan pada gerakan rotasi
dapat ditulis,

= ∙ ̈ = ̈

dengan torsi (N.m)

inersia momen polar (kg.m2)

jari-jari yang diukur dari pusat massa dengan sumbu putar

̈ percepatan angular

massa (kg)

Tenaga Kinetik

Tenaga kinetik untuk gerakan translasi, dapat ditulis,

V-4
Robotika Dinamika Robot

1
= =
2 2g

dengan m massa, kg

w berat ( = . g, g adalah grafitasi bumi, m/dt2)

v kecepatan yang diukur pada c.o.g (center of gravity) massa

Tenaga kinetik untuk gerakan rotasi, dapat ditulis,

1
= ̇
2

dengan ̇ kecepatan sudut angular

inersia momen polar (kg.m2)

Maka tenaga kinetik total, untuk translasi sekaligus rotasi adalah,

1 1
= + ̇
2 2

Tenaga kinetik ini biasa dinyatakan dalam Joules, J (sistem SI). Satu J setara
dengan 1N.m.

Tenaga Potensial

Tenaga potensial dari suatu massa m pada jarak s adalah,

= g , g adalah gravitasi bumi, 9.81 m/dt2

Gaya Sentrifugal

Gaya sentrifugal untuk suatu lengan padat dengan massa m dapat ditulis,

(2 )
= = =

V-5
Robotika Dinamika Robot

dengan jarak yang diukur dari sumbu rotasi ke pusat massa

putaran per menit (rpm)

Gaya Coriolis

Gaya yang diberi nama sesuai dengan penemunya ini (Gaspard


Gustave de Coriolis, 1792-1843) adalah suatu gaya yang dihasilkan sebagai efek
dari bumi berputar pada porosnya. Gaya ini tidak perlu diperhitungkan jika robot
dioperasikan di tempat yang bebas gravitasi atau di luar angkasa. Namun jika
dioperasikan di planet, misalnya Bumi aau Mars, gaya efek rotasi “planet” akan
berpengaruh terhadap dinamik robot.

5.4.Pespektif Dinamik dalam Aplikasi

Bagaimana menempatkan skema kontrol dinamik ini dalam skema besar


kontrol robotik? Ini adalah pertanyaan mendasar yang sering muncul ketika kita
berhadapan langsung dengan robot secara fisik, rangkaian kontroler elektronik,
dan pemrograman via komputer. Sementara itu model dinamik yang digambarkan
dalam kajian teori (di atas kertas) sudah digantikan dengan fisik robot yang
sebenarnya.

Seperti telah dijelaskan di muka, bahwa kontrol dinamik tidak bisa bekerja
sendirian dalam kontrol robotik tanpa bantuan kontrol kinematik. Sedangkan
kontrol kinematik dapat diterapkan langsung tanpa memasukkan unsur kontrol
dinamik. Hal ini karena pada dasarnya pengertian umum tentang kontrol robot
adalah bagaimana cara mengontrol gerakan robot. Jadi, apapun yang kita disain
tentang skema kontrol, dan memberinya nama, akhirnya yang harus dilakukan
dalam implementasi riil adalah bagaimana membuat robot dapat bergerak sesuai
dengan yang kita inginkan melalui pemrograman. Ketika kita berbicara masalah
kontrol gerak (motion control) maka yang lebih utama adalah bagaimana
membuat kontrol kinematk yang tepat yang mampu menyelesaikan permasalahan-
permasalahan trajektori yang kita inginkan, daripada mendahulukan kontrol

V-6
Robotika Dinamika Robot

dinamiknya. Sebab permodelan dinamik seringkali adalah perkara yang amat


rumit. Jika permodelan tidak tepat maka kedua fungsi transformasi (maju/invers)
menjadi tidak akurat bahkan tidak berguna dalam memperbaiki kualitas kontrol
keseluruhan.

Jika skema Gambar Gambar V-3. Diagram sistem kontrol robotik


beroperasi dinamikdigabung dengan skema Gambar v-2Diagram sistem kontrol
robotik beroperasi dinamik

di muka, akan di dapat skema yang lebih komplit seperti berikut.

Gambar V-4. Penerapan control dinamik loop tertutup

Dalam gambar diatas, dengan mengeluarkan komponen konstanta motor Ktn


(dalam pemrograman cukup dengan mengalikan output kontrol dengan Ktn
aktuator yang berkaitan) dari sistem dinamik maka menjadi jelas bahwa input
sistem dinamik adalah (didefinisikan sebagai) torsi . Outputnya dinyatakan

sebagai percepatan, θ̈. n adalah jumlah DOF dari robot.

5.5.Metoda Newton-Euler

Metoda Newton-Euler (NE) ini berdasar kepada hukum Newton kedua untuk
komponen translasi, dan digabung dengan sistem sudut Euler untuk komponen
rotasi, yaitu

V-7
Robotika Dinamika Robot

Untuk sitem Translasi:

= ∙ ,

F = N (Newton=kg.m/dt2), m = kg, a = m/dt2

Untuk sistem Rotasi:

= ∙ ̈,

τ = Nm (kg.m2/dt2), adalah inersia momen putar lengan terhadap


sumbu putaran (kg.m2/rad), ̈ adalah percepatan sudut (rad/dt2).

Metode NE digunakan secara parsial dengan mencari persamaan dinamik


pada tiap sendi. Untuk robot dengan konfigurasi serial, metoda ini harus
digunakan secara berurutan dengan menganalisa satu persatu hubungan antar
sendi yang berdekatan. Dalam hal ini dikenal suatu metoda yang disebut sebagai
Recursive Newton-Euler (RNE). Prinsip dasarnya adalah dengan melakukan
iterasi satu persatu pada sendi-sendi secara berurutan. Iterasi yang dilakukan dari
sendi ke-1 (sendi pada tubuh) ke sendi ke-n (ujung tangan) dinamakan sebagai
iterasi maju (forward iterations RNE). Sedangkan yang diawali dari sendi ke-n
dan diakhiri di sendi ke-1 disebut sebagai iterasi mundur (backward iterations
RNE). Secara rinci metoda ini dapat dibaca di Murray & Neuman (1986).

Pada sistem robot yang memiliki kemampuan rotasi, Persamaan = ∙


̈ dapat dipakai untuk memperoleh model dinamiknya. Sebagai contoh, kita
diskusikan struktur Robot Tangan Satu Sendi sebagai berikut.

V-8
Robotika Dinamika Robot

Gambar V-5. Konfigurasi robot satu sendi

Struktur lengan ini dianggap kaku dengan panjang l dan massa m. Dengan
menggunakan = ∙ ̈ torsi yang terjadi dapat dinyatakan sebagai

= ̈

Sesuai dengan sifat fisik bahan kaku, inersia momen putar pada salah satu ujung
terhadap ujung lain sebagai sumbu putar, , adalah,

1
=
3

Maka

1
= ̈
3

Persamaan diatas ini adalah persamaan dinamik maju. Dengan demikian


persamaan dinamik inversnya dapat ditulis,

V-9
Robotika Dinamika Robot

3
̈ =

5.6.Metoda Lagrange-Euler

Persamaan Lagrange-Euler (LE) untuk gerakan translasi adalah,

− = = 1,2, … ,
̇

L adalah fungsi Lagrangian,

= −

dengan tenaga kinetik


tenaga potensial
koordinat umum robot lengan ke-i
̇ turunan pertama koordinat umum robot lengan ke-i
torsi yang diaplikasikan pada robot sendi ke-i untuk
menggerakkan lengan ke-i

Untuk gerakan rotasi dapat ditulis,

− = = 1,2, … ,
̇

dengan ̇ sudut sendi robot ke-i


sudut sendi robot ke-i

Sebagai contoh, persamaan dinamik robot seperti dalam Gambar V-5. Konfigurasi
robot satu sendiakan kita peroleh melalui metoda LE. Koordinat P(x, y) memiliki
sifat translasi (keliling) dan rotasi (pada sumbu putar), maka tenaga kinetiknya,

V-10
Robotika Dinamika Robot

1 1
= + ̇
2 2

1 1
= ; = ̇ ; =
12 2

Maka

1 1 1 1
= ̇ + ̇ = ̇
2 2 2 12 6

Tenaga potensial EP dalam robot ini adalah nol karena P(x, y) tidak
melakukan gerakan berputar menuju ke arah atau menjauhi sumbu, maka

= − = −0 =

dengan menggunakan ̇
− = = 1,2, … , dapat dihitung,

− = atau = −
̇ ̇

̇ 1
= = = ̇
̇ ̇ ̇ 3

̇ ̇ 1
= − = ̈
̇ 3

1
= ̈
3

Persamaan di atas ini sama dengan = ̈ hasil dari analisa dinamik

menggunakan metoda NE secara sederhana.

V-11
Robotika Dinamika Robot

Contoh berikut adalah penerapan metoda LE untuk menyelesaikan persamaan


dinamik Robot Tangan Dua Sendi seperti pada Gambarberikut ini. Struktur robot
diasumsikan vertikal terhadap bumi (sumbu Y vertikal) sehingga efek grafitasi
perlu diperhitungkan.

Gambar V-6. Konfigurasi robot tangan planar 2 sendi (2DOF)

Notasi yang digunakan dalam gambar tersebut


massa lengan
panjang lengan
panjang yang diukur dari subu ke pusat massa lengan
kecepatan linier titik pusat massa C
sudut lengan
inersia momen massa lengan
Penyelesaian:

Jumlah tenaga kinetik = +

1 1 1 1
= + ̇ ; = + ̇
2 2 2 2

dengan = atau =

V-12
Robotika Dinamika Robot

= +2 ̇ + ̇ ̇ cos + ̇ + ̇ ̇ + ̇

Jumlah tenaga potensial = +

= − g sin

= − g sin − g sin ( + )

Berdasarkan persamaan

= − dan = −
̇

maka akan dihasilkan

= ̈ + ̈ − ℎ ̇ − 2ℎ ̇ ̇ +

= ̈ + ̈ +ℎ ̇ +

dengan

= + + ( + +2 cos )+

= = cos + +

= +

ℎ = sin

= g cos + g( cos( + ) + cos )

= g cos ( + )

g adalah gravitasi bumi, 9.81m/dt2

5.7. Persamaan Umum Dinamik Robot Manipulator

Persamaan umum dinamik robot manipulator dapat dinyatakan sebagai,

V-13
Robotika Dinamika Robot

( ) = ( ) ̈( ) + ( ), ̇ ( ) + ( ) +

dengan

( ) vektor torsi aktuator yang diterapkan pada sendi i,

( ) = ( ( ), ( ), … , ( ) ) , = 1, 2, 3, … . ,

( ) vektor matriks transformasi dinamik (n x n), n adalah n-DOF

( ) vektor matriks torsi (n x 1) efek gaya Coriolis dan gerak sentrifugal pada
sendi i,

( , ̇ ) = (ℎ , ℎ , … . , ℎ ) , = 1, 2, 3, … . ,

ℎ = ℎ ̇ ̇ , , , = 1, 2, 3, … . ,

( ) vektor matriks torsi (n x 1) efek gravitasi

( ) = (g , g , … . , g ) , = 1, 2, 3, … . ,

vektor torsi gangguan atau pembebanan

Dengan demikian dari hasil-hasil uraian komponen dinamik robot seperti


dalam Gambar V-6. Konfigurasi Robot Tangan Planar 2 Sendi (2DOF) dapat
diperoleh persamaan-persamaan H, h, dan G sebagai berikut.

Dari persamaan

= ̈ + ̈ − ℎ ̇ − 2ℎ ̇ ̇ +

= ̈ + ̈ +ℎ ̇ +

dengan

= + + ( + +2 cos )+

V-14
Robotika Dinamika Robot

= = cos + +

= +

ℎ = sin

= g cos + g( cos ( + ) + cos )

= g cos ( + )

dapat ditulis sebuah matriks transformasi (n x n) dinamik H dengan n adalah


2 (2DOF),

dengan elemen matrik adalah Persamaan

= + + ( + +2 cos )+

= = cos + +

= +

Efek Coriolis dan sentrifugal terjadi di sendi-2 dengan vektor torsi h,

0
=
sin

Efek gravitasi terjadi baik di sendi-1 maupun di sendi-2,

cos + ( cos( + )+ cos )


=
cos( + )

Untuk sistem robot tangan planar dua sendi maka efek G dapat diabaikan,
sehingga

V-15
Robotika Dinamika Robot

( ) = ( ) ̈( ) + ( ), ̇ ( ) + ( ) +

menjadi,

( ) = ( ) ̈( ) + ( ), ̇ ( ) + 0 + atau

( ) = ( ) ̈( ) + ( ), ̇ ( ) +

Dengan demikian persamaan dinamik majunya adalah,

= ̈ + ̈ − ℎ ̇ − 2ℎ ̇ ̇

= ̈ + ̈ +ℎ ̇

V-16
Robotika Teknik Pemrograman

BAB VI. TEKNIK PEMROGRAMAN

6.1.Dasar Pemrograman

Sistem tertanam (embedded system) merupakan salah satu keahlian yang


menjadi alternatif pilihan bagi cabang keahlian teknik elektro, teknik komputer,
teknik fisika, dan teknologi informasi (rekayasa perangkat lunak/software
engineering). Embedded system merupakan sistem komputer khusus yang
dirancang untuk menjalankan tugas tertentu dan biasanya sistem tersebut tertanam
dalam kesatuan sistem. Sistem ini menjadi bagian dari keseluruhan sistem yang
terdiri atas mekanik dan perangkat keras lainnya.bidang embedded system
mencakup penguasaan perangkat keras (hardware), bahasa pemrograman yang
digunakan, alat pengembang sistem tersebut, dan pemahaman terhadap
pengaturan waktu sistem. Contoh nyata embedded system adalah robot, mp3
player, kontrol otomatisasi mesin-mesin industri, jam tangan digital, dan lampu
pengatur lalu lintas. Bhakan robot sendiri melahirkan bidang keilmuan tersendiri,
utamanya di negara maju seperti Jepang dan Taiwan yang mengembangkan
teknologi ini.

Pemrograman yang tepat, mudah dan benar akan menjamin embedded


system yang diciptakan beroperasi secara efisien dan efektif. Bahasa
pemrograman sendiri mengalami perkembangan, diawali dari Assembler (bahasa
tingkat rendah) sampai ADA (bahasa tingkat tinggi). Perkembangan bahasa
tersebut secara detail adalah sebagai berikut: bahasa tingkat rendah meliputi
assembler dan macro_assembler, bahasa tingkat tinggi meliputi FORTH, C, C++,
dan JAVA, sedangkat bahasa tingkat tinggi meliputi BASIC, FORTRAN,
COBOL, Pascal, Modula-2, dan ADA.

VI-1
Robotika Teknik Pemrograman

6.1.1. Pengenal (Identifier) dalam Pemrograman C

Pengenal merupakan nama yang bisa digunakan untuk variabel konstanta,


fungsi atau objek yang lain yang didefenisikan oleh pemrograman. Aturan yang
berlaku bagi pengenal adalah sebagai berikut.

Pengenal haruslah diawali dengan huruf (A ... Z, a ... z) atau


karakter garis bawah ( _ )

Selanjutnya, dapat berupa huruf, digit (0.....9) atau karakter garis


bawah atau tanda $

Panjang pengenal boleh terdiri atas lebih dari 32 karakter. Akan


tetapi, hanya 32 karakter pertama yang akan dianggap berarti.

Contoh:

jumlah

jumlah (penggunaan huruf besar diawal kata, berbeda dengan jumlah pada
contoh sebelumnya)

nilai2

total_perhitungan_output

nilai_akhir$

karakter garis bawah biasa dipakai untuk memudahkan pembacaan terhadap suatu
pengenal. Misalnya, total_perhitungan_output akan lebih mudah dibaca daripada
ditulis totalperhitunganoutput. Untuk menghindari kesalahan, pengenal tidak
boleh menggunakan nama yang tergolong sebagai kata kunci (sepertimain, int,
unsigned, dan sebagainya). Berikut adalah daftar kata kunci yang tidak boleh
digunakan untuk pengenal.

Tabel VI-1. Daftar kata kunci turbo C

asm do goto return union


auto double huge short unsigned
break else if signed void
case enum int sizeof volatile

VI-2
Robotika Teknik Pemrograman

cdecl extern interrupt static while


char far long struct _cs
const float near switch _ds
continue for pascal typedef _es
default register _ss

6.1.2. Tipe Data Dasar dan Pemodifikasi Tipe

Pengertian data menyiratkan suatu nilai yang dapat dinyatakan dalam


bentuk konstanta atau variabel. Konstanta menyatakan nilai yang tetap, sedangkan
variabel menyatakan nilai yang dapat diubah-ubah selama eksekusi berlangsung.

Berdasarkan jenisnya, data dapat dibagi menjadi lima kelompok yang


dinamakan sebagai tipe data dasar. Berikut daftar kelima tipe data dasar dan kata
kuncinya

Tabel VI-2. Tipe Data Dasar dan Kata Kunci

Tipe Data Dasar Kata Kunci


Bilangan bulat (integer) int
Bilangan Real presisi-tunggal float
Bilangan real presisi ganda double
Karakter char
Tak-bertipe void

Tabel diatas mengemukakan informasi mengenai ukuran memori yang


diperlukan dan kawasan dari masing masing tipe data dasar dan
pemodifikasiannya.

Tabel VI-3. Daftar Tipe Data Dasar

Type Size (Bits) Ranges


Bit 1 0,1
Char 8 -128 sampai 127
Unsigned char 8 0 sampai 255
Signed chart 8 -128 sampai 127
Int 16 -32768 sampai 32767
Short int 16 -32768 sampai 32767
Unsigned int 16 0 sampai 65535
Signed int 16 -32768 sampai 32767

VI-3
Robotika Teknik Pemrograman

Long int 32 -2147483648 sampai 2147483647


Unsigned char int 32 0 to 4294967295
Signed long int 32 -2147483648 to 2147483647
Float 32 ±1.175e-38 to ±3.402e38
double 32 ±1.175e-38 to ±3.402e38

Berdasarkan tabel diatas terlihat bahwa tipe char sama dengan signed char,
sedangkan signed int, short int, signed short int, dan int sebenarnya sama.

Perbedaan signed dan unsigned terletak pada perlakuan bit tertinggi. Jika
dinyatakan dengan signed, bit tertinggi digunakan untuk menyattakan bilangan,
termasuk positif dan negatif.

6.1.3. Variabel

Variael digunakan dalam program untuk menyimpan suatu nilai dan nilai
yang ada padanya dapat diubah-ubah selama eksekusi program berlangsung.

6.1.3.1. Mendeklarasikan Variable

Variabel yang akan digunakan dalam program haruslah dideklarasikan


terlebih dahulu. Pengertian deklarasi disini adalah memesan memori dan
menentukan jenis data yang dapat disimpan didalamnya. Bentuk pendeklarasian
variabel adalah sebagai berikut.

tipe daftar-variabel

Pada pendeklarasian variabel, daftar-variabel dapat berupa sebuah


variabel atau beberapa variabel yang dipisahkan dengan koma. Cotoh

int jumlah;

float nilai_total, i, j, k, keluaran;

(tanda koma digunakan sebagai pemisah antar variabel)

Pernyataan deklarasi yang pertama menyatakan bahwa jumlah adalah variabel


bertipe int (Integer), sedangkan pernyataan yang kedua menyatakan bahwa
nilai_total, i, j, k dan keluaran berjenis float (untuk menyimpan real).

VI-4
Robotika Teknik Pemrograman

6.1.3.2. Memberikan Nilai ke Variabel

Bentuk pernyataan yang dignakan untuk memberikan nilai ke variabel yang


telah dideklarasikan adalah sebagai berikut.

variabel=nilai;

contoh berikut memberikan nilai 10 ke jumlah dan 15,3 ke variabel


keluaran. Seperti pada contoh sebelumnya, tipe data untuk variabel jumlah adalah
integer, sedangkan untuk variabel keluaran dan nilai_keluaran adalah bilangan
real (float).

jumlah=10;

keluaran=15,3;

nilai_total=jumlah*keluaran;

6.1.4. Konstanta

6.1.4.1. Konstanta Umum

Konstanta menyatakan nilai yang tetap. Berbeda dengan variabel, suatu


konstanta tidak dideklarasikan. Namun, seperti halnya variabel, konstanta juga
memiliki tipe.

Penulisan konstanta memiliki aturan tersendiri sesuai dengan tipe masing-


masing. Konstanta karakter, misalnya ditulis dengan diawali dan diakhiri tanda
petik tunggal, contohnya ‘A’ dan ‘&’. Konstanta integer ditulis tanpa
mengandung pemisahribuan dan tidak mengandung bagian pecahan, misalnya -20
dan 32767. Konstanta real (float dan double) dapat mengandung pecahan (dengan
tanda berupa titik) dan nilainya dapat ditulis dalam bentuk ekspotensial
(menggunakan tanda e) seperti 27,5 dan 2.1e+5 (yang maksudnya 2,1x10 5).

Untuk konstanta long int,penulisannya diakhiri dengan tanda L atau l, contoh:

425300L (diakhiri dengan tanda L)

VI-5
Robotika Teknik Pemrograman

425300l (diakhiri dengan tanda l)

Konstanta tak bertanda ditulis dengan diakhiri dengan tanda U atau u. Jika
nilai melebihi 65535, secara otomatis akan diperlakukan sebagai unsigned long
int.

Contoh:

42000u (42000 tak bertanda)

4000000000 (4 milyar tak bertanda)

40000 (unsigned int)

Konstanta real selalu dinyatakan dalam double, kecuali kalau diakhiri


dengan F atau f (yang berarti menyatakan konstanta float).

Selain dalam bentuk desimal (sistem bilangan dengan basis 10), konstanta
integer dapat disajikan dalam bentuk sistem oktal, biner, maupun heksadesimal.
Sistem biner hanya berlaku pada C untuk mikrokontroler yang menggunakan
compiler jenis khusus, seperti Raisonance RIDE. Sistem biner tidak berlaku untuk
Turbo C. Untuk sistem oktal kisaran angka adalah 0 sampai 7, penulisan diawali
dengan 0 (nol). Sedangkan biner hanya membuat angka 0 dan 1. Untuk sistem
bilangan heksadesimal, digit yang dapat dipakai berupa salah satu antara 16
simbol berikut.

0123456789ABCDEF

Simbol A,B,C,D,E, dan F dapat juga dinyatakan dengan huruf kecil


a,b,c,d,e, dan f. Penulisan konstanta diawali dengan 0x (nol dan x).

Contoh:

010 (10 oktal atau 8 desimal)

0x10 (10 heksadesimal atau 16 desimal)

0xFF (FF heksadesimal atau 255 desimal)

Konstanta string merupakan deretan karakter yang diawali dan diakhiri


dengan tanda petik-ganda (“), contohnya “Pemrograman mikrokontroler”.

VI-6
Robotika Teknik Pemrograman

Konstanta string dengan sebuah karakter berbeda dengan konstanta karakter sebab
konstanta karakter diawali dan diakhiri tanda petik-tunggal, sedangkan string
diawali dan diakhiri tanda petik –ganda jadi, “a” tidak sama dengan ‘a’.

Suatu konstanta string dapat menggandung karakter yang menggunakan tanda \


(karakter rangkaian escape).

Contoh:

“\xDB”

Merupakan konstanta yang terdiri atas sebuah karakter ber-ASCII DBh (219
desimal).

6.1.4.2. Mendefenisikan Konstanta Simbolis

Suatu konstanta dapat diberi nama. Pendefinisiannya dilakukan dengan


menggunakan pengarah preprosesor #define. Sebagai contoh, didefenisikan:
LAMPU untuk menyatakan port 1 mikrokontroler (P1) Pendefenisiannya berupa:

#define LAMPU P1

Dengan pendefinisiannya ini, LAMPU dapat dipakai untuk menyatakan


seluruh pin pada port 1 (8bit). Penggunaan #define lebih banyak mendatangkan
keuntungan.

Beberapa keuntungan diantaranya adalah sebagai berikut.

Jika program yang dibuat sudah terlalu panjang, maka akan


dilakukan pergantian letak port untuk peranti. Misal, semua
LAMPU ada di port 1, kemudian karena suatu hal di hardware akan
diubah letak LAMPU di port 2, maka pergantian cukup dilakukan
pada pendefinisiannya saja. Oleh karena itu, pengeditan program
dapat dilakukan dengan sangat cepat.

Program mudah dibaca dan dimengerti. Biasanya, untuk tujuan


pembelajaran, sangatlah sulit membayangkan dan mengingat bahwa

VI-7
Robotika Teknik Pemrograman

LAMPU ada di port 1, MOTOR ada di port 0, demikian seterusnya.


Maka sangatlah tepat untuk memahami dan mempermudah
pembacaan program penggunaan #define.

6.1.5. Operator

Operator merupakan simbol atau karakter yang bisa dilibatkan dalam


program untuk melakukan suatu operasi atau manipulasi, seperti menjumlahkan
dua buah nilai, memberikan nilai ke suatu variabel, dan membandingkan
kesamaan dua buah nilai.

Sebagian operator C tergolong sebagai operator binary, yaitu operator


yang dikenakan terhadap dua buah nilai (operand)

Contoh:

a+b

simbol + merupakan operator untuk melakukan operasi penjumlahan


melibatkan dua operand, operator ini operator ini tergolong operator binary.

Contoh lain:

-c

Simbol – (minus) juga merupakan operator. Simbol ini termasuk sebagai


operator unary, yaitu operator yang hanya memiliki sebuah operand (yaitu c pada
contoh ini).

Tabel VI-4. Daftar Operator Kondisi


Operator Kondisi Keterangan
< Lebih kecil
<= Lebih kecil atau sama dengan
> Lebih besar
>= Lebih besar atau sama dengan
== Sama dengan
!= Tidak sama dengan

Tabel VI-5. Daftar Operator Aritmatika


Operator Aritmatika Keterangan

VI-8
Robotika Teknik Pemrograman

+ Penjumlahan
- Pengurangan
* Perkalian
/ Pembagian
% Sisa Bagi (Modulus)

Tabel VI-6. Daftar Operator Logika


Operator Logika Keterangan
! Boolean NOT
&& Boolean AND
|| Boolean OR

Tabel VI-7. Daftar Operator Bitwise


Operator Bitwise Keterangan
~ Komplemen Bitwise
& Bitwise AND
| Bitwise OR
^ Bitwise Exclusive OR
>> Right Shift
<< Left Shift

Tabel VI-8. Daftar Operator Assignment


Operator Assignment Keterangan
= Untuk memasukkan nilai
+= Untuk menambah nilai dari keadaan semula
-= Untuk mengurangi nilai dari keadaan semula
*= Untuk mengalikan nilai dari keadaan semula
/= Untuk melakukan pembagian nilai dari
keadaan semula
%= Untuk memasukkan nilai sisa bagi dari
pembagian bilangan semula
<<= Untuk memasukkan Shift Left
>>= Untuk memasukkan Shift Right
&= Untuk memasukkan bitwise AND
^= Untuk memasukkan bitwise XOR
\= Untuk memasukkan bitwise OR

6.1.6. Perulangan

Mengulang suatu proses merupakan tindakan yang banyak dijumpai dalam


pemrograman. Pada semua bahasa pemrograman, perulangan proses ditangani
dengan suatu mekanisme yang disebut loop. Dengan menggunakan loop, suatu

VI-9
Robotika Teknik Pemrograman

proses yang berulang – misal mengeluarkan nilai-nilai tertentu pada output


mikrokontroler sebanyak seratus kali dapat diimplementasikan dengan kode
program yang pendek.

Pada C,terdapat tiga buah struktur loop. Pernyataan yang dipakai berupa for,
while,dan do-while.

6.1.6.1. Perulangan dengan For

Bentuk pernyataan perulangan for adalah sebagai berikut.

for (ungkapan1;ungkapan2;ungkapan3)
pernyataan
.........
Berikut kegunaan masing-masing ungkapan pada pernyataan for

- Ungkapan1 : Digunakan untuk memberikan inisialisasi terhadap


variabel pengendali loop

- Ungkapan2 : Digunakan sebagai kondisi untuk keluar dari loop.

- Ungkapan3 : Dipakai sebagai pengatur kenaikan nilai variabel


pengendali loop

Ketiga ungkapan dalam for tersebut harus dipisahkan dengan tanda titik koma (;)

Contoh penggunaan:

For (i=1;i<=20;i++)
{
Pernyataan1;
Pernyataan2;
}
Pernyataan1 dan pernyataan2 dalam contoh di atas akan diulang sebanyak
20kali.

VI-10
Robotika Teknik Pemrograman

Contoh diatas dapatpula ditulis dalam urutan turun dan akan menghasilkan
hasil yang identik.

For (i=20; i >= 1; i--)


{
Pernyataan1;
Pernyataan2;
}
6.1.6.2. Perulangan dengan while

Pada perulangan dengan while, pengujian terhadap loop dilakukan dibagian


awal (sebelum tubuh loop). Lebih jelasnya, bentuk pernyataan while adalah
sebagai berikut.

While(kondisi)
Pernyataan
..........
Pernyataan dapat berupa pernyataan tunggal, pernyataan majemuk,
maupun pernyataan kosong. Proses pengulangan terhadap pernyataan dijelaskan
pada gambar berikut:

SALAH
Kondisi

BENAR

Pernyataan

Gambar VI-1. Diagram alir while

VI-11
Robotika Teknik Pemrograman

Pada gambar tersebut tampak bahwa ada kemungkinan pernyataan yang


merupakan tubuh loop tidak dijalankan sama sekali, yaitu jika pada pengujian
kondisi while yang pertama kali ternyata kondisi bernilai salah.

6.1.6.3. Perulangan dengan do...while

Bentuk pernyataan do...while adalah sebagai berikut.

Do
Pernyataan
.........
While(kondisi)

Pada pernyataan do-while,tubuh loop berupa pernyataan, dengan


pernyataan tunggal, majemuk, maupun pernyataan kosong. Pada pernyataan do,
mula-mula pernyataan dijalankan satu kali, selanjutnya kondisi diuji. Seandainya
kondisi bernilai benar maka pernyataan dijalankan lagi, kemudian kondisi
diperiksa kembali dan seterusnya. Kalau kondisi bernilai salah pada saat diuji,
maka pernyataan tidak dijalankan lagi. Untuk lebih jelasnya dapat dilihat pada
gambar dibawah ini. Terlihat tubuh loop minimal akan dijalankan sekali. Hal
inilah yang membedakannya dengan perulangan while.

Pernyataan

BENAR
Kondisi

SALAH
Gambar VI-2. Diagram alir do-while

VI-12
Robotika Teknik Pemrograman

6.1.7. Percabangan

6.1.7.1. Perintah if dan if...else

Perintah if dan if ... else digunakan untuk melakukan operasi percabangan


bersyarat. Fungsi-fungsi untuk menetapkan kondisi dapat dilihat dalam tabel.
Sintaks penulisan if dapat ditulis sebagai berikut:

if(<expression>)<statement>;

sintak perintah if ... else dapat dituliskan sebagai berikut:

if(<expression>)<statement1;

else<statement2>;

jika hasil testing expression memberikan hasil tidak nol statement1 akan
dilaksanakan. Pada keadaan sebaliknya statement2 yang akan dilakukan.
Sebaiknya pemanfaatan perintah if untuk beberapa kondisi dilakukan dengan
menggunakan blok-blok

6.1.7.2. Percabangan switch

Perintah percabangan if .... else dapat digantikan dengan perintah switch.

Dalam pernyataan swicth, sebuah variabel secara berurutan diuji oleh


beberapa konstanta bilangan bilangan bulat atau konstanta karakter. Sintaks
perintah swicth dapat ditulis sebagai berikut.

switch(variable)

case konstanta_1: statement; break;

case konstanta_2: statement; break;

case konstanta_n: statement; break;

default : statement;

VI-13
Robotika Teknik Pemrograman

Hal-hal yang perlu diperhaatikan:

1. Swictch hanya dapat memeriksa variabel terhadap sebuah konstanta,


sedangkan if dapat memeriksa persyaratan perbandingan (lebih besar,
lebih kecil, dan seterusnya).

2. Tidak ada dua konstanta yang sama didalam sebuah swicth

3. Perintah swicth jika dimanfaatkan dengan tepat dapat memberikan hasil


yang lebih baik daripada perintah if....else yang membentuk tangga
dan/atau bersarang.

6.2.Pengenalan CodeVisionAVR

Ada beberapa program yang dapat digunakan sebagai editor dan compiler
untuk mikrokontroler AVR, salah satnya yaitu CodeVision. CodeVisionAVR
adalah salah satu alat bantu pemrograman (programing tool) yang bekerja dalam
lingkungan pengembangan perangkat lunak yang terintegrasi (intsgrated
Development Environment, IDE) seperti aplikasi IDE lainnya, CodeVisionAVR
dilengkapi dengan source code editor, compiler, linker, dan dapat memanggil
Atmel AVR Studio untuk debuggernya. CodeVisionAVR versi evaluasi dapat di-
download pada www.hpinfotech.ro. CodeVision AVR versi evaluasi dapat kita
pakai secara gratis, dengan kapasitas program maksimum 2 kilobyte. Versi standar
yang komersil dapat memanfaatkan seluruh kapasitas memori mikrokontroler
yang ada.

VI-14
Robotika Teknik Pemrograman

Gambar VI-3. CodeVisionAVR

VI-15
Robotika Perancangan Mobile Robot

BAB VII. PERANCANGAN MOBILE ROBOT

7.1.Mengenal Mobile Robot

Robot Mobil atau Mobile Robot adalah konstruksi robot yang ciri khasnya
adalah mempunyai aktuator berupa roda untuk menggerakkan keseluruhan badan
robot tersebut, sehingga robot tersebut dapat melakukan perpindahan posisi dari
satu titik ke titik yang lain.

Robot mobil ini sangat disukai bagi orang yang mulai mempelajari robot. Hal
ini karena membuat robot mobil tidak memerlukan kerja fisik yang berat. Untuk
dapat membuat sebuah robot mobile minimal diperlukan pengetahuan tentang
mikrokontroler dan sensor-sensor elektronik.

Base robot mobil dapat dengan mudah dibuat dengan menggunakan plywood
/triplek, akrilik sampai menggunakan logam ( aluminium ). Robot mobil dapat
dibuat sebagai pengikut garis ( Line Follower ) atau pengikut dinding ( Wall
Follower ) ataupun pengikut cahaya.

7.1.1. Robot Mobil

Robot mobil (robot beroda) menggunakan motor DC untuk memutar roda.


Motor DC dapat berputar searah jarum jam (CW) maupun berlawan arah jarum
jam (CCW). Selain itu kecepatan putarannya deapat diatur menggunakan PWM,
berikut gambar motor DC:

Gambar VII-1. Motor DC

VII-1
Robotika Perancangan Mobile Robot

Untuk memutar roda ada dua cara, yaitu:

1. Motor dihubungkan langsung dengan roda

2. Motor dan Roda Menggunakan gear

Tujuan penggunaan gear pada Robot Mobil yaitu menghasilkan kecepatan


dan power (torsi yang besar).

Berdasarkan tujuan tersebut maka ada dua konfigurasi pemasangan gear.

a) Kecepatan (Motor Gear Besar; Roda Gear Kecil)

Motor DC menggunakan gear yang lebih besar daripada gear yang


digunakan pada roda, sehingga satu kali putaran gear motor DC akan
menghasilkan beberapa kali putaran gear roda, sehingga menghasilkan
kecepatan tinggi.

Gambar VII-2. Konfigurasi Gear untuk menghasilkan kecepatan

b) Power ( Kecil ke Besar )

Motor DC menggunakan gear yang lebih kecil daripada gear yang


digunakan pada roda, sehingga menghasilkan putaran roda yang memiliki
kecepatan rendah, namun memiliki power (torsi) yang besar.

VII-2
Robotika Perancangan Mobile Robot

Gambar VII-3. Konfigurasi Gear untuk menghasilkan power

Jika Robot mobil menggunakan gear maka supaya robot bergerak maju
maka mobil kiri dan mobil kanan harus berputar berlawanan arah jarum jam
(CCW). Supaya robot mobil bergerak mundur, maka motor kiri dan motor kanan
berputar searah jarum jam (CW). Berikut ini gerakan-gerakan dasar pada mobil
robot.

Tabel VII-1. Gerakan Dasar pada Robot Mobil

No Gerakan Motor Kiri Motor Kanan


1 Maju CCW CCW
2 Mundur CW CW
3 Maju belok kanan CCW STOP
4 Maju belok kiri STOP CCW
5 Mundur belok kanan STOP CW
6 Mundur belok kiri CW STOP
7 Berputar di tempat berlawanan CW CCW
arah jarum jam
8 Berputar di tempat searah jarum CCW CW
jam

VII-3
Robotika Perancangan Mobile Robot

7.1.2. Pemrograman Robot Mobil

Membuat Program untuk menggerakkan Robot Mobil (maju,mundur,belok


kiri, belok kanan, dan berhenti).

Untuk mengendalikan motor DC dibutuhkan arus yang besar sehingga perlu IC


Driver seperti IC L293D, L293D, L293D dapat dilihat pada gambar di bawah ini:

Gambar VII-4. Driver Motor DC L293D

Cara Kerja IC L293D sebagai berikut:


Arah putar motor kiri diatur oleh PORTB.0 dan PORTB.1
Arah putar motor kanan diatur oleh PORTB.2 dan PORTB.3
Kecepatan motor kiri (EN1) diatur oleh register OC1A (PORTD.5)
Kecepatan motor kanan (EN2) diatur oleh register OC1B (PORTD.4)

Tabel VII-2. Arah Putar Motor Kiri


Motor Kiri Clock Counter Clock STOP
Wise(CW) Wise (CCW)
PORTB.0 0 1 1 0
PORTB.1 1 0 1 0

VII-4
Robotika Perancangan Mobile Robot

Tabel VII-3. Arah Putar Motor Kanan


Motor Kanan Clock Counter Clock STOP
Wise(CW) Wise (CCW)
PORTB.2 0 1 1 0
PORTB.3 1 0 1 0

Konfigurasi Port B sebagai output


Konfigurasi timer 1 menggunakan CodeWizardAVR
Clock Source: System Clock
Clock Value: 11059.200kHZ
Mode : Ph. Correct PWM top=ooFFh
OutputA : Inverted
Output B : Inverted

Untuk mengatur kecepatan motor DC maka dalam prokgram dapat dituliskan


OCR1AL=10;
OCR1BL=10;
Contoh Program Gerakan Robot Mobil menggunakan Gear

Gerakan Maju
Motor kiri maju, dan motor kanan maju:
PORTB.0=1;PORTB.1=0;PORTB.2=1;PORTB.3=0;

Gerakan Mundur
Motor kiri mundur, dan motor kanan mundur:
PORTB.0=0;PORTB.1=1;PORTB.2=0;PORTB.3=1;

Gerakan Belok ke Kanan


Motor kiri maju, dan motor kanan stop:
PORTB.0=1;PORTB.1=0;PORTB.2=1;PORTB.3=1;

Gerakan Belok ke Kiri

VII-5
Robotika Perancangan Mobile Robot

Motor kiri stop, dan motor kanan maju:


PORTB.0=1;PORTB.1=1;PORTB.2=1;PORTB.3=0;

Gerakan Berhenti
Motor kiri stop, dan motor kanan stop:
PORTB.0=1;PORTB.1=1;PORTB.2=1;PORTB.3=1;
7.2.Robot Line Follower

Robot line follower adalah robot yang dapat bergerak mengikuti garis
secara OTOMATIS. Dengan menggunakan white board dan garis warna hitam,
maka robot ini akan berjalan mengkuti garis. Namun ada beberapa hal yang harus
diperhatikan disini. Yaitu terdapatnya garis bercabang, perempatan, pertigaan atau
bahkan tikungan yang tajam. Maka untuk menjalankan robot tersebut sesuai
dengan yang diinginkan tentunya ada beberapa progam yang harus dikerjakan
dengan bantuan beberapa sensor infra red dan photo diode sebagai sensor garis.
Mikrokontroler sebagai otak dari kerja robot ini. Pemprogaman mikrokontroler
AVR ATMega8535 mengunakan bahasa C.

Gambar VII-5. Robot Line Follower

VII-6
Robotika Perancangan Mobile Robot

7.2.1. Sensor Proximity

Sensor proximity dapat kita buat sendiri. Prinsip kerjanya sederhana,


hanya memanfaatkansifat cahaya yang akan dipantulkan jika mengenai benda
berwarna terang dan akan diserap jikamengenai benda berwarna gelap. Sebagai
sumber cahaya kita gunakan LED (Light Emiting Diode)yang akan memancarkan
cahaya merah. Dan untuk menangkap pantulan cahaya LED, kita
gunakanphotodiode. Jika sensor berada diatas garis hitam maka photodioda akan
menerima sedikit sekalicahaya pantulan. Tetapi jika sensor berada diatas garis
putih maka photodioda akan menerimabanyak cahaya pantulan. Berikut adalah
ilustrasinya :

Gambar VII-6. Robot Line Follower

Sifat dari photodioda adalah jika semakin banyak cahaya yang diterima,
maka nilai resistansi diodanya semakin kecil. Dengan melakukan sedikit
modifikasi, maka besaran resistansi tersebut dapat diubah menjadi tegangan.
Sehingga jika sensor berada diatas garis hitam, maka tegangan keluaran sensor
akan kecil, demikian pula sebaliknya. Berikut adalah gambar rangkaian sensor
proximity yang digunakan pada robot ini :

VII-7
Robotika Perancangan Mobile Robot

Gambar VII-7. Rangkaian Sensor Proximity

Agar dapat dibaca oleh mikrokontroler, maka tegangan sensor harus


disesuaikan dengan level tegangan TTL yaitu 0 – 1 volt untuk logika 0 dan 3 – 5
volt untuk logika 1. Hal ini bisa dilakukan dengan memasang operational
amplifier yang difungsikan sebagai komparator. Output dari photodiode yang
masuk ke input inverting op-amp akan dibandingkan dengan tegangan tertentu
dari variable resistor VR. Tegangan dari VR inilah yang kita atur agar sensor
proximity dapat menyesuaikan dengan kondisi cahaya ruangan.

7.2.2. Rancangan Mekanik Robot

Pada perancangan mekanik mobile robot, kita dapat menggunakan 2 buah


aktuator (penggerak) berupa motor DC, agar dapat dikendalikan dengan mudah.
Terdapat juga roda bebas (freewheel) yang berada di depan dan berfungsi sebagai
roda bantu untuk pergerakan robot. Peletakan sensor harus berada di depan agar

VII-8
Robotika Perancangan Mobile Robot

robot dapat membaca jalur yang akan dilaluinya. Dan peletakan komponen-
komponen lain akan di sesuaikan bentuk mekanik robot yang akan dibuat.

Gambar VII-8. Mekanik Robot

7.2.3. Algoritma Pergerakan Robot

Sebelum pembuatan program pada mobile robot line follower, maka


kemungkinan pembacaan sensor proximity perlu didefenisikan terlebih dahulu.
Dengan demikian kita dapat menentukan pergerakan robot yang bertujuan agar
selalu berada tepat diatas garis. Berikut ini beberapa kemungkinan pembacaan
garis oleh sensor proximity:

Gambar VII-9. Kemungkinan Posisi Sensor Proximity Pada Line

VII-9
Robotika Perancangan Mobile Robot

Pada Gambar a diatas kedua buah sensor proximity berada diatas garis
hitam, maka mikrokontroler akan memerintahkan robot untuk bergerak lurus.
Namun jika posisi sensor seperti pada Gambar b, maka robot harus belok ke
kanan. Dan jika posisi Sensor seperti pada Gambar c, maka robot harus belok ke
kiri. Dengan demikian robot akan tetap bergerak mengikuti garis hitam.

Sebagai ”otak” robot digunakan mikrokontroler AVR jenis Atmega8535


yang akan membaca data dari sensor proximity, mengolahnya, kemudian
memutuskan arah pergerakan robot. Pada robot line track ini, keluaran sensor
proximity dihubungkan ke PortA.0 dan PortA.1 pada mikrokontroler. Sedangkan
driver motor dihubungkan ke PortC.0 s/d PortC.3 seperti terlihat pada gambar
berikut :

Gambar VII-10. Rangkaian Mikrokontroler

7.2.4. Driver Motor

Untuk menggerakkan dua buah motor dc, digunakan IC H-Bridge Motor


Driver L298, yang mampu memberikan arus maksimum sebesar 1A ke tiap motor.
Input L298 ada 6 jalur, terdiri dari input data arah pergerakan motor dan input

VII-10
Robotika Perancangan Mobile Robot

untuk PWM (Pulse Width Modulation). Untuk mengatur kecepatan motor, pada
input PWM inilah akan diberikan lebar pulsa yang bervariasi dari mikrokontroler.

Gambar VII-11. Rangkaian Driver Motor DC

VII-11
DAFTAR PUSTAKA

Arwindra Rizqyawan, 2009. Sekilas Rotary Encoder, konversi.wordpress.com,


Bandung.

Endra Pitowarno. 2006. Robotika, desain, control dan kecerdasan buatan. Andi
Yogyakarta.

Fernando Briz, et al. Speed measurement Using Rotary Encoder for Hight
Performance ac Drivers. IEEE Trans.

Groover, et.al., 1986. Industrial Robotic. McGraw Hill Book Coy., New York.

Haripuddin, 2010. Ilmu Robotika. Ilmu-robotika.wordpress.com, Bandung.

Heri Andrianto. 2013. Pemrograman Mikrokontroler AVR Atmega16


Menggunakan Bahasa C (CodeVisionAVR)-Edisi Revisi.
InformatikaBandung.

Hendrawan Soebakti. 2007. Membuat sendiri robot line tracker.

HME-ITB. 2009. Elektron Online. Hme.ee.itb.ac.id, bandung.

K.S. Fu, R.C. Gonzalis, G.S.G. Lee. 1987. Robotic, Control, Sensing, Vision and
Intelligence. Mc. Graw Hill.

MicRo-TC CMCS Team, 2012. Training Centre CMCS, Make a Robot Line
Follower 1 st Edition, Makassar.

Yusep Nur Jatmika. 2011. CaraMudah Merakit Robot Untuk Pemula. FlashBooks
Jogjakarta.

VII-1

Anda mungkin juga menyukai