Vision-Based Line Following Robot.

UNIVERSITI TEKNIKAL MALAYSIA MELAKA
VISION-BASED LINE FOLLOWING ROBOT
This report submitted in accordance with requirement of the Universiti Teknikal
Malaysia Melaka (UTeM) for the Bachelor Degree of Manufacturing Engineering
(Robotic and Automation).

by

SHAMSUDIN BIN SANIP
B050810328

FACULTY OF MANUFACTURING ENGINEERING
2011

UNIVERSITI TEKNIKAL MALAYSIA MELAKA
BORANG PENGESAHAN STATUS LAPORAN PROJEK SARJANA MUDA
TAJUK: Vision-based Line Following Robot
SESI PENGAJIAN: 2010/11 Semester 2
Saya SHAMSUDIN BIN SANIP
mengaku membenarkan Laporan PSM ini disimpan di Perpustakaan Universiti
Teknikal Malaysia Melaka (UTeM) dengan syarat-syarat kegunaan seperti berikut:

1. Laporan PSM adalah hak milik Universiti Teknikal Malaysia Melaka dan penulis.
2. Perpustakaan Universiti Teknikal Malaysia Melaka dibenarkan membuat salinan
untuk tujuan pengajian sahaja dengan izin penulis.
3. Perpustakaan dibenarkan membuat salinan laporan PSM ini sebagai bahan
pertukaran antara institusi pengajian tinggi.
4. **Sila tandakan (√)

SULIT

(Mengandungi maklumat yang berdarjah keselamatan
atau kepentingan Malaysia yang termaktub di dalam
AKTA RAHSIA RASMI 1972)

TERHAD

(Mengandungi maklumat TERHAD yang telah ditentukan
oleh organisasi/badan di mana penyelidikan dijalankan)

TIDAK TERHAD
Disahkan oleh:


(TANDATANGAN PENULIS)
Alamat Tetap:
Kg Parit Penghulu,

(TANDATANGAN PENYELIA)
Cop Rasmi:

Mukin 4, Parit Sulong,83500
Batu Pahat, Johor
Tarikh: 18th May 2011

Tarikh: 18th May 2011

** Jika Laporan PSM ini SULIT atau TERHAD, sila lampirkan surat daripada pihak berkuasa/organisasi
berkenaan dengan menyatakan sekali sebab dan tempoh laporan PSM ini perlu dikelaskan sebagai
SULIT atau TERHAD.

DECLARATION


I hereby, declare this report entitled “VISION-BASED LINE FOLLOWING ROBOT”
is the result of my own research except as cited in references.

Signature

: ………………………………

Author’s Name

: SHAMSUDIN BIN SANIP

Date

: 18th MAY 2011

APPROVAL

This report is submitted to the Faculty of Manufacturing Engineering of UTEM as a
partial fulfillment of the requirements of the degree of Bachelor Of Manufacturing
Engineering (Robotic and Automation) with Honors’. The member of the supervisory

committee is as follow:

…………………………………..
Mr. Mohd Nazrin bin Muhammad
Supervisor
(Faculty of Manufacturing Engineering)

ABSTRACT

Nowadays, technology grows rapidly including the development of the robot. This
project will explore the technology behind vision-based application to control the
movement of the robot. The aim of this project is to develop the vision-based line
following robot. The robot will detect and follow the line image that will be captured
by a camera attached to the robot. Camera that used to capture line image is mounted
on the top of the robot. Moreover, combination of hardware and software plays an
important role along this project. Therefore, one of the objective of this project is to
use the C++ platform and Visual Basic to process the line image. The line image had
to be process through a series of functions to convert into a binary form. Meanwhile,
Micro C is used to process the output from Visual Basic so that Microcontroller
(PIC) can read the instruction. Once the microcontroller received signal from the PC,

it will actuate respective motor in order to make the robot move along the line.

i

ABSTRAK

Saat ini, teknologi berkembang pesat termasuk pembangunan robot. Projek ini akan
menjelajah teknologi aplikasi berasaskan visi untuk mengendalikan gerakan robot.
Tujuan dari projek ini adalah untuk membangunkan garis visi yang berpusat robot
berikut. Robot ini akan mengesan dan mengikuti garis gambar yang akan ditangkap
oleh kamera yang melekat pada robot. Kamera yang digunakan untuk menangkap
gambar garisan yang telah dipasang di bahagian atas robot. Selain itu, gabungan dari
peranti keras (hardware) dan peranti lembut (software) memainkan peranan penting
di sepanjang projek ini. Oleh kerana itu, salah satu tujuan daripada projek ini adalah
menggunakan landasan C + + dan Visual Basic untuk memproses gambar garisan yg
telah ditangkap.
Gambar garis harus melalui proses siri fungsi-fungsi untuk menukarkan ke dalam
bentuk binari. Sementara itu, Micro C digunakan untuk memproses keluaran (output)
dari Visual Basic sehingga Microcontroller (PIC) dapat membaca arahan yang
ada. Setelah microcontroller menerima isyarat dari PC, maka akan mendorong motor

masing-masing dalam rangka untuk membuat robot bergerak sepanjang garis.

ii

DEDICATION

This thesis is gratefully dedicated to my family and all my friends.

iii

ACKNOWLEGEMENT

Assalamualaikum and I am grateful to God that finally I complete the PSM 1 and
PSM 2 on building and designing a vision-based line following robot. First and
foremost, I would like to express my appreciation and deep respect to my supervisor,
Mr. Mohd Nazrin bin Muhammad for the guidance and encouragement through out
the progress in completing this project.

Secondly, I want to thank my lovely mother and my late father because supporting
me to continue this study. With prayers and moral support from both of them, I have

gained strength to endure in this study. I also want to thank UTeM management
especially from the Faculty of Manufacturing because they give me the opportunity
to get more experiences and knowledge during the period of the research. Special
thanks to my friends that share their idea and advice in completing my project. Their
support and encouragement in my project have helped me in various aspects.
Without their help, this project would very difficult to complete and it will take a
long time to finish.

Finally, thank to my dear family that support me in various field such as fund, idea
and moral in completing the project.

Thank you.

iv

TABLE OF CONTENT

ABSTRACT

i


ABSTRAK

ii

DEDICATION

iii

ACKNOWLEGEMENT

iv

TABLE OF CONTENT

v

LIST OF FIGURES

viii


LIST OF TABLE

ix

1. INTRODUCTION
1.1

Background

1

1.2

Robots

3

1.3


Problem statement

4

1.4

Objective

4

1.5

Scope

4

2. LITERATURE REVIEW
2.1

Autonomous Robot


6

2.1.1

Manual Remote or Tele-op

7

2.1.2

Guarded Tele-op

7

2.1.3

Line-following Robot

7

2.1.4

Autonomously Randomized Robot

8

2.1.5

Autonomously Guided Robot

8

2.1.6

Sliding Autonomy

8

2.2

Line Following Robot

9

2.2.1

Attiny 2313

10

2.2.2

Microcontroller (PIC16F877A)

10

2.2.3

IR sensor

12

2.2.4

Comparator – LM 324

13
v

2.2.5

Motor Driver – L293D

13

2.2.6

Algorithm for Line Follower

14

2.3

Vision Based Hardware Setup

14

2.4

Vision Based Software Setup

15

2.5

Motors and Power Transmission

15

2.6

Wireless System Robot

16

2.6.1

RoboEye Wireless Vision System

16

2.6.2

R/C Snooper Robot

17

2.6.3

Surveyor SRV-1 BlackFin Robot

18

2.7

OpenCV

19

2.7.1

IplImage

20

2.7.2

Other structures

20

2.7.3 Image Parameter

21

2.7.4

Capturing an Image and Displaying Images

21

2.7.5

Resolution selection

22

2.7.6

Colour Thresholding – Fixed and Adaptive

22

3. METHODOLOGY
3.1

Mechanical Components

24

3.1.1 Motor

25

3.1.2

Base

26

3.1.3

The chassis and body

26

3.1.4

Battery

27

3.2

Electrical Component

28

3.2.1

Electronic Design

28

3.2.2

Sensor

28

3.2.3

SK40C-CYTRON

30

3.2.4

Motor Driver - CYTRON MD10B10A

31

vi

3.3

Programming Part

32

3.3.1 Visual Basic

32

3.3.2

C++ Programming

33

3.4

Process Flow Chart

34

3.5

Image Processing

35

3.5.1

Image processing flow chart

40

4. DESIGN AND DEVELOPMENT
4.1

Introduction

41

4.2

Body design

42

4.2.1

First design

42

4.2.2

Second design

44

4.2.3

Design Selection Using Pugh Method

45

4.3

Hardware design

46

4.4

Software design

48

4.4.1

Visual Basic

48

4.4.2

Mikro C and Proteus software

51

4.5

Electrical circuit design

52

4.5.1

SK 40C Circuit

53

4.5.2

Motor Driver – MD30B

54

4.6

Finishing development of line following robot

55

5. RESULT AND DISCUSSION
5.1

Introduction

56

5.2

Performance analysis

57

5.3

Problem solution

60

5.4

Conclusion

61

vii

6. CONCLUSION & RECOMMENDATION
6.1

Conclusion

62

6.2

Recommendation

63

REFERENCES

64

APPENDICES

viii

LIST OF FIGURE

FIGURE

TITLE

PAGE

1.1

Line following robot

2

2.1

Line Following Robot

9

2.2

IR sensor Placement

9

2.3

Comparator Board

9

2.4

Voltage Regulator Board

10

2.5

PIC16F877A Pin Configuration

11

2.6

Line Following Robot Circuit

13

2.7

Mobile Robot Configuration Systems

15

2.8

DC motor

16

2.9

RoboEye

17

2.10

R/C Snooper Robot

17

2.11

Surveyor SRV-1 BlackFin Robot

18

2.12

The visual description of thresholding types

23

3.1

DC Motor SPG30-XX by Cytron

25

3.2

Front and rear wheels

26

3.3

LiPo Rechargeable Battery 7.4V 1300mAH

27

3.4

The webcam sensor built in laptop

29

3.5

SK40C-CYTRON

30

3.6

CYTRON MD10B10A Motor Driver

31

3.7

C++ Programming

33

3.8

A photograph of sub-pixel display elements on a laptop's

36

3.9

The center point

36
ix

3.10

The reference point

37

3.11

A counter clockwise rotation through angle θ

37

3.12

The angle of new point

38

4.1

First design of robot

42

4.2

Side view

43

4.3

Top view

43

4.4

Second design of robot

44

4.5

Side view

44

4.6

Front view

45

4.7

The body line following robot.

47

4.8

The webcam located.

47

4.9

The base and body.

48

4.10

Four point detection at visual basic

49

4.11

Program for web cam declaration

50

4.12

Flow chart for operation in visual basic

51

4.13

Connection between computer and microcontroller

52

4.14

Program in MikroC

52

4.15

SK 40C

54

4.16

Line following robot

56

5.1

Line chart for colour range

59

x

LIST OF TABLE

TABLE

TITLE

PAGE

2.1

Table Specification of Microcontroller PIC16F877A

12

3.1

Technical specification of LiPo Rechargeable Battery
7.4V 1300mAH

27

4.1

Final Pugh Chart to Obtain the Best Design.

46

4.2

Function Label of SK 40C.

54

5.1

Result for time line following robot navigation

58

xi