Anda di halaman 1dari 24

LAPORAN PRAKTIKUM

Modul #6

Gazebo Simulator

Mata Kuliah : Robotika


Dosen Pengampu : Irma Nirmala, S.T., M.T.
Program Studi : Rekayasa Sistem Komputer

Disusun oleh :
Rahmanita Widiyanti
H1051171007

JURUSAN REKAYASA SISTEM KOMPUTER


FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS TANJUNGPURA
2020
A. Tujuan
Mahasiswa diharapkan dapat, yaitu:
1. Memahami cara menggunakan Gazebo Simulator
2. Membuat robot virtual dan lingkungannya menggunakan Gazebo Simulator

B. Dasar Teori
Gazebo merupakan sebuah aplikasi simulasi open source yang dapat mengolah
perkembangan mesin dinamis yang dikembangkan oleh Open Source Robotics Foundation.
Gazebo dapat mensimulasikan perancangan robot serta melatih sistem artificial intelligent
dengan kemampuan simulasi yang akurat, perancangan simulasi dapat di desain baik didalam
maupun diluar ruangan yang kompleks. Aplikasi gazebo beroperasi pada sistem operasi Linux
dengan kemampuan grafis yang cukup tinggi. Berikut adalah gambar dari tampilan aplikasi
simulasi Gazebo.

Gazebo adalah sebuah platform open source yang siapa pun dapat mengembangkan plug-
in ini dengan model komponen. Gazebo juga kompatibel dengan ROS dan Player. Gazebo
dapat mensimulasikan sistem yang kompleks dan berbagai komponen sensor. Gazebo
digunakan terutama dalam mengembangkan robot yang digunakan dalam interaksi, untuk
mengangkat atau ambil benda, untuk mendorong, atau aktivitas lain yang biasanya digunakan
di ruang angkasa.
Antarmuka Model Editor terlihat mirip dengan Gazebo UI utama tetapi dengan beberapa
perbedaan halus. Panel kiri dan atas Toolbar sekarang hanya berisi widget untuk mengedit dan
membuat bagian model. Toolbar bawah yang menampilkan data simulasi disembunyikan
karena simulasi sekarang dijeda.
Berikut tampilan pada Gazebo, yaitu:

1. Toolbar - berisi alat untuk mengedit model.


Tampilan pada toolbar, yaitu:

Select mode

Translate mode

Rotate mode

Scale mode

Undo / Redo

Copy / Paste

Align
Snap

Change view

2. Palette - dapat dikenal sebagai Panel Kiri yang memiliki dua tab untuk mengedit model.
Palet memiliki dua tab, yaitu:
- INSERT, yaitu tempat Anda menambahkan bagian baru (tautan dan model) ke Editor
Model. Terdapat tida insert, yaitu:
a. Simple Shapes: geometri primitif yang dapat disisipkan untuk membentuk tautan
dalam model.
b. Custom Shapes: mengimpor mesh kustom ke dari link di model. Saat ini
mendukung file COLLADA (.dae), 3D Systems (.stl), Wavefront (.obj) dan W3C
SVG (.svg).
c. Model Database: dimasukkan ke dalam Model Editor dengan cara yang sama
seperti bentuk sederhana.

- MODEL, yaitu Tab Model memungkinkan Anda untuk mengatur nama dan parameter
dasar model yang Anda buat. Ini menampilkan daftar tautan, sambungan, model
bersarang, dan plugin yang ada dalam model. Parameter dapat diubah menggunakan
Link Inspector. Itu dapat dibuka menggunakan salah satu metode berikut.
1) mengklik dua kali pada item dalam daftar
2) mengklik dua kali pada item di Scene
3) mengklik kanan item dalam daftar dan memilih Open Link Inspector
4) mengklik kanan item di Scene dan memilih Open Link Inspector

3. Insert tab - alat untuk menambahkan tautan dan model bersarang.


4. Model tab - digunakan untuk mengedit properti dan konten model

C. Alat dan Bahan


Alat dan bahan yang digunakan, yaitu:
1. Komputer dengan OS Linux
2. ROS Kinetic Kame
3. Gazebo Simulator
D. Langkah Kerja
1. Terminal dibuka dan perintah ditulis.

2. Terminal dibuka dan perintah ditulis.

3. Terminal dibuka dan perintah ditulis.

4. Langkah 2 dan 3 diulangi untuk file world yang lain.

E. Tugas
1. Hasil Pengamatan dan Analisa Pengamatan sesuai Langkah Kerja
1) Teminal dibuka, perintah ditulis, dan keluaran seperti dibawah ini:

gazebo worlds/pioneer2dx.world digunakan untuk membuka aplikasi gazebo dan

menampilkan robot beroda yang berada pada titik pusat dari gazebo tersebut. Perintah
ini juga digunakan untuk menginstruksian gazebo untuk menentukan file
pioneer2dx.world dan dapat memuat diawal.
Dengan catatan, jika belum mempunyai model pioneer2dx, gazebo dapat mengunduh
melalui database model online. Hasilnya sebagai berikut:
2) Terminal baru dibuka, perintah ditulis, dan keluaran seperti dibawah ini:

gazebo worlds/willowgarage.world merupakan demo worlds yang sudah termasuk

dalam package gazebo_ros.

3) Menggunakan terminal pada langkah 2), perintah ditulis, dan keluaran seperti dibawah
ini:

ls /usr/share/gazebo-7/worlds adalah tempat direktori file world pada sistem

kemudian akan menampilkan banyak lagi selain pioneer2dx.


Kemudian akan nampil pada aplikasi gazebo, seperti dibawah ini:

4) Langkah 2 dan 3 diulangi untuk file world yang lain.

Dari banyaknya file word yang dihasilkan oleh ls /usr/share/gazebo-7/worlds hanya

diulangi beberapa file untuk menampilkan hasil yang ada pada gazebo, hasilnya
sebagai berikut:
Perintah untuk file word Hasil pada Gazebo
2. Hasil Pengamatan dan Analisa Pengamatan sesuai
http://gazebosim.org/tutorials?tut=build_world
1) Teminal dibuka, perintah ditulis, dan keluaran seperti dibawah ini:

gazebo worlds/pioneer2dx.world digunakan untuk membuka aplikasi gazebo dan

menampilkan robot beroda yang berada pada titik pusat dari gazebo tersebut. Perintah
ini juga digunakan untuk menginstruksian gazebo untuk menentukan file
pioneer2dx.world dan dapat memuat diawal.
Dengan catatan, jika belum mempunyai model pioneer2dx, gazebo dapat mengunduh
melalui database model online. Hasilnya sebagai berikut:

Atau dapat dimulai dengan Terminal baru dibuka, perintah ditulis, dan keluaran
seperti dibawah ini:

gazebo digunakan untuk membuka aplikasi gazebo dan memulai kegiatan di gazebo.
2) Kemudian melakukan translasi.

Translasi dilakukan dengan mengklik tombol rotate mode ( ) kemudian robot


beroda dapat bergerak dengan menekan dan menahan tombol x, y, atau z (artinya robot
dapat bergerak ke arah x, y, atau z).
Berikut hasil robot beroda bergerak ke arah x (merah).

Berikut hasil robot beroda bergerak ke arah y (hijau).

Berikut hasil robot beroda bergerak ke arah z (biru).


3) Kemudian melakukan rotasi.

Rotasi dilakukan dengan mengklik tombol translate mode ( ) kemudian robot


beroda dapat berputar atau berotasi dengan menekan dan menahan tombol x, y, atau z
(artinya robot dapat berputar atau berotasi ke arah x, y, atau z).
Berikut hasil robot beroda berotasi ke arah x (merah).

Berikut hasil robot beroda berotasi ke arah y (hijau).

Berikut hasil robot beroda berotasi ke arah z (biru).


4) Kemudian melakukan pengubahan ukuran dan menggerakkan ke segala arah.

Scale dilakukan dengan mengklik tombol scalling mode ( ) kemudian robot beroda
dapat mengubah ukuran dan bergerak ke segala arah dengan menekan dan menahan
tombol x, y, atau z (artinya robot dapat mengubah ukuran dan bergerak ke segala arah
ke arah x, y, atau z).
Berikut hasil robot beroda berubah ukuran.

Berikut hasil robot beroda bergerak kesegala arah.

Dengan mengontrol melalui robot beroda bergerak kesegala arah sebagai berikut.
5) Kemudian dapat melakukan save as pada menu file di gazebo sebagai berikut:

6) Menampilkan tab world.


Pada tab world, terdapat pilihan item scene. Daftar properti scene akan ditampilkan
pada list box yang tertera.

Hasil:
3. Hasil Pengamatan dan Analisa Pengamatan sesuai
http://gazebosim.org/tutorials?cat=guided_b&tut=guided_b3
1) Terminal dibuka, perintah ditulis, dan hasilnya dibawah ini:

sudo apt-get install ros-kinetic-gazebo-ros-pkgs ros-kinetic-gazebo-ros-control

berfungsi sebagai menginstall package yang terdapat pada gazebo_ros_pkgs.

Menginstal dari sumber juga berguna jika Anda ingin mengembangkan plugin baru
atau mengirimkan tambalan.

2) Terminal baru dibuka, perintah ditulis, dan hasilnya sebagai berikut:

source /opt/ros/kinetic/setup.bash adalah perintah untuk menjalankan langkah

selanjutnya. Perintah yang akan dibangun untuk memastikan bahwa pencarian


direktori sudah ada untuk menjalankan perintah selanjutnya.

3) Masih menggunakan terminal pada langkah 2), perintah ditulis, dan hasilnya sebagai
berikut:

source ~/catkin_ws/devel/setup.bash adalah sebuah perintah tambahan untuk

menjalankan langkah selanjutnya. Folder tambahan ini terdapat dua, yaitu build dan
devel. Perintah yang akan dibangun ini untuk memastikan bahwa pencarian direktori
untuk menjalankan perintah selanjutnya.

4) Masih menggunakan terminal pada langkah 2), perintah ditulis, dan hasilnya sebagai
berikut:

roscore & , artinya dengan adanya & maka memungkinkan untuk terus menggunakan

terminal, sementara roscore berjalan di latar belakang. Jika tidak menambahkan '&',
roscore akan mulai dan semua masukan (ke jendela terminal) akan diarahkan ke
roscore.

5) Menggunakan terminal baru, perintah ditulis, dan hasilnya sebagai berikut:

Hasil yang akan muncu setalah perintah tersebut dijalankan sebagai berikut:
rosrun gazebo_ros gazebo digunakan untuk menampilkan aplikasi gazebo.

6) Menggunakan terminal baru, perintah ditulis, dan hasilnya sebagai berikut:

rostopic list berfungsi untuk mendaftar semua node yang berjalan di semua terminal

yang menjalankan ROS.

7) Masih menggunakan terminal pada langkah 6), perintah ditulis, dan hasilnya sebagai
berikut:

rosservice , perintah tersebut mengimplementasikan berbagai perintah yang

memungkinkan untuk menemukan layanan mana yang sedang online dari node mana
dan menelusuri lebih lanjut untuk mendapatkan informasi spesifik tentang suatu
layanan, seperti jenisnya, URI, dan argumennya. Serta juga dapat memanggil layanan
langsung dari baris perintah.

8) Kemudian pada aplikasi gazebo yang sudah ada, selanjutnya melakukan hal sebagai
berikut:
Pertama akan membuat kendaraan. Oleh karena itu pada Insert tab di panel kiri, klik
terlebih dahulu kubus, dan gerakkan kursor kemana saja pada bagian scene dan klik
lagi untuk melepaskan kotak.
Kemudian, karena pada perintah yang tersedia, akan menggunakan kotak berbentuk

balok, oleh karena itu dapat melakukan resize menggunakan scale mode ( ). Hasil
setelah dilakukannya scale sebagai berikut:
Kemudian pada balok tersebut, klik kanan dan mengklik link inspector, hasilnya
sebagai berikut:

9) Setelah membuat balok, selanjutnya akan membuat dua roda.


Membuat roda ini menggunakan silinder, kemudian ukurannya diubah sehingga
terlihat seperti roda, berikut hasilnya:
Kemudian pada kedua silinder tersebut, klik kanan dan mengklik link inspector,
hasilnya sebagai berikut:

10) Kemudian melakukan create joint.


Create joint dilakukan antara parent dan child, yang berfungsi untuk menyatukan
antara balok dan kedua buah silinder agak bentuk tersebut menjadi robot beroda,
berikut hasil yang telah dikukan dalam create joint:
a. Pada roda kiri

b. Pada roda kanan


Dari poin a dan b maka hasilnya adalah:

Klik pada roda untuk mengaturnya sebagai anak dari sendi. Sendi baru dibuat.
Secara default, ini adalah gabungan revolute (seperti yang ditunjukkan di bagian
Tipe Gabungan di dialog) yang merupakan tipe gabungan yang diinginkan.
Konfigurasi sumbu untuk roda depan lainnya dan pastikan:
a) sasis adalah induk sambungan dan roda adalah anak
b) sumbu rotasi diatur ke Z
c) gunakan Y Align Min opsi untuk menyelaraskan roda kanan seperti di sisi lain
sasis.

11) Membuat roda kastor.


Membut roda kastor menggunakan bola, ukuran yang digunakan mengikuti ukuran pad
balok yang sudah dibuat sebelumnya. Kemudian melakukan create join pada bola
tersebut, hasilnya sebagai berikut:
Untuk membuat sambungan antara roda kastor dan rangka, buka dialog Joint Creation
dengan mengklik ikon Gabungan di Toolbar atas. Gerakkan mouse ke Scene dan pilih
sasis sebagai tautan induk dan bola sebagai tautan anak.
sejajarkan roda kastor agar berada di tengah dengan sasis dan diposisikan di ujung
belakang. Di bagian Align link, pilih opsi Y Align Center untuk memusatkan dua link
di sumbu Y, dan pilih opsi X Align Min untuk menggerakkan roda kastor sehingga
ditempatkan tepat di belakang kendaraan. Tekan tombol Buat untuk menyelesaikan
proses pembuatan bersama, hasilnya sebagai berikut:

12) Menambahkan sensor.


Sensor yang akan tambahkan ke dalam mobil adalah sensor kamera kedalaman yang
akan membantu mendeteksi objek di depan mobil. Kemudian memasukkan model
sensor yang ada dari database model, hasilnya sebagai berikut:
13) Menambahkan plugin.
Plugin adalah cara yang bagus untuk meningkatkan model dengan beberapa
otonomi dengan memungkinkannya melakukan komputasi seperti pemrosesan data
sensor, perencanaan jalur, dan kontrol.
Plugin yang akan digunakan disebut libFollowerPlugin. Jadi masukkan ini di
kolom Filename. Nama file sesuai dengan nama file sebenarnya dari pustaka plugin
yang disimpan di komputer lokal, hasilnya sebagai berikut:

Plugin biasanya memiliki berbagai parameter yang terkait, mis. plugin penggerak
diferensial memerlukan penentuan nama sambungan yang mengontrol roda kiri dan
kanan sehingga dapat menggerakkan kendaraan ke arah yang benar.
Klik OK untuk menambahkan plugin. Plugin sekarang akan muncul di bawah Model
Plugins di panel kiri, hasilnya seperti dibawah ini:
14) Save model yang sudah dibuat.
Simpan model dengan membuka menu File dan memilih Save As. Masukkan nama
untuk model dan klik Simpan, hasilnya sebagai berikut:

Kemudian, eluar dari Editor Model dengan membuka File dan memilih Exit Model
Editor. Gazebo sekarang harus beralih kembali ke mode simulasi normal. Tekan
tombol Play untuk menjalankan simulasi, hasilnya sebagai berikut:
Untuk menguji apakah plugin berfungsi, masukkan kotak di depan mobil dan lihat
mobil bergerak perlahan ke arahnya, hasilnya seperti dibawah ini:

Robot beroda tidak melakukan perpindahan dikarenakan terdapat step yang salah
dalam melakukan praktikum tersebut. Sehingga seharusnya robot beroda bisa bergerak
karena terdapat sensor yang sudah terpasang, robot tersebut dapat bergerak perlahan
ke arah kubus tersebut.

4. Kesimpulan
Kesimpulan pada praktikum Modul #6 dengan judul Pemrograman Gerak pada ROS, yaitu
Gazebo merupakan sebuah aplikasi simulasi open source yang dapat mengolah perkembangan
mesin dinamis yang dikembangkan oleh Open Source Robotics Foundation. Pelaksanaan
praktikum pada Modul #6 terlaksana tanpa adanya kesalahan dan robot dua roda tersebut dapat
bergerak dengan arah x, y, maupun z. Robot beroda dapat berputar atau berotasi ke arah x, y,
maupun z serta dapat melakukan resize pada robot yang dibuat. Robor beroda dapat melakukan
scalling juga.

Anda mungkin juga menyukai