• Tidak ada hasil yang ditemukan

prototype development of autonomous mobile robot

N/A
N/A
Protected

Academic year: 2023

Membagikan "prototype development of autonomous mobile robot"

Copied!
13
0
0

Teks penuh

(1)

PROTOTYPE DEVELOPMENT OF AUTONOMOUS MOBILE ROBOT WITH INDOOR NAVIGATION TO DELIVER GOODS

By

Wilvan Gunawan Wirjono 11601060

BACHELOR’S DEGREE in

MECHANICAL ENGINEERING – MECHATRONICS CONCENTRATION FACULTY OF ENGINEERING AND INFORMATION TECHNOLOGY

SWISS GERMAN UNIVERSITY The Prominence Tower

Jalan Jalur Sutera Barat No. 15, Alam Sutera Tangerang, Banten 15143 - Indonesia

Revision after Thesis Defense on 9 July 2020 July 2020

(2)

Wilvan Gunawan Wirjono STATEMENT BY THE AUTHOR

I hereby declare that this submission is my work and to the best of my knowledge, it contains no material previously published or written by another person, nor material which to a substantial extent has been accepted for the award of any other degree or diploma at any educational institution, except where due acknowledgment is made in the thesis.

Wilvan Gunawan Wirjono

_____________________________________________

Student Date

Approved by:

Dr. Rusman Rusyadi, B.Eng., M.Sc.

_____________________________________________

Thesis Advisor Date

Dr. Maulahikmah Galinium, S. Kom., M.Sc.

_____________________________________________

Dean Date

(3)

Wilvan Gunawan Wirjono ABSTRACT

PROTOTYPE DEVELOPMENT OF AUTONOMOUS MOBILE ROBOT WITH INDOOR NAVIGATION

By

Wilvan Gunawan Wirjono

Dr. Rusman Rusyadi, B.Eng., M.Sc., Advisor

SWISS GERMAN UNIVERSITY

This thesis is to improve the design and adding some new features for the autonomous mobile robot (AMR) to be presented in a whole system of a prototype. An autonomous mobile robot is a system that integrates sensors and an on-board computer to help the system to understand its operating environment. AMR navigate dynamically using a map that is produced by sensors reading allowing it to make its path to the goal efficiently. This thesis uses a laser sensor (RPLiDAR) to enable the robot to read its surroundings to navigates itself using SLAM (Simultaneous Localization and Mapping) to obtain the global positioning of the robot. Also, this thesis installs a new sub-system on the AMR using a 3D stereo camera for obstacle avoidance and safety measure of the robot. By continuing the study of an autonomous mobile robot, it is expected to improve the prototype as a whole package. The improvements include the camera obstacle avoidance sub-system, the versatility and effectiveness of the code, the base design, and some hardware improvements such as changing the microcontroller from Arduino to Teensy 4.0. The purpose of this prototype is to continue the study of AMR in Indonesia and can be tested in a real industrial warehouse.

Keywords: AMR, ROS, Prototype, Obstacle Avoidance, Camera Vision, Path Planning, Autonomous Navigation.

(4)

Wilvan Gunawan Wirjono

© Copyright 2020 by Wilvan Gunawan Wirjono

All rights reserved

(5)

Wilvan Gunawan Wirjono DEDICATION

This thesis is dedicated to God, my families, friends, my advisors, my lecturers and Ari Hidayat of Mechatronic batch 2016. Rest in Peace Ari.

(6)

Wilvan Gunawan Wirjono ACKNOWLEDGEMENTS

I give my praise and thanks to God Almighty who gives me blessings throughout this project.

I would like to give my gratitude towards my research advisor, Dr. Rusman Rusyadi, B.Eng., M.Sc., for giving me guidance and support throughout this project.

I would like to give my special regards towards Mr. Erik and Mr. Weten for giving me an opportunity and support to make the project in PT. Sanco and PT. Kreasi Solusi Mandiri (KSM). I would like to thank Mr. Handoko for guiding me in the mechanical aspect of the project during my time in PT. Kreasi Solusi Mandiri.

Special thanks to Gabrielle Glenda Yauwira who constantly giving me the moral support and strength throughout this project.

I would like to express my gratitude towards my friends who also making their project in PT. Kreasi Solusi Mandiri, Edrick Phoa, Einser Nahiman Turjono and Giovani Firdaus, for constantly giving me support and advices during my stay in PT. Kreasi Solusi Mandiri.

I am giving my thanks to my friends and lecturers who also giving me support and encouragement.

Last but not least, I would like to give my deepest gratitude for my parents who giving me constant support, prayers and love throughout this project. I would not able to do this project without them.

(7)

Wilvan Gunawan Wirjono TABLE OF CONTENTS

Page

ABSTRACT ... 3

DEDICATION ... 5

ACKNOWLEDGEMENTS ... 6

TABLE OF CONTENTS ... 7

LIST OF FIGURES ... 11

LIST OF TABLES... 13

1. CHAPTER 1 - INTRODUCTION ... 14

1.1 Background ... 14

1.2 Objectives ... 15

1.3 Thesis Problem ... 15

1.4 Thesis Scope ... 16

1.5 Thesis Limitation ... 16

1.6 Significant of Study ... 16

1.7 Thesis Organizations ... 17

2. CHAPTER 2 - LITERATURE REVIEW ... 18

2.1 ROS (Robot Operating System) ... 18

2.2 Odometry and IMU ... 19

2.2.1 Rotary Incremental Encoder ... 20

2.2.2 IMU (Inertial Measurement Unit)\ ... 20

2.3 Robot Sensor for Mapping and Obstacle Detection ... 21

2.3.1 LiDAR (Light Detection and Ranging) ... 22

2.3.2 Visual Sensor Using 3D Camera ... 23

2.3.3 Ultrasonic Sensor for Distance Measurement ... 24

2.4 ROS Navigation Stack ... 24

2.5 SLAM (Simultaneous Localization and Mapping) ... 26

2.5.1 SLAM Gmapping ... 26

2.5.2 EKF SLAM (Extended Kalman Filter SLAM) ... 27

2.6 Microcontroller ... 27

2.7 Differential Drive ... 28

2.8 Previous Studies ... 28

2.8.1 MiR100 ... 28

2.8.2 Turtlebot... 29

(8)

Wilvan Gunawan Wirjono

2.8.3 Linorobot ... 30

3. CHAPTER 3 – RESEARCH METHODS ... 31

3.1 Thesis Methodology ... 31

3.2 System Overview ... 31

3.2.1 Mapping ... 33

3.2.2 Navigation ... 35

3.2.2.1 Navigation Using LiDAR ... 36

3.2.2.2 Navigation Using LiDAR and XBOX Kinect ... 39

3.3 Kinematic of Differential Drive Robot ... 41

3.4 Electrical Design ... 44

3.5 Electrical Component ... 45

3.5.1 RPLiDAR A2 ... 45

3.5.2 XBOX Kinect V1 ... 46

3.5.3 Teensy 4.0 ... 48

3.5.4 IMU MPU-9250 ... 50

3.5.5 Rotary Encoder ... 50

3.5.6 Ultrasonic Sensor ... 51

3.5.7 Motor Driver ... 52

3.5.8 DC Motor ... 52

3.5.9 Accumulator Maintenance Free Battery ... 54

3.6 Mechanical Design ... 56

3.7 XBOX 360 Controller ... 56

3.8 Software and Development Tools ... 57

3.8.1 Arduino IDE ... 57

3.8.2 PlatformIO ... 57

3.9 ROS Packages ... 58

3.9.1 Navigation Stack Package ... 58

3.9.2 Robot Localization Package ... 58

3.9.3 IMU Filter Package ... 58

3.9.4 ROS Map Server Package ... 59

3.9.5 ROS Serial Package ... 59

3.9.6 RPLIDAR Package ... 59

3.9.7 Freenect Package ... 59

3.9.8 Depth Image to Laser Scan Package ... 60

3.9.9 IRA Laser Tool Package ... 60

(9)

Wilvan Gunawan Wirjono

3.9.10 Teleop Twist Package ... 60

3.9.11 ROS Camera Calibration ... 60

3.9.12 AR Tag Package. ... 61

3.10 Testing ... 61

4. CHAPTER 4 – RESULTS AND DISCUSSIONS ... 62

4.1 Teensy 4.0 uDev Rules... 62

4.2 Compiling Teensy 4.0 ... 63

4.2.1 Modifying Platformio.ini File ... 63

4.2.2 Modifying ArduinoHardware.h File ... 64

4.2.3 Modifying direct_pin_read.h File ... 64

4.3 Teensy 4.0 Performance Test ... 65

4.3.1 RSA Signature Speed Test ... 65

4.3.2 Coremark Performance Benchmark ... 66

4.4 Configuring XBOX Controller ... 67

4.5 Kinect Camera Calibration ... 69

4.5.1 RGB Calibration ... 70

4.5.2 IR (Depth) Calibration ... 71

4.6 IMU Calibration and Test ... 72

4.7 RPLiDAR A2 and XBOX Kinect ... 73

4.7.1 RPLiDAR A2 Test ... 73

4.7.2 XBOX Kinect Detection Test ... 75

4.7.3 Merging XBOX Kinect and RPLiDAR A2 Data ... 77

4.8 Ultrasonic Sensor Test ... 78

4.8.1 Safety Sequence Test Using Ultrasonic Sensor ... 80

4.9 PID Calibration ... 81

4.10 Odometry Test ... 83

4.11 AR Tag Guidance Using Depth Image Data ... 85

4.12 Integrated Test ... 87

4.12.1 Mapping ... 88

4.12.2 Autonomous Navigation ... 91

4.12.2.1 Modifying base_local_planner_default_params.yaml ... 91

4.12.2.2 Removing ‘Legacy Mode’ in the Published Frame ... 92

4.12.2.3 Autonomous Navigation to a Specific Goal ... 93

4.12.2.4 Autonomous Navigation in a Corner ... 100

5. CHAPTER 5 – CONCLUSIONS AND RECOMMENDATIONS ... 102

(10)

Wilvan Gunawan Wirjono

GLOSSARY ... 104

REFERENCES ... 105

APPENDIX A – RQT GRAPH ... 108

1. RQT Graph – Mapping ... 108

2. RQT Graph – Navigation ... 109

3. RQT Graph – AR-Tag Follower (1) ... 110

4. RQT Graph – AR-Tag Follower (2) ... 111

APPENDIX B – PROGRAM CODE ... 111

1. Firmware.ino ... 112

2. Image_rotate_nodelet.cpp ... 124

3. Send_navigation_goal.cpp ... 129

APPENDIX C – USER MANUAL ... 131

APPENDIX D – ROBOT PROTOYPE VIEW... 132

(11)

Wilvan Gunawan Wirjono LIST OF FIGURES

Figures Page

Figure 2-1: Robot Operating System Logo ... 18

Figure 2-2: ROS System Diagram ... 19

Figure 2-3: Robot KinematicOdometry ... 19

Figure 2-4: Rotary Incremental Encoder ... 20

Figure 2-5: 9-DOF ... 21

Figure 2-6: LiDAR Schematic ... 22

Figure 2-7: XBOX 360 Kinect ... 23

Figure 2-8: Ultrasonic Sensor Schematic ... 24

Figure 2-9: ROS Navigation Stack System Diagram ... 25

Figure 2-10: Turtlebot SLAM Example ... 26

Figure 2-11: Teensy 4.0 ... 27

Figure 2-12: Differential Drive Wheel Motion ... 28

Figure 2-13: MiR-100 ... 29

Figure 2-14: Turtlebot 3 ... 29

Figure 2-15: Linorobot... 30

Figure 3-1: System Overview ... 32

Figure 3-2: Mapping Process ... 34

Figure 3-3: General Navigation Process ... 35

Figure 3-4: Navigation Using LiDAR ... 37

Figure 3-5: Navigation Using LiDAR and Kinect ... 39

Figure 3-6: Kinematic Model of Differential Drive ... 41

Figure 3-7: Electrical Diagram ... 44

Figure 3-8: RPLiDAR A2 ... 46

Figure 3-9: XBOX Kinect V1 ... 47

Figure 3-10: Types of Distortion ... 47

Figure 3-11: Speckle Pattern on IR Image ... 48

Figure 3-12: Teensy 4.0 Schematic ... 49

Figure 3-13: MPU-9250 ... 50

Figure 3-14: HE50B-8-360-3-N-24 Rotary Encoder... 51

Figure 3-15: HC-SR04 ... 51

Figure 3-16: IBT-2 Motor Driver ... 52

Figure 3-17: DKM 8DCG24-25-30 DC Motor with Gearhead ... 53

Figure 3-18: Panasonic D23 Accumulator Battery ... 54

Figure 3-19: XBOX 360 Controller... 56

Figure 3-20: Arduino IDE Logo ... 57

Figure 4-1: Teensy uDev Rule ... 62

Figure 4-2: Teensy Serial Port Static Name... 62

Figure 4-3: Platformio.ini File ... 63

Figure 4-4: ArduinoHardware.h File ... 64

Figure 4-5: direct_pin_read.h File ... 64

Figure 4-6: Teensy 4.0 RSA Digital Signature Result ... 65

Figure 4-7: Teensy 4.0 RSA Digital Test Memory Usage... 65

Figure 4-8: Arduino Mega 2560 RSA Speed Result ... 66

(12)

Wilvan Gunawan Wirjono

Figure 4-9: Arduino Mega 2560 RSA Digital Test Memory Usage ... 66

Figure 4-10: Teensy 4.0 CoreMark Result ... 67

Figure 4-11: XBOX 360 Button Layout ... 67

Figure 4-12: RGB Calibration Process ... 70

Figure 4-13: RGB Calibration Result ... 70

Figure 4-14: IR Depth Calibration Process ... 71

Figure 4-15: IR Depth Calibration Result ... 71

Figure 4-16: IMU Calibration Process ... 72

Figure 4-17: IMU Calibration Result ... 72

Figure 4-18: LiDAR Data in RViZ (1) ... 73

Figure 4-19: LiDAR Data in RViZ (2) ... 74

Figure 4-20: LiDAR Measurement in RViZ ... 74

Figure 4-21: LiDAR Minimum Detection Range in RViZ ... 74

Figure 4-22: Kinect Before and After Tilted... 77

Figure 4-23: Modifying Kinect Image Stream ... 77

Figure 4-24: LiDAR and Kinect Data Combined in RViZ (RGB) ... 77

Figure 4-25: LiDAR and Kinect Data Combined in RViZ (Depth) ... 78

Figure 4-26: Ultrasonic Range Data ... 79

Figure 4-27: Safety Sequence = FALSE... 80

Figure 4-28: Safety Sequence = TRUE ... 81

Figure 4-29: PID Calibration Result ... 83

Figure 4-30: Odometry in RViZ ... 85

Figure 4-31: AR Tag Guidance ... 86

Figure 4-33: AR-Tag Guidance RQT Graph (1) ... 87

Figure 4-32: AR-Tag Guidance RQT Graph (2) ... 87

Figure 4-34: Mapping Process ... 88

Figure 4-35: Mapping Result ... 89

Figure 4-36: Glass Door in the Environment ... 89

Figure 4-37: Laser Scan Registering Particle to the Map ... 90

Figure 4-38: Map After Modification ... 90

Figure 4-39: Parameter Warning ... 91

Figure 4-40: RQT_Graph Navigation ... 93

Figure 4-41: Coordinate of the Robot on the Map ... 93

Figure 4-42: Autonomous Navigation Process(1) ... 94

Figure 4-43: Autonomous Navigation Process (2) ... 94

Figure 4-44: Movement Error ... 95

Figure 4-45: Error Message ... 95

Figure 4-46: Navigation After Tuning ... 97

Figure 4-47: Navigation Status ... 97

Figure 4-48: Navigation Result ... 97

Figure 4-49: Repeatability Test Result with Static Obstacle Avoidance ... 98

Figure 4-50: X-Axis Deviation Comparison ... 99

Figure 4-51: Y-Axis Deviation Comparison ... 100

Figure 4-52: Corridor Testing Field ... 100

Figure 4-53: Map Produced by Gmapping (Left), Map After Edited (Right) ... 101

Figure 4-54: Navigation Process in a Corner ... 101

(13)

Wilvan Gunawan Wirjono LIST OF TABLES

Table Page

Table 3-1: RPLiDAR A2 Specification ... 45

Table 3-2: XBOX Kinect V1 Specification ... 46

Table 3-3: Teensy 4.0 Specification ... 49

Table 3-4: HE50B-8-360-3-N-24 Specification ... 51

Table 3-5: HC-SR04 Specification ... 51

Table 3-6: DKM 8DCG24-25-30 Specification ... 52

Table 3-7: Panasonic D23 Specification ... 55

Table 4-1: XBOX 360 Output Table ... 68

Table 4-2: Teleoperation Joystick Truth Table ... 69

Table 4-3: MPU-9250 Measurement Result ... 73

Table 4-4: LiDAR Measurement ... 75

Table 4-5: Kinect Measurement Result Without Angle of Tilt ... 76

Table 4-6: New Kinect Measurement After Tilted... 76

Table 4-7: HC-SR04 Measurement Result ... 79

Table 4-8: Ziegler-Nichols Kp, Ki and Kd Table ... 82

Table 4-9: Effect of Constants Increased ... 82

Table 4-10: Odometry Test Result ... 84

Table 4-11: Deviation Before Parameter Tuning ... 95

Table 4-12: Deviation After Parameter Tuning ... 99

Referensi

Dokumen terkait

Index Terms— Human comfortable safety, mobile service robots, proactive social motion model PSMM, social robots, socially aware robot navigation.. INTRODUCTION THE ability to

to the detection of vehicles in a road environment, Inès Hadj Mtir Engineering 5 Passive stereoscopic system embedded on FPGA: Application to autonomous navigation of mobile