Selasa, 20 Oktober 2009

Robot Berkaki Empat berotak LINUX

Disusun Oleh:
Nama : Aryanto Dwi Nugroha
JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK
UNIVERSITAS MUHAMMADIYAH SURAKARTA


Tahap awal pemodelan dilakukan untuk memprediksi data motor
drive yang dibutuhkan bergantung
kepada geometri robot. Ini adalah proses iteratif yang akan
berakhir, jika diketemukan kompromi antara data geometri robot dan data
motor drive.
Data motor drive ini sangat penting, karena menentukan keberhasilan proses
realisasi robot nantinya. Dimensi data motor yang terlalu kecil, akan membuat
motor drive tidak mampu menanggung beban berat sendiri atau tidak mampu
melakukan gerakan yang diinginkan. Sedangkan, dimensi yang berlebihan
akan menambah beban robot secara percuma dan akibatnya kebutuhan daya
yang meningkat.Setelah data geometri robot didapatkan,
saatnya untuk memulai konstruksi baik kaki maupun bodi robot. Satu hal
yang juga harus dipikirkan adalah hasil konstruksi ini selain digunakan untuk
keperluan manufakturing, juga harus dapat dimanfaatkan untuk kepentingan
animasi. Dengan demikian, kita akan mendapatkan animasi robot 3-D yang
menyerupai wujud nyatanya. WalauLinux juga menyediakan beberapa
program untuk mendesain objek 3-D ; seperti AC3D, Autocad, Aero, Blender,
namun saya memakai Pro/ENGINEER untuk menggenerasi model 3-D.
Alasannya mudah, di banyak tempat sudah disediakan lisensi untuk Pro/
ENGINEER, banyak orang yang sudah mengetahui
bagaimana comfort-nya bekerja dengan program ini untuk menghasilkan objek
3-D. Selain itu, program ini mempunyai dukungan penyimpanan model 3-Ddalam bermacam-macam format, seperti CGM, VRML, Open Inventor, 3D
Studio Max, dan sebagainya. Format CGM sangat bermanfaat, jika
kita ingin melakukan koreksi ataupun menambahkan sesuatu ke model 3-D
ini dengan program lainnya. Untuk kemudian menyimpannya kembali
dalam format Postscript yang dibutuhkan nantinya dalam penulisan
skripsi dengan Latex. Sedangkan untuk keperluan animasi, objek 3-D diekspor
ke data berformat VRML, yang nantinya akan digunakan Coin sebagai
model robot. Gambar Robot.html - Leg, menunjukkan objek 3-D kaki robot,
serta konstruksi robot keseluruhan yang digunakan untuk manufakturing.
Sedangkan gambar Robot.html -RobotAni, menunjukkan hasil animasi
robot menggunakan tools Coin. Disana terlihat bahwa bentuk kaki robot
sama dengan kaki robot yang nyata.Setelah mengungkapnya
garis besar pengembangan sebuah robot berkaki
empat dengan Linux pada bagian sebelumnya, maka
kali ini akan diulas lebih rinci mengenai
konstruksi, peranti keras,dan peranti lunaknya.

Peranti keras kendali
Pada robot berkaki empat ini, dibutuhkan peranti keras yang mampu
untuk mengendalikan seluruhnya 12 motor, karena setiap kaki digerakkan
oleh 3 motor. Board PC/104 dengan prosesor AMD 366MHz yang tujuan
utamanya digunakan untuk penghitungan kinematik serta dinamik,
tidak digunakan secara langsung untuk tujuan ini. Karena, selain akan
menghabiskan waktu prosesor untuk keperluan proses kendali motor, masih
dibutuhkan board input/output, seperti timer, Position Decoder, dan lainnya.
Oleh sebab itu, dipilih mikrokontroller LM629 untuk
mengendalikan setiap motor.Mikrokontroller LM629 ini memang
dikembangkan untuk pengendalian motor, baik motor DC maupun motor step.
Dengan fitur PID-Control sebagai kendalinya, kita dapat memberikan nilai
posisi, kecepatan, maupun percepatan gerak motor. Realisasi sambungan ke
board prosesor dilakukan lewat ISABus, sehingga kecepatan komunikasi
antara LM629 dengan board prosesor mencapai maksimal.
Untuk bisa mendapatkan waktu sampling sebesar 5ms dalam pengendalian
gerak kaki, maka digunakan dua board prosesor yang masing-masing
dihubungkan dengan enam LM629 lewat ISA-Bus. Dengan demikian, satu
board prosesor bertanggung jawabuntuk mengendalikan dua kaki. Dua
board prosesor ini berkomunikasi satu dengan lainnya lewat sambungan
Ethernet, yang masing-masing mempunyai kecepatan 10Mbs.
Agar mampu berkomunikasi dengan komputer lainnya di salah satu board,
disambungkan dengan Wireless Card lewat board PCMCIA. Ini sangat
bermanfaat untuk melakukan monitoring data robot, seperti posisi maupun
kecepatan aktual setiap motor maupun besar arus di setiap motor.
Seperti terlihat di gambar Robot.html - HardwareStruktur, di board prosesor
pertama masih ditambah lagi board AD(Analog to Digital) untuk mengukur
arus listrik di setiap motor. Nilai arus yang proporsional dengan gaya ini,
nantinya dimanfaatkan untuk pengendalian gaya (force control).
Beberapa manfaat dari force controladalah mendeteksi halangan yang
mengenai kaki robot atau menghindaritumbukan keras dari kaki ketika mulai
menginjak tanah.

Pengembangan
sistem embedded,Pada pengembangan sistem embedded,
dibedakan antara sistem target dan sistem
develop. Sistem target mencakup peranti keras
(board prosesor, boardinput/output, minidisk/
flashdisk, dan sebagainya) dan peranti
lunak (sistem operasi,Sistem develop digunakan
untuk merujuk peranti keras dan lunak yang
dimanfaatkan untuk membuat sistem yang
dibutuhkan oleh system target. Biasanya, ukuran
dari disk yang dipunyai sistem target ini kecil
sehingga hanya mampu menyimpan program aplikasi yang
dibutuhkan saja. Proses pengembanganaplikasi dengan segala macam toolsnya
harus dilakukan di sistem develop.Jika proses pengem bangan ini sudah
selesai, hasilnya dapat di-copy-kan kedisk sistem target. Dalam praktiknya,
pemindahan sistem hasilpengembangan di sistem develop ke
sistem target ini tidak segampang yang ditulis
di atas. Salah satu aspek yang akan dibahas di sini
adalah cara membuat disk sistem target mampu di-booting pada
sistem target.Saat proses desain awal, direncanakan untuk
menggunakan hanya satu harddisk (tepatnya flashdisk
berukuran 64MB yang kecil serta ringan dan tidak peka terhadap
goncangan, karena tidak ada mekanikyang berputar) yang disambungkan ke
salah satu board prosesor. Boardprosesor kedua akan melakukan
booting dengan bantuan sambunganEthernet. Namun, karena kerja untuk
melakukan perubahan di BIOS untuktujuan tersebut tidak mudah, akhirnya
diputuskan untuk menggunakan satuflashdisk lagi sebesar 32MB karena
harga flashdisk yang sekarang relatif murah.Seperti ditulis sebelumnya, Debian
Potato dipilih sebagai distribusi Linuxuntuk sistem develop maupun embedded.
Setelah proses instalasi di sistemdevelop selesai, maka diteruskan
dengan instalasi RTLinux.Hal penting yang harus diperhatikan
pada saat konfigurasi kernel adalahpemilihan dukungan driver untuk
sistem embedded yang harus dipilihdalam bentuk module. Beberapa driver
ini, di antaranya driver network,wireless serta PTP (Point to Point
Protokol). Jika kita ingin melakukandebug memanfaatkan kabel null
modem, maka pilihan dukungan konsol lewat serial harus diaktifkan. Dengan
dukungan ini, proses booting kernel disistem embedded dapat dimonitor
lewat sistem develop yang terhubung dengan kabel null modem. Bahkan,
pada beberapa board prosesor sudah ada dukungan oleh BIOS sehingga
proses booting komputer dari awal dapat dimonitor.Langkah selanjutnya adalah
penulisan driver untuk mendukung board AD serta driver untuk
berkomunikasi dengan mikrokontroller
LM629. Kedua driver ini harus diimplementasi sebagai real time
module, karena akan dijalankan sebagai proses real time di dalam konteks
RTLinux. Gambar Robot.html -RTModule memperlihatkan struktur
diagram kedua module tersebut. Module medriver.o adalah module
dasar bagi module lainnya, yang
berguna untuk melakukan pekerjaandasar sebuah driver, seperti registrasi
nomor port maupun nomor interupsi.

1 komentar: