final be report
TRANSCRIPT
Efficient Coverage and Navigation Algorithm
INTERIM PROJECT REPORT
FOR
EFFICIENT COVERAGE AND NAVIGATION SYSTEM
Page 1
Efficient Coverage and Navigation Algorithm
MAHARASHTRA ACADEMY OF ENGINEERING & EDUCATIONAL
RESEARCH’S
MAHARASHTRA INSTITUTE OF TECHNOLOGY, PUNE
DEPARTEMENT OF COMPUTER ENGINEERING
CERTIFICATE
This is to certify that (Aniket Sakore-43061;Sushant Sanap-43063;Sarvesh Boob-
43065; Priyanka Vhatkar-43021) of B. E. Computer Engineering – Div II successfully
completed interim project work in
Efficient Coverage and Navigation Algorithm
to my satisfaction and submitted the same during the academic year 2009-2010
towards the partial fulfillment of degree of Bachelor of Engineering in Computer
Engineering of Pune University under the Department of Computer Engineering,
Maharashtra Institute of Technology, Pune.
Page 2
Efficient Coverage and Navigation Algorithm
Prof Ms. S.D.OZA Prof.Mrs.V.Y.Kulkarni
(Project guide) (Head, Computer Engg Department)
Project Title:
Intelligent and Efficient Navigation and Maximum Area coverage
algorithm.
Project Partners:
1. Aniket Sakore
Roll no. : 43061
Mobile : 9028788465
2. Sushant Sanap
Roll no. : 43063
3. Sarvesh Boob
Roll no. : 43065
4. Priyanka Vhatkar
Roll no. : 43021
Company Name:
Burgeon Systems Private Limited
External Guide:
Mr. Jesudas Fernandes.
Mobile: 9890489401
Page 3
Efficient Coverage and Navigation Algorithm
Internal Guide: Ms. Oza.
Problem Statement:
Implementing an algorithm to control a robotic platform, for
intelligent and efficient navigation with maximum area coverage,
in the shortest possible time.
Literature Survey:
A solution to the SLAM (Simultaneous Localization & Mapping) problem has been
seen as a "holy grail" for mobile robotics community as it would provide the means to make
a robot truly autonomous.
Current Solutions to the SLAM Problem
Stereo rigs to build small indoor environments) modeled the world as a collection of
straight line segments and tracked lines' positional uncertainty with Kalman filters.
Performance of map-based localization using different sensing devices, such as, monocular,
trinocular or laser rangefinder, they concluded that all methods have comparable
precision, but vision systems provide more information, showing that the use of efficient
matching algorithms could provide a way to achieve better results.
Summary from Current Solutions: Filters in SLAM
Robotic map-building can be traced back to 25 years ago, and since the 1990s probabilistic
Approaches (i.e. Kalman Filters (KF), Particle Filters (PF) and Expectation Maximization
(EM)) have become dominant in SLAM. The three techniques are mathematical derivations
of the recursive Bayes rule. The main reason for this probabilistic techniques popularity is
the fact that robot mapping is characterized by uncertainty and sensor noise, and
Page 4
Efficient Coverage and Navigation Algorithm
probabilistic algorithms tackle the problem by explicitly modeling different sources of
noise and their effects on the measurements.
Kalman Filters and its Variations
KF SLAM relies on the assumption that the state transition and the measurement functions
are linear with added Gaussian noise, and the initial posteriors are also Gaussian. There are
two main variations of KF in state-of-the-art SLAM: the Extended Kalman Filter (EKF) and
its related Information Filtering (IF) or Extended IF (EIF). The EKF accommodates the
nonlinearities from the real world, by approximating the robot motion model using linear
functions.
Bayes Filters
Bayesian filtering is predicated on the idea that spam can be filtered out based on the
probability that certain words will correctly identify a piece of e-mail as spam .Bayesian
filters are adaptable in that the filter can train itself to identify new patterns of spam and
can be adapted by the human user to adjust to the user. Proponents of Bayesian filters
assert that the filters return less than one percent of false positives.
Particle Filter Based Methods
It executes SMC estimation by a set of random point clusters ('particles') representing the
Bayesian posterior. In contrast to parametric filters (e.g., KF), PF represents the
distribution by a set of samples drawn from this distribution, what makes it capable of
handling highly nonlinear sensors and non-Gaussian noise. However, this ability produces
a growth in computational complexity on the state dimension as new landmarks are
detected, becoming not suitable for real time applications. For this reason, PF has only been
successfully applied to localization, i.e. determining position and orientation of the robot,
but not to map-building, i.e. landmark position and orientation.
Page 5
Efficient Coverage and Navigation Algorithm
Problem Definition:
Specific Requirements
a) ECNA shall perform self-test on startup.
b) Robotic platform shall navigate through the entire (maximum) area given.
i. Once the robotic platform is navigated though one part of the area it
shall not come back to the same area until and unless it is necessary.
ii. If robotic platform complete the navigation then it should come back
to the charging center and get charged by charger.
c) ECNA shall detect all the static obstacles and accordingly alter the movement.
d) At any time while navigation if the battery of the robotic platform is low then
it shall go towards charging center.
Project Scope:
We describe what features are in the scope of the software to be developed.
a. To develop an algorithm in software for efficient area coverage and navigation.
b. Along with minimum repetition of area.
c. Fully autonomous operations including autonomous use of a simple charging
station.
d. Path planning and execution.
e. Code optimization, time minimization.
Page 6
Efficient Coverage and Navigation Algorithm
System Architecture:
Modules of the ECNA:
1. Motion control module :
This module is responsible for the overall movement. This module consists of
functions like start, stop, forward / backward movement and rotation by a
specific angle. It sends and receives signals from the hardware abstraction
layer which in turn is passing them to & accepting them from the respective
hardware components.
2. Memory management module :
This module is responsible for management of the memory. It makes the
image of the surrounding in the form of a 2D array. It then manages all the
changes made to this array during the working of the software. The inputs to
this module is given by the sensor control module. This is the most important
module of the whole software.
3. Sensor control :
This module is responsible for taking the inputs from the hardware
components. The inputs are given to the hardware abstraction layer by the
different hardware components and then passed on to the respective
software components.
4. Self test :
This module is responsible for conducting a self test to ensure that all the
modules and their functions are properly working. This test will be followed
by normal working if the test is successful.
5. Position detection module.
Page 7
Efficient Coverage and Navigation Algorithm
6. Obstacle avoidance module.
The Low Level Design diagram shows the modules of the ECNA system.
Dig. Low Level Design.
Page 8
Efficient Coverage and Navigation Algorithm
Hardware and Software Requirements:
Development Environment
Development Platform
Desktop with USB port with windows XP.
Platform tools for project development
Version management.
Defect management.
Testing.
Embedded development tools
Compiler for C/C++ language.
Cross-compiler for target microcontroller.
Debugging tool.
Hardware Requirement:
A hardware platform to deploy the designed software.
Memory Constraints
Software will require on chip memory of at least 128K program memory and at
least 16K RAM.
Page 9
Efficient Coverage and Navigation Algorithm
Feasibility study:
The typical approach is a three level structure in which the bottom level interacts with
the world using reactive strategies (EXECUTION LEVEL). The middle Level employs
symbolic strategies to perform simple logical operations on sensor data (TACTICAL
LEVEL) and the top level (STRATEGIC LEVEL) performs planning and reasoning.
The main convergence of project will be on entire area coverage. Any place will be visited
again only if it is necessary. Initially the robotic platform will be capable of fully
autonomous operation, including autonomous use of a simple charging station.
Path planning and execution is a well-known operation, but inclusion of energy
optimization, time minimization may make it more complex.
The Design Details:
Page 10
Efficient Coverage and Navigation Algorithm
USE CASE DIAGRAMS
AND USE CASE
SPECIFICATION
Page 11
Efficient Coverage and Navigation Algorithm
Page 12
Efficient Coverage and Navigation Algorithm
Name:
Provide digital input from sensors.
Identifier: UCD 01
Actors:
Hardware Abstraction Layer (HAL)
Description:
UCD 01 signifies that the HAL provide input from sensors which are
first need to be converted from analogous to digital format. The input
may be from IR or UV sensors. HAL also provide the input from
physical contact switches.
Basic Course:
1. Use case begins when system is in navigation mode and it needs input data from
sensors or physical contact switches.
2. System makes use of sensor data for obstacle detection and to find direction at
maximum/minimum area present.
3. Use case ends when the system completes the one step of navigation.
Preconditions:
1. System is in navigating state when it needs input from HAL.
Page 13
Efficient Coverage and Navigation Algorithm
Condition:
HAL layer provide input in digital format to the system for its use.
Post conditions:
The sensor input in digital format provided by HAL will be used by
system for obstacle detection.
Included Use Cases:
Convert analogous input into digital format.
Generalized use cases.
1) Provide input from IR sensors.
2) Provide input from UV sensors.
3) Provide input from physical switches.
Name:
1) Move the robotic platform in specific direction.
2) Check the area coverage status.
Identifier: UCD 02
Actors:
Area Coverage Unit (ACU)
Page 14
Efficient Coverage and Navigation Algorithm
Description:
UCD 03 signifies that ACU guides the movement in specific direction.
ACU also checks for the area coverage status for maximum efficiency.
Basic Course:
4. Use case begins when system is in navigation mode and it wanted to move in
specific direction.
5. System navigates in specific direction for one step.
6. Use case ends when the system completes the one step of navigation.
Preconditions:
2. The direction of navigation has been determined now system wants to move in
specific direction.
Condition:
ACU navigates the machine in specific direction.
Post conditions:
System is checking for obstacles and to which direction to move.
Actor Generalization:
Actors PDU, ACU and OAU are in generalization.
Name: Update memory positions.
Identifier: UCD 03
Actors:
Memory Management Unit (MMU)
Page 15
Efficient Coverage and Navigation Algorithm
Description:
UCD 03 signifies that the MMU plots the graph of area to be covered
for plotting graph it is dependent on updating memory positions. This
graph is used to check coverage status and guide machine to original
position.
Basic Course:
7. Use case begins when system is in navigation mode and covers one step of area.
8. The memory position gets updated as per the coverage.
9. Use case ends when the system completes the one step of navigation.
Preconditions:
3. System is in navigating state.
Condition:
1. The memory position gets updated as per the coverage.
Post conditions:
The system moves to the next step for coverage.
Dependent use cases:
Plot the graph.
Check area coverage status.
Guide navigation to original position.
Name:
Page 16
Efficient Coverage and Navigation Algorithm
3) Determine direction of navigation.
4) Find start position.
Identifier: UCD 04
Actors:
Position Detection Unit (PDU)
Description:
UCD 04 signifies that PDU determine the direction of navigation.
PDU also finds the start position when area coverage is complete.
Basic Course:
10. Use case begins when system is in navigation mode and wants to determine
direction of further navigation.
Page 17
Efficient Coverage and Navigation Algorithm
11. Use case ends when System determines direction.
Preconditions:
4. The ACU calls the PDU to determine direction of navigation
Condition:
PDU determines the direction of navigation.
Post conditions:
ACU moves the system for one step by referring the direction.
Actor Generalization:
Actors PDU, ACU and OAU are in generalization.
Name:
Determine alternate path.
Identifier: UCD 05
Actors:
Obstacle Avoidance Unit (OAU)
Page 18
Efficient Coverage and Navigation Algorithm
Description:
UCD 05 signifies that OAU detect the obstacles in navigation path for
this it uses collaboration of many functions like checking sensor data,
checking memory, updating memory. Determination of alternate path
is realizes detect the obstacle.
Basic Course:
12. Use case begins when system is in navigation mode and check for the obstacles.
13. OAU detects obstacles.
14. Use case ends when System determines alternate path.
Preconditions:
The ACU calls the OAU to determine alternate path if obstacle found.
Condition:
OAU detects obstacle and determines the alternate path of navigation.
Post conditions:
ACU moves the system for one step by referring the alternate path.
Actor Generalization:
Actors PDU, ACU and OAU are in generalization.
Page 19
Efficient Coverage and Navigation Algorithm
CLASS
DIAGRAM
Page 20
Efficient Coverage and Navigation Algorithm
Page 21
Efficient Coverage and Navigation Algorithm
SEQUENCE
DIAGRAM
Page 22
Efficient Coverage and Navigation Algorithm
Page 23
Efficient Coverage and Navigation Algorithm
STATE
CHART
DIAGRAMPage 24
Efficient Coverage and Navigation Algorithm
Page 25
Efficient Coverage and Navigation Algorithm
Page 26
Efficient Coverage and Navigation Algorithm
ACTIVITY
DIAGRAM
Page 27
Efficient Coverage and Navigation Algorithm
Page 28
Efficient Coverage and Navigation Algorithm
PACKAGE
DIAGRAM
Page 29
Efficient Coverage and Navigation Algorithm
Page 30
Efficient Coverage and Navigation Algorithm
COMPONENT DIAGRAM
Page 31
Efficient Coverage and Navigation Algorithm
Page 32
Efficient Coverage and Navigation Algorithm
DEPLOYMEMT
DIAGRAM
Page 33
Efficient Coverage and Navigation Algorithm
Page 34
Efficient Coverage and Navigation Algorithm
A Time Line Analysis of ECNA :
NO.Date Activity
1 14/08/2010 Rough sketch of synopsis
2 19/08/2010Basic coding exercise
Discussion about basic implementation logic
3 26/08/2010
Discussion about simple hardware components and
modules.Discussion about simulation.
4 2/09/2010Discussion about PDLC and
SRS
5 16/09/2010Version 1.0 of simulation is
complete.
6 25/09/2010Discussion about
backtracking logic and Use case diagrams.
7 30/09/2010SRS completed
Implementation of backtracking logic.
8 7/10/2010Discussion about UML
diagrams .
Page 35
Efficient Coverage and Navigation Algorithm
References
1. AM 78 Coverage Strategies submitted by Stephen Lai Chee Chong
2. SLAM for Dummies A Tutorial Approach to Simultaneous Localization and
mapping
3. Autonomous Mobile Robots Progress Report Nuno Gomes Joaquim Ferreira.
4. Omid Panah, Amir Panh, Amin Panah and Abolfazl Akbari,”Robot Movement
Optimization with Using Localization Algorithms”
5. Linan Jiao and Zhenmin Tang ,”A Visibility-based Algorithm for Multi-robot
Boundary Coverage”
6. Enrique González, Oscar Álvarez, Yul Díaz, Carlos Parra, Cesar
Bustacara ,“BSA: A Complete Coverage Algorithm”
Page 36