Senin, 21 Januari 2019

ROBOTIKA

Definisi Robotika
Robotika berasal dari kata ‘robot’ yang artinya Perangkat Elektronik yang dapat diprogram untuk melakukan suatu tugas yang biasa dilakakukan oleh manusia secara otomatis.
Robotika adalah satu cabang teknologi yang berhubungan dengan desain, konstruksi, operasi, disposisi struktural, pembuatan, dan aplikasi dari robot. Robotika terkait dengan ilmu pengetahuan bidang elektronika, mesin, mekanika, dan perangkat lunak komputer.



Robotika juga salah satu wacana teknologi untuk menuju peradaban yang lebih maju. Kebanyakan orang selalu beranggapan bahwa robot adalah kemajuan teknologi yang mampu menggeser tingkah laku seseorang untuk melakukan suatu tindakan. Dengan kemajuan yang pesat, maka kebutuhan akan SDM akan merosot tajam. Layaknya revolusi pada bangsa Eropa.

Sangat disayangkan sekali bila titik ikon kemajuan teknologi tersebut tidak seiring dengan cepatnya pemahaman masyarakat pada umumnya yang selalu meng-analogikan robot adalah biang kerok hilangnya tenaga buruh untuk memacu pertumbuhan perekonomian.

Hal ini layaknya dua sisi perbedaan yang tidak akan bisa menyatu sama lain. Tapi bisa dicermati kembali, bila orang pelukis ternama akan tergusur karena kemampuan sebuah robot pelukis yang bisa membuat lukisan yang sama. Sebuah robot yang mampu untuk memahat patung yang hampir mirip pula. Seluruh ilustrasi tersebut memang sepintas robot bisa menguasai semua, tapi sangat disayangkan hasil kerja robot adalah tak lebih dari sebuah alat cetak dan seonggok besi aluminium dan komponen elektronika yang dirakit pada papan PCB. Sebuah lukisan dari Afandi tentunya akan bernilai ratusan juta beda ukuran dengan lukisan robot yang paling-paing laku di jual 10 ribuan di pinggir jalan.

Robotika sebagai Ikon dan Kajian Ke-ilmuan
Robot adalah simbol dari kamajuan dari sebuah teknologi, karena didalam nya mencakup seluruh elemen keilmuan. Elektronika, Mekanika, Mekatronika, Kinematika, Dimamika, dan lain sebagainya. Hal ini menjadi suatu alasan yang sangat tepat untuk mengash ilmu didalam nya. Ikon pendidikan akan menjadi semakin termasyur bila selalu mengutamakan teknologi didalam nya. Sebuah ikon ini sangat penting untuk membangun semangat kemajuan, karena hal ini akan menjadi sebuah patokan awal dari sebuah perjuangan untuk selalu dilanjutkan kepada generasi penerus.

Sejarah singkat menegenai Robot
Perkembangan robotika pada awalnya bukan dari disiplin elektronika melainkan berasal dari ilmuwan biologi dan pengarang cerita novel maupun pertunjukan drama pada sekitar abad XVIII. Kata robot pertama kali diperkenalkan oleh seorang penulis dari Czech yang bernama wright Karel Capek pada tahun 1921. Kata Robot berasal dari kata ‘robota’ yang berarti: pekerja Paksa atau Sendiri.Para ilmuwan biologi pada saat itu ingin menciptakan makhluk yang mempunyai karakteristik seperti yang mereka inginkan dan menuruti segala apa apa yang mereka perintahkan, dan sampai sekarang makhluk yang mereka ciptakn tersebut tidak pernah terwujud menjadi nyata, tapi matrak menjadi bahan pada novel-novel maupun naskah sandiwara pangung maupun film.

Tahun 1941, barulah istilah robotics digunakan dalam teknologi robot oleh penulis fiksi ilmiah Isaac Asimov. Dia juga memprediksi akan munculnya robot-robot industri canggih dimasa datang. Jika kita lihat hari ini, maka apa yang dibayangkan olehnya terbukti dimana begitu pesatnya perkembangan robot-robot industri saat ini. Istilah revolusi robot atau era robot sudah menjadi hal biasa untuk menjelaskan perkembangan itu. Robotics diterima sebagai istilah atau kata untuk mendeskripsikan semua kemajuan teknologi yang berhubungan dengan robot.

Tahun 1956 Georde Devil dan Joseph Engelberger membentuk perusahaan robot pertama kali tahu 1956. Devil memprediksi robot akan menjadi bagian penting di industri sebagai operator pabrik dan membantu pekerja dalam menjalankan mesin-mesin pabrik. Beberapa tahun kemudian atau tepatnya 1961, General Motor pertama kali menggunakan robot untuk pabrik otomotifnya. Robot industri kemudian berkembang dan mulai banyak digunakan tahun 1980 oleh perusahaan selain otomotif dimana perkembangan elektronik dan computer membuat robot modern lahir.

Pada abad modern ini sudah bermacam-macam robot yang dicipta dan digunakan seperti dalam industri, rumah sakit, transportasi, pendidikan dan kehidupan sehari-hari. Seperti robot yang digunakan untuk mengecat mobil, robot yang digunakan untuk merakit komponen elektronik dan juga humanoid robot yaiitu robot yang memiliki muka, yang mampu berjalan dan bertindak seperti manusia.

Mengenal Konsep Dasar Robotika

Aplikasi robotika kini tidak hanya terbatas pada dunia industri dan manufaktur, namun juga telah merambah ke sektor perkebunan. Apabila kelangkaan tenaga kerja tidak bisa diatasi dengan cepat dan masif,  bukan tidak mungkin akan diciptakan robot-robot perkebunan yang akan menggantikan fungsi SDM di bidang produksi, baik untuk gula, bioetanol, maupun tembakau di PTPN X. Setidaknya dengan mengetahui konsep dasar robotika, cakrawala pengetahuan kita akan terbuka serta dapat memetakan ragam potensi yang bisa dikembangkan dari aplikasi robotika.

Pemrograman Robotika
Kreativitas programer adalah kunci dari pemrograman robotika. Kreativitas programer akan menentukan program yang akan diinput ke robot sesuai dengan tujuan dibuatnya robot tersebut. Secara mendasar, program yang ditanamkan dalam chip kontroler robot berisi logika-logika seperti statement, instruksi, seleksi untuk dua kondisi atau lebih, dan perhitungan rumus dengan benar.

Bahasa Program Robotika
Di dalam pemrograman robotika, ada beberapa jenis bahasa program yang bisa digunakan oleh programmer. Programmer biasanya memilih salah satu bahasa program yang mereka sukai dan mudah dipahami. Dalam hal ini yang berperan penting adalah kemampuan seorang programmer menguasai bahasa mesin yang akan dikompilasi untuk dipasang dalam chip mikrikontroler. Di dalam robotika, bahasa program yang biasanya digunakan antara lain: C dan C++, Basic, Pascal, dan Assembler.
Susunan program robotika dalam membuat program hampir sama antara jenis bahasa program yang satu dengan yang lainnya. Bedanya terletak pada syntax yang merupakan simbol atau ciri khas pada setiap jenis bahasa program. Hal ini yang bisanya harus dipahami programmer pemula agar dalam penulisan program tidak terjadi kesalahan (error). Sebelum membuat program hendaknya kita membuat alur program (flowchart) yang akan dijalankan secara berulang oleh mikrokontroler atau sebaliknya. Setelah alur program dibuat maka selanjutnya penyusunan program sesuai dengan susunan dan syntax dari jenis bahasa program yang digunakan.
Terdapat berbagai macam apikasi simulasi, diantaranya adalah Proteus dan Myrio yang dapat digunakan untuk simulasi program sehingga dapat meminimalisir kesalahan-kesalahan saat perakitan robot yang akan kita buat. Simulator tersebut juga dapat diintegrasikan dengan peralatan luar seperti aktuator dan sensor. 

Studi Kasus Fuzzy Logic pada Robot Sederhana

Pada postingan saya sebelumnya tentang Pengertian dan Dasar logika fuzzy telah disinggung bagaimana cara menentukan persamaan garis linier dari membership function pada logika fuzzy. Nah lalu buat apa kita harus mengetahui persamaan garis tersebut? Sebenarnya bagi anda yang menerapkan fuzzy logic pada perhitungan automatik menggunakan toolbox fuzzy di matlab tentunya hal itu tidak dibutuhkan karena kita hanya membuat membership function tanpa melalui perhitungan manual. Sebenarnya perhitungan persamaan garis tersebut ditujukan untuk mengetahui bagaimana logika fuzzy bekerja, karena kita harus mengetahui dasarnya sebelum melanjutkan ke pemrograman menggunakan logika fuzzy.
Di artikel ini saya akan mengambil studi kasus sebuah mobil robot untuk lebih memahami logika fuzzy. Dibawah ini adalah soal latihan yang diberikan dosen yang menginspirasi saya, yang mengajarkan logika fuzzy dengan bahasa yang mudah difahami. Hehe. Terimakasih bapak Syai’in.
Bila diketahui :
Data-data Mobile Robot sebagai berikut:
  1. Memiliki 2 sensor yang diletakkan di kanan, dan di kiri Mobile Robot.
  2. Kecepatan maksimum Mobile Robot adalah 60 m/s. c. Untuk berbelok kekiri atau kekanan, Mobile Robot hanya mengatur perbandingan kecepatan roda kanan dan roda kiri.

Data lintasan, sebagai berikut:
  1. Lebar Lintasan adalah 80 cm,

Apabila fungsi keanggotaan untuk:
  1. Jarak diklasifikasikan menjadi Sangat Dekat (SD), Dekat (D), Cukup Dekat (CD), Sedang (S), Cukup jauh (CJ), Jauh (J), Sangat Jauh (SJ).
  2. Kecepatan roda kanan dikalisfikasikan menjadi pelan (P), sedang (S), cepat (C)
  3. Kecepatan roda kiri dikalisfikasikan menjadi pelan (P), sedang (S), cepat (C).

Dengan menggunakan metode Fuzzy Sugeno,
  1. Gambarkanlah fungsi keanggotaan untuk Sensor Kanan (5%)
  2. Gambarkanlah fungsi keanggotaan untuk Sensor Kiri (5%)
  3. Tentukan persamaan untuk roda kanan (5%)
  4. Tentukan persamaan untuk roda kiri (5%)
  5. Bila sensor kanan membaca pembatas lintasan berada pada jarak 28 cm, dan sensor kiri membaca pembatas lintasan berada pada jarak 48 cm, Maka tentukanlah berapa kecepatan roda kanan dan kecepatan roda kiri?
Oh iya, Fuzzy juga memiliki 2 metode dalam penyelesaiannya, yaitu Sugeno dan Mamdani. Sebenarnya keduanya hampir sama, hanya saja proses perhitungan di akhir yang berbeda. Kalo sugeno menggunakan rumus yang sudah ditentukan, sedangkan mamdani menggunakan perkiraan titik tengah dari membership function (bingung jelasinnya)  . Tapi untuk penerapan pada hardware yang paling mudah digunakan yaitu sugeno, karena sugeno menggunakan penjumlahan dan perkalian biasa. Kata dosen saya, belajar fuzzy itu sangat mudah, asalkan kalian menguasai 3 hal yaitu perkalian, pembagian, dan pengurangan. Bener gak sih? Menurut saya sih bener. Wkwkwk. Lanjut!!
Langkah-langkah yang harus kita lakukan yaitu :
1.    Menentukan Input dan Output
Seperti yang kita ketahui pada studi kasus diatas memiliki 2 buah input berupa sensor jarak, dan output dari sistem diatas yaitu kecepatan motor kanan dan kiri.

2.    Menggambar fungsi keanggotaan ( Proses Fuzzyfikasi )
      Sensor Kiri

SD = Sangat Dekat ; D = Dekat ; CD = Cukup Dekat ; S = Sedang ; CJ = Cukup Jauh ; SJ = Sangat Jauh
     
        Sensor Kanan

SD = Sangat Dekat ; D = Dekat ; CD = Cukup Dekat ; S = Sedang ; CJ = Cukup Jauh ; SJ = Sangat Jauh
Dikarenakan sensor kiri dan kanan memiliki karakteristik yang sama maka membership function kedua sensor adalah sama.

3.    Persamaan garis untuk sensor kiri dan kanan
Persamaan Garis Sensor kiri
Kita ambil salah satu segitiga membership function pada sensor kanan.

Untuk linier naik kita mencari persamaan garis dengan rumus y = mx + c
Langkah pertama seperti dijelaskan pada postingan saya sebelumnya, kita harus mencari nilai m dan c .



Persamaan Garis Sensor kanan
Karena sensor kiri dan kanan dan identik maka persamaan garis untuk sensor kanan adalah sama dengan sensor kiri.

4.    Penggambaran Transfer Function
Sekarang kita akan menjawab soal d , yaitu sensor kanan membaca jarak 28 cm dan sensor kiri membaca jarak 48 cm, lalu tentukan kecepatan motor kanan dan kiri.Kita ambil lagi membership function dari sensor kanan dan kiri kemudian tarik garis dari jarak 28 cm untuk sensor kanan dan 48 cm untuk sensor kiri, nantinya garis tersebut akan memotong segitiga pada memebrship function. Nah untuk menentukan nilai y pada perpotongan tersebut kita gunakan persamaan garis yang telah kita cari tadi.

Untuk sensor kanan

Nah sekarang kita cari nilai p dan q. Untuk nilai p kan yang bepotongan dengan segitiga membership function kan linier naik, jadi kita menggunakan rumus persamaan garis linier naik yang telah kita cari tadi.


Untuk sensor kiri

Sekarang kita cari nilai k dan j. Untuk nilai k kan yang bepotongan dengan segitiga membership function kan linier naik, jadi kita menggunakan rumus persamaan garis linier naik yang telah kita cari tadi.


5.    Memasukkan ke rule base (Proses)
Langkah pertama buatlah tabel seperti dibawah ini yang mengacu pada rule base pada soal.

Loh angka berwana merah dapat dari mana?
Lihat pada membership function sensor kiri bahwa segitiga D (dekat) tidak memotong garis 48 sehingga ditulis 0. Begitu juga dengan SD (sangat dekat) dan J (jauh) . Namun pada segitiga CJ (cukup jauh) terdapat perpotongan antara garis 48 yang memiliki nilai k = 0.8, sehingga di tabel ditulis dengan 0.8. sama halnya dengan sensor kanan.
Lalu bagaimana nilai pada roda kiri dan kanan?
Seperti yang saya jelaskan sebelumnya bahwa di fuzzy terdapat operasi logika AND, OR, dan NOT. Kita disini menggunakan logika AND yang berarti nilai nilai minimum antara sensor kiri dan sensor kanan, lihatlah baris no 4 pada tabel, nilai sensor kiri adalah 0.8 sedangkan sensor kanan adalah 0.2 maka nilai minimum atau yang paling kecil adalah 0.2, maka 0.2 ditulis pada tabel roda kiri dan kanan.  Begitu juga dengan tabel lainnya. Oke setelah kita dapatkan tabel proses fuzzyfikasi, maka lanjut ke tahap 4 yaitu Defuzzyfikasi.

6.    Defuzzyfikasi
Pada tahap ini kita akan mencari kecepatan roda kanan dan kiri dari pembacaan sensor kanan sebesar 28 cm dan sensor kiri 48 cm. Pada soal diketahui bahwa kecepatan roda kiri mempunyai semesta 60 m/s. Sehingga apabila kita membagi semesta tersebut dengan 3 himpunan fuzzy yaitu Pelan, Sedang dan Cepat maka dapat digambarkan seperti dibawah ini.

Dari gambar diatas diketahui bahwa P berada pada kecepatan 15 m/s , S = 30 m/s dan C = 45 m/s.
Sehingga untuk mencari kecepatan roda masing-masing maka harus menggunakan rumus sebagai berikut.

Jika anda bingung darimana nilai 0 , 0 , 0 dan 0.2 ? lihatlah angka pada tabel pada kolom roda kiri. Jadi rumusnya sangat sederhana sekali bukan?.
Sama halnya dengan kecepatan roda kanan.

Jadi kecepatan roda kiri dan kanan saat sensor kanan mendeteksi 28 cm dan sensor kiri mendeteksi 48 cm adalah masing masing 15 m/s dan 30 m/s.

Referensi:
http://fanny-andreas.blogspot.com/2011/10/pengertian-robotika.html
http://parkshinheru.blogspot.com/2012/11/sejarah-singkat-menegenai-robot.html
http://ptpn10.co.id/blog/mengenal-konsep-dasar-robotika

https://gilangarinata.wordpress.com/2016/11/19/studi-kasus-fuzzy-logic-pada-robot-sederhana/
0