Tips Bagi Perancang Robot

Artikel

2.1 Pertama-tama

Suatu robot yang sesungguhnya adakh sebuah mesin yang tidak hanya bekerja secara independen dalam sebuah lingkungan tetapi juga bereaksi terhadap lingkungan tersebut. Kebanyakan mesin otomatis tidak mempunyai cara untuk berinteraksi dengan lingkungannya dan mengubah lingkungannya jika diperlukan.

 

2.2 “Apa yang dikerjakan robot saya?”: Suatu Pendekatan Desain

Sebelum kita membangun sebuah robot kita harus memutuskan apa yang akan dikerjakan oleh robot. Dengan membuat daftar pekerjaan robot kita dapat lebih mudah mendesain ukuran, bentuk dan kemampuan robot.

 

2.2.1 Fitur Tambahan

Tergantung dengan waktu, dana dan kemampuan kita membangun robot, kita mungkin ingin menambahkan fitur lainnya yang berguna bagi robot, seperti:

  • Output bunyi, mungkin mengkombinasikan kemampuan berbicara, efek suara dan musik.
  • Kecepatan motor yang variabel, agar robot dapat bergerak dari ruang ke ruang dengan cepat tetapi mengurangi kecepatannya di dekat orang , binatang peliharaan, dan perabotan rumah.
  • Set-and-forget kontrol motor, agar “otak robot” yang mengendalikan robot tidak menghabiskan semua kemampuan pemrosesannya hanya untuk menjalankan motor penggerak.
  • Sensor jarak untuk motor penggerak agar robot tahu berapa jauh ia telah berjalan (“odometry”).
  • Sensor infrared dan ultrasonic untuk menjaga agar robot tidak menabrak sesuatu
  • Switch contact bumper di robot agar robot tahu ketika menabrak sesuatu dan segera berhenti.
  • Panel LCD, cahaya indikator atau  display multidigit untuk menunjukkan status operasi saat ini.
  • Switch kemiringan, gyroscpoe atau accelerometer untuk mengindikasikan ketika robot telah atau akan jatuh.
  • Input suara, untuk perintah melalui suara, pengenal suara.
  • Pembelajaran dan remote kontrol,  agar kita dapat menggerakkan sebuah joystik untuk mengendalikan motor penggerak dan merekam gerakan dasar

 

2.3 Kenyataan vs Khayalan

Dalam membangun robot penting untuk memisahkan antara kenyataan dengan khayalan. Sangatlah mudah untuk terjebak dalam roman merancang dan membangun sebuah robot. Tapi penting bagi kita untuk sadar akan rencana yang mustahil. Jangan memberikan robot fitur dan kemampuan diluar kemampuan teknis kita, dana, atau keduanya (dan marilah kita ingat keterbatasan sains modern). Jika kita mencobanya, kita berisiko menjadi frustasi dengan ketidakmampuan kita untuk membuatnya bekerja, dan kita kehilangan kesempatan dengan pekerjaan lain yng lebih menguntungkan.

 

Akan baik jika kita meletakkan catatan kita dan biarkan desain kita mengendap dalam otak kita selama satu minggu. Seringkali, ketika kita mereview desain asli kita, kita akan menyadari bahwa beberapa fitur dan kemampuan tidak mungkin diterapkan, dan diluar dari jangkauan waktu, dana, atau kemampuan kita. Teruslah memperbagus, mengubah dan mengatur desain robot kita sebelum dan bahkan saat konstruksi.

 

 

2.4 Memahami dan Menggunakan Perilaku Robot

2.4.1 Fungsi Robotik dan Perbaikan Kesalahan

Ketika merancang ”tingkah laku” bagi robot kita, ingat fungsi yang ingin kita capai. Lalu, pertimbangkan bagaimana fungsi akan terpengaruh oleh berbagai sesuatu dalam lingkungan di sekitar robot. Untuk alasan praktis (dana, kemampuan membangun), kita harus mempertimbangkan setidaknya beberapa pembatasan lingkungan robot agar robot dapat mendemonstrasikan tingkah laku dengan baik.

 

Robot yang mengikuti jalur, dimana cukup mudah untuk dibuat dan diprogram, tidak akan mempertunjukkan tingkah laku mengikuti jalurnya bila ia tidak dijalur. Tetapi dengan menamnbah perbaikan kesalahan-unutk mengantisipasi suatu perubahan yang tidak diketahui dan mendadak, robot pengikut-jalur akan mepertunjukkan tingkah laku yang berguna. Kemampuan mesin untuk berubah menjadi keadaan / mode kedua untuk perbaikan kesalahan—bahkan jika bisa, jika terjadi ketiadaan jalur, robot dapat membuat sendiri jalurnya.

 

Perbaikan kesalahan adalah peraturan nomor tiga dalam robotik yang berdasar tingkah laku. Tanpa perbaikan kesalahan, robot yang berkerja dalan lingkungan terbatas akan cenderung mempertunjukkan perbuatan sederhana, bahkan ”bodoh” dalam merespon suatu stimulus/rangsangan.

 

2.4.2 Analisa Sensor Data untuk Mendefinisikan Perilaku

Dalam pendefinisiannya, robot yang berdasarkan tingkah laku itu reaktif, jadi ia membutuhkan semacam input eksternal / luar untuk merangsang timbulnya reaksi. Tanpa input (sebuah sensor cahaya, detektor ultrasonik, switch bumper, dan lain-lain) robot hanya menjalankan satu set gerakan yang telah terprogram- perbuatan sederhana, seperti pemain piano.

 

Perilaku yang lebih kompleks akan mungkin bila kemampuan berikut ditambahkan:

  • Kemampuan unutk menganalisa data dari sensor analog, bukan digital. Output dari sensor analog menyediakan informasi yang lebih banyak dibanding sensor digital dengan on/off-nya. Sensor tersebut disebut sebagai sensor parametric.
  • Kemampuan unutk menganalisa data dari banyak sensor, bisa dari beberapa sensor dengan tipe yang sama (sekumpulan dari resistor yang sensitif cahaya misalnya) atau sensor dengan tipe yang berbeda (sensor cahya dan sensor ultrasonik). Ini biasa disebut sensor fusion / penggabungan sensor.

Sensor fusion membantu dalam perbaikan kesalahan dan membuat robot dapat terus memperagakan tingkah lakunya bahkan didalam lingkungan dengan kondisinya yang berubah–ubah.

 

 

2.5 Interaksi Banyak Robot

Ad 3 tipe umum interaksi robot ke robot :

  • Peer-to-peer. Tiap robot dianggap sama, walaupun tiap robot mungkin mempunyai tugas yang berbeda, berdasar pemprograman yang telah ditentukan. Beban kerja juga dapat dibagikan berdasar kedekatan fisik ke kerja, dan apakah robot lain sedang sibuk mengerjakan hal lain atau tidak.
  • Queen/drone (ratu/bawahan). Satu robot berfungsi sebagai pemimpin, dan satu atau lebih robot berfungsi sebagai robot pekerja. Tiap pekerja mendapat perintah kerja langsung dari ratu dan hanya boleh berinteraksi secara peripheral debgan robot pekerja lain.
  • Convoy (iring – iringan),. Mengkombinasikan dua tipe pertama, pemimpin iring – iringan adalah robot “ratu”, dan robot yang lain berlaku sebagai peer diantara mereka. Pada jenis iring – iringan ini, tiap robot dapat bergantung hanya kepada robot lain di depannya untuk informasi penting. Pendekatan ini berguna ketika ratu tidak mampu, untuk alasan pemprosesan komputer atau yang lain, mengontrol robot dalam jumlah yang banyak.

 

 

2.6 Berhadapan dengan kegagalan

2.6.1 Kegagalan mekanis

Kegagalan mekanis mungkin adalah kegagalan yang paling sering terjadi biasanya disebabkan oleh material pembuat atau metode penggabungan yang kita buat tidak cukup kuat. Hindari pembangunan berlebihan robot kita (yang cenderung membuatnya jadi mahal dan terlalu berat), tapi cobalah membuatnya kuat secara fisik. Setidaknya robot kita dapat menyangga berat tubuhnya termasuk baterai. Jika mungkin hindari konstruksi “asal tempel” seperti mengunakan perekat.

 

Cara tersebut dapat diterima pada prototipe tetapi tidak untuk pengetesan jangka panjang. Ketika mengelem robot kita gunakan lem yang cocok dengan bahan yang kita gunakan, epoxy dan lem yang meleleh oleh panas adalah diantara lem – lem dengan daya rekat yang paling permanen. Kita juga dapat menggunakan lem cyanoacrylate (CA), walaupun rekatannya dapat rusak dan melemah dalam jangka waktu tertentu (beberpa tahun atau lebih tergantung kelembaban dan beban).

 

2.6.2 Kegagalan listrik

Sirkuit yang yang bekerja dengan baik di breadboard tidak bersolder dapat tidak bekerja setelah kita menyoldernya pada sirkuuit permanen dan sebaliknya. Ada banyak kemungkinan ini terjadi, termasuk kesalahan dalam pengabelan, efek kapasitas liar, bahkan variasi dalam toleransi disebabkan transfer panas. Beberapa petunjuk:

  • Jika sirkuit tidak bekerja dari awal, periksa kembali kabel dan buat perbaikan yang diperlukan
  • Jika sirkuit tidak bekerja setelah jangka waktu tertentu, penyebabnya mungkin adalah hubungan pendek atau kabel yang rusak, atau mungkin komponen yang terbakar. Contoh : jika kita mengambil terlalu banyak listrik dari sirkuitnya kita berisiko merusak beberapa semikonduktor.

 

Konstruksi sirkuit elektronik tertentu lebih cocok untuk robot yang aktif dan mobile. Pembungkus-kabel (wire-wrap) adalah cara yang cepat untuk membangun sirkuit, tetapi konstruksi ini dapat menimbulkan masalah. Pin pembungkus kabel panjang dapat bengkok dan saling menimbulkan hubungan singkat satu sama lain. Kabel yang kendor dapat lepas. Sinyal parasit dan kapasitansi liar dapat menbuat sirkuit ”marginal” bekerja, lalu tidak, lalu bekerja lagi. Untuk sebuah robot aktif lebih baik menggunakan papan sirkuit bersolder, bahkan mungkin papan sirkuit buatan kita sendiri.

 

Beberapa problem elektrik mungkin disebablan oleh kesalahan dalam pemrograman, baterai lemah, atau sensor yang tidak bagus. Sebagai contoh tidaklah jarang bagi sebuah sensor untuk terkadang memberi hasil yang kacau. Ini dapat disebabkan oleh cacat desain bawaan dari sensor itu sendiri, data palsu (noise dari motor, contohnya), atau data yang korup atau diluar jangkauan. Idealnya, pemprograman robot kita sebaiknya mengantisipasi bacaan sensor yang jelek yang kadang terjadi dan pada dasarnya tidak menghiraukannya. Cara yang paling dapat diterima adalah dengan membuang semua bacaan sensor yang ada diluar batas jangkauan model statistik yang kita putuskan.

 

2.6.3 Kegagalan Pemrograman

  • Bug compile, disebabkan syntax yang buruk, kita dapat langsung menyadari hal ini karena program compiler akan memberi tahu kesalahan tersebut dan menolak untuk melanjutkan.
  • Bug run-time. Disebabkan oleh kondisi yang tidak dilarang. Bug run-time tidak ditangkap oleh compiler. Itu terjadi ketika microcontroller atau komputer mencoba untuk menjalankan program. Sebuah contoh dari bug run-time yang umum adalah penggunaan elemen diluar batas di array (sebagai contoh, mencoba unutk memberi sebuah nilai di elemen ke 31 di dalam sebuah array 30 elemen). Bug run-time juga bisa disebabkan oleh data yang hilang, seperti mencari data di input pin yang salah sebuah microcontroller.
  • Bug logik, disebabkan oleh program yang tidak bekerja sesuai yang diharapkan. Kesalahan logik dapat disebakan oleh kesalahan matematika sederhana (kita ingin menambah tetapi malah mengurangi) atau kesalahan dalam coding yang menyebabkan hasil yang berbeda dengan yang kita harapkan.

 

 

2.7 Kontrol Robot yang Berorientasi Tugas (Task-Oriented Robot Control)

Sebagai “pekerja” robot mempunyai tugas untuk dikerjakan. Di banyak buku mengenai teori dan aplikasi robotic, tugas tersebut disebut “goal”/”tujuan”. Istilah “tugas” lebih disukai karena istilah “tujuan” melambangkan emosi manusia yang berhubungan dengan keinginan. Suatu robot dapat diberi beberapa tugas dalam waktu yang bersamaan, seperti berikut:

  1. ambilkan sebotol minuman
  2. hindari bertabrakan dengan tembok saat melakukannya
  3. hati – hati dengan kucing dan rintangan yang ada di tanah
  4. dan ingat darimana kamu datang sehingga kamu dapat kembali dan memberiku sebotol soda padaku

tugas – tugas tersebut membentuk hierarki. Tugas 4 tidak dapat dilakukan sebelum mengerjakan tugas satu. Bersama – sama kedua tugas tersebut membentuk tugas tujuan utama (primary directive task). Tugas 2 dan 3 bisa saja tidak terjadi, keduanya adalah error mode task. Bila itu terjadi, tugas ini akan menunda tugas utama (primary directive task) untuk sementara.

 

 

2.7.1 Pemrograman Tugas

Dari kacamata pemprograman kita dapat melihat kebanyakan tugas yang kita berikan kepada robot seperti ini:

 

Do Task X until

            On error Do Task Y

                        Repeat

                        Task Y until no error

            Resume task X

Task X complete

 

X adalah tugas tujuan utama robot, Y adalah fungsi spesial yang akan menyelesaikan masalah jika terjadi kondisi error. Kebanyakan mode error/kesalahan akan membuat robot tidak bisa menyelesaikan tugas utamanya.

 

Perhatikan bahwa mungkin saja tugas dapat terselesaikan tanpa ada kesahan apapun. Dalam kasus ini kondisi error tidak pernah dilakukan dan fungsi tidak diaktifkan. Tetapi pemprograman robot ditulis sehingga kondisi error dapat dituntaskan maka robot meneruskan tugas utamanya. Pemprograman robot kita harus berhadapan dengan berbagai masalah, baik yang diperkirakan ataupun yang tidak terpekirakan.

 

2.7.2 Mode Multitasking Error untuk Fleksibilitas yang Optimal

Untuk robot yang riil, error (kesalahan) harus menjadikan pertimbangan utama. Program robot harus mengatasi masalah tersebut, baik yang dapat diantisipasi maupun yang tidak. Makin banyak robot kita mengenal mode (jenis) error, makin baik mengatasi maslah tersebut.

 

Seberapa banyak macam task dalam program tergantung kita dan platform software yang digunakan. Dengan pemrograman multitasking, setiap task bekerja simultan. Task dapat dicurahkan mengatasi error sebelum proses berlanjut. Transfer eksekusi di dalam program dilakukan secara otomatis.

 

2.7.3 Interupsi Program Melalui Hardware

Cara lain untuk kontrol robot dengan tidak melalukan operasi loop berulang untuk memonitor kondisi sensor dan input lainnya adalah melalui operasi interupsi. Dua cara umum interupsi yang digunakan untuk mengatasi kejadian eksternla yang tak dapat diperkirakan adalah dengan software interupsi (dengan timer) atau hardware interupsi (melalui koneksi fisik).

 

( terjemahan dari berbagai sumber)- Oleh : Sony Sumaryo

Post a Comment

Your email address will not be published. Required fields are marked *

*