Upload
others
View
7
Download
0
Embed Size (px)
Citation preview
AUGMENTED REALITY BASED MAP NAVIGATION (AR-BAMAN)
LING KAH WEI
(Multimedia Computing)
This project is submitted in partial fulfillment of
The requirements for the degree of Bachelor of Computer Sciences with Honours
UNIVERSITY MALAYSIA SARAWAK
2005
1. Final cover, fyp, table of content1 is the report of the final year project.
2. The AR-BAMAN program is in the folder bin
3. To run the program you need to have a webcam with 1.0 usb or higher plug in the
computer.
4. You also need to have marker.
5. Print the marker, which are in the acrobat format.
6. Put it directly under the web cam
7. Run the simpleVRML program.
ii
DECLARATION
No portion of the work referred to in this report has been submitted in support of
an application for another degree or qualification of this or any other university or
institution of higher learning
---------------------------------- -------------------------------
Ling Kah Wei Date
8518
iii
ACKNOWLEDGEMENTS
Many wonderful people have help to make this project successful and interesting.
I would like to thank Mr. Sylvester Arnab a great lecturer of Faculty of Computer
Science And Information Technology and my supervisor, for his time, advice, guidance,
effort, support and in offering the idea and information needed for this project.
I would like to extend my gratitude to Miss Chieng Siew Chuo who demonstrated
unwavering support, encouragement, time, effort and help in getting the software I
needed in this project.
Last but not least, many thanks to my family members and friends for their helps,
efforts and understanding throughout this project.
iv
ABSTRACT
In this era of information technology, computer science is becoming more and
more important. Augmented Reality (AR), which is part of the computer science field, is
becoming more popular. AR is a combination of real world object together with
computer-generated objects. AR has been successfully implemented in historical sites,
magic books, military equipment and other fields. Augmented Reality Based Map
Navigation AR-BAMAN is a research and application on AR field. This system is to
enhance current UNIMAS map. With AR-BAMAN, user will be able to navigate their
way around UNIMAS easier. This is because AR-BAMAN is able to display the 3D
objects (buildings) to ‘emerge’ on the UNIMAS map in the computer when the map is
put under the web camera. The 3D objects are build using Virtual Reality Mark Up
Language (VRML). The map of UNIMAS is designed using markers. ARToolkit is used
to recognize the marker and display the VRML objects on top of it. The main feature of
this system is that it recognized the markers (real object), combine with computer
generated objects and display it on the monitor. This report discussed the introduction of
AR-BAMAN, background review, requirements and analysis, system design, system
implementation, testing, and future works.
v
ABSTRAK
Dalam era teknologi maklumat ini, sians computer menjadi bidang yang semakin
penting. Augmented Reality (AR), juga merupakan sebahagian daripada sains komputer
juga menjadi semakin popular. AR adalah gabungan antara object dari dunia nyata
dengan object yang dibentuk dengan computer. AR telah diaplikasikan dengan
berjayanya dalam pelbagai benda seperti peralatan tentera, kawasan bersejarah, buku
magik dan bidang lain. Peta AR ini merupakan kajian dan pengaplikasian AR. Peta AR
dapat menunjukkan objek 3D (bangunan) ‘muncul’ di atas peta UNIMAS dalam
komputer apabila peta UNIMAS diletakkan di bawah webcam. Objek 3D ini dibina the
mengunakan Virtual Reality Mark Up language (VRML). Peta UNIMAS dibina dengan
menggunakan tanda (marker). ARToolkit digunakan untuk mengenali tanda tersebut dan
menpamerkan objek 3D di atas tanda tersebut. Ciri-ciri utama system ini adalah ia dapat
mengenali tanda-tanda (objek nyata), mengabungkannya dengan objek yang dihasilkan
dari computer dan ditunjukkan dalam computer. Laporan ini membincangkan tentang
pengenalan peta AR, review, analisis, perekaan, implementasi, ujian dan kerja masa
depan.
vi
TABLE OF CONTENTS
Page
TITLE PAGE
DECLARATION ii
ACKNOWLEDGEMENT iii
ABSTRACT iv
ABSTRAK v
TABLE OF CONTENTS vi
LIST OF FIGURES xii
LIST OF TABLES xv
CHAPTER 1 INTRODUCTION
1.1 Background 1
1.2 Problem Statement 2
1.3 Objectives 2
1.4 Scope 3
1.5 Methodology 3
1.5.1 Object-Oriented Analysis 5
1.5.2 Object-Oriented Design 6
1.5.3 Object-Oriented Implementation 7
1.5.4 Incremental Testing 8
1.6 Expected Outcome 8
vii
1.7 Significant of Research 8
1.8 Outline of Report 9
CHAPTER 2 BACKGROUND REVIEW
2.1 Introduction 11
2.2 Literature Review 11
2.2.1 Augmented Reality 11
2.2.2 Augmented Reality VS. Virtual Reality 12
2.2.3 Registration Problems 13
2.3 Technical Review 14
2.3.1 Similar System Review 14
2.3.1.1 Magic Book 14
2.3.1.2 Black Magic 16
2.3.1.3 Augmented Groove 17
2.3.2 Comparisons of The Reviewed Systems 18
2.3.2.1 Comparisons of Technology 18
2.3.2.2 Comparison on System Features and 19
Functionality
2.3.3 Implementation Tools Studies 19
2.3.3.1 Programming Tools 20
2.3.3.1.1 C++ 20
2.3.3.2 Graphic Tools 20
2.3.3.2.1 Virtual Reality Mark-Up Language 20
viii
2.3.3.2.2 Java3D 21
2.3.3.2.3 3D Studio Max 21
2.3.3.3 Database 22
2.3.3.3.1 Microsoft Access 2000 22
2.3.3.3.2 Oracle8 23
2.3.3.3.3 MySQL 23
2.3.3.4 ARToolkit 24
2.4 Summary 24
CHAPTER 3 REQUIREMENTS ANALYSIS AND SPECIFICATION
3.1 Introduction 25
3.2 Requirements Analysis Techniques 25
3.2.1 Object-Oriented Analysis 26
3.2.2 Identifying Actors 26
3.2.3 Use Case 28
3.2.4 Activity Diagram 29
3.2.5 Interaction Diagram 32
3.3 Requirements Specifications 34
3.3.1 User Requirements 34
3.3.2 Functional Requirements 35
3.3.2.1 VRML Module 35
3.3.2.2 ARToolkit Module 36
3.3.3 Software Requirements 36
ix
3.3.4 Hardware Requirements 37
3.4 Conclusion 38
CHAPTER 4 SYSTEM DESIGN
4.1 Introduction 39
4.2 System General Description 39
4.3 Object-Oriented Design 40
4.3.1 Identify And Design Classes, Attributes And Methods 40
4.3.2 Apply Design Axioms To Build UML Class Diagram 42
4.3.3 Design Access Layer 45
4.3.4 Design View Layer 45
4.3.4.1 Designing 3D Buildings 46
4.3.4.2 Designing The Marker 49
4.3.4.3 Designing The Map 50
4.4 Summary 50
CHAPTER 5 IMPLEMENTATION
5.1 Introduction 52
5.2 Database Implementation 52
5.3 Implementation of The 3D Objects 52
5.4 Implementation of Marker 59
5.5 Integrate 3D Object With The Marker 60
5.6 UNIMAS Map 62
x
5.7 Conclusion 63
CHAPTER 6 SYSTEM TESTING AND EVALUATION
6.1 Introduction 64
6.2 System Testing 64
6.2.1 Unit Testing 64
6.2.2 Module Testing 65
6.2.3 Integration Testing 67
6.3 System Evaluation 69
6.4 Acceptance Test 69
6.4.1 Ease of Use 69
6.4.2 Interface Design 70
6.4.3 System Features 70
6.5 System Limitation 70
6.6 Conclusion 71
Chapter 7 CONCLUSION AND FUTURE WORKS
7.1 Introduction 72
7.2 Achievement 72
7.3 Future Work 73
7.4 Conclusion 73
xi
REFERENCES 74
APPENDICES
APPENDIX A: UNIMAS Building 76
APPENDIX B: UNIMAS Map 80
APPENDIX C: VRML Building On Marker 81
xii
LIST OF FIGURES
Page
Figure 1.1 : The Three Stages Of OOSDLC 4
Figure 1.2 : Object-Oriented Analysis 5
Figure 1.3 : Object-Oriented Design 6
Figure 1.4 : Object-Oriented Implementation 7
Figure 2.1 : Monitor Based Augmented Reality 12
Figure 2.2 : The 3D Objects That Has A Proper Registration 14
Figure 2.3 : User Reading The Magic Book 14
Figure 2.4 : The Image Processing Step Used Un Magic Book 15
Figure 2.5 : Black Magic 16
Figure 2.6 : The Augmented Groove Users Manipulating The Cards 17
Figure 3.1 : User Interact With AR-BAMAN 27
Figure 3.2 : ARToolkit Interact With Other Part Of The Program 27
Figure 3.3 : Use Case Diagram Of AR-BAMAN 28
Figure 3.4 : Use Case Diagram Inside The AR-BAMAN System 29
Figure 3.5 : Activity Diagram of AR-BAMAN 30
Figure 3.6 : Activity Diagram Inside The System 31
Figure 3.7 : Interaction Diagram Between User And AR-BAMAN 32
Figure 3.8 : Interaction Diagram For 3D Object 33
Figure 3.9 : Interaction Diagram Between ARToolkit And Other 33
Sub-System
xiii
Figure 4.1 : Class Diagram of 3D Object (Chancellory) 41
Figure 4.2 : Class Diagram of 3D Object(Cais) 41
Figure 4.3 : Class Diagram of Unimas 41
Figure 4.4 : Relationship Between ARToolkit With Unimas 42
Figure 4.5 : Relationship Between ARToolkit With Real map 42
Figure 4.6 : Complete Class Diagram For AR-BAMAN 44
Figure 4.7 : Chancellory 46
Figure 4.8 : CAIS 47
Figure 4.9 : Unimas Hall 47
Figure 4.10: Lecture hall 48
Figure 4.11: Faculty 48
Figure 4.12: Seminar Rooms 49
Figure 4.13: Example of markers. Both this markers are different 50
and unique in every direction
Figure 5.1 : VRML Coding For Roof 53
Figure 5.2 : Roof. The roof design from the code in figure 5.1. 54
Figure 5.3 : VRML code for Pillar. 55
Figure 5.4 : The pillar design from the code in figure 5.3. 55
Figure 5.5 : Part Of The Coding For Triangle 56
Figure 5.6 : The Triangle created from coding in figure5.5 57
Figure 5.7 : Part of Chansellory coding showing that it call 57
roof.wrl (sub class).
xiv
Figure 5.8 : Part of Chansellory coding showing that it call 58
tiang.wrl (sub class).
Figure 5.9 : Let the ARToolkit to recognised the marker. 59
Figure 5.10: Coding above is to relate to Cais.wrl and adjust the 60
position and lighting for object that are going to be
display on the marker.
Figure 5.11: Showing The Coding That Are Change 60
Figure 5.12: Showing The Way Each .dat are associated to a 61
particular pattern
Figure 5.13: Show the top view and the front view of how the 62
program work
Figure 5.14: The UNIMAS map design for the system. 62
Figure 6.1 : When the position is not correct the objects will 66
not be on display
Figure 6.2 : If the camera and the marker position correctly then 66
the 3D object will appear.
Figure 6.3 : Show the top view and the front view of 67
Cais( 3D building)
Figure 6.4 : Show that the marker has been rotated. The 3D 68
building follow the way the marker is rotated
Figure 6.5 : Show that even when the marker is tilted, the 68
building still ‘stick’ on the marker
xv
LIST OF TABLES
Page
Table 2.1 : Comparisons On Technology Used By The 18
Reviewed Systems
Table 2.2 : Comparison on System Features and Functionality 19
Table 3.1 : Minimum Hardware Specification For AR-BAMAN 38
1
CHAPTER 1 INTRODUCTION
1.1 Introduction
In this information technology age, many organizations have moved towards the
computerized working system. Augmented reality (AR) being part of the computer
sciences is a field that is less known than its counterparts. AR is a variation of virtual
reality (VR). AR is combination of real world objects and computer generated objects.
Through the tool available in AR, viewer will be able to view these two objects
simultaneously. AR can be thought as the “middle ground” between VR (completely
synthetic) and telepresence (completely real) [Milgram 1994]. Augmented Reality Based
Map Navigation (AR-BAMAN) is AR system that implemented on real UNIMAS
temporary campus map. AR-BAMAN will be able to enhance the current normal
UNIMAS map that we have. It will also ensure better, effective and efficient map
navigation around UNIMAS. This report discussed about the background of AR,
literature reviews methodology used, analysis, system design, system implementation,
testing and also future works. The main feature of AR-BAMAN is able display
computer generated 3D structures with the real map at the monitor. As a conclusion, AR
is a growing area in virtual reality research. AR-BAMAN will be able to enhance the
map navigation around UNIMAS.
2
1.2 Problem Statement
Currently UNIMAS is not using AR to implement in their campus map
navigation. Current physical map is hard for the user to differentiate one building from
another building. This is because they cannot visualize the building by looking at the
map. Sometimes visitors from outside also face the same problems because they does
not know which building they need to go, to deal with their particular matters. For those
people who appreciate the architecture of the unique UNIMAS building will have to
walk around the building to look at it. By using AR-BAMAN it can solve all the above
problems. The user will be able to see the 3D graphics of the building. The user then will
know exactly how the building looks like. This will improve the efficiency and
effectiveness of the map navigations. Lastly, if the user want see how the building look
at each side, they can do it simply by turning the map around.
1.3 Objectives
The objectives of this project are stated as below.
(1) To study and identify current AR application.
(2) To analyze and design an Augmented Reality Based Map for UNIMAS.
(3) To discover the problems of the current UNIMAS map navigation.
(4) To develop a prototype of Augmented Reality Based UNIMAS Map.
3
1.4 Scope
The scope of AR-BAMAN limited to developing for UNIMAS temporary
campus only. This project emphasizes more on building 3D graphics. The real UNIMAS
map will be put under the webcam and the 3D graphics will “emerge” on the map when
viewed inside the monitor. AR-BAMAN also consists of storing the 3D graphics and
displaying the data. AR-BAMAN is a stand alone application.
1.5 Methodology
The methodology that will be used in this project is the object-oriented system
development life (OOSDLC) cycle using unified modeling language. This methodology
is based on the best practices that have proven successful in system development.
[Bahrami 1999]. OOSDLC consists of three main components that are object-oriented
analysis, object-oriented design and object-oriented implementation. Graphical notation
and use case are used in most of the activities. OOSDLC let us view the system as
cooperation between objects. [Bahrami 1999].
4
Using OOSDLC, my project is divided into three phrases.
Figure 1.1 The Three Stages Of OOSDLC
These three phases can be iterated. This is to refine the system of AR-BAMAN when
testing conducted does not meet the scope of the project part of the activities can be
iterate to refine the process.
Object-Oriented Analysis
Object-Oriented Design
Object-Oriented
Implementation
Iteration
5
1.5.1 Object-Oriented Analysis (OOA)
In OOA it is further divided into smaller tasks. Waterfall approach is used to
complete these tasks.
Figure 1.2 Object-Oriented Analysis
During the OOA, actors of AR-BAMAN are identified. Actors are those people who will
use AR-BAMAN. Use case is the functionality that is provided by AR-BAMAN. The
functionality will interact with the actors. The next task is to develop activity diagram.
Activity diagram is to provide the flow inside the use case or classes of AR-BAMAN.
Interaction diagram is to see the sequence of interaction between the user and particular
use case or function in AR-BAMAN. The last task in OOA is to identify the classes and
its attributes and functions that will be used in building AR-BAMAN. The things
Identify actors
Develop interaction
diagrams
Develop use cases
Develop activity
diagrams
Identify classes, attributes and
methods
Refine and iterate
6
develop in OOA can be refine and iterate. Through iteration, better OOA can be
developed.
1.5.2 Object-Oriented Design (OOD)
In OOD, waterfall approach is also used to complete the task.
Figure 1.3 Object-Oriented Design
In OOD the relationships of the classes that is identify during OOA is being designed.
The classes in AR-BAMAN designed by applying the OOD axioms and collaries.
Axioms 1, the independence axiom which maintain the independence of components
(the relationships between components). Axioms 2, the information axiom which
Design classes,
attributes, methods
and relationships
Apply Design Axioms
to build UML class
diagram
Design view and
access layers and
prototypes
User satisfaction and
usability test based on
use cases
7
minimize the information content of the design (the complexity of the design). The other
6 corollary are developed from the two axioms. Corollary 1, uncoupled design with less
information content; corollary 2, single purpose; corollary 3, large numbers of simple
classes; corollary 4, strong mapping; corollary 5, standardization; corollary 6, design
with inheritance. The relationships between the classes are then combined together to
become the UML class diagram. Next is to design the view layer and the access layer.
The view layer will be the user interface of the AR-BAMAN. The access layer will
concern with how the AR-BAMAN is going to communicate with the database.
Usability test will be carried out with this design. The process can be refined if user are
not satisfied with it.
1.5.3 Object-Oriented Implementation (OOI)
In OOI, I used iteration approach. The process in OOI is as the diagram below.
Figure 1.4 Object-Oriented Implementation
The components in AR-BAMAN will be developed using object-oriented programming
languages. It will be a component-based development, where the functions of AR-
Using Case tools and
object-oriented
languages (object-
oriented programming)
are used to implement
User satisfaction and
usability test
8
BAMAN are developed one by one. After a function is being developed, it will when
through user satisfaction and usability test. If it does not satisfy the user, it will be
refined. If it does, continue to implement the next function.
1.5.4 Incremental Testing
In OOSDLC testing is very important. Incremental testing is where by the testing
start at the beginning of the OOA until OOI. Incremental testing makes sure that each
stage is going on just as planned. Testing help to verify that this system have all the
capabilities and features defined in the project‟s scope. Other testing that will be carried
out are unit testing, integration testing, systems testing and acceptance testing.
1.6 Expected Outcome
The expected outcome will be the prototype of Augmented Reality Based Map of
UNIMAS. AR-BAMAN is focused on providing enhancement of the current map
navigation system in UNIMAS. It will be very useful for everyone especially to those
who not familiar with UNIMAS. This project also able to make user have better
understanding on what is augmented reality.
1.7 Significant of Research
The significant of research is to define the problems face during using the
existing system map system. With this AR-BAMAN it will benefit the people who are