Robot Route Planning using Cellular Automata - PowerPoint PPT Presentation

1 / 51
About This Presentation
Title:

Robot Route Planning using Cellular Automata

Description:

Such a system which is fully automated is called ... if MFj = false. add j to TODO list and set MFj = true. previous_cellj = i. Route Planner Algorithm ... – PowerPoint PPT presentation

Number of Views:79
Avg rating:3.0/5.0
Slides: 52
Provided by: joen157
Category:

less

Transcript and Presenter's Notes

Title: Robot Route Planning using Cellular Automata


1
Robot Route Planning using Cellular Automata
  • MS Report

Shashidhar Rampally
2
Presentation Outline
  • Overview and Problem Statement
  • Cellular Automata
  • Route-Planner Algorithm
  • Simulation using Cellular Automata
  • Experimental Analysis
  • Conclusions Recommendations

3
Overview
  • Robots are increasingly being used these days in
    industry for material handling, storage and
    retrieval.
  • Adding new items to the inventory
  • Retrieving items from the inventory
  • Moving items around

4
Overview contd..
  • Such a system which is fully automated is called
    Automatic Storage and Retrieval System(ASRS)
  • Some storage and retrieval systems are very
    large, covering areas in excess of 50,000 m2.
  • A WALMART warehouse
  • Some storage systems are very small covering an
    area of hundred square meters or less
  • A book library

5
ASRS
  • Bar codes are usually used to identify products,
    storage locations and some times the handling
    units.

6
ASRS contd..
  • Pallet racking and tote bins are usually the
    preferred storage medium.

Tote bins
Pallet racking
7
Robotic Librarian
Front view of a column of shelf holding books
A robot in the process of returning a book to
the shelves
8
Robots in action
A robotic arm retrieving an item from the shelf
A stacker crane within an aisle of pallet racking
9
Problem Statement
  • Robots need to reach their destinations to get
    the job done. So, if we route the robots quickly
    to their destinations, we can process the
    requests speedily.
  • The application of Cellular Automata to the
    problem of robot route planning is presented.

10
Cellular Automata
  • A Cellular automaton consists of regular discrete
    lattice of cells.
  • Each cell has a state.
  • The evolution takes place in discrete time steps.
  • Each cell evolves according to the same rule,
    which depends only on the state of the cell and a
    finite number of neighboring cells.

11
Cellular Automata
  • Formally, we can define cellular automata as
  • 4-tuple (L, S, N, f).
  • L is a regular lattice of cells.
  • S is a finite set of states.
  • N is a finite set of neighborhood indices of size
    N n.
  • f Sn-gtS is the transition function

12
Cellular Automata contd
  • The factors that affect a cellular automaton
    include
  • Lattice Geometry
  • Neighborhood Size
  • Initial Conditions
  • Transition rules

13
Types of Neighborhood
von Neumann Neighborhood radius 1
14
Types of Neighborhood
von Neumann Neighborhood radius 2
15
Types of Neighborhood
Moore Neighborhood radius 1
16
Types of Neighborhood
Moore Neighborhood radius 2
17
Cellular Automata contd...
  • It must be noticed here that important features
    of cellular automaton are locality and
    homogeneity.
  • Cell i j t1 depends on
  • Cell i-1 j t Cell i1 j t
  • Cell i j-1 t Cell i j1 t

18
Applications of Cellular Automata
  • Simulation of Particle-Diffusion and
    Particle-Reaction systems
  • Computer Architectures CAM-8, CEPRA
  • Cryptography
  • Traffic Simulations to study Traffic behavior
  • Simulation of Physical Phenomena such as
    heat-flow, turbulence, earth-quake propagation,
    forest fire etc.

19
Simulation using Cellular Automata
  • We assume there are fixed number of robots, which
    share the same workspace.
  • The workspace consists of cells
  • arranged in the form of a two-
  • dimensional grid.
  • Each cell represents a block made
  • up of four two-way streets and an
  • intersection connecting these streets.

A cell
20
Simulation using Cellular Automata
  • Each robot needs a finite amount of space, which
    we call a road-cell.
  • The traffic follows a multi-speed model. Hence,
    velocities between 0 and Vmax are permitted.

road cell
21
Robot motion
  • If V is the velocity of a robot and
  • gap is the distance to the robot ahead.
  • Acceleration
  • If (gap gt V) and (V lt Vmax) then
  • V V 1
  • Deceleration
  • If (gap lt V) then
  • V gap

22
Storage and Retrieval requests
  • A Poisson process is usually used to model real
    world events.
  • Hence, the jobs for the robots are assumed to
    arrive with a Poisson distribution. Therefore the
    inter-arrival times for these jobs is distributed
    exponentially.

A Poisson Process
t1 t2 t3 t4
t5
23
Scheduling Algorithm
  • Initially, the system does not have any robots.
  • The robots are introduced into the system as the
    requests for the jobs arrive.
  • Each such request has a pick-up location and a
    drop-off location.
  • A robot is said to be BUSY when it is moving
    towards its destination to handle a request.

24
Scheduling Algorithm
  • When a robot reaches its destination, it enters a
    REACHED state. It waits for some period of time
    at the destination to process the request.
  • A robot then enters FREE state again.

FREE
BUSY
REACHED
25
Route Planner Algorithm
  • Finds the quickest route from the start cell to
    the goal cell.
  • Involves two stages
  • Cost Estimation
  • Cost minimization Path Generation
  • Cost Estimation
  • The cost of a cell is the maximum waiting time of
    a robot in each of the 8 one-way streets. This
    information is encapsulated in an instance of the
    CellCost class.
  • Taken together set of all such instances for the
    whole grid is called the map cost (MC) array.

26
Route Planner Algorithm
  • Cost Minimization Path Generation
  • Cost minimization uses the map cost (MC) array as
    input and generates a Best-Cost (BC) array as
    output.
  • At completion of cost minimization, each cell in
    the BC array contains the cost of the lowest-cost
    path from the start cell to that cell. By cost we
    mean the time to reach the cell from the start.
    Path generation uses the BC array as input and
    produces the optimal path from the start cell to
    the goal cell.

27
Route Planner Algorithm
  • 1. Initialization
  • Set all BCi infinity
  • Set all MFi false (MF is a map flag array)
  • TODO list is empty
  • BCstart 0
  • Add the start cell to the TODO list
  •  

28
Route Planner Algorithm
  •  2. Cost minimization
  • loop until TODO list is empty
  • Select and remove the top cell i from the TODO
    list
  • For each neighbor j of i (four neighbors)
  • cost BCi COSTij //Cost of reaching j from
    // the start cell through i
  • if cost lt BCj
  • BCj cost
  • if MFj false
  • add j to TODO list and set MFj true
  • previous_cellj i
  •  

29
Route Planner Algorithm
  •  3. Path generation
  • Initialize path cell goal cell
  • loop until previous_cellpath cell ! start
    cell path cell previous_cellpath cell
  • next step path cell
  •  

30
Example
The map cost values (MC) are indicated by the
upper left number in each cell. Best-cost (BC)
values are indicated by the lower number in each
cell. All the best-cost values are initially set
to infinity. The best-cost value of start cell is
set to 0.
31
Example
The start cell has processed its neighboring
cells. The neighboring cells of the start cell
have new best cost and are added to the TODO
list. The start cell is now off the TODO list.
32
Example
Search complete. BCgoal ( 8) is the cost of the
optimal path from the start to the goal. The path
is found from the goal by selecting the
neighboring cell, which resulted in that cell
which resulted in the current cell having the BC
value.
33
Implementation
  • A separate thread implements the transition
    function of each cell. So, for a n X n grid, we
    have n2 threads.
  • At the beginning of each time step, a cell sends
    its borders to its neighbors. A border contains
    information about robots crossing over to other
    cell.
  • Therefore a cell can go into the next time-step
    only when it has borders available from all the
    neighboring cells from the previous time-step.
  • A message passing mechanism using Bounded Buffers
    is used for passing borders to the neighbors.

34
Class Diagram
35
Implementation contd..
  • The display proceeds independent of the cellular
    automaton.
  • At the end of every time step, each cell in the
    2D lattice captures the current state of the cell
    and sends the information to the Display-Grid.
  • The display thread reads the information in the
    Display-Grid from time to time to update the
    display

36
Class Diagram
37
Implementation contd..
  • At the beginning of each time step, a cell
    computes its current cost information (i.e. the
    cost of crossing that cell) and sends the cost
    information to the Cost-Grid.
  • Along with this cost information, a cell sends
    any associated routing requests (of the robots
    waiting at the junction in that cell).
  • The Route-Planner thread polls this Cost-Grid and
    processes all the routing requests.

38
Implementation contd..
  • The Route-Planner has a thread pool. A thread
    from this thread pool is allocated to process
    each routing request.
  • The routing decisions are sent to the
    NextStep-Grid.
  • Each cell polls this NextStep-Grid to retrieve
    the routing decisions made by the Route-Planner.

39
Class Diagram
40
Simulation Parameters
41
Code
  • 33 classes organized into 5 packages
  • main
  • display
  • store
  • sync
  • util
  • With about 4300 lines of code (including comments)

42
Experimental Analysis
  • The given algorithm can be used in two ways
  • Static Routing decision is made only once for
    each request.
  • Dynamic Routing decision is made for each busy
    robot whenever it reaches a four-way
    junction.

43
Simulation data
44
Conclusions
  • This project was aimed at exploring the
    possibilities of using the cellular automata
    concepts to perform robot route planning.
  • The program finds the quickest route for each
    robot and routes the robot to its destination.
  • By mapping the given problem to a cellular
    automaton we exploit the inherent parallelism
    involved in cellular automata.

45
Conclusions contd..
  • The simulation can be used to determine the
    optimal number of robots required for a given
    workspace and request arrival rate.
  • The simulation helps us to determine the maximum
    and average number of requests waiting in the
    queue to be catered to.
  • This project serves as a base over which other
    routing algorithms can be plugged in and
    simulated to investigate the efficiency of the
    algorithm

46
Recommendations
  • The size of the lattice, number of robots,
    inter-arrival time of requests, road length and
    request processing time were found to influence
    the system.
  • Eliminating loops in the dynamic algorithm.
  • The processing time for all the requests was
    assumed to be constant, the lattice was assumed
    to be perfectly two-dimensional and all the
    robots were assumed to be identical. These
    assumptions may not always be true.

47
References
  • 1 Stiles P. N and Glickstein I. S., Highly
    parallelizable route planner based on cellular
  • automata algorithms, IBM Journal of
    Research and Development, Volume 38.
  • 2 Behring. C, Bracho. M, Castro.M and Mareno J.
    A., An Algorithm for Robot Path
  • Planning with Cellular Automata, Fourth
    International Conference on Cellular
  • Automata for Research and Industry (ACRI)
    proceedings, Karlsruhe, Germany, 2000.
  • http//www.ldc.usb.ve/mcastro/papers/Acri200
    0Paper.PDF
  • 3 Adler J.L and Blue V.J., Toward the design
    of Intelligent Traveler Information
  • Systems, Transportation Research Part C
    Emerging Technologies 157-172
  • http//www.ulster.net/vjblue/itis.pdf
  • 4 Yuan K.H, Hong A.C., Ang M. and Peng G.S.,
    Unmanned Library An Intelligent
  • Robotic Books Retrieval Return System
    Utilizing RFID Tags, IEEE Systems
  • proceedings, Man and Cybernatics, 6-9 Oct
    2002.
  • http//www.cwc.nus.edu.sg/cwcpub/zfiles/IEEE
    _Robotic_Librarian.pdf

48
References
  • 5 An Introduction to Storage and Retrieval
    Systems an article by The Logistics Business.
    http//www.logistics.co.uk/db_pdf/pdf_14.pdf
  • 6 Dupuis A. and Chopard B., Parallel
    Simulation of Traffic in Geneva Using Cellular
  • Automata, Parallel and Distributed Computing
    Practices Journal, 1 (3) 79-92, Sep1998.
  • http//cui.unige.ch/dupuis/Traffic/pdcp98.pdf
  • 7 Wolfram S., Articles on Cellular Automata
  • http//www.stephenwolfram.com/publications/ar
    ticles/ca
  • 8 Schatten A., Cellular Automata Digital
    Worlds tutorial
  • http//www.ifs.tuwien.ac.at/aschatt/info/ca/
    ca.html
  • 9 Weimar J.R., Simulation with Cellular
    Automata
  • http//www.tu-bs.de/institute/WiR/weimar/ZAsc
    ript/ZAscript.html

49
References
  • 10 Poisson Arrival Model
  • http//networks.ecse.rpi.edu/vastola/pslinks/per
    f/node30.html

50
Acknowledgements
  • Dr. Virgil Wallentine Major Professor
  • Dr. Masaaki Mizuno Supervisory Committee Member
  • Dr. Gurdip Singh - Supervisory Committee Member

51
Comments
Write a Comment
User Comments (0)
About PowerShow.com