Anda di halaman 1dari 18

hange E hange E

XC di XC di
F- t F- t
PD

PD
or

or
!

!
W

W
O

O
N

N
Y1

Y
U

U
B

B
to

to
ww

ww
om

om
k

k
lic

lic
C

C
.c

.c
w

w
tr re tr re
.

.
ac ac
k e r- s o ft w a k e r- s o ft w a

MODUL PERKULIAHAN

P1421000002–
Sistem Otonom
Rotary Encoder-Motion Model
dan Feature Extraction

Abstrak Sub-CPMK (lihat di RPS)


Modul ini berisi pembahasan Mahasiswa dapat dengan mudah
tentang bagaimana data mengolah data lidar dan
LiDar diolah sehingga memanfaatkannya.
menjadi informasi yang
bermanfaat untuk navigasi
otonom robot.

Fakultas Program Studi Tatap Muka Disusun Oleh

06
Dr.Eng., Heru Suwoyo, S.T., M.Sc.
Sarjana Teknik Elektro
hange E hange E
XC di XC di
F- t F- t
PD

PD
or

or
!

!
W

W
O

O
N

N
Y

Y
U

U
B

B
to

to
ww

ww
om

om
k

k
lic

lic
C

C
.c

.c
w

w
tr re tr re
.

.
ac ac
k e r- s o ft w a k e r- s o ft w a

Pendahuluan
Dengan mengikuti anggapan bahwa robot pada awalnya diletakkan pada posisi yang
diyakini robot, maka untuk dapat membahas bagaimana robot membangun persepsi, robot
terlebih dahulu melakukan pergerakan. Untuk mempermudah dan mempercepat kita pada
diskusi yang relevan, katakanlah pergerakan ini merupakan upaya robot dalam melakukan
eksplorasi ruangan. Dimana pada ruangan tersebut terdapat beberapa bentuk rintangan
yang berbentuk seperti tiang-tiang (pada kasus ini silinder). Pada misi eksplorasinya robot
bergerak dari satu posisi lainnya dengan tanpa adanya tabrakan. Robot dinyatakan
melakukan aksi yang tepat ketika perpindahan posisi ini tidak menghasilkan tabrakan dan
tidak membuat silinder-silinder ini berpindah tempat atau roboh. Analogi ini diberikan oleh
Gambar 6.1 yang merupakan cuplikan dari sebuah video yang merekam robot saat
bergerak.

Gambar 6.1 Arena dan Tahapan Eksplorasi

Dengan mengikuti analogi yang disampaikan diatas, pada poin ini kita dapatkan
satu informasi penting yaitu bahwa robot berada pada lingkungan yang bersifat statis. Tentu
kita paham yang dimaksud dengan statis ini adalah lawan dari dinamis yang berarti
lingkungan tidak berubah-ubah dan akan tetap selama robot tidak melakukan tabrakan.
Keadaan ini sangat penting untuk diketahui oleh robot karena adanya relevansi terhadap
algoritma pemetakan peta. Selanjutnya, tujuan dari penggunaan sifat statis dari lingkungan
ini adalah hanya sebatas mempelajari bagaimana membuat robot dapat memproses data
yang didapat dari sensor. Bahasan mengenai sifat dari lingkungan ini dapat kita pelajari
pada kasus-kasus modern sebuah robot yang dioperasikan pada lingkungan outdoor dan
ramai dengan manusia ataupun pergerakan dari rintangan seperti robot lain yang

2021 Sistem Otonom


2 Dr. Eng, Heru Suwoyo, S.T., M.Sc.
Biro Bahan Ajar E-learning dan MKCU
http://pbael.mercubuana.ac.id/
hange E hange E
XC di XC di
F- t F- t
PD

PD
or

or
!

!
W

W
O

O
N

N
Y

Y
U

U
B

B
to

to
ww

ww
om

om
k

k
lic

lic
C

C
.c

.c
w

w
tr re tr re
.

.
ac ac
k e r- s o ft w a k e r- s o ft w a

dioperasikan. Selain itu, pada percobaan ini kita diterbantukan dengan adanya kamera
global yang diletakkan diatas arena. Dengan menerapkan moving-object detection, semua
pergerakan robot dapat direkam dalam data analitik yang kemudian dijadikan sebagai
referensi. Penamaan sebagai referensi ini dimaksudkan untuk menguji persepsi yang
nantinya dibangun oleh robot. Tentu pengujiannya adalah dengan mengamati seberapa
besar penyimpangan dari persepsi terhadap referensi. Adapun referensi ini adalah berupa
jalur dari robot selama ia bergerak dan lokasi semua fitur-fitur rintangan. Perhatikan
Gambar 6.2.

Gambar 6.2 Referensi Path dan Map

Mengacu pada referensi path dan map ini (didapat dari global kamera dan object-moving
detection), kita peroleh data series koordinat untuk path dan data spatial masing-masing
fitur. Sebagai pengingat dan alasan data referensi disediakan dalam bentuk koordinat,
karena pada pembelajaran navigasi otonom robot ini baik robot maupun lingkungan
dimodelkan dalam kartesian.

Spesifikasi dan Kelengkapan Kerja Robot

Seperti yang pernah dijelaskan pada bahasan-bahasan sebelumnya, bahwa specifikasi


minimun sebuah robot konvensional perlu diperhatikan sebelum membuatnya menjadi
robot dengan kemampuan navigasi otonom. Oleh sebab itu pada awal pembahasan
ekstraksi fitur ini, kita sudah memenuhi standar ini. Dan memang benar bahwa ketentuan

2021 Sistem Otonom


3 Dr. Eng, Heru Suwoyo, S.T., M.Sc.
Biro Bahan Ajar E-learning dan MKCU
http://pbael.mercubuana.ac.id/
hange E hange E
XC di XC di
F- t F- t
PD

PD
or

or
!

!
W

W
O

O
N

N
Y

Y
U

U
B

B
to

to
ww

ww
om

om
k

k
lic

lic
C

C
.c

.c
w

w
tr re tr re
.

.
ac ac
k e r- s o ft w a k e r- s o ft w a

ini telah dipikirkan oleh user pada waktu melakukan percobaan ini. Adapun spesikasi robot
yang dioperasikan pada arena disebut di atas adalah sebagai berikut: Robot merupakan
wheeled-mobile robot; Pergerakannya dapat dianalisa secara kinematic dan menghasilkan
motion model yang telah dipelajari sebelumnya; Pada penggerak robot dilengkapi dengan
odometer dan Inertial Measurement Unit; Dan untuk exteroceptive sensor robot ini
dilengkapi dengan laser scanner atau LiDar.

Meskipun terlihat pada Gambar 6.1 robot memiliki sistem penggerak yang
memanfaatkan roda rantai, seperti tank, namun motion model yang telah dipelajari
sebelumnya masih relevan untuk mengamati bagaimana pergerakan dari robot ini. Hal ini
dapat dibuktikan ketika kecepatan roda kanan dan roda kiri adalah suatu luaran yang
langsung dideteksi oleh odometer. Bagaimana bentuk dari roda, jumlah putaran motor
penggeraknya dapat dikonversi dalam bentuk kecepatan dengan pendekatan khusus.
Misal, seorang pengguna bisa saja mengirimkan 1 kali putaran melalui mikrokontroller dan
diteruskan pada motor driver. Selanjutnya dengan melakukan pengukuran praktis
menggunakan alat ukur, seperti penggaris, seorang pengguna dapat mengetahui berapa
jarak yang ditempuh. Lebih lanjut, dengan diketahuinya jarak per putaran, seorang
pengguna dapat menarik hubungan antara 1 putaran dan durasinya. Sehingga didapatlah
kecepatan dalam satuan jarak/waktu dengan hanya memanfaatkan jumlah putaran terekam
dengan waktu dari pengukuran praktis. Hal ini menunjukan bahwa untuk mengetahui
kecepatan suatu motor yang berputar tidak harus dengan cara mengetahui keliling dari roda
yang terhubung dengan motor tersebut. Adapun IMU sendiri dapat dimanfaatkan sebagai
interoceptive sensor yang dengannya seorang pengguna akan mengetahui simpangan dari
hadapan robot. Dengan acuan ini maka IMU dapat berfungsi sebagai kompas. Hal ini dapat
diperoleh seorang pengguna ketika menganggap luaran data initial dari IMU adalah base.
Dengan demikian, simpangan adalah salah satu ukuran yang dapat dihitung untuk
mengetahui hadapan robot saat ini. Dengan demikian motion model yang juga memerlukan
input berupa masukan spatial dan hadapan robot dapat terpenuhi.

Selanjutnya untuk Lidar adalah dalah suatu metode pendeteksian objek yang
menggunakan prinsip pantulan sinar laser untuk mengukur jarak objek yang ada di
permukaan bumi. Teknologi ini pertama kali digunakan pada tahun 1960-an untuk
keperluan penerbangan, namun baru populer untuk sistem pemetaan / mapping sejak
tahun 1980-an hingga sekarang. Sedikit mengingat yang dipelajari pada kelas robotika,
prinsip dasar dan cara kerja dari LiDar kembali disajikan secara singkat pada modul ini.
Prinsip kerja dari LiDAR sebenarnya sangatlah sederhana. LiDAR melakukan
penghitungan jarak dengan cara mengeluarkan sinar dari laser transmitter ke suatu

2021 Sistem Otonom


4 Dr. Eng, Heru Suwoyo, S.T., M.Sc.
Biro Bahan Ajar E-learning dan MKCU
http://pbael.mercubuana.ac.id/
hange E hange E
XC di XC di
F- t F- t
PD

PD
or

or
!

!
W

W
O

O
N

N
Y

Y
U

U
B

B
to

to
ww

ww
om

om
k

k
lic

lic
C

C
.c

.c
w

w
tr re tr re
.

.
ac ac
k e r- s o ft w a k e r- s o ft w a

permukaan, kemudian menghitung berapa lama waktu yang dibutuhkan sinar laser tersebut
untuk kembali ke receptor. Analoginya sama seperti ketika Anda mengarahkan cahaya
senter ke suatu permukaan. Yang sebenarnya terjadi adalah Anda melihat pantulan cahaya
senter dari suatu permukaan ke retina Anda, namun karena prosesnya sangat cepat, maka
hal tersebut terjadi seolah-olah secara instan. Kecepatan cahaya sangatlah tinggi, yaitu
sekitar 300.000 km/detik jadi kita tidak bisa pergerakannya secara langsung. Meskipun
tidak begitu signifikan berbeda dengan proximity sensor, LiDar memiliki keunggulan dari
sisi cakupan pendeteksian. Kalau proximity sensor hanya memberikan satu jenis jarak
terukur, LiDar akan memberikan lebih dari satu jenis. Dikatakan demikian karena LiDar
bekerja seperti layaknya proximity sensor yang diputar dengan cara tertentu. Sehingga
semua sudut cakupan yang dihasilkan dari putaran, semuanya akan memberikan nilai
jarak. Kita dapat bayangkan jika suatu putaran adalah 360 o dan pada kesemua sudut
pendeteksian terdapat pengukuran, maka seorang pengguna akan mendapatkan 360 jenis
jarak jika setiap perpindahan dari putaran ini adalah 1 derajat. Pada kasus yang sama jika
spesifikasi cakupan LiDar adalah 180o dengan derajat perpindahan 1 derajat maka LiDar
akan memberikan 180 data jarak. Sehingga pada poin, penggunakan LiDar jauh lebih
effisien dari proximity sensor. Bagaimana tidak, dengan Lidar kita dapat secara bersamaan
mengetahui bagaimana bentuk (setelah ada proses khusus) dari rintangan yang ada
dilingkungan, sedangkan proximity dengan data tunggal tidak mampu. Bermodalkan
pengantar yang dijabarkan inilah kita kemudian perlu membahas bagaimana proses khusus
ini dapat dilakukan sehingga keuntungan dari penggunaan LiDar itu sendiri dapat
dimanfaatkan oleh robot yang bernavigasi.

Akses Data Tersimpan di Memori


Seperti pada umumnya, main controller dari robot yang digunakan juga memiliki
kemampuan untuk melakukan penyimpanan. Penyimpanan ini dapat diisi oleh informasi
yang berkaitan data pembacaan baik dari LiDar, IMU, maupun odometer. Namun perlu
diketahui penyimpanan tidak akan bermakna tanpa akses. Oleh sebab itu, pada robot ini
main controller yang digunakan juga dilengkapi kemampuan untuk akses data tersimpan.
Untuk lebih memberikan gambaran lengkap sebelum pembahasan tentang dataset, berikut
dijabarkan kembali analogi dari dilakukannya eksperimen ini.

1. Sebuah robot, dengan kelengkapan dan kemampuan menyimpan dan mengakses


data sensor, ditempatkan pada sebuah tempat (disebut dengan starting point).
2. Robot digerakan dengan menggunakan joystick oleh seorang user pada sebuah
lingkungan dengan terdapatnya 6 silinder pada arena.

2021 Sistem Otonom


5 Dr. Eng, Heru Suwoyo, S.T., M.Sc.
Biro Bahan Ajar E-learning dan MKCU
http://pbael.mercubuana.ac.id/
hange E hange E
XC di XC di
F- t F- t
PD

PD
or

or
!

!
W

W
O

O
N

N
Y

Y
U

U
B

B
to

to
ww

ww
om

om
k

k
lic

lic
C

C
.c

.c
w

w
tr re tr re
.

.
ac ac
k e r- s o ft w a k e r- s o ft w a

3. Pergerakan direkam oleh kamera yang terpasang diatas arena


4. Referensi path dan map didapat secara terpisah dan diluar robot.
5. Robot berhenti setelah beberapa saat melakukan perjalanan pada arena dan
didapat referensi path dan map seperti terlihat pada Gambar 6.2.
6. Selama melakukan perjalanan robot mengaktifkan kemampuannya untuk merekam
data-data dari sensor.
7. Setelah robot berhenti dari melakukan perjalanan tersebut, robot dapat mengakses
semua data terkam.
8. Data terekam yang didapat dan diakses ini adalah data real yang tidak terpisah dari
pengaruh yang membuat ketidakpastian (tidak akurat)
9. Persepsi harus dibangun oleh robot dan harus baik sehingga dapat bermanfaat
untuk melakukan aktivitas navigasi lanjutan.
10. Atas dasar ingin membangun persepsi inilah semua pembacaan perlu diproses.

Adapun data-data sensor yang diakses meliputi, data lidar, odometer, dan IMU. Data
ini kita sebut sebagai data internal yang mutlak berasal dari robot dan untuk robot.
Sedangkan yang berasal dari global kamera (yang telah diproses), datanya akan disebut
dengan data eksternal yang meliputi reference path dan reference map. Keduanya
disatukan seperti ditunjukan pada Gambar 6.2 setelah divisualisasikan. Adanya proses
visualisasi ini didasari oleh originalitas data itu sendiri yang sebenarnya hanyalah object
statis dan dinamis. Selanjutnya melengkapi sepuluh analogi diatas, perlu kita ketahui
bahwa data eksternal dan internal selanjutnya diadopsi dan dilakukan amatan lebih lanjut.
Hal ini sekali lagi sebagai tahapan memberikan kemampuan pada robot untuk membangun
persepsi. Dan alasan proses yang dilakukan diluar robot adalah untuk mengukur seberapa
efektif pendekatan ini sebelum nantinya secara otonom robot akan lakukan. Setelah
dilakukan penggabungan semua data ini, maka kita dapat menyebutnya sebagai dataset.
Dan pada percobaan ini dataset dikemas dalam ekstensi txt untuk masing-masing datanya.

Gambar 6.3 Macam Dataset

Dengan menggunakan matlab, kesemua data ini dapat diproses. Hal ini termasuk,
saat melakukan proses visualisasi robot_arena_landmark.txt sebelum dihasilkan tampuilan
seperti pada Gambar 6.2. Seorang pengguna dapat mengurai data didalamnya dengan
cukup mengikuti pemrograman computer pada umumnya. Misal pada matlab, dengan

2021 Sistem Otonom


6 Dr. Eng, Heru Suwoyo, S.T., M.Sc.
Biro Bahan Ajar E-learning dan MKCU
http://pbael.mercubuana.ac.id/
hange E hange E
XC di XC di
F- t F- t
PD

PD
or

or
!

!
W

W
O

O
N

N
Y

Y
U

U
B

B
to

to
ww

ww
om

om
k

k
lic

lic
C

C
.c

.c
w

w
tr re tr re
.

.
ac ac
k e r- s o ft w a k e r- s o ft w a

menggunakan built-in function fopen data txt ini dapat kemudian dibaca. Kemudian dengan
diawali penandaan bagaimana computer dapat membaca informasi didalamnya, seorang
pengguna dapat memanfaatkan fungsi fscanf. Selanjutnya data, khususnya untuk,
reference map, dapat seorang pengguna tampilkan seperti telihat pada Gambar 6.2. Untuk
menambah penjelasan ini, kita dapat menjalankan code pada Gambar 6.4 dari Line 1-6 dan
17-18. Sebelum tahapan ploting kita juga akan dengan jelas melihat pada file
robot_arena_landmark.txt ternyata sudah terdapat informasi spatial dari semua landmark
(sekali lagi istilah ini akan dipaparkan pada sub-bab berikutnya).

Gambar. 6.4 Akses Dataset Fitur/Landmark dan Jalur

Namun apabila kita amati ternyata Gambar 6.2 bukan hanya menampilkan letak
semua silinder, melainkan adanya garis putus-putus berwarna hijau sebagai representasi
jalur. Sehingga untuk dapat mendapatkan informasi path ini, seorang pengguna perlu akses
robot4_reference.txt. dengan menerapkan cara yang sama (perhatikan Gambar 6.4 Line 8-
12). Dan kemudian melakukan ploting seperti yang disiratkan oleh code Line 13-14.

Motor Encoder
Dengan penerapan fungsi interrupt, biasa sebuah odometer atau rotary encoder
memiliki prioritas eksekusi dari sensor lainnya. Hal ini dilakukan oleh seorang professional
untuk selalu mengaktifkan perhatian sensor pada putaran penggerak utama robot. Seperti
yang pernah disinggung sebelumnya, dengan interrupt ini sebuah robot akan
mengedepankan pembacaan putaran roda sebelum melakukan dan melanjutkan perinta
lainnya. Dengan demikian ketika robot dinyalakan dan secara tidak sengaja ada putaran
roda akibat adanya sentuhan, maka sekalipun robot masih belum diletakan pada arena
data encoder sudah tersedia. Hal ini penting untuk diperhatikan oleh pengguna pertama
kali karena penentuan base dari encoder bukanlah dari 0 (perhatikan data rekam encoder
di Gambar 6.5). Sebuah encoder cenderung memberikan nilai tidak tentu pada awalnya.
Sehingga untuk mengetahui besar putaran seorang pengguna perlu assist robot. Hal ini

2021 Sistem Otonom


7 Dr. Eng, Heru Suwoyo, S.T., M.Sc.
Biro Bahan Ajar E-learning dan MKCU
http://pbael.mercubuana.ac.id/
hange E hange E
XC di XC di
F- t F- t
PD

PD
or

or
!

!
W

W
O

O
N

N
Y

Y
U

U
B

B
to

to
ww

ww
om

om
k

k
lic

lic
C

C
.c

.c
w

w
tr re tr re
.

.
ac ac
k e r- s o ft w a k e r- s o ft w a

dilakukan untuk menganggap base adalah nilai pertama terbaca diodometer dan didapat
sebelum ada perintah putaran motor via pemrograman. Meskipun dikatakan sebelum
perintah pemrograman, kita perlu sadar bahwa odometer bekerja juga atas perintah
pemrograman. Sehingga yang dimaksud disini adalah bentuk pengecualian yaitu sebelum
ada perintah pemrograman lain, selain rotary encoder, yang dijalankan.

Paparan diatas juga berlaku pada percobaan ini. Meskipun kita berharap nilai base
adalah 0 untuk masing-masing motor penggerak roda, pada kenyataannya hal ini
bertentangan. Alih-alih bernilai 0 data awal yang diberikan oleh rotary encoder ada besaran
nilai yang tidak tentu. Dataset robot4_motor.txt berisi rotary encoder memiliki varian
besaran. Namun untuk mempermudah, kesemuanya tidaklah perlu kita perhatikan saat ini.
Kita hanya perlu memperhatikan kolom ke 3 dan ke 7 yang masing-masingnya merupakan
nilai putaran terekam untuk motor kiri dan kanan. Adapun nilai base adalah data baris
pertama yaitu 20795 untuk kiri dan 16067 untuk kanan. Sebagai pengingat kedua data ini
adalah data ticks dari rotary encoder. Perhatikan Gambar 6.5

Gambar 6.5 Data Rotary Encoder

2021 Sistem Otonom


8 Dr. Eng, Heru Suwoyo, S.T., M.Sc.
Biro Bahan Ajar E-learning dan MKCU
http://pbael.mercubuana.ac.id/
hange E hange E
XC di XC di
F- t F- t
PD

PD
or

or
!

!
W

W
O

O
N

N
Y

Y
U

U
B

B
to

to
ww

ww
om

om
k

k
lic

lic
C

C
.c

.c
w

w
tr re tr re
.

.
ac ac
k e r- s o ft w a k e r- s o ft w a

Merujuk pada Gambar 6.5, kita dengan yakin dapat menyatakan bahwa adanya
perubahan besaran gerak adalah ketika ada perubahan pada ticks ini. Meskipun disatu sisi
kita tahu bahwa ticks bukanlah besaran kecepatan yang mewakili u pada motion model, hal
ini bukanlah soal karena kita dapat melakukan konversi nantinya. Adapun konversi yang
dimaksud adalah dengan mencari hubungan antara ticks dan besaran jarak dalam mm.
Dimana tahap ini diawali dengan trial dan memperhatikan perpindahan serta melakukan
pengukuran secara praktis menggunakan penggaris. Pada percobaan ini didapatkan
bahwa satu tick berarti 0.349 mm. Sehingga untuk mengetahui perpindahan dari data
encoder kiri dan kanan pada Gambar 6.5, seorang pengguna seperti kita cukup
mengalikannya dengan 0.349 untuk mengetahui besaran perpindahan dalam m.
Sedangkan untuk durasi dibangkitkan ticks ini dapat terlihat pada selisih nilai yang
ditunjukan pada kolom ke 2 Gambar 6.5. Mengacu pada analogi ini sekarang kita dapat
mengakses nilai ticks untuk roda kiri dan kanan. Dengan menggunakan matlab perintah
akses ini dapat ditunjukan seperti pada Gambar 6.6 berikut.

Gambar 6.6 Akses Ticks Motor Kiri dan Kanan dari Dataset robot4_motors.txt.

Sehingga apabila kita menganggap bahwa posisi awal robot adalah [0,0,0]𝑇 maka
berdasarkan data ticks motor ini kita dapat melihat bagaimana sebenarnya robot bergerak.
Tentu bagaimana robot bergerak ini maksudnya adalah robot path. Namun sebelum lanjut
path yang merujuk pada posisi awal robot ini bukanlah path sebenarnya atau bahkan path
yang serupa dari reference path. Sekali lagi path ini hanya untuk mengetahui bahwa dataset

2021 Sistem Otonom


9 Dr. Eng, Heru Suwoyo, S.T., M.Sc.
Biro Bahan Ajar E-learning dan MKCU
http://pbael.mercubuana.ac.id/
hange E hange E
XC di XC di
F- t F- t
PD

PD
or

or
!

!
W

W
O

O
N

N
Y

Y
U

U
B

B
to

to
ww

ww
om

om
k

k
lic

lic
C

C
.c

.c
w

w
tr re tr re
.

.
ac ac
k e r- s o ft w a k e r- s o ft w a

untuk rotary encoder sudah memiliki potensi kelayakan, yaitu secara visual
merepresntasikan sebuah path dan bukan coordinat-coordinate yang acak. Adapun
tahapannya adalah dengan memanfaatkan motion model dengan dua input kecepatan.
Sehingga ticks perlu diubah dapat satuan m dengan perkalian dengan 0.349 dan kemudian
dijadikan sebagai masukan untuk motion model (dengan anggapan durasinya adalah 1
detik). Dengan langkah ini didapatlah seperti yang terlihat pada Gambar 6.7 berikut.

Gambar 6.7 Path Terbentuk dari Data Ticks

Meskipun terkesan sebagai bentuk konfirmasi, dengan melakukan tahapan ini seorang
pengguna akan dimudahkan untuk mengetahui masing-masing efek besaran ticks untuk
sebuah pergerakan robot. Hal ini kembali akan mengingatkan kita pada konsep sederhana
pergerakan robot dengan 2 motorized wheels. Dimana robot akan bergerak maju ketika
motor kanan dan motor kiri memiliki kecepatan dengan besaran sama. Sedangkan
perbelokan atau penyimpangan terjadi apabila dua besaran ini memberikan nilai yang
berbeda (arah mengikuti kecepatan yang rendah). Sehingga merujuk pada besaran ticks

2021 Sistem Otonom


10 Dr. Eng, Heru Suwoyo, S.T., M.Sc.
Biro Bahan Ajar E-learning dan MKCU
http://pbael.mercubuana.ac.id/
hange E hange E
XC di XC di
F- t F- t
PD

PD
or

or
!

!
W

W
O

O
N

N
Y

Y
U

U
B

B
to

to
ww

ww
om

om
k

k
lic

lic
C

C
.c

.c
w

w
tr re tr re
.

.
ac ac
k e r- s o ft w a k e r- s o ft w a

yang telah dikonversi kedalam satuan kecepatan, maka pengaruhnya dapat dianalisa
berdasarkan hasil ploting berikut

Gambar 6.8 Hasil Ploting Kecepatan Roda Kiri dan Kanan

Sekali lagi untuk membaca Gambar 6.8 kita menerapkan konsep pergerakan sederhana.
Sehingga secara cepat kita pada poin ini, robot mulai berbelok/turning (ditunjukan dengan
adanya perbedaan rising pada grafik kecepatan diatas) setelah beberapa saat. Dimana
pergerakan awal robot ada berjalan lurus ditunjukan dengan grafik kecepatan yang
berimpitan.

Selanjutnya dengan merubah data awal posisi robot seperti yang ditangkap oleh
kamera global, tentu kita langsung dapat membandingkan path (Gambar 6.6) dengan
reference path (Gambar 6.2-warna hijau). Adapun maksud dilakukan perbandingkan ini
adalah untuk kembali melakukan pengujian apakah path dari rotary encoder sudah sesuai
atau belum dengan reference path. Untuk mempersingkat bahasan, besaran posisi awal
robot adalah [1850,1897,213𝑜 ]𝑇 (perhatikan besaran headingnya, degree ini perlu diubah
dalam bentuk radian). Sebagai pengingat spatial ini dalam satuan mm dan sesuai dengan

2021 Sistem Otonom


11 Dr. Eng, Heru Suwoyo, S.T., M.Sc.
Biro Bahan Ajar E-learning dan MKCU
http://pbael.mercubuana.ac.id/
hange E hange E
XC di XC di
F- t F- t
PD

PD
or

or
!

!
W

W
O

O
N

N
Y

Y
U

U
B

B
to

to
ww

ww
om

om
k

k
lic

lic
C

C
.c

.c
w

w
tr re tr re
.

.
ac ac
k e r- s o ft w a k e r- s o ft w a

pembilang dari satuan kecepatan. Adapun hasil perbandingan dapat dilihat pada Gambar
6.7. Dan seperti yang terlihat ternyata terdapat ketidaksamaan yang besar.

Gambar 6.9 Perbandingan Path dari Rotari Encoder (merah) dan Referensi (hijau)

Perhatikan Gambar 6.9, ternyata path yang dihasilkan dari rotary encoder sangatlah
menyimpang dari referensinya. Sehingga jika persepsi ini adalah salah satu dan satu-
satunya data yang dimiliki oleh robot, kita bisa bayangkan robot akan juga memperoleh
persepsi yang salah untuk lokasi silinder. Hal ini logis, karena penempatan silinder pada
path global mengacu pada path secara prinsipalnya. Oleh sebab itu, kita sebagai pengguna
tidak dapat membiarkan robot memiliki persepsi salah dan menjadikannya sebagai acuan
navigasi lanjutan. Berdasarkan kasus inilah robot perlu dibekali kemampuan untuk secara
adaptif membangun persepsi yang relevan. Sebagai pointer, tahap dalam pembentukan
persepsi ini adalah tahapan penyelesaian Simultaneous Localization and Mapping. Dimana
pembahasan intinya akan diberikan pada pertemuan akhir sebelum pembahasan tentang
Path Planning.

2021 Sistem Otonom


12 Dr. Eng, Heru Suwoyo, S.T., M.Sc.
Biro Bahan Ajar E-learning dan MKCU
http://pbael.mercubuana.ac.id/
hange E hange E
XC di XC di
F- t F- t
PD

PD
or

or
!

!
W

W
O

O
N

N
Y

Y
U

U
B

B
to

to
ww

ww
om

om
k

k
lic

lic
C

C
.c

.c
w

w
tr re tr re
.

.
ac ac
k e r- s o ft w a k e r- s o ft w a

Adapun perintah yang dapat kita ketikan dalam Bahasa pemrograman Matlab untuk
tahap yang menghasilkan Gambar 6.9 adalah sebagai berikut

Gambar 6.9 Pemrograman Akses dan Ploting Path

Feature Detection
Sebelum masuk pada bagian yang menjelaskan bagaimana data pengukuran LiDar
diproses, terlebih dahulu perlu kita pahami beberapa istilah yang sering digunakan pada
perancangan robot navigasi otonom. Dengan istilah ini seorang peneliti memiliki
keseragaman khususnya pada saat mendefinisikan suatu permasalah. Dan tidak berhenti
pada pernyataan ini saja, istilah ini juga dapat membantu pemula seperti kita untuk lebih
cepat dan tepat menangkap pesan dari capaian suatu penelitian. Salah satu istilah penting
khususnya yang berkaitan dengan lingkungan, dimana robot akan dioperasikan, adalah fitur
atau feature. Fitur adalah istilah yang digunakan untuk menyebutkan segala bentuk
rintangan pada lingkungan yang dapat menjadi acuan tambahan dalam navigasi.
Pengistilahan ini linear dengan kata fitur itu sendiri yang berarti kelengkapan. Dinyatakan
sebagai kelengkapan karena sebuah robot perlu mengetahui informasi terkait dengan
linkungan termasuk kelengkapan didalamnya. Pada istilah navigasi dan Simultenous
Localization and Mapping, fitur ini juga disebut sebagai Landmark. Penamaannya didasari

2021 Sistem Otonom


13 Dr. Eng, Heru Suwoyo, S.T., M.Sc.
Biro Bahan Ajar E-learning dan MKCU
http://pbael.mercubuana.ac.id/
hange E hange E
XC di XC di
F- t F- t
PD

PD
or

or
!

!
W

W
O

O
N

N
Y

Y
U

U
B

B
to

to
ww

ww
om

om
k

k
lic

lic
C

C
.c

.c
w

w
tr re tr re
.

.
ac ac
k e r- s o ft w a k e r- s o ft w a

oleh penggunaannya yang mutlak sebagai acuan navigasi. Dan pada sub-bab ini akan
dipaparkan bagaimana LiDar mendeteksi keberadaan dari fitur ini pada sebuah lingkungan
kerja robot. Hal ini dilakukan untuk melakukan pemetakan praktis yang mengubah dari
informasi jarak yang diperoleh menjadi informasi spatial fitur. Dikatakan sebagai informasi
spatial, karena jarak ditangkap oleh lidar akan digunakan untuk mengetahui posisi dari fitur
itu sendiri. Namun tentu sebelum langkah ini, data pembacaan digunakan sebagai
konfirmator apakah benar data series dari jarak tersebut adalah rintangan/fitur.

Pertama kali kita dapat mengakses dataset yang menyimpang informasi deteksi
selama robot dioperasikan pada arena. Secara jelas, pada pembacaan ini adalah
pembacaan sensor yang memang pada persepsi robot atau pada local frame. Sehingga
penting untuk terlebih dahulu mengetahui apakah pada deteksi didapatkan silinder yang
terbaca atau tidak. Hal ini dapat kita lakukan dengan cara ploting pembacaan LiDar.
Selanjutnya tampilan secara jelas akan menjelaskan beam dari LiDar dari sudut pandang
robot. Adapun salah satu plotted deteksi LiDar dapat diperlihatkan pada gambar berikut

Gambar 6.10 Deteksi Satu-Kali LiDar dilihat pada Sudut Pandang Robot

Gambar 6.10 menjelaskan dengan memproses besaran jarak masing-masing angle dari
LiDar, seorang pengguna dapat dengan mudah mendapatkan data visual yang bermanfaat.
Seperti yang terlihat pada gambar tersebut informasi yang didapat pada saat satu deteksi

2021 Sistem Otonom


14 Dr. Eng, Heru Suwoyo, S.T., M.Sc.
Biro Bahan Ajar E-learning dan MKCU
http://pbael.mercubuana.ac.id/
hange E hange E
XC di XC di
F- t F- t
PD

PD
or

or
!

!
W

W
O

O
N

N
Y

Y
U

U
B

B
to

to
ww

ww
om

om
k

k
lic

lic
C

C
.c

.c
w

w
tr re tr re
.

.
ac ac
k e r- s o ft w a k e r- s o ft w a

adalah bahwa robot dapat melihat terdapatnya 6 silinder yang berposisi pada setiap
cekungan yang terbentuk. Dilain sisi, dengan mengamati jangkauan selain cekungan
sebuah robot juga seharusnya dapat mengetahui bahwa arena dimana ia dioperasikan
adalah berbentuk persegi Panjang. Namun hal ini perlu adanya tahapan yang Panjang.
Sehingga untuk menghemat dan menghindari kerumitan dalam bahasan ini, kita hanya
akan mempelajari bagaimana silinder (yang merupakan tiruan-dinding) dapat dideteksi.
Sekali lagi bukan sembarang deteksi, namun deteksi yang selanjutnya dapat dijadikan
acuan untuk penentuan letak dari silinder tersebut pada global representasi. Sehingga pada
poin ini, kita paham betul bahwa Gambar 6. 10 masih mentah dan perlu adanya
pemrosesan lebih lanjut. Sebagai pelengkap pembahasan, Gambar 6.10 diplot dengan
menerapkan code berikut

Gambar 6.11 Code Deteksi Satu-Kali Cilinder Menggunakan LiDar

Seperti yang disinggung diatas, proses lanjutan pertama setelah deteksi dapat
divisualisasikan adalah memperhatikan grafik deteksi. Hal ini akan membuat kita semakin

2021 Sistem Otonom


15 Dr. Eng, Heru Suwoyo, S.T., M.Sc.
Biro Bahan Ajar E-learning dan MKCU
http://pbael.mercubuana.ac.id/
hange E hange E
XC di XC di
F- t F- t
PD

PD
or

or
!

!
W

W
O

O
N

N
Y

Y
U

U
B

B
to

to
ww

ww
om

om
k

k
lic

lic
C

C
.c

.c
w

w
tr re tr re
.

.
ac ac
k e r- s o ft w a k e r- s o ft w a

terbantukan bagaimana menentukan langkah pengolahan selanjutnya. Adapun grafilk


deteksi yang dimaksud adalah koversi Gambar 6.10 kedalam bentuk lain seperti yang
terlihat pada Gambar 6.12 berikut ini

Gambar 6.12 Grafik Pendeteksian LiDar Satu-Kali

Seperti yang terlihat pada gambar 6.12 diatas kita menangkap informasi bahwa setiap kali
LiDar dioperasikan dan melakukan pengukuran, akan terdapat pembacaan jarak sebanyak
660 pembacaan. Hal ini dapat dilihat pada sumbu x pada Gambar 6.12 yang koresponding
terhadap nilai jarak pada sumbu y. Untuk menerjemahkan Gambar 6.12 ini kita juga dapat
merujuk pada spesifikasi LiDar yang digunakan itu sendiri, dimana pada eksperimen ini
Lidar yang digunakan memiliki cakupan pengukuran dari -0.069 radian (perhatikan code
pada Gambar 6.11 line 19) dengan selisih angle antar beam adalah 0,061 radian.
Selanjtunya dengan tujuan menentukan letak silinder pada global frame, mengacu pada
Gambar 6.12 kita selanjutnya perlu menentukan letak silinder setiap kali deteksi satu-kali
ini dilakukan oleh LiDar. Hal ini dapat dipenuhi dengan menerapkan strategi berikut

1. Compute Derivative
2. Find Cylinders
3. Compute Cartesian Cylinders

2021 Sistem Otonom


16 Dr. Eng, Heru Suwoyo, S.T., M.Sc.
Biro Bahan Ajar E-learning dan MKCU
http://pbael.mercubuana.ac.id/
hange E hange E
XC di XC di
F- t F- t
PD

PD
or

or
!

!
W

W
O

O
N

N
Y

Y
U

U
B

B
to

to
ww

ww
om

om
k

k
lic

lic
C

C
.c

.c
w

w
tr re tr re
.

.
ac ac
k e r- s o ft w a k e r- s o ft w a

Pada mulanya ketiga strategi diatas, memanfaatkan Falling Edge dan Rising Edge pada
masing-masing cekungan pada Grafik (Gambar 6.12). Penentuan Falling dan Rising Edge
ini kemudian akan dijadikan penenda bahwa dimulai dari angle yang koresponding
terhadap falling edge sampai dengan angle yang rising edge, LiDar merasakan adanya
silinder.

Compute Derivative

Tahapan pertama untuk menentukan terjadinya falling dan rising edge adalah dengan
menentukan hasil turunan dari grafik Gambar 6.12. Dimana secara teori penerapan ini akan
memberikan sebuah grafik penanda adanya falling dan rising edge. Berikut adalah langkah-
langkahnya

a. Penentuan jarak minimum untuk falling/rising edge


b. Mendefinisikan bahwa falling adalah sebelah kiri dan rising terletak pada disebelah
kanan pada grafik ketika silinder dideteksi.
c. Compute left dari data scan sebelumnya dan right adalah data scan selanjutnya.
d. Klasifikasi, jika keduanya melampaui jarak minimum yang ditentukan maka hal
tersebut mengidentifikasikan adanya falling dan rising.
e. Menentukan selisih
f. Membagi selisih dengan banyak loncatan data, yaitu 2
Metode (d-f) biasa dikenal dan diterapkan pada pengolahan citra, dengan bentuk
𝑙−𝑟
matematis sebagai berikut: 2

Sebagai pengingat 𝑙 adalah jarak terbaca pada scan(t-1) dan 𝑟 adalah jarak terbaca
pada scan(t+1). Dimana 𝑡 adalah sebuah index untuk data scan saat ini.

Berikut adalah jabaran compact dari langkah-langkah diatas

Penentuan jarak minimum untuk falling/rising edge pada eksperimen ini adalah
200mm. Dimana jika jarak terbaca angle berikutnya dan sebelum angle saat ini adalah 200
maka perhitungan derivative dimulai. Perhitungan ini akan direkam sebagai data loncatan.
Sehingga dalam kata lain, ketika nilai scan pada beam berikut/sebelumnya memang besar
dan melampaui batas minimum maka menandakan adanya perubahan grafik yang tiba-tiba
turun drastic atau naik melejit.

Adapun untuk dapat mendapatkan hasil derivative dari Gambar 6.12 diatas adalah
dengan menerapkan fungsi pada pemrograman berikut

2021 Sistem Otonom


17 Dr. Eng, Heru Suwoyo, S.T., M.Sc.
Biro Bahan Ajar E-learning dan MKCU
http://pbael.mercubuana.ac.id/
hange E hange E
XC di XC di
F- t F- t
PD

PD
or

or
!

!
W

W
O

O
N

N
Y

Y
U

U
B

B
to

to
ww

ww
om

om
k

k
lic

lic
C

C
.c

.c
w

w
tr re tr re
.

.
ac ac
k e r- s o ft w a k e r- s o ft w a

Gambar 6.13 Fungsi Compute Derivate

Referensi
1. Siegwart, R., Nourbakhsh, I. R., & Scaramuzza, D. (2011). Introduction to autonomous
mobile robots. MIT press.
2. Skubch, H. (2012). Modelling and controlling of behaviour for autonomous mobile robots.
Springer Science & Business Media.
3. Zhu, X., Kim, Y., Minor, M. A., & Qiu, C. (2017). Autonomous mobile robots in unknown
outdoor environments. CRC Press
4. Klancar, G., Zdesar, A., Blazic, S., & Skrjanc, I. (2017). Wheeled mobile robotics: from
fundamentals towards autonomous systems. Butterworth-Heinemann.

2021 Sistem Otonom


18 Dr. Eng, Heru Suwoyo, S.T., M.Sc.
Biro Bahan Ajar E-learning dan MKCU
http://pbael.mercubuana.ac.id/

Anda mungkin juga menyukai