BAB 2 LANDASAN TEORI
2.1
Pengertian Robot
Robot digunakan oleh manusia agar dapat meniru gerakan manusia atau mahluk hidup lainnya agar menjadi pengganti mereka dan robot itu dapat berinteraksi pada lingkungannya. Robot ditemukan oleh manusia dari ambisius manusia dari legenda mitologi Yunani “Titan Prometheus” , cerita tentang artifak manusia raksasa terbuat dari tanah liat atau tembikar bernama Talus ditugaskan untuk melindungi pulau Krete. Robot sendiri pertama kali dibuat oleh seorang matematikawan Yunani bernama Archytas, ia membuat artifak robot burung yang digerakan oleh uap air, dan sistem automatik ditemukan oleh Ctesibius dari Alexandria. Istilah robot digunakan oleh seorang dramawan Ceko bernama Karel Capek yang ditulisnya didalam dramanya Rossum’s Universal Robots (R.U.R) tahun 1920. Istilah robot berasal dari bahasa Slav yaitu robota, berarti buruh. Lalu seorang ilmuwan dan pengarang fiksi Russia, Issac Asimov mengajukan ada 3 hukum dasar dari Robot. Hukum–hukum
ini digunakan untuk
penerapan spesifikasi dari desain robot yaitu: 1. Sebuah robot tidak diperbolehkan melukai manusia, atau berdiam diri membiarkan manusia celaka 2. Sebuah robot harus mematuhi perintah yang diberikan oleh manusia kecuali perintah tersebut bertentangan dengan hukum yang pertama. 3. Sebuah robot harus dapat melindungi dirinya sendiri selama itu tidak bertentangan dengan Hukum yang pertama dan yang kedua .
7
8
Berdasarkan Robotics Institute of America (RIA), definisi robot adalah “A robot is a reprogrammable multifunctional manipulator designed to move material, parts, tools, or specialized devices through variable programmed motions for the performance of a variety of tasks.” Bahwa robot adalah sebuah manipulator yang multifungsi dan bekerja untuk sebuah keahlian yang khusus, dimana robot juga harus dapat diprogram ulang. Dari sudut pandang engineering, robot adalah sebuah benda kompleks dimana didalamnya terdapat struktur mekanik, kumpulan sistem sensorik dan sebuah sistem pengendali.
2.2
Klasifikasi Robot Robot mempunyai beberapa tipe. Yang dibahas disini yaitu robot yang dapat bergerak atau bisa disebut mobile robot. Mobile robot adalah tipe robot yang dapat bergerak menggunakan roda atau lengan atau bagian khusus yang membuat robot tersebut berpindah tempat dari posisi awal ke posisi yang ia tuju.
Gambar 2.1 Contoh mobile robot yang simpel (Sumber: http://www.projectideasblog.com)
Salah satu mobile robot yang paling dasar adalah mobile robot wheel based atau robot dengan roda, seperti line follower atau maze solver. Mobile robot dapat bergerak pada lingkungan-lingkungan yang diberikan.
9
Robot mobile terbagi menjadi empat macam: robot yang bekerja di atas permukaan tanah (land robot), robot udara yang biasa disebut unmanned aerial vehicle (UAV), autonomous underwater vehicles (AUVs), dan Robot yang bekerja pada lingkungan kutub-robot yang berkerja pada kondisi permukaan tanah yang dilapisi (polar robots).
2.2.1
Robot Berkaki Robot berkaki merupakan sebuah robot yang dapat bergerak dengan leluasa karena memiliki kemampuan bergerak untuk berpindah posisi yang didukung oleh bentuk kaki yang dirancang sebagai alat penggeraknya. Penggunaan kaki dan bentuk tubuh, ini semua akan disesuaikan dengan medan yang akan dihadapi oleh robot dan juga harus sesuai dengan tugas yang akan dilaksanakan oleh robot nantinya. Pada penelitian yang dilakukan oleh Jin Bo et al, 2011 yang berjudul “Design and Configuration of a Hexapod Walking Robot.” menjelaskan mengenai gaya berjalan robot hexapod yang difokuskan pada berjalan lurus dengan meningkatkan kemampuan beradaptasi pada medan yang tidak rata menggunakan sensor pada ujung kaki yang ditujukan pada perhitungan kinematika. Berikut klasifikasi robot berkaki yang penulis gunakan.
a) Hexapod (Robot Berkaki Enam)
Gambar 2.2 Robot Hexapod (Sumber: http://www.mindcreators.com/Images/RO_HexapodRobot.gif)
10
Robot hexapod adalah robot yang bergerak dengan menggunakan 6 buah kaki. secara fisik hexapod bergerak mengikuti pergerakan serangga. Karena robot secara statistik dapat stabil dengan menggunakan 3 kaki atau lebih, maka robot hexapod mempunyai fleksibilitas yang tinggi. Jika ada kaki yang tidak berfungsi, maka ada kemungkinan robot masih dapat berjalan. Terlebih lagi tidak semua kaki robot dibutuhkan untuk mencapai stabilitas, kaki lainnya dapat bergerak bebas untuk mencari tempat pijakan baru.
Kelebihan : -
Dapat bergerak dibeberapa permukaan, kasar maupun halus.
-
Dengan jumlah kaki yang sama di tiap sisinya, maka bobot robot akan tertopang dengan baik.
-
Posisi tubuh robot diatas kaki, sehingga terhindar dari gesekan atau benturan dari permukaan.
-
Dapat diprogram untuk menaiki permukaan yang tinggi
Kekurangan : -
Memerlukan biaya riset yang cukup tinggi.
-
Kurang praktis untuk digunakan untuk keperluan sehari-hari
-
Energi
yang
digunakan
menggunakan roda.
sangat
boros
dibandingkan
11
2.2.2
Sistem Kontrol Robot a) Sistem Kontrol Robot Loop Terbuka Sistem
Input Kontroler
Output
Aktuator
Process
Gambar 2.3 Blok Diagram Sistem Pengendalian Loop Terbuka Sistem pengendalian ini
adalah sistem pengendalian yang
tidak mempunyai feedback untuk mengkalibrasi ulang outputnya, bisa dikatakan sistem kontrol ini tidak mempunyai target yang diinginkan sehingga outputnya mempunyai spesifikasi tertentu. contohnya robot pengering, robot ini tidak dapat mengetahui apakah objek yang ia kering dengan mempunyai tingkat kekeringan berapa atau apakah robot benar-benar telah mencapai target sesuai yang dikehendaki sesuai referensinya. Oleh karenanya robot ini diberikan timer sebagai pembantunya. Jenis sistem sangat simple tetapi mempunyai error yang tinggi. Pengendali ini sesuai untuk sistem operasi robot yang memiliki aktuator yang beroperasi berdasarkan umpan logika berbasis konfigurasi langkah sesuai urutan, misalnya stepper motor. stepper motor tidak perlu dipasangi sensor pada porosnya untuk mengetahui posisi akhir. Jika dalam keadaan berfungsi baik dan tidak ada masalah beban
lebih, maka stepper motor akan berputar sesuai perintah
pengendalian dan mencapai posisi target dengan tepat. Perlu digaris bawahi di sini bahwa pengendalian sekuensi (urutan) dalam gerak robot dalam suatu tugas yang lengkap, misalnya memiliki urutan sebagai berikut: menuju ke posisi obyek, mengambil obyek, mengangkat obyek, memindahkan ke posisi tertentu, dan meletakkan obyek adalah tidak selalu semua langkah operasi ini termasuk dalam pengendalian loop terbuka. Dapat saja langkah menuju posisi obyek dan memindah obyek menuju posisi akhir adalah gerak berdasarkan loop tertutup. Sedangkan yang lainnya adalah loop terbuka berdasarkan perintah langkah berbasis delay.
12
b) Kontrol Robot Loop Tertutup
Sistem
Input
Kontroler
Aktuator
output Process
Plant
Feedback Gambar 2.4 Sistem Pengendalian Loop Tertutup
Sistem kontrol loop tertutup adalah sistem kontrol yang kompleks dimana sistem ini dapat mengkalibrasi sendiri sehingga output desire-nya sama dengan actual-nya. Oleh karena itu sistem ini mempunyai Feedback. Blok diagram diatas menjelaskan ketika robot mendapatkan input maka robot akan memprosesnya ke servo atau ke motor sehingga robot bergerak ke posisi yang diinginkan jika ada hambatan yang membuat error pergerakan robot maka robot akan mengkalibrasi ulang dengan mengurangi input dengan output aktualnya sampai steady state errornya sama dengan nol. Jika output yang dinginkan dengan aktualnya sama maka input kontroler akan nol. Artinya kontroler tidak lagi memberikan sinyal aktuasi kepada robot karena target akhir perintah gerak telah diperoleh. Makin kecil error terhitung maka makin kecil pula sinyal pengemudian kontroler terhadap robot, sampai akhirnya mencapai kondisi tenang (steady state). Pada sistem kontrol loop tertutup ini dibutuhkan istilah kestabilan pada sistemnya, sistem bisa dikatakan stabil atau tidak stabil dilihat dari output, pada kasus ini maka referensi outputnya berupa posisi dari end-effector pada kaki robot, begitu juka komponen lainnya yaitu kecepatan dan percapatannya. Pengendali bersifat convergen jika dalam rentang waktu pengontrolan nilai error menuju nol. Sistem pengendali ini akan dikatakan stabil jika pengendali konvergen mampu menjaga agar error tetap nilainya 0 dan juga waktu proses ketabilannya sesuai dengan yang diinginkan. Pada sistem pengendalian ini sangat
13
penting membuat sistem yang stabil dengan waktu stabil yang sesuai yang dibutuhkan untuk menjadi sistem yang baik. Jika pada proses sistem ini mendekati kestabilan posisi akhir dianggap convergen bila makin lama gerakan makin perlahan dan akhirnya diam pada posisi sesuai dengan posisi yang diinginkan, dan dikatakan stabil jika posisi akhir yang diam ini dapat dipertahankan setiap menjalankan sistem ini. Jika output yang diinginkannya berupa kecepatan maka disebut stabil jika pada keadaan tenang kecepatan akhirnya adalah sama atau mendekati output yaitu kecepatan yang diinginkan dan pengendali mampu menjaga kecepatan ini setiap menjalankan sistem ini. Dalam hal kecepatan, keadaan tenang yang dimaksud adalah bukan berarti output pengendali bernilai nol (tegangan 0 Volt) seperti keadaan sesungguhnya pada kontrol posisi, namun kontroler tidak lagi memberikan penguatan (amplify) atau pelemahan (attenuate) pada aktuator. Demikian juga jika output yang diinginkan berupa percepatan (akselerasi). Singkat kata Sistem akan dikatakan sistem yang baik dan stabil jika: 1. Sistem mampu membuat error mendekati atau sama dengan nol 2. Sistem dapat memproleh output yang diinginkan dengan waktu yang sesuai atau dengan waktu singkat 3. Sistem dapat mengulang proses tersebut dengan kualitas yang sama berkali-kali
2.3
Struktur Kaki Struktur kaki terdiri dari tiga bagian utama yaitu coxa, femur dan tibia. Coxa atau pinggul mempunyai fungsi untuk menahan berat tubuh pada posisi statis (misalnya berdiri) dan dinamis (misalnya berjalan atau berlari). Beban terberat terdapat di bagian ini. Femur atau tulang paha mempunyai fungsi sebagai penyambung antara coxa atau tulang pinggul dengan tibia atau tulang kering. Femur memberikan dukungan pada seluruh struktur rangka sehingga membantu dalam pergerakan kaki. Tibia atau tulang kering mempunyai fungsi membentuk engsel bersama dengan tulang paha yang
14
disebut dengan lutut sehingga memungkinkan robot untuk berjalan, berlari dan menaiki tangga. Untuk memudahkan pengertian bagian-bagian tungkai makhluk hidup, berikut merupakan gambaran tungkai kaki manusia:
Gambar 2.5 Tungkai kaki manusia (Sumber:http://www.getbodysmart.com/ap/skeletalsystem/skeleton/apendicul ar/lowerlimbs/menu/menu.html)
Berikut ini adalah gambaran untuk tungkai kaki serangga :
Gambar 2.6 Tungkai Kaki Belalang (Sumber: http://www.amentsoc.org/insects/glossary/terms/trochanter)
15
Analogi tungkai kaki belalang pada robot hexapod :
Gambar 2.7 Perbandingan Kaki Robot Dan Kaki Serangga (Sumber:http://www.chaos.gwdg.de/~poramate/AMOSWD06.html)
2.3.1
Pola Pergerakan (Gait) Gait adalah pola pergerakan dari sendi robot, dimana pergerakan ini meniru pergerakan mahluk hidup untuk bergerak baik itu pergerakan manusia contohnya pada robot Asimo atau pergerakan hewan seperti pada robot. Gait yang mencontoh pergerakan hewan digunakan dikarenakan pada kecepatan bergerak, kondisi Lingkungan, agilitasnya atau kelincahannya, dan kemampuan kelak-kloknya atau maneuverbility-nya,
kepraktisan
dan
keefisiensi
energi
yang
dibutuhkan. pada robot berkaki ada beberapa pilihan kombinasi yang dapat diterapkan pada robot yaitu 2 kaki (Bipedal), 4kaki (Quardpod), atau 6 kaki (hexapod).
16
Gait 6 kaki (Hexapod) Jenis gait yang ada pada Hexapod ada 3 yaitu:
a) Tripod Gait Tripod gait terdiri dari kaki depan dan kaki belakang serta kaki tengah pada sisi lainnya. Untuk setiap tripod, kaki diangkat, diturunkan, dan digerakkan maju mundur secara bersamaan. Pada saat berjalan, hexapod menggunakan kedua tripod-nya mirip dengan biped yang melangkah dari satu kaki ke kaki lain. Karena 3 kaki selalu berada di tanah, maka gait tersebut akan selalu stabil. jenis tripod berdasarkan pergerakan kecoa yang mampu bergerak cepat. Berikut adalah skema dari tripod gait :
Gambar 2.8 Skema Tripod gait (Sumber: http://www.ratstar.com/?v=variant)
b) Wave Gait Pada wave gait, kaki bergerak secara satu persatu dimulai dari kaki paling belakang, kemudian diulang oleh sisi yang lainnya. Karena hanya 1 kaki yang diangkat dan menyisakan 5 kaki di tanah, maka gait ini adalah gait yang paling stabil. Tetapi dikarenakan pergerakan satu-persatu maka gait ini tidak dapat bergerak terlalu cepat.
17
c) Ripple Gait Yang terakhir adalah ripple gait. Pada pandanganan pertama gait ini terlihat sangat rumit, untuk dapat mengerti maka kita harus mengetahui bahwa pada setiap sisi, sebuah gelombang yang non-overlapping dihasilkan untuk kaki yang diangkat. Dan kedua gelombang yang berlawanan tersebut mempunyai beda fase sebesar 180º. Berikut adalah skema dari ripple gait.
Gambar 2.9 Skema Gait Ripple (Sumber: http://www.ratstar.com/?v=variant)
Berikut adalah bentuk sinyal PWM dari ketiga gait tersebut :
Gambar 2.10 Sinyal PWM dari Ketiga Gait
18
Bentuk kaki yang digunakan oleh Hexapod :
Gambar 2.11 Kaki Hexapod (Sumber: http://www.robotshop.com/robot‐leg‐tutorial.html)
Hexapod
robot
biasanya
dikonfigurasikan
dengan
menggunakan 2 baris 3 kaki (3+3) atau 60 derajat dari kaki sebelahnya dan jarak yang sama dari tengah badan.
2.4
Kinematika Kinematika adalah salah satu ilmu fisika dari mekanika klasik dimana membahas pergerakan sebuah benda dengan kondisi tidak mempersoalkan penyebab dari pergerakan itu. istilah ini dberikan oleh fisikawan prancis A.M. Amphere, Ampère André-Marie. “Essai sur la Pilosophie des Sciences”, yang diambil dari bahasa yunani kuno yaitu kinema yang berarti gerak. Untuk mengontrol pergerakan pada robot dan membuatnya bergerak dan dimanipulasi, solusi inverse dan forward kinematic pada robot dan kaki dibutuhkan. Dalam inverse kinematic pada robot hexapod digunakan mencari parameter gemetrik dibituhkan untuk mendapatkan posisi yang diberikan dan letak end-effector pada robot dan forward kinematic untuk mencari posisi dan letak pada end-effector pada robot selama parameter geometri robot diberikan (Mohammad Mahdi Agheli Hajiabadi, 2013).
19
2.4.1 Invers Kinematik Pangertian invers kinematic dinyatakan oleh (Buss, 2009) introduction
to
Invers kinematics
with
Jacobian
Transpose,
Pseudoinverse and Damped Last Squares methode yaitu untuk mengendalikan gerakan pada sebuah multibody yang kaku biasa menggunakan inverse kinematic (IK). Untuk IK, anggap dimana titik spesifik, disebut “end-effector” pada link dimana ditugaskan “posisi target”. Untuk memenyelesaikan masalah IK , kita harus mencari pengaturan untuk joint sehingga hasil konfigurasi pada multibody ditempatkan setiap end effector pada posisi targetnya. Lebih umum perumusannya pada IK diperbolehkan juga orientasi targetnya, atau direksional targetnya. Dalam pergerakannya, robot dimodelkan dalam bentuk persamaan kinematika. Persamaan ini menentukan konfigurasi robot dalam hal parameter untuk setiap aktuator. Forward kinematic menggunakan parameter untuk menghitung konfigurasi robot, dan inverse kinematic membalikkan perhitungan ini untuk menentukan parameter bersama dalam mencapai konfigurasi yang diinginkan. Maka dapat disimpulkan bahwa Inverse kinematic digunakan untuk mengontrol pergerakan robot agar titik dari end-effector sesuai dengan posisi yang diharapkan dan sangat baik diterapkan pada hexapod dikarenakan mempunyai bagian tubuh yang banyak. Hanya saja penerapan penggunaan inverse kinematic sendiri mempunyai beberapa masalah-masalah. Berdasarkan pada buku (Siciliano, Lorenzo Sciavicco, & Oriolo,
2010)
Masalah
Inverse
Kinimatic
sangat
kompleks
berdasarkan alasan berikut : 1. Rumusan untuk menyelesaikan umumnya non-linier dan maka tidak selalu mungkin untuk mendapatkan penyelesaian closeform-nya. 2. Solusi berkelipatan dapat terjadi 3. Solusi tidak terbatas dapat terjadi, dalam kasus manipulator redundan secara kinematic
20
4. Terdapat kemungkinan tidak ada solusi yang diterima (admissable solution), dalam pandangan struktur kinematic
Masalah kinematik ini memunculkan beberapa cara solusi berdasarkan jenis joint dan lengan robot atau kaki robot yaitu: 1. Solusi pada lengan planar three-link. 2. Solusi pada manipulator dengan lengan tangan bulat (sphirical). 3. Solusi pada lengan Antropomorpis.
Berdasarkan “Penerapan Inverse Kinematic Pada Pengendalian Gerak Robot” Danang (2012 : 1) Pada Gambar. 2.10 menunjukkan model 3-D dari sebuah robot berkaki enam yang digunakan dalam penelitian ini, Terdiri dari badan robot yang berbentuk persegi panjang dan enam kaki identik yang didistribusikan ke kedua sisi badan robot. Setiap kaki memiliki tiga derajat kebebasan. Desain persegi panjang adalah desain yang lebih mirip dengan bentuk binatang, desain ini cocok digunakan untuk gerakan maju, walaupun kurang fleksibel dalam berbelok, bergerak menyamping atau bergerak mundur.
Gambar 2.12 Robot Hex apod Phoenix Dari Lynxmotion
21
Gambar 2.13 Konstruksi Kaki
Gambar 2.13 merupakan bentuk model dari kaki robot, Z0 adalah base frame dari kaki, 0 sedangkan Zb adalah framepusat dari robot yang terletak di tengah tengah badan. Parameter dari kaki robot ditunjukkan dibawah ini :
2.4.2 Denavit-Hartenberg parameter (D-H parameter) Metode pendekatan ini menggunakan beberapa parameter yang terdapat pada setiap robot yaitu:
Gambar 2.14 D-H parameter
•
d: jarak antara joint i dengan i+1
•
a: panjang link terhadap kedua joint axis-nya
22
•
α: besar sudut putaran sumbu joint sejajar sehingga menimbulkan gerakan twist
•
Ɵ: besar sudut joint
Tabel 3.1 Parameter D-H kaki robot Link 1
90
0
2
0
0
3
0
0
Pada metoda ini maka langkah yang didapatkan setelah mengetahui
parameter
tersebut
yaitu
membuat
matriks
transformasi setiap joinnya melalui rumus berikut:
……..(3.1)
Sehingga mendapatkan matriks sebagai berikut:
− sinθi 0 a(i−1) cosθi sinθ cosα cosθ cosα − sinα − sinα d i (i − 1) i (i − 1) (i − 1) (i − 1) i sinθisinα (i −1) cosθi sinα (i −1) cosα (i−1) cosα (i −1)di 0 0 0 1 Matriks transformasi tersebut akan dikalikan dengan semua matriks transformasi setiap joint sehingga menjadi matriks homogen:
T =( 0T)( 01T)(12T)
…… (3.2)
23
2.5
Robotics Toolbox 9.10 Didalam perancangan ini digunakan Robotics Toolbox 9.10 untuk memodelkan dan membuat animasi robot hexapod didalam MATLAB. Robotics Toolbox 9.10 merupakan pengembangan toolbox dari versi sebelumnya yang sudah terbit. Versi 9.10 melakukan sejumlah perubahan besar yang dihasilkan terutama untuk mendukung buku yang sudah terbit yaitu “Robotics, Vision & Control”. Toolbox ini memberikan banyak fungsi yang berguna untuk digunakan sebagai studi dan simulasi arm robot sebagai contoh mengenai kinematic, dinamik serta trajectory generation. Toolbox ini juga menyediakan fungsi untuk memanipulasi dan mengkonversi antara tipe data seperti vektor, transformasi homogen serta merepresentasikan 3 dimensi posisi dan orientasi. Dalam proyek ini menggunakan library didalamnya untuk menunjang proyek yang akan dibuat. Library tersebut diantaranya yaitu
2.5.1 Link Link merupakan objek yang memegang penuh semua informasi parameter yang berkaitan dengan lengan robot seperti parameter kinematika, parameter dinamika, dan parameter aktuator. Parameter tersebut yaitu : 1. 2. 3. 4. 5. 6. 7. 8.
theta d a alpha sigma mdh offset qlim
kinematic kinematic kinematic kinematic kinematic kinematic kinematic kinematic
: joint angle : link offset : link length : link twist : 0 jika revolute, 1 jika prismatic : 0 jika standard D&H, selainnya 1 : joint variable offset : joint variable limits [min max]
Contoh Penggunaan syntax Link % theta d links1 = Link([ 0 0
a alpha L1 pi/2 ], 'standard');
‘standard’ merupakan opsion untuk memberitahu bahwa link yang dibuat menggunakan DH parameter standard.
24
2.5.2 SerialLink Library
SerialLink
merupakan
syntax
untuk
merepresentasikan serial-link dari robot lengan. Library ini sangat berguna ketika robot memiliki lengan lebih dari satu. SerialLink dapat digunakan dalam vektor dan array. 1 2 3 4
‘name’,
Opsi name digunakan untuk memberikan nama pada lengan robot contoh : “robot1”. ‘comment’, COMMENT set robot comment property to COMMENT.
Offset Links
kinematic joint coordinate offsets (N _ 1). vector of Link objects (1 _ N)
Contoh penggunaan SerialLink % DH Parameters for leg1 % theta d links1(1) = Link([ 0 0 links1(2) = Link([ 0 0 links1(3) = Link([ 0 0
a alpha L1 pi/2 ], 'standard'); L2 0 ], 'standard'); L3 0 ], 'standard');
leg(1) = SerialLink(links1,'name','leg1','offset',[-pi/2 0 -pi/2]);
2.5.3 SerialLink.IKINE Invers Manipulator Kinematics Library SerialLink.IKINE merupakan library utuma yang digunakan untuk menentukan nilai sudut yang diberikan kepada setiap
joint-joint
berhubungan
dari
dengan
kaki
robot.
SerialLink.IKINE
SerialLink.IKINE3,
sangat
SerialLink.IKINE3
digunakan untuk menghitung nilai theta1, theta2, dan theta3. Q = R.ikine(T, Q0, M, OPTIONS) 1. T Merupakan transformasi homogeneous 4x4 2. Q0 Merupakan matriks MxN dimana N adalah jumlah joint dari robot. 3. M Jumlah DOF yang dimiliki dari lengan robot. 4. Options merupakan opsi yang diberikan.
Contoh Penggunaannya : qcycle21 = leg(2).ikine(transl(p21), [], [1 1 1 0 0 0])
25
2.5.4 MSTRAJ (Multi-segment multi-axis trajectory) traj = mstraj (p, qdmax, tseg, q0, dt, TACC, opsi) adalah lintasan (K x N) untuk N sumbu bergerak secara simultan melalui segmen M. Setiap segmen adalah gerak linear dan gabungan dari polinomial untuk menghubungkan setiap segmen. Sumbu mulai q0 (1 x N) dan melewati M-1 melalui titik didefinisikan oleh baris dari matriks p (M x N), dan selesai pada titik didefinisikan oleh baris terakhir dari p. Lintasan matriks memiliki satu baris per waktu langkah, dan satu kolom per sumbu. Jumlah langkah-langkah dalam lintasan K adalah fungsi jumlah dari poin-poin dan waktu atau batas kecepatan yang berlaku.
“traj = mstraj(segments, qdmax, q0, dt, tacc, qd0, qdf, options)”
1. P (M x N) merupakan matriks poin-poin, 1 baris merupakan poin, 1 kolom merupakan axis. Poin terakhir menunjukan akhir dari tujuan. 2. Qdmax (1 x N) merupakan matriks untuk membatasi kecepatan dan tidak boleh melibih batas tersebut. 3. Tseg (1 x M) merupakan matriks untuk durasi dari setiap segmen K. 4. Q0 (1 x N) merupakan matriks inisialisasi kordinat axis. 5. Dt merupakan time step. 6. Tacc merupakan waktu accelaration dari setiap transisi segmen.
Contoh penggunaannya : tseg = [1, 1, 1, 1]'; p1 = mstraj(pos_leg1, [], tseg, pos_leg1(1,:), 0.1, 0)
Contoh diatas diambil dari penggalan program yang telah dibuat untuk proyek ini.