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:
- Karakterisasi masalah
- Membuat perkiraan apa yang menjadi
sumber dari masalah
- 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:
- Apa yang
harus dilakukan robot? Jawaban dari pertanyaan ini adalah sumber dari
keputusan lain tentang bagaimana awal membangun robot kita seharusnya.
- Apa cara
paling sederhana untuk menyelesaikan tugas?
- Platform
mekanik apa yang dibutuhkan?
- Informasi
apa yang dibutuhkan robot?
- Sensor apa yang paling efektif
memberi informasi ini?
- 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)
Tidak ada komentar:
Posting Komentar