Kamis, 16 Oktober 2014

PERANCANGAN SISTEM ROBOT

1.1 Pendefinisian Kebutuhan Robot
Penting bagi kita untuk mulai dari yang kecil terlebih dahulu.Tetapi bila ini adalah robot pertama kita, disarankan untuk mulai dari platform yang kecil yang mempunyai banyak ruang untuk rangkaia elektronikanya untuk mengetahui teknologi – teknologi berbeda yang akan dibutuhkan.

Ketika mendefinisikan robot, bersiaplah dengan kemungkinan terburuk. Artinya kita harus menyadari bahwa bagian - bagian yang berbeda mungkin akan tidak bekerja. Jangan terlalu berharap kita akan berhasil dengan cara pertama yang kita rancang. Selalu ada lebih dari satu cara untuk melakukan sesuatu. Metoda apa yang terbaik bagi aplikasi yang kita buat?

Sangat menguntungkan jika kita menemukan cara yang lebih baik yang kemudian mencatatnya dalam notebook daripada menyusun ulang aplikasinya. Disusun ulang aplikasinya hanya jika perubahannya akan menyebabkan kemajuan besar dari apa yang sudah ada. Aturan dasarnya adalah “bila tidak rusak maka jangan diperbaiki”

Hal paling penting yang harus kita lakukan sebelum mulai merancang dan membuat robot adalah membuat sekumpulan kebutuhan/persyaratan (requirement) robot. Syarat – syarat tersebut akan membantu kita untuk menentukan langkah-langkah yang dibutuhkan untuk mencapai tujuan akhir dan pegangan kita apakah visi robot yang dibuat sudah tercapai atau belum. Harus teliti dan ketat dalam menyusun syarat – syarat robot tersebut, hal tersebut dapat memantau apa yang kita kerjakan dan tidak membuat kita kewalahan dengan pekerjaan di depan kita.

Persyaratan-persyaratan robot tersebut dapat diuraikan dalam bentuk pertanyaan berikut ini:
  • Apa jenis platform robot yang akan digunakan ?
  • Berapa besar dan berat robot yang dinginkan dan berapa banyak beban yang dapat dibawanya?
  • Berapa kecepatan operasi robot?
  • Apa tipe motor dan penggerak yang akan digunakan?
  • Apa tipe permukaan bidang dimana robot ini akan dijalankan?
  • Apa sumber tenaga robot?
  • Bagaimana pengaman (safety) pada robot?
  • Apa tipe controller yang digunakan dengan robot?
  • Bahasa pemrograman apa yang akan digunakan?
  • Apa sensor yang akan digunakan pada robot?
  • Apa ada komponen keluaran (output device)?
  • Bagaimana metoda pengontrolan secara manual?
  • Apa user interfacenya?
  • Apa rencana kualifikasi untuk robot?
  • Berapa biaya proyek ini ?

Setelah menuliskan syarat – syarat untuk robot, siapkan syarat – syarat untuk software yang digunakan untuk menggerakkan robot. Syarat – syarat itu meliputi:
·         Bahasa pemprograman dimana program itu ditulis
·         Ketersediaan simulasi
·         Ketersediaan programmer
·         Interrupts yang akan digunakan
·         Antramuka aplikasi tertanam yang akan digunakan
·         Strukur data yang akan digunakan

Perlu ditekankan bahwa semua daftar persyaratan di atas adalah saling berhubungan. Mungkin awalnya kita menyangka bahwa suatu microcontroller akan digunakan tetapi pada akhirnya tidak cocok dengan syarat lain atau mempunyai kemampuan yang tidak kita butuhkan.


1.2 Pemilihan Peralatan Peripheral
Setelah menetapkan fungsi yang dinginkan pada robot maka kita harus memilih tipe dan implementasi peralatan perhiperal yang akan digunakan pada robot.

Tipe data kompleks dengan operasi yang kompleks sebaiknya diimplementasikan di kode prosesing dimana operasi panjang (seperti pembagingan floating point) dapat dieksekusi tanpa mempengaruhi operasi peralatan/peripheral.

Beberapa panduan penulisan kode program:
  • Gunakan state machine untuk eksekusi antarmuka /interface. Ini mungkin akan memperlambat eksekusi fungsi antarmuka tetapi tidak akan mempengaruhi kinerja robot secara keseluruhan.
  • Jangan gunakan floating point atau variabel array.
  • Jangan jalankan operasi matematika kompleks seperti perkalian, pembagian, trigonometri dan logaritma.
  • Pilih kontroler/penggerak yang mempunyai banyak fungsi tertanam/native yang dapat membantu sebanyak mungkin.

1.3 Pemilihan Komponen  dan Teknik Pemasangan
Panduan pemilihan komponen hardware:
  • Apa microcontroller yang diinginkan dipakai?
  • Apa tipe clocking yang akan dipakai?
  • Seperti apa power supplynya?
  • Alat sensors/masukan (input)?
  • Motor/penggerak?
  • Alat keluaran/output?
  • Alat penyimpanan?
  • Ketersediaan alat/onderdil/part?

Bagian paling penting yang harus dipilih pada robot adalah microcontroller. Disarankan mengurangi kecepatan untuk mengurangi konsumsi listrik microcontroller dan memaksimalkan kekebalan tingkat kebisingan. Pertimbangan terpenting yang perlu dipertimbangkan ketika memilih sebuah microcontroller adalah seberapa baik ia bekerja pada lingkungan robot yang bising.

Setelah memilih bagian/komponen robot, yang perlu diperhatikan selanjutnya adalah pemasangannya pada robot. Suatu robot adalah lingkungan yang cukup berat untuk peralatan elekronik dan microcontroller dengan beberapah hal yang perlu diperhatikan, yaitu:
·         Derau elektris
·         Balikan alat magnetik
·         Getaran
·         Kebisingan akustik
·         Ketahanan terhadap cuaca
·         Bagian bergerak
Platform yang ideal bagi rangkaian elektronik robot adalah PCB (Printed Circuit Board) yang telah dikustomisasi.


1.4 Validasi Pengopersian Robot

Persyaratan (requirement) yang dibuat untuk robot sebaiknya sudah meliputi suatu rencana pengujian. Rencana pengujian tersebut terdiri dari tes – tes dimana aplikasi ini harus lulus dari tes – tes tertentu sebelum dianggap layak untuk digunakan atau dipresentasikan ke orang lain.

Umumnya rencana pengujian robot terdiri dari beberapa hal berikut :
·         Tes untuk power supply untuk menyuplai 4.75 sampai 5.25 volt dari power supply teregulasi di beban arus yang dibutuhkan di semua kondisi. Ini termasuk melambatkan motor robot
·         Tes untuk microcontroller untuk memerintah robot untuk berhenti ketika voltase baterai atau arus turun dibawah nilai yang ditentukan
·         Microcontroller berjalan disaat motor dijalankan atau diberhentikan (arus tinggi/voltase besar sesaat)
·         Fungsi output antarmuka pengguna ada di keadaan awal yang tepat saat dihidupkan
·         Fungsi output antarmuka pengguna merespon sesuai yang diinputkan user
·         Sensor bekerja (pada robot) sesuai dengan yang dispesifikasikan
·         Kalkulasi tingkat realibilitas untuk komponen robot yang berbeda telah dibuat
·         Federal Communication Commission (FCC) dan uji emisi yang lain dan tes regulasi (jika ini sebuah produk komersial) telah dilaksanakan
·         Dokumentasi bagi pengguna telah komplit dan benar (jika suatu produk atau desain komersial akan diplubikasikan di halaman web)
·         Dokumentasi manufacturer/pembuat telah komplit dan benar (jika ini sebuah produk komersial)

Untuk bermacam input yang berbeda, digital multimeter yang sederhana atau probe logis tidak akan cukup untuk memastikan bahwa sirkuit akan berkerja secara benar. Idealnya, sebuah oskiloskop atau penganalisa logis harus dipakai untuk melihat input/output (I/O) yang sebenarnya dan memastikan bahwa nilainya benar.

Setelah kita mengerti bagaimana robot bekerja, sebaiknya secara ketat disimulasikan kode microcontroller untuk memastikan kalau merespon dengan benar di segala kondisi. Daftar syarat yang sebelumnya sebaiknya mencakup semua tes tentag aspek fungsionalitas. Jika kita pernah bekerja dengan sirkuit elektronik, kita akan tahu bahwa ini hampir selalu tidak mungkin karena ada begitu banyak cara dimana sirkuit dapat rusak.

Poin penting tentang tes adalah kita harus memastikan aplikasi akan merespon dengan benar input yang diharapkan. Jika input tidak normal diterima atau jika variabel internal ada di luar batas yang diharapakan, software pengendali robot sebaiknya berhenti dan menkitakan bahwa ada masalah. Bersamaan dengan mengecek variabel internal, kita mungkin mau mengimplementasikan fungsi “jam penjaga” (watchdog timer) ke aplikasi kita. Jam penjaga akan mereset MCU jika ia sendiri tidak direset secara periodik. Mengetes kehkitalan / realibilitas suatu produk adalah indikator paling penting dari kualitas desain dan komponen yang digunakan.


1.5 Menemukan dan Menuntaskan Masalah
Proses yang sebaiknya kita gunakan untuk analisis kegagalan terdiri dari 3 langkah berikut ini:
  1. Karakterisasi masalah
  2. Membuat perkiraan apa yang menjadi sumber dari masalah
  3. Perbaikan masalah
Ketika kita mendapati ada aplikasi apapun yang tidak bekerja semestinya hal pertama yang dilakukan adalah melihat tingkat voltase output dan input. Ketidakcocokan apapun dapat dikategorikan dalam dua jenis: yang disebabkan oleh suatu alat eksternal yang mengarahkan pin ke keadaan tidak valid atau kode aplikasi mengarahkan pin secara tidak benar. Untuk mengetahui keadaan mana yang terjadi, cek menggunkan ohm meter dilakukan sebelum dan sesudah mengisolasi sirkuitnya. Ini diketahui sebagai cara floating pin dan dapat dilakukan dengan melepaskan komponen dari soketnya.

Aspek penting dari proses karakterisasi adalah mendokumentasikan masalah tersebut. Dalam mencari suatu masalah, jangn takut membuat aplikasi kecil untuk memaksa masalahnya untuk terjadi.





PRINSIP PERANCANGAN ROBOT






2.1 Mengurangi Kompleksitas
Sistem kompleks yang tidak diperlukan akan menambah kemungkinan kegagalan robot berfungsi sesuai dengan yang kita inginkan. Selain itu Aktifitas akan menambah waktu yang dibutuhkan untuk debug dan perbaikan.

Diawal perancangan, kita harus memutuskan apa yang akan kita bangun, coba untuk membuang hiasan dan dan fungsi yang tidak perlu. Lakukan hingga yang tersisa hanya robot ”atom”-nya saja (robot dengan hanya fungsi dasarnya saja). Desain atom adalah desain yang tidak bisa dikurangi lagi. Pelepasan dari bagian yang tersisa akan membuat robot tidak bisa menjalankan tugasnya. Saat robot atom berjalan dengan mantap, kita dapat dengan yakin menambahkan sistem lain yang melengkapi dan menambah fungsi dari unit dasar.


2.2 Holistic Robotics
Berusahalah untuk mendapat rancangan yang seimbang. Kinerja keseluruhan seringkali dinbatasi oleh subsistem robot yang terlemah. Konsentrasikanlah usaha kita untuk memperbaiki subsistem robot yang paling jelek kinerjanya.


2.3 Program versus Kenyataan
Semakin tidak sensitif kode program yang kita buat terhadap ketidakakuratan dalam proses pembacaan sensor atau error dalam eksekusi gerak, semakin mantap robot kita bekerja


2.4 Program Komputer ≠ Program Robot
Suatu program kontrol robot harus menghitung respon yang cukup terhadap data dari sensor yang masuk. Program harus melakukan ini dengan cukup cepat unutk menjamin respon yang cepat untuk menghindari error atau kerusakan yang tidak dapat diperbaiki. Respon ini tergantung dari karakteristik fisik robot.


2.5 Menghindari “Biasanya”
Jangan pernah melewatkan sebuah masalah yang potensial dengan mengatasa namakan biasanya. Membangun sebuah robot memerlukan lebih banyak pertimbangan terhadap apa yang dapat terjadi ketika asumsi kita salah daripada bagaimana robot akan berlaku ketika semuanya berjalan sesuai rencana.


2.6 Langkah-langkah Perancangan
Disarankan dibuat pertanyaan berikut secara urut ketika kita membangun suatu robot baru:
  1. Apa yang harus dilakukan robot? Jawaban dari pertanyaan ini adalah sumber dari keputusan lain tentang bagaimana awal membangun robot kita seharusnya.
  2. Apa cara paling sederhana untuk menyelesaikan tugas?
  3. Platform mekanik apa yang dibutuhkan?
  4. Informasi apa yang dibutuhkan robot?
  5. Sensor apa yang paling efektif memberi informasi ini?
  6. Bagaimana masalah disusun menjadi tingkah laku (behaviour)?

Robot yang efektif hampir tidak pernah dibuat dari satu iterasi. Kita sebaiknya siap akan banyak siklus desain, prototipe, tes dan desain ulang. Proyek kita akan mendapat banyak manfaat bila kita merencanakan siklus tersebut dari awal.


(Sumber: Terjemahan dari berbagai sumber)

Biografi Penulis
Ir. Sony Sumaryo

[deskripsi penulis]

Tidak ada komentar:

Posting Komentar

SUNDIAL ROBOTIC COMPETITION 2018

PUSPA IPTEK SUNDIAL DAN ROBOCLUB : Mempersembahkan: SUNDIAL ROBOTIC COMPETITION 2018 Ayo persiapkan diri kamu untuk mengikuti ran...