# Desain dan Implementasi Sistem Kendali PID pada Social Distancing Robot
##
* Jaisy Malikulmulki Arasy - 1103202201
* Evan Pradipta Hardinatha - 1103204160
* Muhammad Garma Arsyam Rianto - 1103200214
* Enrico Andreson Pattipeilohy - 1103204206
* Ibrahim Maulana - 1103201247
## Daftar Isi
[TOC]
**[CLO 4]** Memiliki kemampuan untuk menganalisis sistem kendali loop tertutup pada kondisi transien dan steady state untuk melihat performansinya.
**[CLO5]** Memiliki kemampuan merancang sistem kendali motor DC.
## Pendahuluan
Dalam era teknologi yang terus berkembang, robotika telah menjadi bidang yang populer untuk inovasi. Robot-robot pintar semakin diaplikasikan untuk berbagai tujuan, mulai dari industri hingga kebutuhan sosial. Pada hal ini, *Social Distancing Robot* menjadi salah satu contoh inovasi yang menggabungkan teknologi robotika dengan tujuan menjaga jarak aman dalam interaksi sosial.
Tujuan utama proyek ini adalah merancang dan mengembangkan *Social Distancing Robot* yang dilengkapi dengan sistem kendali PID (*Proporsional-Integral-Derivative*) untuk navigasi yang aman dan efisien di lingkungan berhalangan. Robot ini dirancang untuk secara otomatis mengenali dan menghindari halangan, sambil menjaga jarak yang aman dari objek di depannya, seperti dinding atau penghalang lainnya.
Robot ini memiliki dua fungsi utama: pertama, untuk mendeteksi dan merespons kehadiran *obstacle* yang berada dalam jarak tertentu. Kedua, robot ini mampu mengatur pergerakan maju, mundur, atau berhenti secara otomatis sesuai dengan jarak yang telah ditentukan. Penggunaan kontrol PID dalam sistem navigasinya memungkinkan robot untuk menyesuaikan gerakannya dengan respons yang cepat dan tepat terhadap perubahan jarak dari *obstacle*.
Dengan merangkum prinsip-prinsip teknis dari sistem yang diimplementasikan pada robot ini, diharapkan laporan ini dapat memberikan wawasan mendalam tentang konsep dan aplikasi praktis dari penggunaan kontrol PID dalam konteks social distancing di masa pandemi maupun pada situasi sehari-hari di masa depan.
## Rancangan Sistem Kendali *Loop* Tertutup PID
Bab ini menguraikan rancangan sistem kendali *loop* tertutup PID yang menjadi landasan utama dalam pengembangan *Social Distancing Robot*. Sistem kendali merupakan sebuah sistem yang memiliki keluaran. Keluaran ini dikendalikan pada nilai tertentu oleh sistem[a]. Rancangan sistem kontrol ini dihadirkan sebagai dasar yang mendukung responsivitas dan keakuratan gerak robot dalam menghadapi halangan serta menjaga jarak yang aman dari objek di sekitarnya
1. **Teori Pendukung dan Metode:**
* **Kendali *Loop* Tertutup:**
Sistem kendali *loop* tertutup merupakan sistem kontrol yang menggunakan informasi umpan balik dari outputnya untuk memperbaiki atau mengatur inputnya, sehingga menciptakan suatu sebuah loop (putaran) yang menutup antara output dan input. Dalam sistem ini, output dari sistem dikirim kembali sebagai umpan balik ke dalam sistem untuk membandingkan dengan target atau *set point* yang diinginkan.
* **Keunggulan PID:**
Metode PID (*Proporsional-Integral-Derivative*) adalah salah satu teknik kontrol yang paling umum digunakan karena menggabungkan tiga aksi yang berbeda untuk merespons dengan cepat terhadap kesalahan, menghilangkan kesalahan tetap, dan menjaga stabilitas sistem.
Komponen proporsional dalam kontrol PID bertanggung jawab untuk merespons perbedaan antara nilai yang diinginkan (set point) dan nilai sebenarnya (nilai terukur)[2]. Integral menangani kesalahan yang terakumulasi dari waktu ke waktu[2], menghilangkan kesalahan tetap untuk memastikan sistem mencapai nilai *set point* dengan tepat. Sementara itu, komponen derivatif merespons terhadap laju perubahan kesalahan[2], membantu menjaga stabilitas sistem dan mengurangi *overshoot* saat mendekati *set point*.
Keseluruhan, ketiga komponen ini bekerja bersama dalam kontrol PID untuk mencapai keseimbangan antara respons cepat, eliminasi kesalahan tetap, dan stabilitas sistem dalam berbagai aplikasi kontrol.
2. **Gambar *Close Loop System*:**
* ***Diagram Block*:**

3. **Sensor dan Aktuator:**
* **Sensor Ultrasonik HC-SR04:**
Sensor jarak HC-SR04 adalah sensor ultrasonik yang digunakan untuk mengukur jarak dengan mengirimkan gelombang suara dan mendeteksi waktu yang dibutuhkan gelombang tersebut untuk kembali setelah memantul dari objek[5].
* **Arduino (*Controller*):**
Arduino adalah platform elektronik open-source yang menggabungkan perangkat keras (microcontroller) dan perangkat lunak (IDE Arduino)[4]. Arduino berfungsi sebagai otak atau pusat pengontrol robot. Dalam hal ini, Arduino akan memproses data dari sensor ultrasonik dan memutuskan bagaimana robot harus bergerak berdasarkan informasi yang diterima.
* **Dual H-Bridge Motor Driver:**
Motor driver ini berfungsi sebagai perantara antara Arduino dan dinamo motor. H-Bridge memungkinkan arah putaran motor bisa diatur (majukan atau mundurkan) serta mengatur kecepatan putaran motor.
* **Dinamo (*Actuator*):**
Dinamo adalah aktuator yang mengubah sinyal kontrol dari motor driver menjadi gerakan fisik pada robot. Dinamo akan menerjemahkan sinyal yang diterima dari motor driver menjadi gerakan berupa putaran roda atau pergerakan robot sesuai instruksi yang diberikan oleh Arduino.
4. **Hubungan-hubungan:**
* **Integrasi Informasi:**
Proses integrasi informasi dari sensor ultrasonik HC-SR04 ke dalam kontroler Arduino. Kontroler Arduino menggunakan data jarak yang diperoleh dari sensor ultrasonik ini untuk membuat keputusan yang diperlukan dalam pengaturan gerak robot dengan menggunakan PID.
* **Koneksi dengan Motor DC:**
Pengiriman sinyal kontrol dari kontroler Arduino ke Dual H-Bridge Motor Driver yang mengatur arah dan kecepatan dari dinamo motor. L298N Motor Driver berperan dalam menerjemahkan sinyal kontrol tersebut menjadi gerakan fisik yang sesuai pada motor dinamo, memungkinkan robot untuk melakukan pergerakan maju, mundur, atau berhenti sesuai dengan keputusan yang diambil oleh kontroler Arduino berdasarkan informasi dari sensor ultrasonik.
Dengan pemahaman yang mendalam terhadap teori, gambaran sistem, pemilihan sensor dan aktuator, serta hubungan-hubungan antar komponen, rancangan sistem kendali loop tertutup PID ini menciptakan dasar yang solid untuk pengembangan Social Distancing Robot.
## Mekanik Motor DC
Dalam subbab ini, terdapat penjelasan tentang teori fungsi transfer dan mekanisme daya yang digunakan dalam proyek robot yang dibuat. Fungsi transfer pada motor DC menjelaskan bagaimana sinyal kontrol yang diberikan oleh kontroler PID diubah menjadi gerakan fisik oleh motor. Mekanisme daya yang dimaksud adalah bagaimana tenaga dari motor dikonversi menjadi gerakan linier atau putaran roda pada robot. Kecepatan dan arah putaran motor DC dapat dikendalikan dengan mengatur tegangan dan arah arus yang mengalir pada motor[3]. Dalam proyek ini, jenis mekanik yang digunakan mungkin mencakup penggunaan gigi, roda gigi, atau *gearbox* untuk mengubah dan mentransfer tenaga dari motor ke gerakan roda robot. Penggunaan mekanisme ini memungkinkan konversi yang efisien dari energi listrik menjadi gerakan yang diperlukan untuk navigasi robot, memastikan pergerakan yang tepat dan responsif sesuai dengan instruksi yang diberikan oleh kontroler PID.
1. **Teori Fungsi Transfer Motor DC:**
* **Mekanisme Konversi Energi:**
Dalam rangkaian robot social distancing, motor DC berperan sebagai mesin konversi energi yang mengubah energi listrik menjadi energi mekanik untuk menggerakkan robot. Energi ini digunakan untuk memastikan pergerakan yang tepat dalam mengidentifikasi dan menghindari *obstacle*.
* **Fungsi Transfer:**
Fungsi transfer motor DC pada robot social distancing melibatkan respons jarak dan kecepatan motor terhadap sinyal kontrol dari kontroler PID. Analisis ini memungkinkan pemahaman yang lebih baik mengenai bagaimana motor merespons perubahan kontrol PID dalam menjaga jarak yang aman dari *obstacle*.
2. **Mekanisme Daya pada Proyek:**
* **Penerapan Motor DC:**
Penerapan motor DC pada robot *social distancing* menjadi elemen penggerak utama yang mengontrol pergerakan robot. Keandalan motor ini sangat penting untuk menjaga stabilitas dan presisi pergerakan robot dalam merespons lingkungan sekitarnya.
* **Daya yang Diperlukan:**
Pada bagian daya, robot ini menggunakan 3 batre 3,7V. Evaluasi konsumsi daya yang dibutuhkan membantu memastikan performa optimal robot dalam menjaga jarak aman dan responsif terhadap *obstacle* di sekitarnya.
Dengan mendalami teori fungsi transfer, mekanisme daya, dan jenis mekanik yang digunakan, bab ini memberikan pemahaman menyeluruh tentang peran krusial motor DC dalam pengembangan *Social Distancing Robot*.
## Analisis Transient Respon
Berikut merupakan grafik hasil dari *set point* yang ditentukan (30cm), jarak terukur dari robot ke *obstacle*, dan daerah yang diarsir merupakan error yaitu selisih antara *set point* dengan jarak ke *obstacle*.

Grafik output PID hasil kalkulasi dari *set point*, nilai *gain Proportional*, *gain Integral*, dan *gain Derivative*.

Grafik *error* terhadap waktu, dengan nilai *Steady State Error* (SSE) 2cm

## Analisis Mekanika
### Pengukuran Mekanika Gear
Pada rangkaian robot *social distancing* ini, pergerakan dilakukan dengan menggunakan dinamo motor DC *gearbox* kuning.

Pada *gearbox* terdapat serangkaian *gear* dengan pada *gear* input memiliki 8 gigi dan rangkaian gigi lainnya yang bernilai 6 gigi. Sehingga, total rasio dari *gear* pada *gearbox* dinamo adalah 1:48, yang berarti untuk setiap putaran dinamo sebagai input, roda akan berputar sebanyak 48 kali.
### Analisis Kecepatan Motor Terhadap Beban
Kecepatan motor terhadap beban melibatkan beberapa parameter yang secara signifikan memengaruhi kinerja motor. Salah satu parameter utama adalah torsi, yang merupakan gaya putar yang dihasilkan oleh motor. Semakin besar torsi yang diperlukan untuk mengatasi beban, semakin lambat kecepatan motor. Ini berhubungan dengan hukum fisika bahwa semakin besar gaya yang diperlukan untuk menggerakkan objek, semakin rendah kecepatannya. Selain itu, resistensi atau gesekan pada komponen motor juga berperan dalam menurunkan kecepatan.
Pada dinamo yang digunakan, tegangan minimal yang diperlukan untuk pengoperasian adalah 6V, dengan *no-load speed* 290±10% rpm yang artinya kecepatan putaran motor ketika tidak ada beban yang diterapkan pada poros keluaran motor. Nilai 290 rpm adalah kecepatan yang diharapkan saat motor beroperasi tanpa beban. ±10% menunjukkan kisaran toleransi yang dapat diterima dari nilai tersebut, sehingga kecepatan sebenarnya bisa berada di antara 261 hingga 319 rpm. Torsi yang dihasilkan dari dinamo yang digunakan dalam rangkaian bernilai sekitar 1,5 kg.f .cm yang mengindikasikan seberapa besar gaya yang dapat dihasilkan motor pada jarak 1 cm dari porosnya. Semakin besar angka torsi, semakin kuat motor dalam menangani beban.
## Hasil dan Saran
1. **Hasil**
Dalam pengujian dan pengembangan robot *social distancing*, digunakan berbagai macam rangkaian, dinamo yang digunakan memiliki spesifikasi 6 volt, kecepatan tanpa beban sekitar 290 rpm, dan torsi sekitar 1.5 kgf .cm. Penggunaan *PID Controller* berbasis Arduino pada sistem kendali *loop* tertutup telah memberikan respons yang cukup responsif terhadap perubahan jarak dengan *obstacle* di depan robot.
Pada pengujian lapangan, robot mampu mengidentifikasi dan merespons secara akurat terhadap *obstacle* yang ada. Ketika *obstacle* berada pada jarak 30 cm di depan robot, robot mampu untuk diam tepat pada posisi yang diinginkan. Saat *obstacle* berjarak 40 cm, robot maju dengan kecepatan yang sesuai dan berhenti tepat pada jarak 30 cm dari *obstacle*. Ketika *obstacle* berada pada jarak 10 cm, robot mundur dengan kecepatan yang tepat hingga mencapai jarak 30 cm.
2. **Saran**
Meskipun sistem yang diimplementasikan telah memberikan respons yang cukup baik, terdapat beberapa area yang dapat ditingkatkan. Pengaturan PID Controller dapat disesuaikan lebih lanjut untuk meningkatkan kestabilan dan responsivitas robot terhadap perubahan jarak. Selain itu, peningkatan sensor dan algoritma pengolahan data dapat membantu dalam identifikasi *obstacle* yang lebih akurat, memungkinkan robot untuk menghindari atau menavigasi *obstacle* dengan lebih efisien.
Pengembangan lebih lanjut pada bagian mekanik, seperti penggunaan *gearbox* yang sesuai untuk meningkatkan torsi dan kecepatan secara optimal, serta pilihan sensor yang lebih canggih, dapat meningkatkan performa robot dalam situasi-situasi yang lebih kompleks.
Kesimpulannya, sementara robot telah berhasil dalam fungsi dasar untuk menjaga jarak, pengembangan lebih lanjut pada beberapa aspek teknis dapat meningkatkan kinerja dan fleksibilitas robot dalam lingkungan yang lebih dinamis dan kompleks.
## Video
[Link Video YouTube](https://youtu.be/LJbufssTiR8)
## Referensi
* [1] S. R. Sulistiyanti, F. X. Setyawan, and A. Yudamson, Buku Dasar Sistem Kendali. 2016.
* [2] K. H. Ang, G. Chong, and Y. Li, “PID control system analysis, design, and technology,” IEEE Transactions on Control Systems Technology, vol. 13, no. 4, pp. 559–576, Jul. 2005, doi: 10.1109/TCST.2005.847331.
* [3] M. Amin, R. Ananda, and J. Eska, “ANALISIS PENGGUNAAN DRIVER MINI VICTOR L298N TERHADAP MOBIL ROBOT DENGAN DUA PERINTAH ANDROID DAN ARDUINO NANO,” JURTEKSI (Jurnal Teknologi dan Sistem Informasi), vol. 6, no. 1, pp. 51–58, Dec. 2019, doi: 10.33330/jurteksi.v6i1.396.
* [4] S. Ullah, Z. Mumtaz, S. Liu, M. Abubaqr, A. Mahboob, and H. A. Madni, “Single-Equipment with Multiple-Application for an Automated Robot-Car Control CSstem,” Sensors (Switzerland), vol. 19, no. 3, Feb. 2019, doi: 10.3390/s19030662.
* [5] M. Andayani, W. Indrasari, and B. H. Iswanto, “PROTOTIPE SISTEM PENGUKUR KUALITAS TEGANGAN JALA-JALA LISTRIK PLN,” Universitas Negeri Jakarta, 2016, pp. SNF2016-CIP-61-SNF2016-CIP-66. doi: 10.21009/0305020113.