I have a big square, this square divided into 5×5 squares,
any square is 25cm, total 125cm
i want to program the Lego robot to find the minimum path and avoid the objects
for example this code it is for two dimensional array
int array[10][10]; i use the robotCyou can download from:http://www.robotc.net/ i connect the Lego with my labtop, and work the Lego in real worldi uploaded an example for report also i uploaded a lecture for path planning these links show codehttp://www.education.rec.ri.cmu.edu/previews/robot_c_products/teaching_rc_lego_v2_preview/ http://www.robotc.net/education/curriculum/nxt/ and another 2 link to help youhttp://www.societyofrobots.com/programming_wavefront.shtmlhttp://en.wikipedia.org/wiki/Dijkstra%27s_algorithm
1
T HESI S WR I T I N G G UI DELI N ES FOR SEN I OR A N D SOFT WA R E EN G I N EER IN G PR OJEC T S
The most difficult part of writing a thesis for your Final Year Project or Software Engineering project is often ‘where
to begin’. Here are a few tips to help you:
1. Think of a topic in your course that you have found particularly interesting. This may be a chapter or an
issue in a book associated with your course. Or it could be the whole or part of an assignment that you
wished to explore in more detail. On the other hand, there may be an issue in the news (read a good
newspaper regularly!) that excites your attention. Your chosen advisor can help you with this and give you
some ideas if necessary.
2. Make sure that the issue is researchable. This means that there must be a literature base either in
textbooks or periodicals.
3. Be prepared to spend several hours in an academic library and/or the internet to help you search out
good sources on your intended topic. Remember the Internet is good for some things but there is no
‘quality control’ so some of the articles you get might be too ephemeral or journalistic for an academic
piece of work.
4. It is probably better to think of the whole of your project as essentially answering a question rather than
researching a field.
5. Make a plan of the chapters. Your plan is likely to look like this:
• Introduction
• Literature review
• Updating/applying new research
• Recent developments
• Case study/small survey
• Conclusion
6. Think of reading around the subject and writing your initial plan as a process in which each activity
reinforces the other in a circular process. Do some initial research, then make a tentative plan, then do
more reading to ‘flesh out’ the plan, then revise the plan and so on. Your plan only needs to be tentative
at this stage – in all probability it will actually get revised as you make progress through your project. You
should provide your supervisor with a copy of your plan on your first substantive meeting.
7. Do not think you have to do all of the reading around the topic before you start to write. Read or research
sufficiently to write the first chapter (literature review – look: Writing a Literature Review) and then start
writing a first draft.
8. When you start writing, set yourself a target – say 500-1000 words per day and then you will feel that you
are making progress
GET T ING ST ART ED
All undergraduate theses must be formatted in a consistent manner so that evaluations are based on content, not
presentation. The following section defines this format.
1. Title page
The title page should contain the title, the name of the author, the degree(s) to be awarded at FUC/FIT, the date
the degree(s) will be conferred, and names and signatures of the author, supervisor, and the department
Undergraduate Committee.
2
The preparation of the thesis is a process of investigation and discovery, the precise scope of your study may well
only emerge as you become closely involved in a detailed review of the literature. At this early stage, your title may
be a provisional one that you will revise later. Your thesis supervisor may advise on the title in order to help you
find and define the focus of the thesis.
You should examine articles in scholarly journals for examples of appropriate titles for a study of this length.
2. Acknowledgements
Each thesis may contain a short biography of the candidate, including institutions attended and dates of
attendance, degrees and honors, titles of publications, teaching and professional experience, and other matters
that may be pertinent. This space may also be used to give acknowledgement to those who have helped in the
preparation or process of the thesis. This section may be single spaced.
3. Abstract
Abstracts are important because they give a first impression of the document that follows, letting readers decide
whether to continue reading and showing them what to look for if they do. Though some abstracts only list the
contents of the document, the most useful abstracts tell the reader more.
4. Table of Contents
A list of all chapters and/or subsections within the thesis should be provided. This will prepare the reader for the
organizational scheme of your thesis.
5. Table of Figures
A list of all the figures in the document
6. Main Document
7.
Appendices
FORM AT OF T HE D OCU M ENT
Page Numbers
All page numbers should be placed bottom center with a 1” margin beneath. The entire thesis (every single page)
must be paginated in one consecutive numbering sequence, with the number printed on each page. The title page
is always considered to be page 1, and is the only page that does not require that the page number be included.
Every page must be included in the count regardless of whether anything is physically printed on the page.
Footnotes.
3
All footnotes must appear at the bottom of the page. Footnotes should begin renumbering with 1 at the beginning
of each new chapter. Footnotes may be continued on the next page, but must begin on the page they are cited.
Endnotes will not be allowed.
Page layout (margins, header, footer, line spacing)
Top, bottom, and both side margins must be at least 2,5 cm to allow for binding and trimming. All information (text
headings, notes, and illustrations), excluding page numbers, must be within the text area.
The thesis text should be double-spaced, although peripheral parts like the abstract, title page, acknowledgments,
table of contents, bibliography and appendices should be single-spaced.
Typeface and Size
The typeface (font) should be clear and professional in appearance. Specifically, you should choose a serif font, size
10, 11, or 12.
The main body of the text, including appendices, title page and table of contents, should use a font size 11-point or
greater. Notes, figure captions and the text in tables, etc., should use a font size 10-point or greater.
Figures and Tables
Figures and tables can be embedded in the text or collected at the end, but embedded is preferred. If you are
having difficulty embedding tables or figures, remember that the content is most important.
If tables and figures are embedded, captions should appear directly below the figure or and above the table. If
collected at the end, captions should precede the figure or table. Captions should completely and accurately
explain the content of the image in a few sentences. If the caption grows too long, maybe the figure is too
complicated.
Charts, tables, figures and graphs should not be hand-labeled. No material should be taped or glued to pages.
Separate lists of figures and tables are necessary and should follow the Table of Contents.
Appendices
The same paper size, pagination, margin, and illustration requirements apply to appendices. They support the
research in your thesis and should be as readable and reproducible as the rest of your work.
Corrections
Correction fluid; hand-written corrections are not permitted.
Page limitations
Though there is no minimum or limit, most theses range between 30 and 40 pages for all material.
Supplementary Media
You may submit CD-ROMs, floppies, videocassettes, etc., with your thesis, but the written portion must make
sense by itself.
4
EL ECT RONIC VERS ION OF THESI S
The department will post your work as example and reference to other students. You must also submit your theses
and presentations as files.
The electronic version of your thesis must be an exact copy of the word processor file rendered as a single Adobe
PDF file. This single file must include all tables, figures, and appendices.
You must also submit a separate file (in pdf form) of the abstract of your thesis. This will be placed on the
department website along with your thesis. The abstract will let the readers know what the thesis is all about.
THESIS CONT E NT AND ORGAN IZAT IO N
The thesis write-up is the fundamental record of your project. Though we do not mandate a particular
organizational scheme, it is important to structure your paper clearly and logically. The report should include:
� a clear statement of the problem and why it is of interest or importance
� a description of the history and background literature on the subject
� a statement of the author’s work and observations
� a discussion of the author’s findings in relation to those of predecessors
� the author’s conclusions and suggestions for further work
� a bibliography of cited references
Extensive data, code, or mathematical derivations should be in appendices rather than in the body of the report.
The report must be well written, clearly organized, and contain no stylistic or grammatical errors.
IMPORTANT: Supervisors require early drafts, provide criticism and suggestions. The technical content may require
re-writes. The supervisors will insist that the final document conform to the accepted standards of technical
writing.
Use direct and clear language. You should not approach word selection as a way to impress your reader. Let your
ideas do that after you have carefully expressed your thoughts. Use adjectives sparingly. Words have inherent
power; trying to inflate them can end up weakening them. A word to avoid is “one,” as in, “one can clearly see
that.” It is also a good idea to avoid using the same words or phrases more than once or twice in a paragraph. Such
redundancies are evidence of a poor proofreading job.
Your work will be a valuable research tool for other scholars only if it can be located easily. Be sure to select a title
that is a meaningful description of the content of your manuscript.
Each thesis must include an abstract, preferably one single-spaced page (generally between 300-400 words). The
abstract should be a brief descriptive summary rather than a lengthy introduction to the thesis. It may be helpful
to reread your Thesis Proposal. The abstract should immediately follow the title page.
5
CIT I NG RE FERENCE S
Since the foundation of a thesis relies on pre-existing knowledge, there will probably be a great deal of information
in your paper that came from the work of other people. Scholastic ethics require that we give sufficient credit to
the work of those who provide the foundation upon which we build.
Therefore, information, ideas or phrases obtained from existing literature should be adequately cited within your
text. The citation also points readers toward further information regarding a topic you will not provide a full
explanation for.
Citations within the text are used to:
1. indicate the source of information, data, or a concept if not new or original
2. give the reader other sources from which s/he can learn more
3. save space by referring to material elsewhere instead of having it in the body of the text
4. give a historical perspective or show very recent developments
5. allow the reader the opportunity to confirm your interpretation of another ‘s work
6. help the reader to evaluate the evidence used in your discussion by comparing it to others’ work
7. indicate your familiarity with previous and current work in a topic area.
As part of his/her research, the author must assess the quality and accuracy of the sources and references used. If
a genuine controversy exists the author should acknowledge it by citing appropriate conflicting opinions. Citations
should refer the reader to the original source of the concept or results being discussed. If it is very inefficient or not
possible to cite original sources, or if the concept being discussed is very broad, an authoritative review paper or
book may be cited. Especially be cautious and judicious in using Internet sources. When at all possible, use
citations to reputable refereed journals, either in print or on-line. When the source has not been reviewed as part
of a publication process, the citation should be viewed as a personal communication. In general, authors should
choose the most authoritative permanently archived source available.
Many students mistakenly believe that citations are required only when quoting another author’s work. On the
contrary, a citation must be included within the text of your paper for all statements of fact, or ideas, acquired
from outside sources — even if you do not quote the source directly. The only exception is when the information is
common knowledge and cannot be attributed easily to a single source (e.g., “Cyprus is an island”). Your reference
list must include all the sources cited in your paper — in the text, figures, tables, etc. — and nothing more. During
proofreading, it is crucial that you compare your citations and your reference list to ensure that they correspond
exactly.
REFERENCES
References to sources should be numbered sequentially by order of mention in the text, with the number placed in
brackets and printed on line (not as a super- or subscript) like [1]. The list of all references used in the text should
appear in numerical order of mention at the end of the document as a separate chapter. References must follow
the IEEE reference format.
Below are some examples of references you might use:
Books
6
[1] E. R. Tufte, Visual Explanations: Images and Quantities, Evidence and Narrative. Cheshire, CT: Graphics Press,
1996.
[2] J. H. Watt and S. A. van der Berg, Research Methods for Communication Science. Boston, MA: Allyn and Bacon,
1995.
[3] M. S. MacNealy, Strategies for empirical research in writing. Boston: Allyn & Bacon, 1999.
Articles/Chapters in Book
[4] J. W. DuBois, S. Schuetze-Coburn, S. Cumming, and D. Paolino, “Outline of discourse transcription,” in Talking
Data: Transcription and Coding in Discourse Research (J. A. Edwards and M. D. Lampert, Eds.). Hillsdale, NJ:
Lawrence Erlbaum Associates, 1993, pp. 45-89.
Articles in Periodicals (journals, magazines, etc.)
[5] R. C. Carter, “Search time with a color display: Analysis of distribution functions,” Human Factors, vol. 24, no. 3,
pp. 302-304, 1982.
Papers Published in Proceedings
[6] P. Leone, D. L. Gillihan, and T. L. Rauch, “Web-based prototyping for user sessions: Medium-fidelity
prototyping,” in Proc. 44th Int. Technical Communications Conf. (Toronto, Canada, May 11-14, 1997, pp. 231-234).
Unpublished Papers
[7] K. Riley, “Language theory: Applications versus practice”, presented at the Conf. of the Modern Language
Association, Boston, MA, December 27-30, 1990.
Technical Reports
[8] K. Kraiger and M. S. Teachout, “Applications of generalizability theory to the Air Force job performance
measurement project: A summary of research results,” Human Resources Laboratory, Air Force Systems
Command, Brooks Air Force Base, Texas, Tech. Rep. AFHRL-TR-90-92, July 1991.
Electronic sources
Give the author, title, type of medium (enclosed in brackets [ ]), volume, issue number (in parentheses ( )), page
number (if given), and the year and month of publication (in parentheses ( )). Then give the full Internet address or
the name of the online service provider prefaced by “Available:”
Article in an Electronic Journal
[9] D. Blankenhorn, “Newsproducts: Panasonic debuts first rewritable optical disk recorder,” Newsbytes, [Online]
Vol. 7, Jan. 1990. Available: Knowledge Index File: Newbytes (NEWS 1) Item: 08931265
Other online documents
[10] T. Land, “Web extension to American Psychological Association style (WEAPAS),” [Online document], 1996
Mar. 31 (Rev. 1.2.4.), [cited 1996 Sep. 14], Available: http://www.nyu.edu/pages/psychology/WEAPAS/
7
[11] P. Curtis, “Mudding: Social phenomena in text-based virtual realities,” [Online document], Aug. 1992, [1996
Aug 30], Available FTP: parcftp.xerox.com/pub/MOO/papers/DIAC921992
[12] T. Adamowski, “Writer’s resource,” in IEEE PCS Online Discussion Forum, 14 Dec 1999. [Online]. Available
WWW: http://ieeepcs.org/wwwboard/.
ST ART ING T O W RIT E T H E T HESIS
Supervisors have different ways of working and you will, to some degree, need to negotiate your approach to
supervision style. For example, your supervisor may advise you to write a short proposal or abstract, say of about
300-400 words, in which you set out as clearly as possible what you intend to do in the thesis. The value of this
exercise is that it requires you to focus and articulate your thinking. It may be that you will be able to summarize
the exact nature and scope of your study, in which case the proposal can serve as guide to refer to as you write the
main chapters of the work. Alternatively, it may make you aware of gaps in your knowledge and understanding,
and show you the areas that need further thought and research.
It is useful, therefore, to write the proposal and to retain it for reference and revision. It helps to attempt such an
abstract even if your supervisor has not suggested that you write one. However, practice varies, and your
supervisor will advise you on how to proceed. As you continue to write the main chapters of the work, you may
find that your initial plan has changed. This means that when you have completed the chapters that form the main
body of your thesis you can return to the proposal and revise it as much as you need.
It is highly advisable to draft a plan of the thesis. There is a lot in common between different theses regarding the
structure and although you do not need to stick slavishly to a standard plan, such a plan is very helpful as a
template to impose some order on what may seem an unmanageable task. Here is an indicative structure that
might help you with your initial plan. Each section mentioned in Table 1 refers to a chapter in your thesis. You are
not limited to these chapters, but you can use this table as a general structure.
Table 1. Thesis Structure
Section Section Description
Abstract Abstracts are important because they give a first impression of the document that follows,
letting readers decide whether to continue reading and showing them what to look for if
they do.
Introduction The field of study, the research question, the hypothesis (if any) or, more generally, the
research question that is to be investigated. It should also include a summary of the
contents and main arguments in the thesis.
The Literature
Review
Usually, this comes immediately after the introductory chapter. This may be more than
one chapter, but should certainly be written in sections.
This should include previous work done on the field of study and anything that you
consider to be relevant to the hypothesis or research question and to its investigation. It
will include a large number of references to the literature in your chosen area.
This is one of the most important sections of your thesis.
Methodology This section should include an account of the research questions and/or hypotheses to be
investigated, relevant methods of investigation and an argument for why you think these
methods are the most appropriate ones for the question and for your circumstances. You
8
should consider the benefits of your chosen method as well as identifying any
disadvantages and how you overcame them. Ethical issues and the ways in which you
dealt with them should be noted. This section should also discuss any variations from the
original fieldwork plan, and should conclude with a reflection on the experience of doing
fieldwork.
Findings This section should present the main findings of your research together with an account of
the strengths and weaknesses of your data relative to your research question/hypothesis.
You may also wish to include an evaluation of any difficulties you encountered in
collecting and analyzing data, together with an assessment of how this affected your plan
of research.
Evaluation Here you can provide an assessment of whether and how well you were able to answer
your research question and/or confirm/reject your hypotheses.
Discussion This chapter must relate the findings to the theoretical/policy discussion in your literature
review. You should NOT introduce any new literature at this stage.
Conclusions and
recommendations
An overall assessment of what you found out, how successful you were and suggestions
for future research.
W RIT ING T HE ABST RAC T
Abstracts are important because they give a first impression of the document that follows, letting readers decide
whether to continue reading and showing them what to look for if they do. Though some abstracts only list the
contents of the document, the most useful abstracts tell the reader more. An abstract should represent as much as
possible of the quantitative and qualitative information in the document, and also reflect its reasoning. Typically,
an informative abstract answers these questions in about 100-250 words:
1. Why did you do this study or project?
2. What did you do, and how?
3. What did you find?
4. What do your findings mean?
If the paper is about a new method or apparatus the last two questions might be changed to
1. What are the advantages (of the method or apparatus)?
2. How well does it work?
Here are some other points to keep in mind about abstracts:
1. An abstract will nearly always be read along with the title, so do not repeat or rephrase the title. It will
likely be read without the rest of the document, however, so make it complete enough to stand on its
own.
2. Your readers expect you to summarize your conclusions as well as your purpose, methods, and main
findings. Emphasize the different points in proportion to the emphasis they receive in the body of the
document.
3. Do not refer in the abstract to information that is not in the document.
4. Avoid using I or we, but choose active verbs instead of passive when possible (the study tested rather than
it was tested by the study).
5. Avoid if possible avoid trade names, acronyms, abbreviations, or symbols. You would need to explain
them, and that takes too much room.
9
6. Use key words from the document. (For published work, the abstract is “mined” for the words used to
index the material—thus making it more likely someone will cite your article.)
W RIT ING T HE INT ROD U CT ION
The introduction to your thesis should explain to the reader what you are going to investigate. It should describe
the
thesis’s topic and scope. You should explain your reasons for investigating your chosen topic by referring to the
appropriate literature. Having completed the work on the main substance of your thesis, you should have a much
clearer idea of its nature and scope than you did when you wrote your preliminary abstract or proposal. The
introduction to your thesis should explain to the reader what you are going to investigate. It should describe the
thesis’s topic and scope. You should explain your reasons for investigating your chosen topic by referring to the
appropriate literature.
It is important, however, to write the introduction as though you are setting out on a process of investigation. You
need to emphasize the exploratory nature of your work. You should also avoid anticipating the discoveries and
conclusions that you have made in the course of your investigations. So, you might simply say that you have
identified certain common features in the relevant literature, or a particular issue that it deals with, and that your
thesis will examine the literature closely in order to demonstrate the relationships between treatments of the
issue in the sample texts. When you have completed the main body of the work and your supervisor has
commented on your complete draft, you may well wish to revisit the introduction to take into account your
findings and your advisor’s comments on their significance.
W RIT ING A L IT ER AT URE REVIEW
Your thesis is a substantial piece of written work that ideally should conform to a number of academic
conventions. One of the most important of these academic conventions is the literature review. In short, the
literature review is a discussion or ‘review’ of secondary literature that is of general and central relevance to the
particular area under investigation.
Often students ask how long a literature review should be. This is a difficult question. Obviously your supervisor
may be able to give some indication of the approximate length of your literature review. However, don’t become
pre-occupied with word “length”; the main thing is that your literature review should capture the general and
specific aspects of the literature of your subject.
WHAT IS A REVIEW OF THE LITERATURE?
A literature review is an account of what has been published on a topic by accredited scholars and researchers.
Occasionally you will be asked to write one as a separate assignment (sometimes in the form of an annotated
bibliography), but more often it is part of the introduction to an essay, research report, or thesis. In writing the
literature review, your purpose is to convey to your reader what knowledge and ideas have been established on a
topic, and what their strengths and weaknesses are. As a piece of writing, the literature review must be defined by
a guiding concept (e.g., your research objective, the problem or issue you are discussing, or your argumentative
thesis). It is not just a descriptive list of the material available, or a set of summaries
Besides enlarging your knowledge about the topic, writing a literature review lets you gain and demonstrate skills
in two areas:
10
1. Information seeking: the ability to scan the literature efficiently, using manual or computerized methods,
to identify a set of useful articles and books
2. Critical appraisal: the ability to apply principles of analysis to identify unbiased and valid studies.
A literature review must do these things:
1. be organized around and related directly to the thesis or research question you are developing
2. synthesize results into a summary of what is and is not known
3. identify areas of controversy in the literature
4. formulate questions that need further research
A literature review is a piece of discursive prose, not a list describing or summarizing one piece of literature after
another. It’s usually a bad sign to see every paragraph beginning with the name of a researcher. Instead, organize
the literature review into sections that present themes or identify trends, including relevant theory. You are not
trying to list all the material published, but to synthesize and evaluate it according to the guiding concept of your
thesis or research question
WHY IS A LITERATURE REVIEW NECESSARY?
The literature review is an important device in your thesis as it performs a number of related functions:
1. It demonstrates to whoever reads the thesis that the author of the work has read widely and is aware of
the range of debates that have taken place within the given field. It provides the proof that you have
more than a good grasp of the breadth and depth of the topic of the thesis. The literature review is a
great place to start, because it should demonstrate that you know what you are talking about because
you have read everything that is relevant to your thesis.
2. It can provide the rationale for the research question in the study. This can be done by highlighting
specific gaps in the literature – questions that have not been answered (or even asked), and areas of
research that have not been conducted within your chosen field. In this way the literature review can
provide a justification of your own research.
3. It can allow you to build on work that has already been conducted. For example you might adopt a similar
methodological or theoretical approach in your work to one that exists within the literature, yet place
your actual emphasis elsewhere. In this way you are building on work that has already been conducted by
adopting similar strategies and concepts, yet focusing the question on something that interests you.
4. It helps to define the broad context of your study, placing your work within a well defined academic
tradition. Poor theses often fail to relate to broader debates within the academic community. They may
have a well defined research question, yet without placing this question in the appropriate context, it can
lose its significance. The literature review therefore can add weight to your question by framing it within
broader debates within the academic community.
ASK YOURSELF QUESTIONS LIKE THESE:
1. What is the specific thesis, problem, or research question that my literature review helps to define?
2. What type of literature review am I conducting? Am I looking at issues of theory? Methodology? Policy?
Quantitative research (e.g. on the effectiveness of a new procedure)? Qualitative research (e.g., studies )?
3. What is the scope of my literature review? What types of publications am I using (e.g., journals, books,
government documents, popular media)?
11
4. How good was my information seeking? Has my search been wide enough to ensure I’ve found all the
relevant material? Has it been narrow enough to exclude irrelevant material? Is the number of sources
I’ve used appropriate for the length of my paper?
5. Have I critically analyzed the literature I use? Do I follow through a set of concepts and questions,
comparing items to each other in the ways they deal with them? Instead of just listing and summarizing
items, do I assess them, discussing strengths and weaknesses?
6. Have I cited and discussed studies contrary to my perspective?
7. Will the reader find my literature review relevant, appropriate, and useful?
ASK YOURSELF QUESTIONS LIKE THESE ABOUT EACH BOOK OR ARTICLE YOU INCLUDE:
1. Has the author formulated a problem/issue?
2. Is it clearly defined? Is its significance (scope, severity, relevance) clearly established?
3. Could the problem have been approached more effectively from another perspective?
4. What is the author’s research orientation (e.g., interpretive, critical science, combination)?
5. What is the author’s theoretical framework (e.g., psychological, developmental, feminist)?
6. What is the relationship between the theoretical and research perspectives?
7. Has the author evaluated the literature relevant to the problem/issue? Does the author include literature
taking positions she or he does not agree with?
8. In a research study, how good are the basic components of the study design (e.g., population,
intervention, outcome)? How accurate and valid are the measurements? Is the analysis of the data
accurate and relevant to the research question? Are the conclusions validly based upon the data and
analysis?
9. In material written for a popular readership, does the author use appeals to emotion, one-sided
examples, or rhetorically-charged language and tone? Is there an objective basis to the reasoning, or is
the author merely “proving” what he or she already believes?
10. How does the author structure the argument? Can you “deconstruct” the flow of the argument to see
whether or where it breaks down logically (e.g., in establishing cause-effect relationships)?
11. In what ways does this book or article contribute to our understanding of the problem under study, and in
what ways is it useful for practice? What are the strengths and limitations?
12. How does this book or article relate to the specific thesis or question I am developing?
HOW DO I ‘DO’ A LITERATURE REVIEW?
Writing a literature review is not as simple as at first it may seem. What follows is a step by step guide on how to
go about conducting and presenting your literature review.
1. Generate a list of references: The first stage of your literature review is to collect a list of literature that is
relevant to your study.
2. Make sense of your reading: Once you have a list of references for your thesis, you now have to access and
read this material. This process is going to be time consuming because you will be reading a large amount of
material. Furthermore once you start your reading you might find that some of the literature is of little
relevance to your study. Don’t panic, this is something that many researchers and thesis students go through
and is often a necessary part of the process. It is better to read something that is not central to your thesis
than miss something that might be an important and relevant contribution to the field.
While reading, make notes about the central themes and arguments of the book, chapter or article. These
notes can then be incorporated into the finished version of your literature review. Try and get a sense of the
theoretical perspective of the author, this will be of use when you come to organize and present your
literature review. Also, emphasize the way in which the piece of literature you are reading seeks to set itself
12
apart from other literature. Importantly, start to think critically about the piece you are reading; ask: what is
this person trying to say and why? How is it different from the way others have dealt with this issue? This
critical component is very important as it demonstrates that you are engaging with relevant literature in an
appropriate manner and that you can discriminate between different perspectives and approaches that exist
within your chosen field.
3. Organization and presentation: Once you have generated a large number of notes around your reading you
might start to feel overwhelmed by the literature. In terms of the organization and presentation of your
literature review, it is worth dividing your review into two main areas: general reading and literature that is of
central importance. You will also need to further divide the literature into specific areas relevant to your study
for e.g. theories and concepts; policy analysis; empirical studies and so-on. What follows are some general
guidelines on how you might do this.
GENERAL TEXTS
It will be clear that some of the reading you have done is of more relevance than others. It is important, however,
that you do not discard the less relevant work; instead this can form the broad background of your discussion of
the more relevant literature within your field. For example you may mention different authors that have dealt with
a question related to your field but may not be central to it. Highlight these in broad terms, state how these works
have impacted on your particular area. You need not go into great detail about these more general works, but by
highlighting these works you are demonstrating your awareness of the scope and limits of your study and how it
touches upon other areas of study.
CENTRAL TEXTS
Once you have discussed the range of literature that is only of general interest to your study, you can then go into
more detail on the literature that more sharply focuses on the questions that are of interest to you. Devote more
detail to these particular works as they are more important to your topic. Indeed they may highlight the gap in the
literature that exists that you seek to fill; they may provide the basis on which you seek to build, or they might be
works which require some critique from your particular perspective.
BEGINN ING W ORK ON T HE M AIN BOD Y OF T HE T HESIS
Once you have produced the proposal and discussed it with your supervisor, you may want to write the first draft
of all chapters of the thesis. When you hand in this draft, you should arrange a meeting with your supervisor to
receive your supervisor’s verbal or written comments and suggestions on how it may be improved. You may, for
example, produce a draft introduction setting out the issue, together with a literature review which covers what, if
any, treatment of the topic has gone beforehand. You may also wish to draft those sections of the methodology
chapter that cover the methods that you wish to use, together with a justification for why you think those methods
are best.
REVISING SECTIONS AFTER RECEIVING THE SUPERVISOR’S COMMENTS
When you have received your supervisor’s comments on the draft of any chapter, you should revise that particular
chapter immediately. Prompt revision is easier than letting things drift, and you should do it while the advice of
your supervisor is fresh in your mind. This will also avoid building up a backlog of work that needs to be revised,
13
which can be discouraging. Having the material on a computer disk will enable you to do revisions efficiently and
with a minimum of fuss. Be sure to back up all your work on a CD, memory stick, or external drive.
D EAD L INES FOR P ROD UCING D RAFT S
You will decide with your supervisor precisely when to produce drafts, but if you are taking a thesis module over
one academic year then by the end of the first semester you would normally expect to produce a proposal or
abstract and a first draft of one or two chapters. You would then produce the drafts of the remaining chapters and
complete the process of revision and writing-up during the second semester.
In the second semester, when drafting the remaining main chapters of the thesis, you will follow the practice
established in the first semester of submitting the drafts to your supervisor for comments and advice. You should
take advantage of the period between the first semester and the start of the second semester to write a draft of a
chapter, and you should plan to have produced first drafts of all the main chapters by at least four weeks before
the submission date (also allowing for any vacation periods when staff may not be available).
If, however, you are taking the thesis module over one semester, you will need to adjust this time frame
accordingly.
T HESIS ST RUCT URE
1. Title page
2. Signature Page
3. Acknowledgements
4. Abstract—of approximately 300-400 words. (It should not exceed 700 words.). The Abstract or summary
should summarize the appropriate headings, aims, scope and conclusion of the thesis.
5. Table of Contents
6. Table of Figures
7. Main Text
8. Bibliography or References
9. Appendices
The title page is followed by a letter from the candidate addressed to the Dean of the Faculty of Engineering and
Applied Sciences saying ‘This thesis is submitted in partial fulfillment of the requirements for the degree of
Bachelor of Science’ and certifying that it represents the candidate’s own work.
The thesis proper consists of the Main Text (numbered 5 above). Looking closely at the Main Text, we should see
something like this:
1. Chapter 1: Introduction
2. Chapter 2: Literature Review (previous work done)
3. Chapter 3: Methodology
4. Chapters 4 to n: Experimental Chapters (case studies)
5. Chapter (n + 1): General Discussion or Conclusions
14
Looking closely at the Experimental Chapter (numbered 4 above). In this section you specify specific case studies
that you studied and performed experiments on. You mention the results and experimental procedure followed.
1
VROBO: A Virtual Robotics Platform for use in Robotics
Education and Research
by
Giorgos A. Demetriou
Student Number: 1821
A thesis submitted to the faculty of undergraduate studies of
Frederick University
in partial fulfillment of the requirements for the degree of
Bachelor of Science in Computer Science
Advisor
Dr. Georgios A. Demetriou, email: g.demetriou@frederick.ac.cy
School of Engineering and Applied Sciences
Department of Computer Engineering and Computer Science
Frederick University, Lemesos, Cyprus
2
Signature/Approval Page
This thesis by
Bachelor of Science on 28 April 2010 has been examined by the following faculty and it meets or
exceeds the standards required for graduation as testified by our signatures below.
_____________________________________
Dr. Georgios A. Demetriou, Advisor
_____________________________________
_____________________________________
_____________________________________
3
Biography
Dr. Giorgos A. Demetriou received his Ph.D. in computer science and his M.S. in computer engineering
from the Center for Advanced Computer Studies at the University of Louisiana at Lafayette in 1998 and
1994, respectively. Since January of 2006 he has been with the Computer Engineering and Computer
Science Department of Frederick University, Lemesos, Cyprus. Before that he was with the Computer
Engineering Department of Purdue University, Fort Wayne, Indiana, and with the Computer Science
department of the University of Southern Mississippi-Gulf Coast (USM-GC), Long Beach, Mississippi. At
Purdue University he was a visiting assistant professor of computer engineering. At USM-GC, he served
as an assistant professor, as the director of the Robotics and Graphics Laboratory, and as the
coordinator for the computer science graduate and undergraduate programs. Research interests include
Intelligence Systems, Robotic Systems, and Robotic Mobile Systems. His teaching interests include,
Robotic Systems / Automated systems, Intelligent Systems, Control Systems, and Computer Graphics.
Acknowledgements
The author would like to thank his advisor, Dr. Georgios A. Demetriou, for his guidance, advice,
and encouragement toward successful completion of this project. Additional thanks go to….
(thank anyone else you feel that have helped you in this project) ….
4
Abstract (sample)
Robotics will continue to become intertwined with our daily lives, which will ultimately result in the
need for more highly trained individuals to both operate and repair robotics equipment. The ability of
academics and researchers to supply individuals capable of performing these tasks will be a substantial
challenge in the future. Currently, there are few individuals available to perform these highly skilled
tasks; furthermore, institutions and programs for training these individuals are scarce. All of the various
sectors of growth point to an increase in the need for robotics technicians in the near future. With this
increase will come the need for educational programs to supply the technical skills and training in the
various areas of robotics research and development. To keep up with this demand institutions of higher
learning will have to adapt and come up with diversified programs for robotics education while
overcoming spatial, temporal, and budget limitations. This paper discusses the impediments that face
the researcher and academic institutions when trying to implement such training programs and explains
the ability of Virtual Modeling and Simulation (VM&S) systems to mitigate such problems. In addition, a
solution system, Virtual-Robots (VROBO), is developed to demonstrate the effectiveness of the
approach, and its constituent parts are analyzed to show the mapping between the part and the
impediment that it tries to eliminate.
5
Table of Contents
Table of Figures ……………………………………………………………………………………………………………………………
6
1. Introduction …………………………………………………………………………………………………………………………
7
1.1. Problem Domain …………………………………………………………………………………………………………… 7
1.1.1. Next Section ………………………………………………………………………………………………………….. 7
1.2. Physical Robot Problems …………………………………………………………………………………………………
8
2. Previous Work (Literature Review) …………………………………………………………………………………………. 8
2.1. Subsection ……………………………………………………………………………………………………………………. 8
2.2. Subsection ……………………………………………………………………………………………………………………. 8
3. Methodology
……………………………………………………………………………………………………………………….. 8
3.1. Tool Selection and Meeting Cost, Portability and Networking Criteria ………………………………..
10
3.2. System Design and Implementation ……………………………………………………………………………….
11
3.2.1. Flexibility …………………………………………………………………………………………………………….. 11
4. Experimental Results …………………………………………………………………………………………………………..
12
4.1. Case Study 1 ……………………………………………………………………………………………………………….. 12
5. Conclusion …………………………………………………………………………………………………………………………. 12
6. References …………………………………………………………………………………………………………………………
13
Appendix A – Test Data
……………………………………………………………………………………………………………….
14
Appendix B – Technology Transfer Plan ………………………………………………………………………………………..
15
Appendix C – Code …………………………………………………………………………………………………………………….. 15
6
Table of Figures
Figure 1. Block diagram of VROBO ……………………………………………………………………………………………….. 10
Figure 2 Screen capture of VROBO using the Joint Actuator controller to articulate the Cobra 600 robot,
the ArticulatedLine2D, and the ArticulatedLine3D respectively. ……………………………………………………… 12
7
1. Introduction
The idea of robotic mechanisms has fascinated humans since the first machines were built. Before the
first robot was even constructed, the popular view of robotics consisted of human-like machines that
could walk, talk, and perform as well as their human counterparts [4]. Despite this popular view of
humanoid robots, industrial robotics has been the most dominant area of research and growth in the
years that followed. Even today, sophisticated humanoid type robots are still far away from realization.
Their industrial type counterparts still constitute the largest percentage of robotics sales and research
[23], [13].
Our need for robotics will continue to grow, as we become more emerged in technology and prices for
robotic manipulators decrease. The International Federation of Robotics (IFR), a leading authority in the
robotics industry, estimated that worldwide robotics sales were up 15% in the year 2000 [23]. Even
though the majority of robotics sales will continue to be generated by manufacturing industries such as
automotive companies, we are beginning to see robotics spread into other areas including military
applications, and aids for home and work use [23]. Some recent examples of the growth of industrial
robotics into other areas include the recent use of robotics in packaging the new European currency and
the development of a robotic system that de-bones pork loin [18], [11].
Bla bla …
1.1. Problem Domain
Bla, bla, bla….
1.1.1. Next Section
More bla bla …
8
Bla, bla, bla….
1.2. Physical Robot Problems
More bla bla…
2. Previous Work (Literature Review)
Most existing and future robotic applications are geared towards the military, workspace, and home.
Military use promises to be a strong source of growth for the robotics community. Since its formation in
1990 the federally funded Joint Robotics Program (JRP) has received substantial funding averaging
around 12 million dollars per year. The main purpose of the program is to develop autonomous and
remotely operated robots for use in surveillance and reconnaissance. The military sees benefits that
robotics have to offer as remotely operated vehicles for surveillance of hostile areas and remote
disarming of explosives [7]. The first area where robots are making our tasks easier is the workplace.
One work area that has promising growth is in the aid to medical technicians. Various robots are
undergoing trials
……..
2.1. Subsection
……
2.2. Subsection
……
3. Methodology
9
Before the implementation of VROBO certain criteria were established to be used as guidelines during
the design and evaluation phases. The criteria are shown below and they are the same as the criteria
used to evaluate virtual modeling and simulation:
• Reduced Cost
• Flexibility
• Complexity
• Portability
• Network/Internet capabilities.
VROBO’s architecture is shown in the block diagram in Figure 1, and the systems functionality is as
follows:
• The user selects a specific robot to
program.
• The programming is done using a generic programming language that was developed
specifically for this system and is based on existing robotic programming languages.
• The program is simulated on the robot that is displayed on the GUI.
• The program can be modified and tried again until the user is satisfied with the results.
• Once the program is complete, the user can download the program to the controller of the
actual robot being simulated.
• During the download phase, a translation is done from the VROBO programming language to
the specific language of the actual robot.
• Finally the program can be executed on the real system.
10
Figure 1. Block diagram of VROBO
The GUI, was built using current Java technologies. The interface consists of four main areas: the
Controller
Selection List Box (CSLB), the Controller Panel (PL), the Robot Selection List Box (RSLB), and
the Robot Panel (RP). When the application is first executed ……….
3.1. Tool Selection and Meeting Cost, Portability and Networking Criteria
In selecting technologies to implement the system, it was necessary to pick tools that would maximize
realization of the goals at hand. Some of the choices may actually meet an entire goal, while others just
encouraged the success of a compliant system. Nevertheless, by the selection of tools, the system was
able to realize large progress for the cost, portability, and networking criteria.
Since the system is based on freely available Java technologies, it was possible to reduce the costs of the
developer and the user of the system. The Java components consisted of both core Java technologies
and the use of add-on libraries. The Java3D API provides the ability to build customized scene graphs
that can be rendered into Java based interfaces using native OpenGL calls on UNIX based and Windows
based systems. In addition to the OpenGL binding, support for native DirectX use is available for
Windows users [26].
High levels of portability were achieved through the selection of Java technologies. This was possible
due to the availability of JREs and Java3D implementations for both UNIX platforms and Microsoft
Windows. Furthermore, since OpenGL implementations are provided on most platforms, it is possible
for the OpenGL Java3D binding to be used on either UNIX or Windows platforms also [1].
GUI
Computer
System
Robotic
Controller
11
Java itself was developed to take advantage of networking from the beginning. In addition, Java makes it
easier to make use of networks and supplies different layers to suit different needs. For example, it
provides high-level APIs to the user for HTTP and FTP protocols while still giving access to lower level
programming interfaces such as sockets [9]. Not only does the Java environment provide mechanisms
for protocol communications, it also provides ways of downloading remote code to be executed either
in the Browser or thru the use of Java Web Start technologies.
3.2. System Design and Implementation
In the previous section, three of the criteria were discussed. The entire criterion for portability was
realized; however, the criteria of cost and networking were only partly fulfilled by choosing Java based
tools. In the case of cost, the only additional gesture that must be performed is the release of the
software as open source. The open source paradigm would allow individuals to freely use and modify
the code without paying licensing fees or having other types of costs incurred [16]. However, that still
leaves the criterion of networking to consider in the design and implementation of the system. This
criterion, accompanied by the criteria not directly affected by the tool selection, results in making
careful design decisions that will increase the overall flexibility, decrease the technical complexity, and
take advantage of the networking capabilities that the Java API has to offer [12].
3.2.1. Flexibility
The system provides a number of controllers and articulated figures via the GUI. These controllers and
articulated figures can be mixed and matched as needed which in itself provides a great deal of
flexibility. The CSLB currently provides the user with three different controllers.
12
Figure 2 shows the MCP controller with the Cobra 600 robot and the ArticulatedLine2D and
ArticulatedLine3D. Each of these controllers can be selected at anytime during the duration of the
program.
…………
4. Experimental Results
4.1. Case Study 1
……..
5. Conclusion
The VROBO system meets most of the criteria considered under the new system development. Due to
the use of freely available JAVA application programming interfaces it was possible to keep the cost of
Figure 2 Screen capture of VROBO using the Joint Actuator controller to articulate the Cobra 600 robot, the
ArticulatedLine2D, and the ArticulatedLine3D respectively.
13
system development to zero. In addition, the system provides the ability to use pre-constructed
controllers and articulated figures, create additional controllers and articulated figures via extension of
JAVA interfaces, and the ability to do offline programming of the robot with the built in language. These
features of the system demonstrate the flexibility of the system. Furthermore, the complexity of the
system is provided in a layered approach with the user only needing to manipulate the articulated
figures through the supplied controllers. The next layer of complexity is the use of the offline
programming capabilities of the system. The user who needs more functionality than these two provide,
can extend the system to create new controllers, robots, and work cells. The reliance on Java APIs
provides the platform-independent capabilities of the system. This is possible because of the multiple
platforms that provide Java Runtime Environments, which the software system developed is capable of
utilizing. Finally, increased networking support is demonstrated thru the use of applets and the
possibilities that are possible by using the networking packages that are available in the JAVA
application-programming interface. Since the system that was developed significantly reduces the
barriers that impede the development of robotics programs, it is more likely for these programs to be
implemented and utilized to meet the current and future needs of the robotics industry.
6. References
[1] Angel, Edward. Interactive Computer Graphics: A Top Down Approach with OpenGL.
Reading: Addison Wesley Longman, Inc., 2000.
[2] “The Availability of Low-Cost Prototyping.” Prime Faraday Technology Watch. November
2001.
http://www.primetechnologywatch.org.uk/documents/low-cost-prototyping
[3] Bouvier, Dennis J. “Chapter 2: Getting Started.” Getting Started with the Java API. Sun
Microsystems, Inc., 2001.
[4] Brooks, Rodney. “Humanoid Robots.” Communications of the ACM. Vol. 45 No. 3 (March 2002): 59-
63.
[5] Brutzman, Donald P. “Dissertation: A Virtual World for an Autonomous Underwater Vehicle.” Naval
Post Graduate School. Dec. 1994. 2 Nov. 2002.
[6] Fuller, James L. Robotics: Introduction, Programming, and Projects. New Jersey: Prentice-Hall, Inc.,
1999
14
[7] “Funding for U.S. Joint Robotics Program expected to rise.” Aerotech News and Review. 14 Jan.
2002. 23 May 2002. http://www.aerotechnews.com/starc/2002/011402/robotics.html
[8] Gaspari, A. L., and N. Lorenzo. “State of the Art of Robotics in General Surgery.” Business Briefing:
Global Healthcare. University of Rome. 2002
http://www.wmrc.com/businessbriefing/pdf/healthcare2002/reference/18
[9] Harold, Elliotte R. Java Network Programming. Cambridge: O’Reilly and Associates, Inc., 1997.
[10] “A History of Educational Robotics.” General Robotics Cooperation. 28 May 2002
http://www.edurobot.com/stories/overview.html
[11] “IPA Delivers Automated System to Debone Pork Loin.” Robotics Newsletter. No. 44 Dec. 2001 and
Jan.
2002. International Federation of Robotics. http://www.ifr.org/newsletter//news/news44.htm
[12] Lambert, Allan and Demetriou, Georgios. “An Extensible Object Oriented Virtual Robotics
Development Platform for use in Robotics Education and Research”, 2003
[13] “Learn More: History.” Robotics Research Group. University of Texas at Austin. 29 May 2002.
http://www.robotics.utexas.edu/rrg/learn_more/history/
[14] Merriam, Charles. “Comp.robotics FAQ.” Aug. 2001. Dec. 2002. http://www.truegift.com/robots/
[15] Michel, Oliver. “Khepera Simulator version 2.0 User Manual.” University of Nice. 1 Mar. 1996. 22
Jan. 2003.
[16] Minansi, Mark. Linux for Windows NT/2000 Administrators. San Francisco: SYBEX, Inc., 2000.
[17] Niku, Saeed B. Introduction to Robotics: Analysis, Systems, Applications. New Jersey: Prentice Hall,
2001.
[18] “Robots Play a Role as Europe Changes to Euro.” Robotics Newsletter. No. 44 Dec. 2001 and Jan.
2002. International Federation of Robotics. http://www.ifr.org/newsletter//news/news44.htm
[19] “RoboWorks Frequently Asked Questions.” Newtonium. 9 Dec. 2001. 1 Oct. 2002.
http://www.newtonium.com/public_html/Products/RoboWorks/RoboWorks_faq.htm
[20] “RoboWorks Support.” Newtonium. 9 Dec. 2001. 2 Sep. 2002.
http://www.newtonium.com/public_html/Products/RoboWorks/RoboWorks_support.htm
[21] Rosenblatt, M. and Choset, H. “Designing and Implementing Hands-On Robotics Labs.” IEEE
Intelligent Systems. Vol. 15 No. 6 (November-December 2000): 32-39.
[22] Smith, Nathan, Christopher Egert, Elisabeth Cuddihy, and Deborah Walters. “Implementing Virtual
Robots in Java3D using a Subsumption Architecture”. State University of New York at Buffalo. Nov.
1999 http://www.cs.buffalo.edu/~egert/papers/webnet99ns
[23] “Solid Growth for Robotics in the Year 2000.” Robotics Newsletter. No. 41 Mar. 2001. International
Federation of Robotics. http://www.ifr.org/newsletter//news/news41.htm
[24] van der Smagt, Patrick. “Simderella: a Robot Simulator for Neuro-controller Design.” Jan 1994.
Department of Computer Systems, University of Amsterdam.
http://www.robotic.dlr.de/Smagt/papers/Sma94b.ps.gz
[25] “Simderella 2.1”. 6 May 1998.
http://www.robotic.dlr.de/Smagt/software/simderella/software/simderella.2.1.tar.gz
[26] “What Can Java Technology Do?” The Java Tutorial. Sun Microsystems. 2003. 2 Feb. 2003.
http://java.sun.com/docs/books/tutorial/getStarted/intro/cando.html
Appendix A – Test Data
15
Note to Students: This section is optional, but if included in the report, the data should be tabulated
using the Microsoft Word Table construct. A page of representative test data (single spaced) usually
helps bolster any claims you make about the resutls of your project, and can be useful as a starting point
for in-depth discussion.
Appendix B – Technology Transfer Plan
Note to students: A technology transfer plan is an optional one or two paragraph summary of
how you plan to introduce the results of your project to business or industry. For example, in the
case of the mythical Astute grading system, one might list (a) corporate contacts that are
interested in receiving more information about the software (list only companies and individuals
that you have actually spoken to or contacted); (b) possible future applications that your project
results could address, and how you plan to develop such applications; and (c) market potential
for your project results, if you have such information. Don’t include a lot of wordy nonsense,
just a tight summary.
Appendix C – Code
Here you must include your code and other necessary information you thing is relevant.
Lecture 11:
Navigation
Dr. Giorgos A. Demetriou
Department of Computer Engineering and Computer Science
School of Engineering and Applied Sciences
g.demetriou@frederick.ac.cy
http://staff.fit.ac.cy/com.dg
All lectures are based on the Lectures developed at ETH by Roland Siegwart, Margarita Chli and Martin Rufli
mailto:g.demetriou@fit.ac.cy
http://staff.fit.ac.cy/com.dg
Navigation is composed of localization, mapping and motion planning
Dr. Giorgos A. Demetriou ACSC 414 – Robotics 2
We have come a long way since Shakey!
Dr. Giorgos A. Demetriou ACSC 414 – Robotics 3
Motion Planning
State-space and obstacle representation
• Work space
• Configuration space
Global motion planning
• Optimal control (not treated)
• Deterministic graph search
• Potential fields
• Probabilistic / random approaches
Local collision avoidance
BUG
VFH
DWA
…
Glimpses into state of the art methods
Dynamic environments
Interaction
Dr. Giorgos A. Demetriou ACSC 414 – Robotics 4
The problem: find a path in the work space (physical space) from an initial
position to a goal position avoiding all collisions with obstacles
Assumption: there exists a good enough map of the environment for navigation.
Topological
Metric
Hybrid methods
Dr. Giorgos A. Demetriou ACSC 414 – Robotics 5
We can generally distinguish between
(global) path planning and
(local) obstacle avoidance.
First step:
Transformation of the map into a representation useful for planning
This step is planner-dependent
Second step:
Plan a path on the transformed map
Third step:
Send motion commands to controller
This step is planner-dependent (e.g. Model based feed forward, path following)
Dr. Giorgos A. Demetriou ACSC 414 – Robotics 6
State or configuration q can be described with k values qi
Dr. Giorgos A. Demetriou ACSC 414 – Robotics 7
Mobile robots operating on a flat ground have 3 DoF: (x, y, θ)
For simplification, in path planning mobile roboticists often assume that the
robot is holonomic and that it is a point. In this way the configuration space is
reduced to 2D (x,y)
Because we have reduced each robot to a point, we have to inflate each obstacle
by the size of the robot radius to compensate.
Dr. Giorgos A. Demetriou ACSC 414 – Robotics 8
Planning and Navigation I: Global Path Planning
Dr. Giorgos A. Demetriou ACSC 414 – Robotics 9
1. Optimal Control
Solves for the truly optimal solution
Becomes intractable for even moderately
complex and/or nonconvex problems
2. Potential Field
Imposes a mathematical function over the
state/configuration space
Many physical metaphors exist
Often employed due to its simplicity and
similarity to optimal control solutions
Dr. Giorgos A. Demetriou ACSC 414 – Robotics 10
3.
Identify a set of edges and connect them to
nodes within the free space
Where to put the nodes?
Overview
Solves a two-point boundary problem in the continuum
Not treated in this course
Limitations
Becomes very hard to solve as problem dimensionality increases
Prone to local optima
Algorithms
Pontryagin maximum principle
Hamilton-Jacobi-Bellman
Dr. Giorgos A. Demetriou ACSC 414 – Robotics 11
Robot is treated as a point under the
influence of an artificial potential field.
Operates in the continuum
Generated robot movement is similar to
a ball rolling down the hill
Goal generates attractive force
Obstacle are repulsive forces
Dr. Giorgos A. Demetriou ACSC 414 – Robotics 12
Generation of potential field function U(q)
Attracting (goal) and repulsing (obstacle) fields
Summing up the fields
Functions must be differentiable
Generate artificial force field F(q)
Set robot speed (vx, vy) proportional to the force F(q) generated by the field
The force field drives the robot to the goal
Robot is assumed to be a point mass (non-holonomics are hard to deal with)
Method produces both a plan and the corresponding control
Dr. Giorgos A. Demetriou ACSC 414 – Robotics 13
Potential Field Generation
Parabolic function representing the Euclidean distance
to the goal
Attracting force converges linearly towards 0 (goal)
Dr. Giorgos A. Demetriou ACSC 414 – Robotics 14
Should generate a barrier around all the obstacle
Strong if close to the obstacle
Not influence if fare from the obstacle
ρ(q) minimum distance to the object
Field is positive or zero and tends to infinity as q gets closer to the object
Dr. Giorgos A. Demetriou ACSC 414 – Robotics 15
Notes:
Local minima problem exists
Problem is getting more complex if the robot is not considered as a point mass
If objects are non-convex there exists situations where several minimal distances exist
→ can result in oscillations
Dr. Giorgos A. Demetriou ACSC 414 – Robotics 16
Potential Field Path Planning:
Additionally a rotation potential field
and a task potential field is introduced
Rotation potential field
Force is also a function of robots
orientation relative to the obstacles.
This is done using a gain factor that
reduces the repulsive force when
obstacles are parallel to robot’s
direction of travel
Task potential field
Filters out the obstacles that should
not influence the robots movements,
i.e. only the obstacles in the sector in
front of the robot are considered
Dr. Giorgos A. Demetriou ACSC 414 – Robotics 17
Hydrodynamics analogy
Robot is moving similar to a fluid particle following its stream
Ensures that there are no local minima
Boundary Conditions:
Neuman
• Equipotential lines orthogonal on object boundaries (as in image above!)
• Short but dangerous paths
Dirichlet
• Equipotential lines parallel to object boundaries
• Long but safe paths
Dr. Giorgos A. Demetriou ACSC 414 – Robotics 18
Overview
Solves a least cost problem between two states on a (directed) graph
Graph structure is a discrete representation
Limitations
State space is discretized completeness is at stake
Feasibility of paths is often not inherently encoded
Algorithms
(Preprocessing steps)
Breath first
Depth first
Dijkstra
A* and variants
D* and variants
Dr. Giorgos A. Demetriou ACSC 414 – Robotics 19
Graph Search
C wikipedia.org
Methods
Visibility graph
Voronoi diagram
Cell decomposition
…
Dr. Giorgos A. Demetriou ACSC 414 – Robotics 20
Particularly suitable for polygon-like obstacles
Shortest path length
Grow obstacles to avoid collisions
Dr. Giorgos A. Demetriou ACSC 414 – Robotics 21
Pros
The found path is optimal because it is the shortest length path
Implementation simple when obstacles are polygons
Cons
The solution path found by the visibility graph tend to take the robot as close as
possible to the obstacles: the common solution is to grow obstacles by more than
robot’s radius
Number of edges and nodes increases with the number of polygons
Thus it can be inefficient in densely populated environments
Dr. Giorgos A. Demetriou ACSC 414 – Robotics 22
In contrast to the Visibility Graph approach, the Voronoi Diagram tends to
maximize the distance between robot and obstacles
Easily executable: Maximize the sensor readings
Works also for map-building: Move on the Voronoi edges: 1D Mapping
Dr. Giorgos A. Demetriou ACSC 414 – Robotics 23
Pros
Using range sensors like laser or sonar, a robot can navigate along the Voronoi
diagram using simple control rules
Cons
Because the Voronoi diagram tends to keep the robot as far as possible from
obstacles, any short range sensor will be in danger of failing
Peculiarities
When obstacles are polygons, the Voronoi map consists of straight and parabolic
segments
Dr. Giorgos A. Demetriou ACSC 414 – Robotics 24
Divide space into simple, connected regions called cells
Determine which open cells are adjacent and construct a connectivity graph
Find cells in which the initial and goal configuration (state) lie and search for a
path in the connectivity graph to join them.
From the sequence of cells found with an appropriate search algorithm, compute
a path within each cell.
e.g. passing through the midpoints of cell boundaries or by sequence of wall following
movements.
Possible cell decompositions:
Exact cell decomposition
Approximate cell decomposition:
• Fixed cell decomposition
• Adaptive cell decomposition
Dr. Giorgos A. Demetriou ACSC 414 – Robotics 25
Dr. Giorgos A. Demetriou ACSC 414 – Robotics 26
Dr. Giorgos A. Demetriou ACSC 414 – Robotics 27
Dr. Giorgos A. Demetriou ACSC 414 – Robotics 28
Enforces edge feasibility
Dr. Giorgos A. Demetriou ACSC 414 – Robotics 29
State lattice encodes only kinematically feasible edges
Dr. Giorgos A. Demetriou ACSC 414 – Robotics 30
Methods
Breath First
Depth First
Dijkstra
A* and variants
D* and variants
…
Discriminators
f(n) = g(n) + εh(n)
g(n‘) = g(n) + c(n,n‘)
Dr. Giorgos A. Demetriou ACSC 414 – Robotics 31
Graph Search
Dr. Giorgos A. Demetriou ACSC 414 – Robotics 32
Corresponds to a wavefront expansion on a 2D grid
Use of a FIFO queue
First-found solution is optimal if all edges have equal costs
Dijkstra‘s search is an “g(n)-sorted” HEAP variation of breadth first search
First-found solution is guaranteed to be optimal no matter the cell cost
Dr. Giorgos A. Demetriou ACSC 414 – Robotics 33
Graph Search Strategies: Breadth-First Search
Use of a LIFO queue
Memory efficient (fully explored subtrees can be deleted)
Dr. Giorgos A. Demetriou ACSC 414 – Robotics 34
Similar to Dijkstra‘s algorithm, A* also uses a HEAP (but “f(n)-sorted”)
A* uses a heuristic function h(n) (often euclidean distance)
f(n) = g(n) + εh(n)
Dr. Giorgos A. Demetriou ACSC 414 – Robotics 35
Similar to A* search, except that the search begins from the goal outward
f(n) = g(n) + εh(n)
First pass is identical to A*
Subsequent passes reuse information from previous searches
Dr. Giorgos A. Demetriou ACSC 414 – Robotics 36
Most popular version is the rapidly exploring random tree (RRT)
Well suited for high-dimensional search spaces
Often produces highly suboptimal solutions
Dr. Giorgos A. Demetriou ACSC 414 – Robotics 37
Planning and Navigation II: Obstacle Avoidance
Dr. Giorgos A. Demetriou ACSC 414 – Robotics 38
The goal of obstacle avoidance algorithms
is to avoid collisions with obstacles
They are usually based on a local map
Often implemented as a more or less
independent task
However, efficient obstacle avoidance
should be optimal with respect to
The overall goal
The actual speed and kinematics of the
robot
The on-boards sensors
The actual and future risk of collision
Dr. Giorgos A. Demetriou ACSC 414 – Robotics 39
Following along the obstacle to avoid it
Each encountered obstacle is once fully circled before it is left at the point closest
to the goal
Advantages
No global map
required
Completeness
guaranteed
Disadvantages
Solutions are often
highly suboptimal
Dr. Giorgos A. Demetriou ACSC 414 – Robotics 40
Following the obstacle always on the left or right side
Leaving the obstacle if the direct connection between start and goal is crossed
Dr. Giorgos A. Demetriou ACSC 414 – Robotics 41
Environment represented in a grid (2 DOF)
Cell values equivalent to the probability that there is an obstacle
Reduction in different steps to a 1 DOF histogram
The steering direction is computed in two steps:
• All openings for the robot to pass are found
• The one with lowest cost function G is selected
Dr. Giorgos A. Demetriou ACSC 414 – Robotics 42
Accounts also in a very simplified
way for vehicle kinematics
Robot moving on arcs or straight
lines
Obstacles blocking a given
direction also blocks all the
trajectories (arcs) going through
this direction
Obstacles are enlarged so that all
kinematically blocked trajectories
are properly taken into account
Dr. Giorgos A. Demetriou ACSC 414 – Robotics 43
Limitations:
Limitation if narrow areas (e.g. doors) have to be passed
Local minima might not be avoided
Reaching of the goal can not be guaranteed
Dynamics of the robot not really considered
Dr. Giorgos A. Demetriou ACSC 414 – Robotics 44
The kinematics of the robot are considered via search in velocity space:
Circular trajectories : The dynamic window approach considers only circular
trajectories uniquely determined by pairs (v,ω) of translational and rotational
velocities.
Admissible velocities : A pair (v, ω) is considered admissible, if the robot is able to
stop before it reaches the closest obstacle on the corresponding curvature.
(b: breakage)
Dynamic window : The dynamic window restricts the admissible velocities to those
that can be reached within a short time interval given the limited accelerations of the
robot
Dr. Giorgos A. Demetriou ACSC 414 – Robotics 45
Resulting search space
The area Vr is defined as the intersection of the restricted areas, namely,
Dr. Giorgos A. Demetriou ACSC 414 – Robotics 46
Obstacle Avoidance:
Maximizing the objective function
In order to incorporate the criteria target heading, and velocity, the maximum of the
objective function, G(v, ω), is computed over Vr.
Dr. Giorgos A. Demetriou ACSC 414 – Robotics 47
Dynamic Window Approach
Global approach:
This is done by adding a minima-free function (e.g. NF1 wave-propagation) to the
objective function O presented above.
Occupancy grid is updated from range measurements
Dr. Giorgos A. Demetriou ACSC 414 – Robotics 48
Planning and Navigation III: Architectures
Dr. Giorgos A. Demetriou ACSC 414 – Robotics 49
Dr. Giorgos A. Demetriou ACSC 414 – Robotics 50
Pure serial decomposition (e.g. sense-think-act)
Pure parallel decomposition (e.g. via behaviors)
Dr. Giorgos A. Demetriou ACSC 414 – Robotics 51
Executive Layer
Activation of behaviors
Failure recognition
Re-initiating the planner
Dr. Giorgos A. Demetriou ACSC 414 – Robotics 52
Global planning is generally not real-time capable
Planner is triggered when needed: e.g. blockage, failure
Dr. Giorgos A. Demetriou ACSC 414 – Robotics 53
All integrated. No temporal decoupling between planner and executive layer →
see case study
Dr. Giorgos A. Demetriou ACSC 414 – Robotics 54
Planning and Navigation IV: Case Studies
Dr. Giorgos A. Demetriou ACSC 414 – Robotics 55
6 DOF position estimation based on information filter sensor fusion
Dr. Giorgos A. Demetriou ACSC 414 – Robotics 56
Autonomous navigation based on extended D* and traversability maps
Dr. Giorgos A. Demetriou ACSC 414 – Robotics 57
Dr. Giorgos A. Demetriou ACSC 414 – Robotics 58
Direct Creation of Feasible Trajectories
Design of a n-dimensional State Lattice
Guarantees on Solution Optimality
Deterministic search
Global and Local Planning
Unified Framework: Design of a Single Planner
Low Exectution Time (i.e. <0.1[s])
Planner becomes (MP-) Controller
Dr. Giorgos A. Demetriou ACSC 414 – Robotics 59
A common Approach to Motion Planning
Generation of a global path on a 2D grid
• Path smoothing or employment of a local planner
• Control onto the path
Deficiencies
Optimality guarantees (if any) are lost
Fusion of multiple disparate approaches
Dr. Giorgos A. Demetriou ACSC 414 – Robotics 60
Dynamic Environments: often Dealt with via Frequent Replanning
Potential Solution
Addition of motion prediction and interaction into the planning stage
Use of lattice graphs
Dr. Giorgos A. Demetriou ACSC 414 – Robotics 61
Dr. Giorgos A. Demetriou ACSC 414 – Robotics 62
State lattice encodes only kinematically feasible edges
Dr. Giorgos A. Demetriou ACSC 414 – Robotics 63
Planning in 4D: (x, y, heading, velocity)
Dr. Giorgos A. Demetriou ACSC 414 – Robotics 64
- ��Lecture 11: �Navigation�
- Slide Number 9
- Potential Field Path Planning: Potential Field Generation
- Slide Number 38
- Obstacle Avoidance: Dynamic Window Approach
- Slide Number 49
- Slide Number 55
Required Competences for Navigation
Motion Planning in Action
Outline of this Lecture
The Planning Problem (1/2)
The Planning Problem (2/2)
Work Space (Map) → Configuration Space
Configuration Space for a Mobile Robot
Path Planning: Overview of Algorithms
Optimal Control based Path Planning Strategies
Potential Field Path Planning Strategies
Potential Field Path Planning: Attractive Potential Field
Potential Field Path Planning: Repulsing Potential Field
Potential Field Path Planning:
Potential Field Path Planning: Extended Potential Field Method
Potential Field Path Planning: Using Harmonic Potentials
Graph Search
Graph Construction (Preprocessing Step)
Graph Construction: Visibility Graph (1/2)
Graph Construction: Visibility Graph (2/2)
Graph Construction: Voronoi Diagram (1/2)
Graph Construction: Voronoi Diagram (2/2)
Graph Construction: Cell Decomposition (1/4)
Graph Construction: Exact Cell Decomposition (2/4)
Graph Construction: Approximate Cell Decomposition (3/4)
Graph Construction: Adaptive Cell Decomposition (4/4)
Graph Construction: State Lattice Design (1/2)
Graph Construction: State Lattice Design (2/2)
Graph Search
Graph Search Strategies: Breadth-First Search
Graph Search Strategies: Breadth-First Search
Graph Search Strategies: Depth-First Search
Graph Search Strategies: A* Search
Graph Search Strategies: D* Search
Graph Search Strategies: Randomized Search
Obstacle Avoidance (Local Path Planning)
Obstacle Avoidance: Bug1
Obstacle Avoidance: Bug2
Obstacle Avoidance: Vector Field Histogram (VFH)
Obstacle Avoidance: Vector Field Histogram+ (VFH+)
Obstacle Avoidance: Limitations of VFH
Obstacle Avoidance: Dynamic Window Approach
Dynamic Window Approach
Obstacle Avoidance: GlobalDynamic Window Approach
Basic architectural example
Control decomposition
General Tiered Architecture
A Three-Tiered Episodic Planning Architecture
An integrated planning and execution architecture
Localization –Position Estimation
Planning in Mixed Environments
Navigation in Dynamic Environments
Way Forward: Planning Prerequisites
Dynamic Environments (1/2)
Dynamic Environments (2/2)
Graph Search on a State Lattice
4D State Lattice
Segway RMP in Narrow Environments