BAB II
TINJAUAN PUSTAKA
1.1 Definisi Automated Guided Vehicle (AGV)
Automated Guided Vehicle (AGV) adalah robot yang biasa digunakan memindahkan barang dari suatu tempat ke tempat lain. Robot AGV biasa digunakan untuk menggantikan tenaga manusia pada gudang logistik.
Gambar 2.1 Ilustrasi Robot Automated Guided Vehicle (AGV)
1.2 Mikrokontroler STM32F103C8Tx
STM32F103C8Tx merupakan mikrokontroler yang menggunakan arsitektur ARM (Advanced RISC Machine) 32bit dengan prosesor cortex M3.
mikrokontroler ini adalah salah satu mikrokontroler yang diproduksi oleh perusahaan ST Microelectronic [1].
Di dunia robotika STM32F103C8Tx cukup populer, di karenakan menggunakan prosesor cortex M3 yang memiliki performa yang tinggi yaitu, memiliki clock speed hingga 72 MHz, memiliki SRAM sebesar 20 KB, memiliki 4 timer dimana setiap timer memiliki 4 channel, dan harga yang tergolong murah.
Tabel 2.1 Data Spesifikasi Modul Mikrokontroler STM32F103C8Tx
Operating voltage 3.3V
Analog inputs 10
Digital I/O pins 37
DC source/sink from I/O pins 6 mA
Flash memory (KB) 64/128
SRAM 20 KB
Frequency (clock speed) 72 MHz max.
Communication I2C, SPI, UART, CAN, USB
1.3 MPU-6050
MPU-6050 merupakan sensor gerakan dengan 16bit ADC yang memiliki Gyroscope 3 sumbu dan Accelerometer 3 sumbu dalam satu silikon yang sama dan dipasang bersama dengan Digital Motion Processor (DMP). Modul ini adalah salah satu Modul sensor gerakan yang diproduksi oleh perusahaan InvenSense [2].
Di dunia robotika MPU-6050 cukup populer, karena memiliki keunggulan yaitu memiliki Gyroscope 3 sumbu dan Accelerometer 3 sumbu dalam satu modul, memiliki harganya yang tergolong murah ditambah dengan mudah dalam penggunaan nya. Di dunia robotika MPU-6050 sering digunakan sebagai umpan balik pada sistem robot untuk mengukur orientasi atau rotasi, perubahan sudut dan akselerasi yang terjadi pada robot.
Gambar 2.3 Modul MPU-6050
1.3.1 Gyroscope dan Accelerometer
Pada modul MPU-6050 terdapat Gyroscope 3 sumbu dan Accelerometer 3 sumbu. Gyroscope itu sendiri merupakan perangkat yang dapat mengukur orientasi dan perubahan sudut dalam satuan waktu. Sedangkan Accelerometer merupakan perangkat yang dapat mendeteksi perubahan akselerasi dalam satuan waktu. Gyroscope dan Accelerometer memiliki 3 sumbu bebas yang sama yaitu sumbu X, Y dan Z.
Pada Gyroscope rotasi pada sumbu X, Y dan Z disebut dengan roll, pitch dan yaw. roll untuk rotasi pada sumbu X, pitch untuk rotasi pada sumbu Y dan yaw untuk rotasi pada sumbu Z. Jika rotasi searah jarum jam, maka akan bernilai positif. Sebaliknya, jika Jika rotasi berlawanan arah jarum jam, maka akan bernilai negatif.
Pada Accelerometer Jika akselerasi searah dengan suatu sumbu, maka akan bernilai positif. Sebaliknya, jika Jika akselerasi berlawanan dengan suatu sumbu, maka akan bernilai negatif [7].
Gambar 2.4 Pergerakan MPU-6050
1.4 NodeMCU ESP8266
NodeMCU ESP8266 adalah sebuah mikrokontroler yang terintegrasi dengan modul Wi-Fi. Modul Wi-Fi pada mikrokontroler ini menggunakan protokol komunikasi standar IEEE 802.11 b/g/n. Modul Wi-Fi ini dapat dijadikan sebagai akses poin (Access Point) atau sebagai stasiun (Station Mode). Ketika modul Wi-Fi sebagai akses poin maka perangkat lain dapat terhubung dengan modul Wi-Fi ini. Jika modul Wi-Fi dijadikan sebagai stasiun maka modul Wi-Fi
dapat berperan sebagai sensor nirkabel sehingga dapat terhubung ke jaringan Wi- Fi yang tersedia [3].
NodeMCU ESP8266 memiliki beberapa keunggulan sehingga modul ini cukup populer dalam dunia robotika. Keunggulan dari modul ini yaitu, flash memory yang besar yaitu 4 MB, SRAM sebesar 64 KB, tegangan yang diperlukan untuk mengoperasikan hanya 3.3 V. Karena keunggulannya itu modul ini sering digunakan pada projek yang menggunakan internet of think (IOT) [4].
Gambar 2.5 Modul NodeMCU ESP8266 Tabel 2.2 Data Spesifikasi Modul NodeMCU ESP8266
Microcontroller Tensilica 32-bit RISC CPU Xtensa LX106
Operating voltage 3.3 V
Input voltage 7-12 V
Digital I/O pins 16
Analog Input Pins (ADC) 1
Flash memory 4 MB
SRAM 64 KB
Frequency (clock speed) 80 MHz max.
Communication I2C, SPI, UART, USB
1.5 Kontrol PID (Proporsional Integral Derivative)
Kontrol PID (Proporsional Integral Derivative) merupakan sistem kendali tertutup (close loop) yang digunakan sebagai umpan balik (feedback) pada sistem.
Kontrol PID terdiri dari tiga jenis kontrol yang berbeda yaitu, P (Proporsional), I
kelebihan dan kekurangan masing-masing. Dalam penggunaan sistem kontrol PID perlu dilakukan pengaturan parameter kontrol P, I, D untuk menghasilkan keluaran sistem yang diinginkan [5].
Parameter P (Proporsional) tergantung pada kesalahan saat ini, Kontrol P (Proporsional) digunakan untuk memperbaiki waktu rise time dan mengurangi error steady state tetapi meningkatkan nilai overshoot pada sistem. Parameter I (Integral) tergantung pada akumulasi kesalahan masa lalu, Kontrol I (Integral) digunakan untuk menghilangkan error steady state dan mengurangi waktu rise time, tetapi meningkatkan overshoot dan settling time. Parameter D (Derivative) adalah prediksi kesalahan di masa depan, kontrol D (Derivative) digunakan untuk mengurangi terjadinya overshoot dan settling time pada sistem [6].
1.6 Navigasi Odometry
Odometry adalah metode yang digunakan untuk mengetahui posisi tujuan yang diinginkan dan mengetahui robot perlu bergerak kemana untuk mencapai posisi tujuan yang diinginkan serta mengetahui posisi relatif robot berdasarkan data yang diterima dari aktuator [7]. Data yang diterima oleh odometry kemudian diolah hingga mendapatkan posisi relatif robot. Pengolahan data pada odometry akan terus berlanjut sampai posisi relatif robot sama dengan posisi yang telah diinginkan. Pada robot yang menggunakan aktuator berupa motor atau roda digunakan sensor rotary encoder untuk mengetahui jumlah putaran roda.
1.6.1 Sensor Rotary Encoder
Rotary encoder adalah sensor yang digunakan untuk mengetahui sudut atau putaran dari sebuah motor. Pada umumnya rotary encoder terdiri dari sensor optik dan piringan yang memiliki lubang-lubang dibagian luar piringan.
Rotary encoder biasanya memiliki 2 atau 3 channel. Channel satu dan Channel dua disebut dengan channel A dan channel B yang memiliki beda phase sebesar 90°. Channel A dan B digunakan untuk mengetahui arah putaran motor, apakah motor berputar searah jarum jam (clockwise) atau berlawanan arah jarum jam (counter clockwise). Dan channel ke tiga disebut index yang digunakan untuk
Gambar 2.6 Rotary encoder
1.7 Differential Drive Mobile Robot
Differential drive mobile robot adalah robot yang bergerak menggunakan dua roda yang terpisah dan terletak pada sisi kanan dan kiri robot (non-holonomic robot). Pergerakan robot dapat dikendali dengan cara mengendalikan roda kanan dan roda kiri secara independen [8].
Gambar 2.7 Differential drive mobile robot
Dari gambar 2.7 dapat diketahui pergerakan sudut hadap robot berdasarkan Vr = -Vl dan pergerakan linear robot adalah Vr = Vl.
X = 2r Vr + Vl cos θ (2.1)
Y = 2r Vr + Vl sin θ (2.2)
Persamaan diatas dapat digabungkan dengan model unicyle. Unicycle model adalah persamaan ketika robot mempunyai Input V (kecepatan roda) dan ω (kecepatan sudut) [9]. Model persamaan unicyle dapat dilihat sebagai berikut.
X = V cos � (2.4)
Y = V cos � (2.5)
Φ = ω (2.6)
Dari persamaan yang telah didapat diketahui bahwa V = 2r Vr + Vl dan ω = rl Vr − Vl jika persamaan tersebut dapat digabungkan didapat persamaan seperti berikut.
V = 2r Vr + Vl =>2Vr = Vr + Vl (2.7)
ω = rl Vr − Vl =>ωlr = Vr − Vl (2.8)
Dari penggabungan persamaan diatas didapat persamaan kecepatan untuk setiap roda.
Vr = 2V+ωl2r (2.9)
Vl = 2V−ωl2r (2.10)