panduan ROBOTIKA

18
PEMROGRAMAN ROBOT 1. Karakteristik level bahasa pemrograman robot 2. Karakreristik level Tugas dalam pemrograman. 3. Petunjuk Pengembangan program kendali robot 4. Flowchart dalam pemrograman robot Kendali : 1. Loop tertutup 2. Loop terbuka Mekanisme Servo : 1. Servo Posisi 2. Servo kecepatan Jenis kendali dengan umpan balik : 1. On-off / Bang-bang 2. Proporsional 3. Integral 4. Derivatif 5. Kombinasi Kendali : 1. Non servo a. Ciri : Hardware stop dan end stop b. Keuntungan : Pengulangan tinggi, kecepatan operasi tinggi, biaya rendah. 2. Servo a. Ciri : gerakan halus (smooth) dan software stop b. Keuntungan : dapat menyimpan banyak program, tidak dapat melakukan pengulangan secara akurat (harus menambahkan sensor internal) c. Macam : Servo titik ke titik (point to point servo), servo jalur berkesinambungan 3. Kendali adaptif 4. Pemrograman offline

Transcript of panduan ROBOTIKA

Page 1: panduan ROBOTIKA

PEMROGRAMAN ROBOT

1. Karakteristik level bahasa pemrograman robot 2. Karakreristik level Tugas dalam pemrograman.3. Petunjuk Pengembangan program kendali robot4. Flowchart dalam pemrograman robot

Kendali :1. Loop tertutup2. Loop terbuka

Mekanisme Servo :1. Servo Posisi2. Servo kecepatan

Jenis kendali dengan umpan balik :1. On-off / Bang-bang2. Proporsional3. Integral4. Derivatif5. Kombinasi

Kendali :1. Non servo

a. Ciri : Hardware stop dan end stopb. Keuntungan : Pengulangan tinggi, kecepatan operasi tinggi, biaya rendah.

2. Servo a. Ciri : gerakan halus (smooth) dan software stopb. Keuntungan : dapat menyimpan banyak program, tidak dapat melakukan

pengulangan secara akurat (harus menambahkan sensor internal)c. Macam : Servo titik ke titik (point to point servo), servo jalur

berkesinambungan3. Kendali adaptif4. Pemrograman offline

Manipulator berbasis komputer : Jenis :

1. Kinematik2. Dinamik3. Kendali4. Perencanaan jalur gerakan (Trajectory)5. Sensing6. Vision

Page 2: panduan ROBOTIKA

Bentuk : Algoritma yang di-embedded pada modul software kendali. Masalah : Waktu yang ibutuhkan untuk komunikasi yang efisisen antara user dan

robot.

3 Metode Komunikasi :1. Pengenalan suara diskrit (Discrete word recognition)

Defenisi : Metode paling primitif dan tergantung pada speaker. Sistem dapat mengenali set kata-kata diskrit dari sekumpulan kata-kata yang terbatas (hanya kata-kata yang banyak digunakan untuk pengendalian saja, misal : Mulai, Stop, Pause

Kelebihan : robot dapat mengenali kata-kata diskrit secara realtime asalkan komputernya cepat dan algoritma prosesnya efisien.

Kekurangan : perlu memori besar dan penyimpanan eksternal untuk menyimpan data kata-kata, dan perlu periode pelatihan untuk membangun template kata-kata yang mudah dikenali robot.

2. Ajari dan Ulangi (Teach dan Playback) Defenisi : Metode menuntun (guide), dengan mengajarkan robot gerakan-

gerakan yang user inginkan agar robot bisa menjalankannya. Banyak digunakan pada masa ini.

Langkah-langkahnya : Mode Teach mengajarkan robot dalam gerak lambat ,

menggunakan kendali manual untuk semua tugas assembly sambil merekam sudut join robot.

1) Menggunakan joystick : Mengeset tombol (1 untuk setiap join)

2) Menggunakan sistem manipulator master-slave : Merekam posisi sudut manipulator dari set poin jalur gerak manipulator

3) Menggunakan metode numerik agar lebih halus (smooth) gerakannya.

Mode edit-playback mengedit dan mengulangi kembali gerakan-gerakan tersebut

Mode run jika gerakan sudah benar, robot dijalankan dengan kecepatan yang inginkan dalam metode pengulangan.

3. Bahasa Pemrograman Level tinggi1) Aksi pertama robot dengan teknik ini robot las dan cat menggunakan

guide (Engelderger, 1980)2) Untuk robot yang berinteraksi dengan lingkungan menggunakan feedback

dari sensor metode kondisi dalam pemrograman.3) Pertimbangan umum kendali robot dengan bahasa pemrograman :

Obyek yang dapat dimanipulasi robot dalam 3dimensi yang memiliki variasi sifat fisik.

Robot dioperasikan alam lingkungan spasial yang kompleks. Robot harus mendeskripsikan dan merepresentasikan obyek

3dimensi.

Page 3: panduan ROBOTIKA

Informasi sensor harus terus dimonitor, imanipulasi dan harus berguna.

4) Pendekatan Pemrograman robot :

Pemrograman berorientasi pada Robot1) Tugas assembly dideskripsikan sebagai urutan gerak robot2) Robot dituntun dan dikendalikan oleh program dengan semua

statement yang berhubungan dengan suatu aksi robot.3) Langkah membuat program h4524) Karakteristik :

Area kerja (workspace) di set-up dan komponen (part) diletakkan dalam tempat yang tetap (fixture) atau berjalan dengan teratur (feeder).

Mengenali spesifikasi posisi Lokasi (berdasarkan orientasi dan posisi) komponen dan semua fitur yang ada didefinisikan menggunakan struktur data yang ada pada bahasa pemrograman.

Membuat spesifikasi gerakan Tugas assembly dibagi-bagi dalam urutan aksi seperti memulai gerakan robot, mengambil obyek, lalu persiapan memasukkan obyek.

Kendali sensor dan aliran (flow) perintah sensor ditambahkan untuk mendeteksi situasi tidak normal (seperti kegagalan dalam mengenali lokasi obyek ketika mengambil) dan memonitor proses tugas assembly.

Program di-debug dan mengulangi langkah 2-4.5) Contoh Bahasa :

AL (Mustawa, 1982) h453 AML (Taylor, 1983) h453

6) Contoh syntax pemrograman : Defenisi basis frame AL & AML h454 Spesifikasi posisi h456 Spesifikasi gerakan h457 Kendali sensor dan flow

1. Sensor posisi2. Sensor tekan (force) dan deteksi slip page antara

tangan dan obyek (tactile)3. Vision estimasi posisi

Pemrograman berorientasi pada obyek atau tugas1) Tugas assembly dideskripsikan sebagai urutan posisi akhir (tujuan)

dari obyek, bukan berdasarkan gerakan robot.2) Memungkinkan user untuk mendeskripsikan tugas pada bahasa tingkat

tinggi.3) Prinsip : Otomatisasi pembuatan program pada kecerdasan buatan,

yaitu user akan memberikan input dan output, program akan membuat sendiri aksinya berdasarkan perilaku I/O-nya yang diberikan tersebut.

Page 4: panduan ROBOTIKA

4) Arsitektur Task Planner h464

Spesifikasi tugas

Perencanaan Tugas (Task Planner) DB Model

Robot Level Program (Program sintetis)

Page 5: panduan ROBOTIKA

FISCHERTECHNIK ROBOT

Untuk mengontrol model Fischertechnik melalui komputer, kita membutuhkan sebuah software controller yang memadai dan sebuah interface yang menghubungkan antara PC dengan model yang dibuat. Interface tersebut menterjemahkan perintah dari software. Jadi, motor dapat kita nyalakan dan sinyal dari sensor dapat diproses.

Interface dilengkapi oleh empat output digital yang dapat di hubungkan dengan motor, lampu dan electromagnet. Serta delapan input digital dan dua input analog yang bisa dihubungkan ke sensor seperti switch, phototransistor serta NTC.

Interface dari fischertechnik mempunyai mikoroprosesor sendiri. Dihubungkan ke PC melalui koneksi port serial. Program yang dibuat di PC dapat eksport ke mikroprosesor pada interface, dimana program tersebut dapat diproses tanpa bantuan PC (disebut juga Mode Aktif). Pada mode ini tidak ada kabel ke PC yang membatasi pergerakkan dari Mobile Robot. Tetapi ketika model robot yang digunakan bukan tipe Mobile Robot maka model tetap terhubung ke PC dan semua perangkat input/output serta variable nilai berada dibawah kendali PC (disebut juga Mode Pasif).

1.KONEKSI

1. Power SupplyPower diperoleh dari adaptor fischertechnik (9V / 1000mA)

Page 6: panduan ROBOTIKA

2. Interface SerialKoneksi ke PC melalui port serial RS 232 dengan sebuah pin konektor SubD9. Kabel interface dihubungkan ke PC melalui port COM1 atau COM2.

3. Deskripsi Fungsional Diagram Sirkuit

MikroprosesorMikroprosesor adalah unit pengendali pusat dari interface. Mikroprosesor membawa perintah-perintah yang disimpan di RAM dan di EPROM. Proses ini mempunyai dua mode yaitu Mode Aktif dan Mode Pasif.

EPROM (64 KB fixed value memory)Berisi software operasi untuk mikroprosesor. Program ini sudah di patenkan maka tidak dapat lagi dimodifikasi. Semua data yang disimpan di EPROM akan tetap ada meskipun aliran listrik diputus.

RAM (32 KB program memory)Menyimpan program aplikasi yang akan dikeluarkan ke interface pada Mode Aktif. Jika aliran listrik diputus maka semua data pada RAM akan hilang, dan harus diisi ulang kembali.

Input Shift RegisterSemua input digital secara berkelanjutan dibaca dan disimpan (proses pararel). Shift Register digunakan untuk menterjemahkan nilai yang dikeluarkan menjadi data serial yang kemudian dilanjutkan menuju mikroprosesor.

Output Shift RegisterMikroprosesor mentransmisikan data serial berisikan informasi yang menjelaskan output digital mana yang akan aktif. Shift Register digunakan untuk menyalurkan data ke output digital yang sesuai, untuk menyimpan data dan untuk mengeluarkan data secara paralel.

Page 7: panduan ROBOTIKA

2.Function Block pada LLWin 3.0

1. Output

Berfungsi menyalakan salah satu dari input M1 – M4 pada interface. Motor, lampu atau electromagnet dapat dikoneksikan ke sebuah output pada interface. Ketika kita memasukkan blok output, kita dapat memilih antara ketiga jenis ini pada field “Type”. Gambar dari tipe yang dipilih akan muncul pada blok. Kita juga dapat mengeset status dari output yang diinginkan:

Motor : CCW, CW dan Off Electromagnet : On dan Off Lampu : On dan Off

2. Input

Function blok input berfungsi meng-query kondisi dari digital input E1 – E8 pada interface. Sebuah digital input hanya bias memiliki dua buah kondisi yaitu 0 dan 1. Kondisi pada interface :

Tombol : Ditekan – Tidak ditekan Phototransistor : Gelap – Terang Reed Contact (sensor magnetic) : Switch – Not Switch

Page 8: panduan ROBOTIKA

Kita dapat memilih salah satu dari sensor di atas ketika kita memasukkan function blok pada kotak dialog. Gambar sensor akan muncul pada blok. Tergantung pada kondisi (0 atau 1) dari input, flowchart dapat bercabang ke kanan atau terus kebawah. Kita dapat memilih dalam kotak dialog apakah cabang ke kanan ketika kondisi 1 atau 0

3. Edge

Berfungsi untuk menunggu sampai digital input ter-switch baik dari 0 ke1 atau sebaliknya 1 ke 0. kita dapat men- set kotak dialog dari blok ini pada edge mana (1-0 atau 0-1) program harus menunggu input digital.

4. Position

Berfungsi untuk menghitung impuls dari input digital sampai hasil yang diinginkan tercapai. Setiap edge dari input dihitung, contoh jika sebuah tombol ditekan lalu dilepas maka terhitung dua impuls. Nilai yang sekarang disimpan di variable counter. Jika kita mengaktifkan icon “Use Standard Counter” pada dialog box, maka counter Z1 – E16 secara otomatis ditujukan pada input digital E1 – E16. Kemudian kita tidak perlu memikirkan tentang variable mana yang harus digunakan untuk nomer prosedur ini atau mungkin saja variable ini sudah dipakai oleh yang lain.

5. Start

Untuk menandakan flowchart pertama kali. Jika blok ini tidak ada maka flowchart tidak dapat diproses. Jika suatu project memiliki beberapa flowchart, maka setiap flowchart harus memiliki blok start.

Page 9: panduan ROBOTIKA

6. End

Jika suatu flowchart harus berakhir, maka kita harus mengkoneksikan output dari blok terakhir ke blok End ini.

7. Reset

Berfungsi mereset semua alur dari suatu project agar segera berjalan jika kondisi pada dialog box ini terpenuhi. Blok Reset diletakkan pada program tanpa garis koneksi ke blok yang lain. Dalam setiap project hanya diperbolehkan satu blok reset.

8. Emergency Stop

Blok ini berfungsi menghentikan semua output pada interface. Blok Emergency Stop diletakkan pada program tanpa garis koneksi ke blok yang lain. Dalam setiap project hanya diperbolehkan satu blok Emergency Stop.

9. Terminal

Berfungsi untuk menyediakan display dan untuk memasukkan nilai tertentu saat program sedang berjalan. Juga ditempatkan pada program tanpa garis koneksi. Pada blok ini terdapat output M1 – M8 di bagian atas blok. Dan juga

Page 10: panduan ROBOTIKA

berfungsi menampilkan arah dari pergerakkan motor yang terhubung pada interface.

Dua buah display berfungsi menampilkan nilai dari variable, input analog parameter EA – ED dan nomer. Sebuah blok display harus dimasukkan dalam flowchart agar nilai bisa ditampilkan disini.

Parameter EA – ED merupakan tempat untuk mengisi nilai dimana nilainya dapat diubah walaupun ketika program sedang berjalan (tentu saja tidak bisa pada saat Mode Aktif).

Di sini juga terdapat tombol STOP dan RESET yang dapat diaktifkan dengan meng-klik icon tersebut.

Terminal juga memiliki 10 input digital E17 – E26 dimana pengoperasiannya dengan cara meng-klik icon tersebut. Input E17 – E21 didesain sebagai switch dan akan tetap tertekan sampai kita melepasnya. E21 – E26 didesain sebagai tombol dimana tombol tersebut akan langsung terlepas segera setelah ditekan tidak perlu menunggu kita melepas klik pada mouse.

10. Display

Blok ini berfungsi untuk menampilkan nilai, variable atau input EX – EY atau EA – ED pada salah satu dari display yg ada pada Terminal.

Page 11: panduan ROBOTIKA

11. Message

Berfungsi menampilkan text pada Terminal dengan panjang maximal 17 karakter.

12. Show Values

Blok ini berfungsi menampilkan nilai dari variable pada saat program berada pada mode online. Blok ini ditempatkan pada program tanpa garis koneksi dengan blok lain. Selain nilai variable, nilai digital dan analog serta nilai pada EA – ED juga dapat ditampilkan disini.

13. Variable +/-1

Berfungsi untuk menambah atau mengurangi nilai suatu variable dengan satu. Kita memasukkan variable yg ingin kita tambah atau kurangi pada field dialog.

14. Assignment

Suatu nilai tertentu dapat dipasangkan dengan variable VAR1 – VAR99 atau counter Z1 – Z16 dengan menggunakan blok ini. Semua operasi matematika dapat digunakan disini. Sama halnya dengan parentheses.

Page 12: panduan ROBOTIKA

15. Compare

Berfungsi membandingkan suatu kondisi tertentu. Tergantung bagaimana kondisi terpenuhi, flowchart dapat bercabang ke kanan atau ke bawah. Kita dapat mengatur pada dialog box apakah percabangan ke kanan berkondisi 1 atau 0. panjang maksimum dari suatu formula adalah 40 karakter. Jika kita memasukkan suatu ekspresi dalam sebuah formula dimana secara matematis ekspresi tersebut tidak benar atau tidak diizinkan, sebuah pesan error akan ditampilkan segera setelah menekan tombol Ok.

16. Beep

Berfungsi mengeluarkan nada sinyal melalui PC speaker. Level suara dan lamanya dapat di-set pada dialog box. Level suara dapat dimasukkan sebagai frekuensi (50 – 10.000 Hz) atau sebagai not balok (c-d dalam 5 oktaf ). Lamanya suara yang dapat dimainkan dalam 0 – 5 detik.

Page 13: panduan ROBOTIKA

17. Wait

Berfungsi untuk memberikan delay pada flowchart. Delay akan mulai setelah alur flowchart mencapai blok ini. Delay yang kita inginkan kita masukkan dalam hitungan detik, dimana maksimumnya adalah 999,99 detik. Kita juga dapat memilih tipe delaynya antara “define” dan “random”. Jika kita memilih “define” maka delaynya akan sama persis dengan yang kita input.dan jika kita memilih “random” delaynya akan acak tetapi tidak akan melebihi nilai yang telah kita input.

18. Text

Text yang dimasukkan di sini dapat ditempatkan sebagai komentar di berbagai tempat di lembar kerja, contohnya sebagai dokumentasi program.

Page 14: panduan ROBOTIKA

19. SubIn, SubOut

Kedua blok ini hanya terlihat pada toolbox ketika kita mengedit sub-program. Keduanya berfungsi untuk mengkoneksikan program utama dengan awal sub-program (SubIn) atau akhir Sub-program dengan program utama (SbOut). Setelah kita memasukkan SubIn dan SubOut blok pada sub-program keduanya juga harus dimasukkan sebagai lingkaran pada frame dari icon sub-program dimana untuk memasukkannya kita harus memilih pada toolbar Subprogram – Design. Garis koneksi hanya dapat digambar antara flowchart program utama dengan icon sub-program setelah hal di atas dilakukan.