0% menganggap dokumen ini bermanfaat (0 suara)
58 tayangan14 halaman

Simulasi Maneuver AR Drone di ROS

Simulasi pergerakan maneuver miring kiri dan kanan pada quadcopter

Diunggah oleh

muhammad naufal
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
58 tayangan14 halaman

Simulasi Maneuver AR Drone di ROS

Simulasi pergerakan maneuver miring kiri dan kanan pada quadcopter

Diunggah oleh

muhammad naufal
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd

SIMULASI PERGERAKAN MANUVER MIRING KIRI DAN MIRING

KANAN PADA QUADCOPTER

Disusun untuk memenuhi tugas akhir matakuliah Mobile Robot

Oleh:
Muhammad Naufal 145150300111025
Mobile Robot-B

Dosen Pengampu:
Gembong Edhi Setyawan S.T, M.T

PROGRAM STUDI TEKNIK KOMPUTER


JURUSAN TEKNIK INFORMATIKA
FAKULTAS ILMU KOMPUTER
UNIVERSITAS BRAWIJAYA
MALANG
2017
BAB I
PENDAHULUAN
1. Latar Belakang
Saat ini, robot sudah menjadi barang yang semakin populer. Bukan hanya
digunakan di dunia industri maupun akademisi, tapi juga mulai menyentuh masyarakat
umum. Aplikasi dan bentuk robot pun kini semakin beragam, bukan hanya Robot
Manipulator di dunia industri saja, tetapi juga berkembangnya Mobile Robot, baik yang
bergerak di darat, air, maupun udara, serta Biologically Inspired Robot, seperti robot
humanoid yang berbentuk manusia, robot berkaki, dan lain sebagainya

Salah satu robot yang belakangan ini banyak menarik minat para ahli untuk
dikembangkan adalah mobile robot. Menurut Hartanto (2005) mobile robot merupakan
robot yang dapat berpindah dari tempatnya menuju tempat lain. Mobile robot menyerupai
fungsi makhluk hidup yang dapat berpindah, jenis robot ini biasanya diciptakan untuk
berbagai keperluan, seperti: mengangkut barang secara otomatis, melakukan perjalanan
atau pemantauan ke tempat-tempat berbahaya, sebagai alat hiburan (robotainment) atau
mainan.
Kemampuan dari mobile robot sangat beragam sesuai dengan tingkat dan jenis
keperluan. Mobile robot yang tengah gencar-gencarnya di kembangkan adalah robot
UAV atau Unmanned Aerial Vehicle. UAV adalah sebuah mesin terbang yang berfungsi
dengan kendali jarak jauh oleh pilot atau mampu mengendalikan dirinya sendiri,
menggunakan hukum aerodinamika untuk mengangkat dirinya, bisa digunakan kembali
dan mampu membawa muatan baik senjata maupun muatan lainnya. Salah satu jenis
robot UAV yang sedang banyak diteliti oleh mahasiswa adalah AR Drone. AR drone
memiliki 6 gerak bebas, yaitu Pitch depan, Pitch belakang, Roll kiri, Roll kanan, yaw
(rotasi) kiri dan yaw (rotasi) kanan.
Berkaitan dengan hal tersebut di atas, tugas akhir ini mencoba untuk
mengimplementasikan maneuver miring kekiri dan kekanan pada AR Drone.
1.2 Rumusan Masalah

Bagaimana mensimulasikan pergerakan miring kekiri dan kekanan pada drone melalui
simulasi di Gazebo ROS?
1.3 Batasan Masalah
Batasan yang digunakan dalam penelitian ini agar pembahasan yang dilakukan tidak
meluas yaitu:
1. Pembahasan hanya pada miring kekiri dan kekanan
2. Pengujian dilakukan dalam bentuk simulasi dengan menggunakan simulator Gazebo
ROS.
3. Simulasi menggunakan Bahasa python

1.4 Tujuan
Tujuan penelitian tugas akhir ini adalah Melakukan analisa terhadap pergerakan
maneuver miring kekiri dan kekanan serta mensimulasikannya pada Drone di Gazebo
ROS
BAB II
TINJAUAN PUSTAKA
2.1 Gazebo ROS

Robot Operating System (ROS) dikembangkan pada tahun 2007 oleh Stanford
Artificial Intelligence Laboratory (SAIL) dengan dukungan Stanford AI Robot project. Pada
tahun 2008, pengembangan ROS dilanjutkan oleh Willow Garage lembaga penelitian robotik
dengan dukungan lebih dari 20 lembaga penelitian. Banyak lembaga penelitian yang mulai
menggunakan ROS dengan menambahkan hardware dan berbagi contoh source code-nya.
Banyak perusahaan juga mengadopsi untuk menggunakan ROS.

Robot Operating System sebenarnya adalah meta-operating


system atau framework yang bersifat open source yang dapat digunakan untuk robot. ROS
mempunyai sebuah service seperti halnya sebuah sistem operasi pada umumnya, termasuk
abstraksi perangkat keras, kendali perangkat tingkat bawah, implementasi dari fungsi-fungsi
yang biasa digunakan, penyampaian pesan/data diatara proses serta management package.
ROS juga menyediakan alat dan library yang memungkinan kita untuk mendapatkan,
membangun, memprogram hingga menjalankan program melalui banyak computer

Dengan ROS, kita bisa memulai untuk memprogram dan mengendalikan sebuah robot
dengan mudah, dikarenakan ada banyak contoh dan source code yang disediakan, termasuk
sensor dan perangkat yang akan menambahkan fungsionalitas baru pada robot, seperti
navigasi otonom dan persepsi visual. Kita patut berterimakasih kepada Komunitas
opensource yang mengembangkan ROS , sehingga menghindarkan kita dalam membuang -
buang waktu dan effort untuk melakukan riset yang sama berulang ulang.

2.2 AR Drone

AR Drone merupakan salah satu jenis quadcopter yang dikembangkan oleh perusahaan
Parrot, yang bermarkas di Paris. AR. Drone dapat digunakan untuk kepentingan permainan,
aeromodeling, dan augmented reality. AR. Drone dapat dijalankan oleh beberapa perangkat,
seperti Windows, Linux, iPhone, dan Android melalui jaringan nirkabel. AR. Drone tidak hanya
digunakan sebagai permainan saja, tetapi juga untuk kepentingan pendidikan dan penelitian. Hal
ini dikarenakan AR. Drone memiliki harga yang cukup terjangkau, ukurannya yang tidak terlalu
besar, serta sudah mendukung sistem piranti keras dan piranti lunak yang dibutuhkan untuk
melakukan penelitian (Thomas, AR-Drone). Dalam hal ini piranti lunak yang digunakan
pada AR. Drone adalah Robot Operating System (ROS).

AR. Drone pada gambar diatas dapat dikendalikan melalui perangkat kontrol yang
terhubung melalui jaringan wireless. AR. Drone sudah memiliki perangkat utama yang
dibutuhkan oleh UAV quadcopter, seperti sensor IMU, sensor pengukur ketinggian, dan lain-
lain. AR. Drone juga cukup aman digunakan, karena sudah disediakan sistem pengamanan yang
cukup baik, seperti terdapatnya pelindung yang terbuat dari bahan gabus yang dipasang di sekitar
baling-baling, serta adanya mekanisme berhenti secara otomatis dari baling-baling jika
bersentuhan dengan suatu objek. (Elektro, 2014)

2.3 Unmanned Aerial Vehicle (UAV)

Adalah salah satu jenis robot penjelajah udara tanpa awak. Unmanned Aerial Vehicle
(UAV) juga sering disebut dengan nama Pesawat Udara Nir Awak (PUNA). Unmanned
Aerial Vehicle (UAV) merupakan kendaraan udara tanpa awak (pilot pengendali) di
dalamnya. Karena tidak memiliki awak, UAV harus dikendalikan dari jarak jauh
menggunakan remote control dari luar kendaraan atau biasa disebut Remotely Piloted Vehicle
(RPV). Selain itu, UAV juga dapat bergerak secara otomatis berdasarkan program yang
sudah ditanamkan pada sistem komputernya.

Aplikasi Unmanned Aerial Vehicle (UAV)

Pada saat ini Unmanned Aerial Vehicle (UAV) telah berkembang dengan sangat pesat dan
digunakan dalam berbagai aplikasi. Berikut ini merupakan beberapa contoh aplikasi
dari Unmanned Aerial Vehicle (UAV) :

1. Melakukan penginderaan jarak jauh, seperti memantau jaringan listrik, melakukan


pemetaan suatu daerah, melihat keadaan geologi suatu daerah, dan memantau lahan
pertanian.
2. Melakukan respons terhadap bencana yang terjadi, seperti melakukan pemantauan
kerusakan akibat bencana banjir dan melakukan pemantauan kebakaran hutan.
3. Melakukan pengawasan hukum, seperti patroli keamanan suatu lokasi, pemantauan
keadaan lalu lintas, patroli keadaan pesisir, kelautan, dan perbatasan.
4. Melakukan pencarian dan penyelamatan pada daerah yang sulit dijangkau.
5. Melakukan perjalanan transportasi, seperti membawa kargo kecil, kargo besar hingga
mengangkut penumpang.
6. Menjadi alat penghubung komunikasi permanen ataupun sementara dan juga untuk
menyalurkan siaran seperti siaran televisi dan radio.
7. Membawa dan mengirimkan suatu muatan, seperti membawa air untuk memadamkan
kebakaran atau membawakan zat kimia untuk merawat tanaman.
8. Melakukan pengambilan gambar untuk keperluan perfilman dan juga hiburan.

Jenis Jenis Unmanned Aerial Vehicle (UAV)

Agar dapat mengenal serta membedakan UAV yang ada saat ini, kita dapat melakukan
pengelompokan ataupun klasifikasi terhadapnya. Sebernarnya terdapat banyak jenis
pengelompokan UAV yang bisa digunakan, seperti pengelompokan berdasarkan kegunaan,
berdasarkan motor penggerak, dan pengelompokan berdasarkan hal lainnya. Namun, yang paling
sering digunakan dalam kajian ilmiah adalah pengelompokan berdasarkan bobot dari suatu UAV.

Parameter bobot dipilih sebagai parameter pengelompokkan karena terdapat banyak karakteristik
performa suatu UAV yang berhubungan langsung dengan bobot dari UAV tersebut. Contohnya,
besar gaya angkat dan gaya dorong yang dibutuhkan suatu UAV bergantung pada bobot
UAV tersebut. Selain itu, bobot juga mempengaruhi lebar baling-baling yang digunakan, serta
sumber energi yang dapat dipakai. Contohnya, UAV yang ringan biasanya akan menggunakan
motor elektrik sebagai penggerak utamanya dan UAV dengan bobot sangat berat biasanya
menggunakan turbo jet ataupun turbo fan.
BAB III
METODOLOGI
3.1. Spesifikasi Sistem dan Cara Kerja
3.1.1 Spesifikasi Sistem kerja robot dalam Implementasi
Dalam tugas akhir yang telah kami kerjakan ini adalah dengan menggunakan
aplikasi yang dapat berfungsi sebagai simulator robot. Ada pun aplikasi itu adalah
Gazebo ROS . aplikasi ini adalah yang akan menjadi software untuk
pengimplementasian dari program yang akan dibuat dalam mewujudkan pergerakan
maneuver pada robot AR Drone.

3.2
BAB IV
UJI COBA DAN ANALISIS
4.1 Langkah Langkah Pengujian
1. Membuat kodingannya terlebih

#!/usr/bin/env python

#import library ros
import rospy

#import library untuk mengirim command dan menerima data navigasi
dari quadcopter
from geometry_msgs.msg import Twist
#from std_msgs.msg import String
from std_msgs.msg import Empty
from ardrone_autonomy.msg import Navdata
#from ardrone_autonomy.msg import navdata_pwm

class AutonomousFlight():
def __init__(self):
#[Link] = 0
#[Link] = 0
#[Link] = 0
#[Link] = 2000
#[Link] = 0
#[Link] = 0
#[Link] = 0
#[Link] = 0
#[Link] = 0
#[Link] = 0
#[Link] = 0
#[Link] = 0
[Link] = ""
rospy.init_node('forward', anonymous=False)
[Link] = [Link](10)
[Link] = [Link]("ardrone/takeoff",Empty,
queue_size=10)
[Link] = [Link]("ardrone/land",Empty,
queue_size=10)
[Link] = [Link]('cmd_vel',Twist,
queue_size=10)
[Link] = Twist()
#[Link] = [Link]('/ardrone/navdata' ,navdata_pwm,
[Link])
[Link] = [Link]('/ardrone/navdata' ,Navdata,
[Link])

#[Link] =
[Link]([Link](COMMAND_PERIOD/1000.0),[Link]
mmand)
self.state_change_time = [Link]()
rospy.on_shutdown([Link])

#def PID(self):
# [Link] = rospy.get_time()
# [Link] = [Link] - [Link]

#error = [Link] - [Link]


#[Link] = [Link]
#[Link] = [Link]
#[Link] = error
#val = [Link] + [Link] + [Link]

#if(val>400):
# val = 400
#elif(val<-400):
# val = -400

#[Link] = val/400 # *0.00833

def ReceiveNavdata(self,navdata):
[Link] = [Link]
[Link] = [Link]
[Link] = [Link]
[Link] = [Link]
[Link] = [Link]
[Link] = [Link]
[Link] = [Link]
self.motor1 = navdata.motor1
self.motor2 = navdata.motor2
self.motor3 = navdata.motor3
self.motor4 = navdata.motor4

def SendTakeOff(self):
[Link](Empty())
[Link]()

def SendLand(self):
[Link](Empty())

def SetCommand(self, linear_x, linear_y, linear_z, angular_x,


angular_y, angular_z):
[Link].x = linear_x
[Link].y = linear_y
[Link].z = linear_z
[Link].x = angular_x
[Link].y = angular_y
[Link].z = angular_z
[Link]([Link])
[Link]()

if __name__ == '__main__':
i=0
uav = AutonomousFlight()

try:
while not rospy.is_shutdown():
[Link]()
if i <= 8 :
#[Link] <1000 :
#[Link](0,0,1,0,0,1)
#i+=1
[Link](5,-5,0,0,0,-2)
i+=1
#[Link](0,0,1,0,0,1)
#i+=1
#[Link](-1,0,1,0,1,1)
i+=1
elif i <= 15 :
[Link](0,0,0,0,0,-2)
i+=1
elif i <= 22 :
[Link](5,-5,0,0,0,-2)
i+=1
elif i <= 29 :
[Link](0,0,0,0,0,2)
i+=1
elif i <= 38:
[Link](5,-5,0,0,0,-2)
i+=1
elif i <= 45:
[Link](0,0,0,0,0,2)
i+=1
elif i <= 53:
[Link](5,5,0,0,0,2)
i+=1
elif i <= 61:
[Link](0,0,0,0,0,2)
i+=1
elif i <= 66:
[Link](5,-5,0,0,0,-2)
i+=1
elif i <= 72:
[Link](0,0,0,0,0,2)
i+=1
else:
[Link](0,0,0,0,0,0)
[Link]()
#[Link](1,0,1,0,0,-1)
#[Link](-1,0,0,0,1,-1)
#[Link](0,0,0,0,0,0)

print("Height = " + str([Link]))


print (i)
print("----------------------------")
print("Roll\t= " + str([Link]))
print("Pitch\t= " + str([Link]))
print("Yaw\t= " + str([Link]))
print("----------------------------")
print("X\t= "+ str([Link]))
print("Y\t= " + str([Link]))
print("Z\t= " + str([Link]))
print("----------------------------")
print("Motor 1\t= " + str(uav.motor1))
print("Motor 2\t= " + str(uav.motor2))
print("Motor 3\t= " + str(uav.motor3))
print("Motor 4\t= " + str(uav.motor4))
print("\n")

#rqt_plot

except [Link]:
pass
4.2 Hasil Uji pada Software

Gambar Pergerakan Manuver


Grafik rotX dan rotY

4.3 Analisis

Jadi pada source code, ada 6 variable yang menentukan yaitu linear_x, linear_y, linear_z,
angular_x, angular_y, angular_z. Semakin besar linear x dan linear y nya, maka semakin cepat
pergerakan drone. Dan angular z berfungsi untuk seberapaa miring pergerakan drone

Serta ada iterasi. Iterasi disini berfungsi pada iterasi ke berapa drone harus bermanuver
sesuai kondisinya
BAB V
PENUTUP
5.1 Kesimpulan
Pada hasil analisa terhadap pergerakan manuver telah berhasl. Pada grafik diatas
terdapat perbandingan antara rotX dan rotY2

DAFTAR PUSTAKA

Elektro, Z. (2014, December 9). AR Drone. Retrieved from [Link]:


[Link]
Permana, P. E. (2013, November 21). PID (ProportionalIntegralDerivative controller).
Retrieved from putraekapermana:
[Link]
Prima, O. (2011, May 4). Rancangan port input dan output dalam Implementasi Sistem Plant.
Retrieved from [Link]/okyprima:
[Link]
implementasi-sistem-plant/

Anda mungkin juga menyukai