final be report

46
Efficient Coverage and Navigation Algorithm INTERIM PROJECT REPORT FOR EFFICIENT COVERAGE AND NAVIGATION SYSTEM Page 1

Upload: sushant-sanap

Post on 04-Apr-2015

17 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Final Be Report

Efficient Coverage and Navigation Algorithm

INTERIM PROJECT REPORT

FOR

EFFICIENT COVERAGE AND NAVIGATION SYSTEM

Page 1

Page 2: Final Be Report

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

Page 3: Final Be Report

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

Page 4: Final Be Report

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

Page 5: Final Be Report

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

Page 6: Final Be Report

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

Page 7: Final Be Report

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

Page 8: Final Be Report

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

Page 9: Final Be Report

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

Page 10: Final Be Report

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

Page 11: Final Be Report

Efficient Coverage and Navigation Algorithm

USE CASE DIAGRAMS

AND USE CASE

SPECIFICATION

Page 11

Page 12: Final Be Report

Efficient Coverage and Navigation Algorithm

Page 12

Page 13: Final Be Report

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

Page 14: Final Be Report

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

Page 15: Final Be Report

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

Page 16: Final Be Report

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

Page 17: Final Be Report

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

Page 18: Final Be Report

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

Page 19: Final Be Report

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

Page 20: Final Be Report

Efficient Coverage and Navigation Algorithm

CLASS

DIAGRAM

Page 20

Page 21: Final Be Report

Efficient Coverage and Navigation Algorithm

Page 21

Page 22: Final Be Report

Efficient Coverage and Navigation Algorithm

SEQUENCE

DIAGRAM

Page 22

Page 23: Final Be Report

Efficient Coverage and Navigation Algorithm

Page 23

Page 24: Final Be Report

Efficient Coverage and Navigation Algorithm

STATE

CHART

DIAGRAMPage 24

Page 25: Final Be Report

Efficient Coverage and Navigation Algorithm

Page 25

Page 26: Final Be Report

Efficient Coverage and Navigation Algorithm

Page 26

Page 27: Final Be Report

Efficient Coverage and Navigation Algorithm

ACTIVITY

DIAGRAM

Page 27

Page 28: Final Be Report

Efficient Coverage and Navigation Algorithm

Page 28

Page 29: Final Be Report

Efficient Coverage and Navigation Algorithm

PACKAGE

DIAGRAM

Page 29

Page 30: Final Be Report

Efficient Coverage and Navigation Algorithm

Page 30

Page 31: Final Be Report

Efficient Coverage and Navigation Algorithm

COMPONENT DIAGRAM

Page 31

Page 32: Final Be Report

Efficient Coverage and Navigation Algorithm

Page 32

Page 33: Final Be Report

Efficient Coverage and Navigation Algorithm

DEPLOYMEMT

DIAGRAM

Page 33

Page 34: Final Be Report

Efficient Coverage and Navigation Algorithm

Page 34

Page 35: Final Be Report

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

Page 36: Final Be Report

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