BAB III PERANCANGAN SISTEM Pada bab ini akan dijelaskan mengenai perancangan sistem dari perangkat keras, serta perangkat lunak robot. 3.1.
Gambaran Sistem Sistem yang direalisasikan dalam skripsi ini adalah sebuah sistem yang
digunakan untuk mempertahankan keseimbangan robot agar dapat berjalan dengan stabil saat berjalan pada permukaan rumput buatan yang tidak rata. Untuk menjaga keseimbangan robot agar gar dapat berjalan dengan stabil pada rumput buatan maka digunakan kontrol PID dalam sistem ini.
Gambar 3.1. Diagram blok sistem.
3.2.
Perancangan Perangkat Keras
3.2.1. Perangkat Keras Mekanik
(a)
(b)
Gambar 3.2 3.2. Frame robot (a), bentuk dan arah axis DOF pada robot (b). 13
Perangkat keras mekanik menggunakan frame robot Darwin OP, frame terbuat dari alumunium dan stainless steel. Robot memiliki spesifikasi mekanik seperti pada Tabel 3.1. Tabel 3.1. Tabel Spesifikasi Robot Tinggi (cm)
50,5
Panjang lengan (cm)
23,5
Massa robot (Kg)
2.5
Massa lengan (Kg)
0.125 2
Luas penampang kaki (cm ) Panjang pusat massa (cm)
65 26,5
3.2.2. Perangkat Keras Elektronik Pada perangkat keras elektronik akan dijelaskan penggunaan mini pc sebagai kontroler utama, sensor IMU, dan Aktuator pada robot. 1. Odroid XU4
Gambar 3.3. Odroid XU4
Kontrol utama pada robot menggunakan mini pc Odroid XU4 Gambar 3.3. Mini pc ini digunakan untuk membaca sensor, mengolah algoritma berjalan robot, mengendalikan motor servo dengan komunikasi serial, dan melakukan proses kontrol PID untuk kestabilan robot. Mini pc Odroid XU4 digunakan dalam skripsi ini karena memiliki beberapa keunggulan seperti ukuran yang kecil, memakai processor octa core yang cukup kuat untuk menjalankan program dengan multithreading, dan memiliki GPIO untuk 14
interface dalam membaca sensor dengan komunikasi I2C. Odroid sendiri mempunyai unyai dua buah blok GPIO, GPIO 15x2 yang dikontrol oleh GPIO kontroler terpisah dari processor dan GPIO 6x2 x2 yang dikontrol langsung oleh processor. processor
.2. Daftar pin pada GPIO 6x2 pada Odroid XU4 yang digunakan Tabel 3.2 dalam perancangan sistem. Nama Pin
Keterangan
Pin 1
Sumber tegangan 5 Volt
Pin 2
Ground
Pin 3
Sumber tegangan 1,8 Volt
Pin 4
SDA
Pin 6
SCL
2. CMPS11
Gambar 3.4. Sensor IMU CMPS11
meru akan sebuah sensor IMU Gambar 3.4. ddi mana sensor ini CMPS11 merupakan dapat mengukur besaran momen inersia. CMPS11 memiliki tiga buah sensor yaitu accelerometer, gyroscope, dan magnetometer.. Dalam skripsi ini digunakan CMPS11 untuk mendapat nilai kemiringan dan gaya yang dialami oleh robot menggunakan accelerometer dan gyroscope.. Nilai Nilai-nilai tersebut akan menjadi nilai umpan balik pada sistem kestabilan kestabilan robot. S Sensor ini memiliki dua buah interface untuk mengambil data yaitu melalui komunikasi 15
sensor. I2C dan UART. Dalam skripsi ini dipilih mode I2C untuk pembacaan se Berikut adalah Tabel 3.4 spesifikasi CMPS11. Tabel 3.3. Spesifikasi CMPS11 Tegangan Operasi
3.6 Volt – 5 Volt
Protokol
I2 C
Sensor
3 axis Magnetometer 3 axis Accelerometer 3 axis Gyroscope
Raw Data
Accelerometer x, y, z Gyroscope x, y, z
Kalman Filtered Data
Compass Bearing 8/16Bit Pitch Angle Roll Angle
3. Aktuator Dynamixel MX28 dan Dynamixel AX18
(a)
(b)
Gambar 3.5 3.5.. Dynamixel AX18 (a), Dynamixel MX28 (b).
Pada bagian penggerak robot digunakan smart motor servo Dynamixel MX28 untuk bagian kaki, dan Dynamixel AX18 pada bagian tangan dan kepala seperti pada Gambar 3.5. Pada bagian kaki digunakan 12 buah servo Dynamixel MX28. MX28 Servo ini memiliki internal PID untuk mengontrol sudut dari servo dan torsi yang cukup besar untuk menopang tubuh robot seperti terlampir lampir pada Tabel 3.4. 3.4
16
Tabel 3.4. Spesifikasi Dynamixel MX28 Position Sensor
Contactless absolute encoder (12 BIT, 3600)
Motor
Maxon
Gear
Metal
Baud Rate
8000 bps ~ 4.5 Mbps
Protocol
Half duplex UART 8N1
Control Algorithm
PID
Resolution
0.0880
Running Degree
3600, Endless Turn
Stall Torque
2,3 N.m (at 11.1 Volt, 1.3A) 2,5 N.m (at 12 Volt, 1.4A) 3.1 N.m (at 14.8 Volt, 1.7A)
Untuk bagian tangan dan kepala digunakan servo Dynamixel AX18 karena tidak bekerja terlalu berat dalam arti tidak menopang berat tubuh robot tidak perlu servo dengan torsi yang besar. Berikut adalah spesifikasi Dynamixel AX18 pada Tabel 3.5.
Tabel 3.5. Spesifikasi Dynamixel AX18 Position Sensor
Potentiometer (10BIT, 3000)
Gear
Plastic, Metal
Baud Rate
7343 bps ~ 1 Mbps
Protocol
Half duplex UART 8N1
Resolution
0.290
Running Degree
3000, Endless Turn
Stall Torque
1.8 N.m (at 12 Volt, 2.2A)
17
3.3.
Perancangan Perangkat Lunak Pada perancangan perangkat lunak robot akan dijelaskan bagaimana penerapan
kontrol PID pada pemprograman robot di mini pc Odroid XU4. START
Main program
Thread Baca IMU Baca IMU
INISIALISASI
Motion Pattern Generator
Hitung PID kaki Inverse Kinematic
Roll kanan
Ya
> 15 atau Roll kiri< -15?
Tidak Batasi pergerakan tangan dalam rotasi Roll
Hitung PID lengan
Strategi Panggul dan Strategi rotasi lengan
Gerakan Servo Robot
END
Gambar 3.6. Diagram alir sistem kendali pada robot humanoid R2C-R9. Berikut adalah penjelasan diagram alir pada Gambar 3.6 : 1. Sistem akan mulai berjalan ketika program pada mini pc dieksekusi. 2. Sistem akan melakukan inisialisasi. 3. Kemudian task pada thread untuk membaca IMU dan algoritma berjalan pada main program dimulai. 4. Pada thread baca IMU akan terus membaca data accelerometer dan gyroscope dari sensor.
18
5. Lalu data accelerometer dan gyroscope yang didapat dari pembacaan sensor IMU akan dijadikan sebagai masukan dan diolah didalam perhitungan PID untuk keseimbangan menggunakan kaki robot. 6. Jika nilai roll saat robot mengalami kemiringan ke arah kanan lebih dari 150 atau saat robot mengalami kemiringan ke arah kiri kurang dari -150 maka pergerakan tangan akan dalam arah rotasi roll akan diproteksi dengan cara membatasi nilai sudut servo shoulder roll. Kemudian dilanjutkan dengan perhitungan PID untuk lengan, jika tidak memenuhi syarat maka akan langsung dilakukan perhitungan PID untuk lengan. (Set Point pada sumbu rotasi roll atau arah putar terhadap sumbu x adalah 00) 7. Setelah semua nilai hasil perhitungan PID dilakukan maka nilai hasil PID untuk kaki dan nilai PID untuk tangan akan diolah dalam algoritma strategi panggul untuk PID kaki, dan algoritma strategi lengan untuk PID lengan. 8. Pada main program, sistem akan membangkitkan pola gerakan sesuai dengan parameter berjalan yang diperintahkan. 9. Setelah pola gerakan berjalan dibangkitkan, hasil dari pembangkit pola gerakan akan dimasukan pada perhitungan inverse kinematic untuk mendapat nilai sudut untuk setiap motor servo pada robot. 10. Hasil dari strategi rotasi lengan dan hasil dari strategi panggul akan ditambahkan pada hasil perhitungan inverse kinematic pada bagian ankle pitch, knee, hip pitch, shoulder pitch, dan shoulder roll. 11. Setelah perhitungan setiap strategi dan inverse kinematic selesai maka data untuk setiap servo akan dikirimkan ke setiap servo untuk digerakkan.
19