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
stabil saat berjalan pada permukaan rumput buatan yang tidak rata.
keseimbangan robot agar dapat berjalan dengan stabil pada rumput buatan maka digunakan kontrol PID dalam sistem ini.
3.2. Perancangan Perangkat Keras 3.2.1. Perangkat Keras Mekanik
Gambar 3.2
13
BAB III
PERANCANGAN SISTEM
Pada bab ini akan dijelaskan mengenai perancangan sistem dari perangkat keras, serta perangkat lunak robot.
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.
gar dapat berjalan dengan stabil pada rumput buatan maka digunakan kontrol PID dalam sistem ini.
Gambar 3.1. Diagram blok sistem.
Perancangan Perangkat Keras Perangkat Keras Mekanik
(a) (b)
Gambar 3.2. Frame robot (a), bentuk dan arah axis DOF pada robot (b). Pada bab ini akan dijelaskan mengenai perancangan sistem dari perangkat keras,
Sistem yang direalisasikan dalam skripsi ini adalah sebuah sistem yang keseimbangan robot agar dapat berjalan dengan stabil saat berjalan pada permukaan rumput buatan yang tidak rata. Untuk menjaga gar dapat berjalan dengan stabil pada rumput buatan maka
14
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 Luas penampang kaki (cm2) 65
Panjang pusat massa (cm) 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
interface dalam membaca
mempunyai dua buah blok GPIO, GPIO 15x2 yang dikontrol oleh GPIO kontroler terpisah dari
oleh processor
dapat mengukur besaran momen inersia. CMPS11 memiliki tiga buah sensor yaitu accelerometer, gyroscope,
digunakan CMPS11 untuk mendapat nilai kemiringan dan gaya yang dialami oleh robot menggunakan
akan menjadi nilai umpan balik pada sistem kestabi memiliki dua buah
15
dalam membaca sensor dengan komunikasi I
unyai dua buah blok GPIO, GPIO 15x2 yang dikontrol oleh GPIO kontroler terpisah dari processor dan GPIO 6x2 yang dikontrol langsung
processor.
.2. Daftar pin pada GPIO 6x2 pada Odroid XU4 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
Gambar 3.4. Sensor IMU CMPS11
CMPS11 merupakan sebuah sensor IMU Gambar 3.4. d
dapat mengukur besaran momen inersia. CMPS11 memiliki tiga buah sensor accelerometer, gyroscope, dan magnetometer. Dalam skripsi ini digunakan CMPS11 untuk mendapat nilai kemiringan dan gaya yang dialami oleh robot menggunakan accelerometer dan gyroscope. Nilai
akan menjadi nilai umpan balik pada sistem kestabilan robot. S
memiliki dua buah interface untuk mengambil data yaitu melalui komunikasi dengan komunikasi I2C. Odroid sendiri
unyai dua buah blok GPIO, GPIO 15x2 yang dikontrol oleh GPIO x2 yang dikontrol langsung
pada Odroid XU4 yang digunakan
I2C dan UART. Dalam skripsi ini
3. Aktuator Dynamixel MX28 dan Dynamixel AX18
Gambar 3.5
Pada bagian penggerak robot digunakan MX28 untuk bagian
kepala seperti pada Gambar Dynamixel MX28
dari servo dan torsi yang cukup besar untuk menopang tubuh robot terlampir pada Tabel 3.4
16
C 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 I2C
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
Aktuator Dynamixel MX28 dan Dynamixel AX18
(a) (b)
Gambar 3.5. Dynamixel AX18 (a), Dynamixel MX28 (b).
Pada bagian penggerak robot digunakan smart motor servo
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. Servo ini memiliki internal PID untuk mengontrol sudut
dan torsi yang cukup besar untuk menopang tubuh robot lampir pada Tabel 3.4.
C untuk pembacaan sensor.
. Dynamixel AX18 (a), Dynamixel MX28 (b).
17
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
18 3.3. Perancangan Perangkat Lunak
Pada perancangan perangkat lunak robot akan dijelaskan bagaimana penerapan kontrol PID pada pemprograman robot di mini pc Odroid XU4.
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.
START
INISIALISASI Motion Pattern Generator
Hitung PID kaki Baca IMU
Roll kanan > 15 atau Roll kiri<
-15?
Hitung PID lengan
Inverse Kinematic
Gerakan Servo Robot
END Ya
Tidak Thread Baca IMU
Strategi Panggul dan Strategi rotasi
lengan Batasi pergerakan
tangan dalam rotasi Roll
19
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.