Anda di halaman 1dari 17

2 TINJAUAN PUSTAKA

2.1 Metode Denavit Hartenberg


Metode Denavit Hartenberg adalah sebuah metode yang sering digunakan dalam
bidang kinematika. Metode ini diperkenalkan oleh Jaques Denavit dan Richard S.
Hartenberg. DH (Denavit-Hartenberg) parameter ini mengatakan bahwa setiap
transformasi yang homogen dapat direpresentasikan kedalam hasil perkalian dari 4
transformasi dasar. Berikut adalah persamaan transformasi dari metode Denavit
Hartenberg.
Untuk mengilustrasikan hubungan dua buah link secara serial di tunjukan
pada gambar berikut (Introduction to Robotics – Mechanics and Control, 2005).

Gambar 2.1. Frame link saling dihubungkan frame (i) terhubung ke link i
(Sumber: Introduction to Robotics – Mechanics and Control, 2005)

7
Universitas Kristen Petra
Dalam hal ini notasi DH parameter menggunakan 4 buah parameter, yaitu 𝑎𝑖 ,
di, αi dan θi (Introduction to Robotics – Mechanics and Control, 2005). Untuk robot
n-DoF maka keempat parameter tersebut ditentukan hingga yang ke-i.
Penjelasannya sebagai berikut:
a) 𝑎𝑖 𝛼𝑛 adalah jarak dari sumbu 𝑧𝑖 𝑧𝑛 ke 𝑧(𝑖+1) terhadap sumbu 𝑥𝑖
𝑧(𝑖+1)𝑧(𝑛−1)x(i-1)
b) 𝛼𝑖 𝛼𝑛 adalah sudut putaran antara sumbu 𝑧𝑖 𝑥𝑖 ke 𝑧(𝑖+1) terhadap sumbu
𝑥𝑖 𝑧𝑖𝑥𝑖−1
c) 𝑑𝑖 dn adalah jarak dari sumbu 𝑥(𝑖−1) xn ke 𝑥𝑖 terhadap sumbu 𝑧𝑖 x(n-1)
d) 𝜃𝑖 𝜃𝑛 adalah sudut putaran antara sumbu 𝑥(𝑖−1) xi ke 𝑥𝑖 x(i+1) terhadap sumbu
𝑧𝑖 𝑥𝑖−1
Sehingga dari gambar 2.1 dapat dituliskan matriks transformasi dari frame
ke frame yang terdapat unsur rotasi dan translasi, maka dapat dituliskan dalam
persamaan berikut.
𝑃 = 𝑖−1𝑅𝑇 𝑄𝑅𝑇 𝑄𝑃𝑇 𝑃𝑖𝑇 𝑖𝑃
𝑖−1
(2 − 1)
Atau
𝑖−1
𝑃 = 𝑖−1𝑖𝑇 𝑖𝑃 (2 − 2)
Dimana
𝑖−1
𝑖𝑃 = 𝑖−1𝑅𝑇 𝑄𝑅𝑇 𝑄𝑃𝑇 𝑃𝑖𝑇 (2 − 3)
Pada setiap bentuk transformasi, pada persamaan (2 – 3) dapat dituliskan menjadi
𝑖−1
𝑇 = 𝑅𝑥 (𝛼(𝑖+1) ) ∗ 𝐷𝑥 (𝑎(𝑖+1) ) ∗ 𝑅𝑧 (𝜃𝑖 ) × 𝐷𝑧 (𝑑𝑖 ) (2 − 4)
𝑖
Sehingga berdasarkan persamaan didapatkan konfigurasi matrik sebagai berikut
𝑐𝜃𝑖 −𝑠𝜃𝑖 0 𝑎𝑖−1
𝑛−1 𝑠𝜃𝑖 𝑐𝛼𝑖−1 𝑐𝜃𝑖 𝑐𝛼𝑖−1 −𝑠𝛼𝑖−1 −𝑠𝛼𝑖−1 𝑑𝑖
𝑇=( ) (2 − 5)
𝑛 𝑠𝜃𝑖 𝑠𝛼𝑖−1 𝑐𝜃𝑖 𝑠𝛼𝑖−1 𝑐𝛼𝑖−1 𝑐𝛼𝑖−1 𝑑𝑖
0 0 0 1

8
Universitas Kristen Petra
Contoh penggunaan persamaan kinematika dengan robot lengan PUMA 560 yang
memiliki sebuah rotary-joint manipulator dengan 6 derajat kebebasan. Contoh
robot PUMA 560 akan membahas persamaan kinematika sebagai fungsi dari sudut
joint.

Gambar 2.2 PUMA 560 Unimate


(Sumber: Introduction to Robotics – Mechanics and Control, 2005)

Berikut bentuk frame dari PUMA 560 dan parameter-parameter yang


digunakan.

Gambar 2.3 Parameter kinematik dan frame PUMA 560 dan body diagram 3R

9
Universitas Kristen Petra
Pada gambar 2.3 didapatkan pramater-parameter untuk mencari persamaan
lengan robot dalam mencari persamaan forward kinematics.

Tabel 2.1 Parameter PUMA 560

i 𝛼𝑖−1 𝑎𝑖−1 𝑑𝑖 𝜃𝑖
1 0 0 0 𝜃1
2 -90° 0 0 𝜃2
3 0 𝑎3 𝑑3 𝜃3
4 -90° 𝑎4 𝑑4 𝜃4
5 90° 0 0 𝜃5
6 -90° 0 0 𝜃6

Sehingga dengan menggunakan tabel parameter-parameter diatas pada


gamber 2.4, maka dapat dimasukkan kedalam matriks transformasi setiap link.
Matriks transformasi setiap link menggunakan persamaan sebelumnya (2 – 5) maka
bentuk matriknya sebagai berikut.

𝑐𝜃1 −𝑠𝜃1 0 0
0 𝑠𝜃 𝑐𝜃1 0 0
𝑇=( 1 )
1 0 1 1 0
0 0 0 1

𝑐𝜃2 −𝑠𝜃2 0 0
1 0 0 1 0
𝑇=( )
2 −𝑠𝜃2 −𝑐𝜃2 0 0
0 0 0 1

𝑐𝜃3 −𝑠𝜃3 0 𝑎2
2 𝑠𝜃 𝑐𝜃3 0 0
𝑇=( 3 )
3 0 0 1 𝑑3
0 0 0 1

10
Universitas Kristen Petra
𝑐𝜃4 −𝑠𝜃3 0 𝑎3
3 0 0 1 𝑑4
𝑇 =( )
4 −𝑠𝜃4 −𝑐𝜃4 0 0
0 0 0 1
𝑐𝜃5 −𝑠𝜃5 0 0
4 0 0 −1 0
𝑇 =( )
5 𝑠𝜃5 𝑐𝜃5 0 0
0 0 0 1

𝑐𝜃6 −𝑠𝜃6 0 0
5 0 0 1 0
𝑇=( ) (2 − 6)
6 −𝑠𝜃6 −𝑐𝜃6 0 0
0 0 0 1

Dari transformasi matriks setiap frame diatas, dilakukan perkalian matrik


untuk setiap link. Untuk mempermudah dalam mencari persamaan inverse
5
kinematicnya dimulai dengan mengkalikan bagian 𝑇, yaitu.
6
𝑐5 𝑐6 −𝑐5 𝑠6 −𝑠5 0
4 4 5 𝑠 𝑐6 0 0
𝑇= 𝑇 𝑇=( 6 ) (2 − 7)
6 5 6 𝑠5 𝑠6 −𝑠5 𝑠6 𝑐5 0
0 0 0 1
Dan
𝑐4 𝑐5 𝑐6 − 𝑠4 𝑠6 −𝑐4 𝑐5 𝑠6 − 𝑠4 𝑠6 −𝑐4 𝑠5
𝑎3
3 3 4 𝑠5 𝑐6 −𝑠5 𝑐6 𝑐5
𝑑4
𝑇= 𝑇 𝑇=( ) (2 − 8)
6 4 6 −𝑠 4 5 𝑐6 − 𝑐4 𝑠6
𝑐 𝑠4 𝑐5 𝑠6 − 𝑐4 𝑠6 𝑠4 𝑠5
0
0 0 01
1 2
Karena joint 2 dan 3 selalu pararel, maka melakukan perkalian 𝑇 dan 𝑇, dan
2 3
menjumlahkan hail tiap sudutnya. Didapatkan
𝑐23 −𝑠23 0 𝑎2 𝑐2
1 1 2 0 0 1 𝑑3
𝑇= 𝑇 𝑇=( ) (2 − 9)
3 2 3 −𝑠 23 −𝑐23 0 −𝑎2 𝑠2
0 0 0 1
Hasil dari menjumlahkan hasil setiap sudut
𝑐23 = 𝑐2 𝑐3 − 𝑠2 𝑠3
𝑠23 = 𝑐2 𝑐3 + 𝑠2 𝑠3

11
Universitas Kristen Petra
Kemudian didapatkan
¹𝑟11 ¹𝑟12 ¹𝑟13 ¹𝑃𝑥
1 1 3
𝑇 = 𝑇 𝑇 = ¹𝑟21 ¹𝑟22 ¹𝑟23 ¹𝑃𝑦
6 3 6 ¹𝑟31 ¹𝑟32 ¹𝑟33 ¹𝑃𝑧
( 0 0 0 1)
Dimana
¹𝑟11 = 𝑐23 (𝑐4 𝑐5 𝑐6 − 𝑠4 𝑠6 ) − 𝑠23 𝑠5 𝑠6 ,
¹𝑟21 = −𝑠4 𝑐5 𝑐6 − 𝑐4 𝑠6 ,
¹𝑟31 = −𝑠23 (𝑐4 𝑐5 𝑐6 − 𝑠4 𝑠6 ) − 𝑐23 𝑠5 𝑐6 ,
¹𝑟12 = −𝑐23 (𝑐4 𝑐5 𝑠6 + 𝑠4 𝑐6 ) + 𝑠23 𝑠5 𝑠6 ,
¹𝑟22 = 𝑠4 𝑐5 𝑠6 − 𝑐4 𝑐6 ,
¹𝑟32 = 𝑠23 (𝑐4 𝑐5 𝑠6 + 𝑠4 𝑐6 ) + 𝑠23 𝑠5 𝑠6 ,
¹𝑟13 = −𝑐23 𝑐4 𝑠5 − 𝑠23 𝑐5 ,
¹𝑟23 = 𝑠4 𝑠5 ,
¹𝑟33 = 𝑠23 𝑐4 𝑠5 − 𝑐23 𝑐5 ,
¹𝑃𝑥 = 𝑎2 𝑐2 + 𝑎3 𝑐23 − 𝑑4 𝑠23 ,
(2 − 10)¹𝑃𝑦 = 𝑑3 ,
¹𝑃𝑥 = −𝑎3 𝑠23 − 𝑎2 𝑠2 − 𝑑4 𝑐23 ,
(2 − 10)
Akhirnya mendapatkan hasil dari transformasi 6 link sebagai berikut:
𝑟11 𝑟12 𝑟13 𝑃𝑥
0 0 1 𝑟 𝑟22 𝑟23 𝑃𝑦
𝑇 = 𝑇 𝑇 = ( 21 )
6 1 6 𝑟31 𝑟32 𝑟33 𝑃𝑧
0 0 0 1
Sehingga dari hasil persamaan sebelumnya didapatkan persamaan forward
kinematics untuk robot PUMA 560:
𝑟11 = 𝑐1 [𝑐23 (𝑐4 𝑐5 𝑐6 − 𝑠4 𝑠5 ) − 𝑠23 𝑠5 𝑐5 ] + 𝑠1 (𝑠4 𝑐5 𝑐6 + 𝑐4 𝑠6 ),
𝑟21 = 𝑠1 [𝑐23 (𝑐4 𝑐5 𝑐6 − 𝑠4 𝑠5 ) − 𝑠23 𝑠5 𝑐6 ] − 𝑐1 (𝑠4 𝑐5 𝑐6 + 𝑐4 𝑠6 ),
𝑟31 = −𝑠23 (𝑐4 𝑐5 𝑐6 − 𝑠4 𝑠6 ) − 𝑐23 𝑠5 𝑐6 ,

𝑟12 = 𝑐1 [𝑐23 (−𝑐4 𝑐5 𝑠6 − 𝑠4 𝑐6 ) + 𝑠23 𝑠5 𝑠6 ] + 𝑠1 (𝑐4 𝑐6 − 𝑠4 𝑐5 𝑠6 ),


𝑟22 = 𝑠1 [𝑐23 (−𝑐4 𝑐5 𝑠6 − 𝑠4 𝑐6 ) + 𝑠23 𝑠5 𝑠6 ] − 𝑐1 (𝑐4 𝑐6 − 𝑠4 𝑐5 𝑠6 ),
𝑟32 = −𝑠23 (−𝑐4 𝑐5 𝑠6 − 𝑠4 𝑐6 ) + 𝑐23 𝑠5 𝑠6 ,

12
Universitas Kristen Petra
𝑟13 = −𝑐1 (𝑐23 𝑐4 𝑠5 + 𝑠23 𝑐5 ) − 𝑠1 𝑠4 𝑠5 ,
𝑟23 = −𝑠1 (𝑐23 𝑐4 𝑠5 + 𝑠23 𝑐5 ) + 𝑠1 𝑠4 𝑠5 ,
𝑟33 = 𝑠23 𝑐4 𝑠5 − 𝑐23 𝑐5 ,

𝑃𝑥 = 𝑐1 (𝑎2 𝑐2 + 𝑎3 𝑐23 − 𝑑4 𝑠23 ) − 𝑑3 𝑠1 ,


𝑃𝑦 = 𝑠1 (𝑎2 𝑐2 + 𝑎3 𝑐23 − 𝑑4 𝑠23 ) + 𝑑3 𝑐1 ,
𝑃𝑥 = −𝑎3 𝑠23 − 𝑎2 𝑠2 − 𝑑4 𝑐23 ,
(2 − 11)
Untuk persamaan inverse kinematics robot lengan PUMA 560 sebagai berikut.
𝑟11 𝑟12 𝑟13 𝑃𝑥
0 𝑟 𝑟22 𝑟23 𝑃𝑦
𝑇 = ( 21 )
6 𝑟31 𝑟32 𝑟33 𝑃𝑧
0 0 0 1
0 1 2 3 4 5
= 𝑇(𝜃1 ) 𝑇(𝜃2 ) 𝑇(𝜃3 ) 𝑇(𝜃4 ) 𝑇(𝜃5 ) 𝑇(𝜃6 )
1 2 3 4 5 6
(2 − 12)
Bentuk persamaan (2 -12) bergantung pada nilai 𝜃1 , sehingga menjadi
−1
0
[ 𝑇(𝜃1 )]
0𝑇 = 1𝑇(𝜃 ) 2𝑇(𝜃 ) 3𝑇(𝜃 ) 4𝑇(𝜃 ) 5𝑇(𝜃 ) (2 − 13)
2 3 4 5 6
1 6 2 3 4 5 6
0
Membalikkan 𝑇, dapat dituliskan dari (2 – 13) menjadi
1
𝑐1 −𝑠1 0 0 𝑟11 𝑟12 𝑟13 𝑃𝑥
−𝑠1 𝑐1 0 0 𝑟21 𝑟22 𝑟23 𝑃𝑦 1
( )( )= 𝑇 (2 − 14)
0 1 1 0 𝑟31 𝑟32 𝑟33 𝑃𝑧 6
0 0 0 1 0 0 0 1
(2 − 15)Dari perhitungan kedua bagian (2 - 14) dapat dihasilkan
−𝑠1 𝑃𝑥 + 𝑐1 𝑃𝑦 = 𝑑3 ,
Untuk memecahkan bentuk persamaan inverse kinematics, dengan menggunakan
subtitusi trigonemtri.
𝑃𝑥 = 𝜌 𝑐𝑜𝑠∅
𝑃𝑦 = 𝜌 𝑠𝑖𝑛∅
(𝟐 − 𝟏𝟔)

13
Universitas Kristen Petra
Dimana

𝜌 = √𝑃𝑥 2 + 𝑃𝑦 2

∅ = 𝐴𝑡𝑎𝑛 2(𝑃𝑦 , 𝑃𝑥 )
(2 − 17)
Mensubtitusikan persamaan (2 - 16) ke (2 - 15), mendapatkan
𝑑3
𝑐1 𝑠∅ − 𝑠1 𝑐∅ = (2 − 18)
𝜌
karenanya,

𝑑3 2
cos(∅ − 𝜃1 ) = ±√1 − (2 − 19)
𝜌2

dan juga

𝑑3 𝑑3 2
∅ − 𝜃1 = 𝐴𝑡𝑎𝑛2 ( , ±√1 − 2 ) (2 − 20)
𝜌 𝜌

Sehingga nilai didapatkan nilai 𝜃1 seperti

𝜃1 = 𝐴𝑡𝑎𝑛2(𝑃𝑦 , 𝑃𝑥 ) − 𝐴𝑡𝑎𝑛2 (𝑑3 , ±√𝑃𝑥 2 + 𝑃𝑦 2 − 𝑑3 2 ) (2 − 21)

Untuk mendapatkan nilai θ₁ memiliki dua kemungkinan, tergantung pada tanda


plus-minus di (2 - 21). Jika dua bagian dari (2 - 14) mendapatkan
𝑐1 𝑃𝑥 + 𝑠1 𝑃𝑦 = 𝑎3 𝑐23 − 𝑑4 𝑠23 + 𝑎2 𝑐2 ,
−𝑃𝑥 = 𝑎3 𝑠23 + 𝑑4 𝑐23 + 𝑎2 𝑠2
(2 − 22)
Jika mengkuadratkan persamaan (2 - 22) dan (2 - 15) dan menambahkan hasil
persamaannya, mendapatkan
𝑎3 𝑐3 − 𝑑4 𝑠3 = 𝐾, (2 − 23)
Dimana

𝑃𝑥 2 + 𝑃𝑦 2 + 𝑃𝑥 2 − 𝑎2 2 − 𝑎3 2 − 𝑑3 2 − 𝑑4 2
𝐾= (2 − 24)
2𝑎2

14
Universitas Kristen Petra
Persamaan (2 – 23) sama dengan bentuk (2 – 15) dan dapat diselesaikan dengan
subtitusi trigonemetri untuk mendapatkan nilai 𝜃3 :

𝜃3 = 𝐴𝑡𝑎𝑛2(𝑎3 , 𝑑4 ) − 𝐴𝑡𝑎𝑛2 (𝐾, ±√𝑎3 2 + 𝑑4 2 − 𝐾 2 ) (2 − 25)

Tanda plus-minus di (2 - 25) dapat membuat dua solusi berbeda untuk θ₃. Jika
kembali ke (2 - 12), maka dapat dituliskan menjadi fungsi dan θ₂:
−1
0
[ 𝑇(𝜃2 )]
0𝑇 = 3𝑇(𝜃 ) 4𝑇(𝜃 ) 5𝑇(𝜃 ) (2 − 26)
4 5 6
3 6 4 5 6
Atau
𝑐1 𝑐23 𝑠1 𝑐23 −𝑠23 −𝑎2 𝑐3 𝑟11 𝑟12 𝑟13 𝑃𝑥
−𝑐 𝑠 −𝑠1 𝑠23 −𝑐23 𝑎2 𝑠3 𝑟 𝑟22 𝑟23 𝑃𝑦 3
( 1 23 ) ( 21 )= 𝑇 (2 − 27)
−𝑠1 𝑐1 0 −𝑑3 𝑟31 𝑟32 𝑟33 𝑃𝑧 6
0 0 0 1 0 0 0 1
3
Dimana 𝑇 sudah ada persamaannya di (2 - 8), maka persamaan (2 - 27) dari kedua
6
bagian menjadi
𝑐1 𝑐23 𝑃𝑥 + 𝑠1 𝑐23 𝑃𝑦 − 𝑠23 𝑃𝑧 − 𝑎2 𝑐3 = 𝑎3 ,
−𝑐1 𝑠23 𝑃𝑥 − 𝑠1 𝑠23 𝑃𝑦 − 𝑐23 𝑃𝑧 + 𝑎2 𝑠3 = 𝑑4
(2 − 28)
Persamaan (2 - 28) dapat mencari nilai untuk 𝑠23 dan 𝑐23 , sebagai berikut.
(−𝑎3 − 𝑎2 𝑐3 )𝑃𝑧 + (𝑐1 𝑃𝑥 + 𝑠1 𝑃𝑦 )(𝑎2 𝑠3 − 𝑑4 )
𝑠23 =
𝑃𝑧 2 + (𝑐1 𝑃𝑥 + 𝑠1 𝑃𝑦 )2
(𝑎2 𝑠3 − 𝑑4 )𝑃𝑧 − (𝑎3 + 𝑎2 𝑐3 )(𝑐1 𝑃𝑥 + 𝑠1 𝑃𝑦 )
𝑐23 =
𝑃𝑧 2 + (𝑐1 𝑃𝑥 + 𝑠1 𝑃𝑦 )2
(2 − 29)
Dari bilangan penyebutnya yang sama dan positif, maka menjumlahkan θ₂ dan θ₃
menjadi
𝜃23 = 𝐴𝑡𝑎𝑛2[(−𝑎3 − 𝑎2 𝑐3 )𝑃𝑧 − (𝑐1 𝑃𝑥 + 𝑠1 𝑃𝑦 )(𝑑4 − 𝑎2 𝑠3 ) +
(𝑎2 𝑠3 − 𝑑4 )𝑃𝑧 − (𝑎3 + 𝑎2 𝑐3 )(𝑐1 𝑃𝑥 + 𝑠1 𝑃𝑦 )]
(2 − 30)

15
Universitas Kristen Petra
Persamaan (2 - 30) merupakan nilai dari 𝜃23 , tergantung pada empat
kemungkinan kombinasi untuk 𝜃1 dan 𝜃3 Solusi empat kemungkinan kombinasi
untuk 𝜃2 adalah
𝜃2 = 𝜃23 − 𝜃3 (2 − 31)
Dimana solusi untuk θ₃ digunakan saat membentuk perbedaan.
Nilai untuk bagian kiri dari (2 -27) telah diketahui. Untuk menyamakan
kedua bagian dari (2 - 27) didapatkan
𝑟13 𝑐1 𝑐23 + 𝑟23 𝑠1 𝑐23 − 𝑟33 𝑠23 = −𝑐4 𝑠5 ,
−𝑟13 𝑠1 + 𝑟23 𝑐1 = 𝑠4 𝑠5
(2 − 32)
Selama 𝑠5 ≠ 0, maka dapat menyelesaikan θ₄
𝜃4 = 𝐴𝑡𝑎𝑛2(−𝑟13 𝑠1 + 𝑟23 𝑐1 , −𝑟13 𝑐1 𝑐23 − 𝑟23 𝑠1 𝑐23 + 𝑟33 𝑠23 ) (2 − 33)

Ketika 𝜃5 = 0, manipulator berada dalam konfigurasi tunggal dimana


bergabung dengan sumbu 4 dan 6 dan menyebabkan gerakan yang sama dengan
link terkahir pada robot.
Jika kembali lagi ke (2 - 12), maka sekarang dapat menuliskan untuk θ₄,
sebagai berikut.
−1
0
[ 𝑇(𝜃4 )]
0𝑇 = 4𝑇(𝜃 ) 5𝑇(𝜃 ) (2 − 34)
5 6
4 6 5 6
−1
Dimana [0𝑇(𝜃4 )] diberikan oleh
4
𝑐1 𝑐23 𝑐4 + 𝑠1 𝑠4 𝑠1 𝑐23 𝑐4 − 𝑐1 𝑠4 −𝑠23 𝑐4 −𝑎2 𝑐3 𝑐4 + 𝑑3 𝑠4 − 𝑎3 𝑐4
−𝑐1 𝑠23 𝑠4 + 𝑠1 𝑐4 −𝑠1 𝑐23 𝑠4 − 𝑐1 𝑐4 𝑠23 𝑠4 𝑎2 𝑐3 𝑠4 + 𝑑3 𝑐4 + 𝑎3 𝑠4
( )
−𝑐1 𝑠23 −𝑠1 𝑠23 −𝑐23 𝑎2 𝑠3 − 𝑑4
0 0 0 1
(2 − 35)

4
Dan 𝑇 telah ada sebelumnya pada persamaan (2 - 7). Untuk menjumlahkan kedua
6
bagian pada (2 – 34) didapatkan
𝑟13 (𝑐1 𝑐23 𝑐4 + 𝑠1 𝑠4 ) + 𝑟23 (𝑐1 𝑐23 𝑐4 − 𝑐1 𝑠4 ) − 𝑟33 (𝑠23 𝑐4 ) = −𝑠5 ,
𝑟13 (−𝑐1 𝑠23 ) + 𝑟23 (−𝑠1 𝑠23 ) + 𝑟33 (−𝑐23 ) = 𝑐5
(2 − 36)

16
Universitas Kristen Petra
Dan dapat menyelesaikan untuk 𝜃5 .
0 −1
( 𝑇) 𝜃5 = 𝐴𝑡𝑎𝑛2(𝑠5 , 𝑐5 ) (2 − 37)
5
Sama seperti persamaan (2 - 12), daapt diubah dalam menjadi
0 5
𝑇 = 𝑇(𝜃6 ) (2 − 38)
6 6
Dengan menghitung kedua sisi dari (2 - 34) seperti yang telah dilakukan
sebelumnya, maka mendapatkan
𝜃6 = 𝐴𝑡𝑎𝑛2(𝑠6 , 𝑐6 ) (2 − 39)
Dimana
𝑠6 = −𝑟11 (𝑐1 𝑐23 𝑠4 − 𝑠1 𝑠4 ) − 𝑟21 (𝑠1 𝑐23 𝑠4 + 𝑐1 𝑐4 ) + 𝑟31 (𝑠23 𝑠4 )
𝑐6 = 𝑟11 [(𝑐1 𝑐23 𝑐4 + 𝑠1 𝑠4 )𝑐5 − 𝑐1 𝑠23 𝑠5 ] −
𝑟21 [(𝑠1 𝑐23 𝑐4 − 𝑐1 𝑠4 )𝑐5 − 𝑠1 𝑠23 𝑠5 ] − 𝑟31 (𝑠23 𝑐4 𝑐5 + 𝑐23 𝑠5 )
Karena tanda plus-minus muncul di (2 – 21) dan (2 - 25), maka terdapat
empat solusi. Selain itu, terdapat empat solusi lagi yang didapat dengan “flipping”
wrist manipulator. Untuk setiap empat solusi yang dimasukkan diatas, mendapat
solusi untuk “flipping” sebagai berikut.
𝜃′4 = 𝜃4 + 180°
𝜃′5 = −𝜃5
𝜃′6 = 𝜃6 + 180°
(2 − 40)
Setelah menghitung dan mendapatkan semua delapan solusi, ada beberapa
yang mungkin tidak digunakan karena batas - batas pada tiap jumlah joint yang
digunakan biasanya hanya yang mendekati dengan konfigurasi manipulator.

17
Universitas Kristen Petra
2.2 Sensor Accelerometer Adxl345
Accelerometer adalah alat yang digunakan untuk mengukur percepatan,
mendeteksi dan mengukur getaran, dan mengukur percepatan akibat gravitasi.
Accelerometer mengukur percepatan akibat gerakan benda yang melekat padanya.
dengan satuan g yaitu unit percepatan yang nilainya sebanding dengan gravitasi
bumi diatas permukaan air laut yaitu 9,8m/s².
Accelerometer digunakan untuk mengukur getaran pada mobil, mesin,
bangunan, dan instalasi pengamanan. Accelerometer juga diaplikasikan pada
pengukuran aktivitas gempa bumi dan peralatan-peralatan elektronik, seperti
permainan 3 dimensi, mouse komputer, dan telepon. Untuk aplikasi lebih lanjut,
sensor ini banyak digunakan untuk keperluan navigasi seperti kemiringan dan
kecepatan pesawat.
Sensor acceleremoter pada tugas akhir ini digunakan sebagai kontroler robot
lengan lengan. Jumlah sumbu yang dimiliki oleh Adxl345 ada 3 axis atau 3 sumbu,
yaitu sumbu x, y, dan z.

Gambar 2.4 Pin konfigurasiAdxl345


(Sumber:https://www.analog.com/media/en/technical-documentation/data-
sheets/ADXL345-EP.pdf)

18
Universitas Kristen Petra
Tabel 2.2 Daftar pin konfigurasi Adxl345
(Sumber:https://www.analog.com/media/en/technical-documentation/data-
sheets/ADXL345-EP.pdf)
Pin Fungsi
Vdd I/O Sumber tegangan digital
GND ground
Reserved Dapat dipasang di Vcc atau tidak
GND Ground
GND Ground
Vs Sumber tegangan
Cs Chip select
INT1 Interrupt 1 output
INT2 Interrupt 2 output
NC Not connect
Reserve Pin ini harus terpasang di gound atau tidak
SDO Serial data output/I2C address
SDA/SDI/SDIO Serial data(I2C)/serial data input (SPI 4-wire)/serial
data input dan output (SPI 3-wire)
SCL/SCLK Serial komunikasi clock pada I2C

2.3 Arduino Mega 2560


Arduino Mega 2560 adalah microcontroller yang berbasiskan Atmega 2560.
Arduino Mega 2560 memiliki 54 pin digital input atau output, dimana 15 pin dapat
digunakan sebagai output PWM, 16 pin sebagai input analog, dan 4 pin sebagai
UART (port serial hardware), 16 MHz kristal osilator, koneksi USB, jack power,
header ICSP, dan tombol reset. Ini semua yang diperlukan untuk mendukung
microcontroller. Cukup dengan menghubungkannya ke komputer melalui kabel
USB atau power dihubungkan dengan adaptor AC – DC atau baterai untuk mulai
mengaktifkannya. Arduino Mega 2560 kompatibel dengan sebagian besar shield
yang dirancang untuk Arduino Duemilanove atau Arduino Diecimila. Arduino
Mega 2560 adalah versi terbaru yang menggantikan versi Arduino Mega.

19
Universitas Kristen Petra
Tabel 2.3 Spesifikasi Mega 2560
(Sumber:http://www.mantech.co.za/datasheets/products/a000047.pdf)
Mikrokontroler ATmega2560

Operasi tegangan 5 Volt

Input tegangan (rekomendasi) 7 – 12 Volt

Input tegangan batas 6 - 20 Volt

Pin I/O digital 54 (15 bisa untuk PWM)

Pin analog 16

Arus DC tiap pin I/O 20mA

Arus DC ketika 3.3V 50mA

Memori flash 256 KB dan 0,8 KB digunakan oleh


bootloader
SRAM 8KB

EEPROM 4KB

Kecepatan clock 16 Mhz

Gambar 2.5 Arduino Mega 2560


(Sumber: Arduino, 2017)

20
Universitas Kristen Petra
2.4 Motor Servo
Motor servo adalah sebuah perangkat atau aktuator putar (motor) yang
dirancang dengan sistem kontrol umpan balik loop tertutup (servo), sehingga dapat
di set-up atau di atur untuk menentukan dan memastikan posisi sudut dari poros
output motor. Motor servo merupakan perangkat yang terdiri dari motor DC,
serangkaian gear, rangkaian kontrol dan potensiometer. Serangkaian gear yang
melekat pada poros motor DC memperlambat putaran poros dan meningkatkan torsi
motor servo, sedangkan potensiometer dengan perubahan resistansinya saat motor
berputar berfungsi sebagai penentu batas posisi putaran poros motor servo.

Tabel 2.4 Spesifikasi Motor Servo


(Sumber: https://servodatabase.com/servo/towerpro/mg995)
Rated Voltage 4.8 – 6 V

Speed 4.8 V : 0.24 sec/60°


6.0 V : 0.20s sec/60°
Torque 4.8V: 130.54 oz-in (9.40 kg-cm)
6.0V: 152.76 oz-in (11.00 kg-cm)
Motor Type 3 pole

Motor servo dikendalikan dengan memberikan sinyal asi lebar pulsa (Pulse
Wide ation / PWM) melalui kabel kontrol. Lebar pulsa sinyal kontrol yang
diberikan akan menentukan posisi sudut putaran dari poros motor servo. Sebagai
contoh, lebar pulsa dengan waktu 1.5 ms (mili detik) akan memutar poros motor
servo ke posisi sudut 90⁰. Bila pulsa lebih pendek dari 1.5 ms maka akan berputar
ke arah posisi 0⁰ atau ke kiri (berlawanan dengan arah jarum jam), sedangkan bila
pulsa yang diberikan lebih lama dari 1.5 ms maka poros motor servo akan berputar
ke arah posisi 180⁰ atau ke kanan (searah jarum jam).
Ketika lebar pulsa kendali telah diberikan, maka poros motor servo akan
bergerak atau berputar ke posisi yang telah diperintahkan, dan berhenti pada posisi
tersebut dan akan tetap bertahan pada posisi tersebut. Jika ada kekuatan eksternal
yang mencoba memutar atau mengubah posisi tersebut, maka motor servo akan

21
Universitas Kristen Petra
mencoba menahan atau melawan dengan besarnya kekuatan torsi yang dimilikinya
(rating torsi servo). Namun motor servo tidak akan mempertahankan posisinya
untuk selamanya. Sinyal lebar pulsa kendali harus diulang setiap 20 ms untuk
menginstruksikan agar posisi poros motor servo tetapbertahan pada posisinya

Gambar 2.6 Sinyal PWM motor servo


(Sumber: http://trikueni-desain-sistem.blogspot.co.id/2014/03/Pengertian-Motor-
Servo.html)

Gambar 2.7 Motor servo


(Sumber: https://servodatabase.com/servo/towerpro/mg995)

22
Universitas Kristen Petra
2.5 Software Processing
Processing IDE adalah pemrograman sederhana yang diciptakan untuk
pengembangan aplikasi yang berorientasi visual atau pencitraan dengan penekanan
pada animasi dan memberi pengguna umpan balik melalui interaksi antarmuka.
Para developer Processing IDE ini menginginkan sebuah cara untuk membuat
sketsa, gagasan dalam bentuk kode. Karena pemrograman telah berkembang
selama beberapa dekade terakhir, Processing IDE telah mulai digunakan untuk
pekerjaan tingkat produksi yang lebih maju. Awalnya dibangun sebagai ekstensi
khusus domain Java yang ditargetkan untuk seniman dan desainer. Processing IDE
telah berkembang menjadi alat desain dan prototipe lengkap dan penuh yang
digunakan untuk pekerjaan instalasi skala besar, grafis gerak, dan visualisasi data
yang rumit.
Bahasa pemrograman dari Processing IDE berbasis Java, tetapi dikarenakan
elemen program dalam Processing IDE cukup sederhana, Processing IDE dapat
digunakan oleh orang yang tidak terlalu mengenal Java. Tujuan penting dari
dibuatnya Processing IDE ini adalah untuk membuat suatu aplikasi open-source
yang dapat digunakan untuk pengguna yang lebih luas

23
Universitas Kristen Petra

Anda mungkin juga menyukai