Upload
johnstamford
View
197
Download
2
Embed Size (px)
Citation preview
Path finding in partially
explored environments
John StamfordDe Montfort University
Centre for Computational Intelligence
Introduction
โข Aims and Objectives
โข The Problem
โข The Proposed Solution
โข Occupancy Grids
โข Representation of the Occupancy Grid
โข Path Finding Algorithm
โข Final Performance
The Problemโข Path Finding in Games
โข Generally know the environment
โข Predefined node based systems
โข Works well on tiled based games Bourg (2004 p.128)
Node Based Example - Chin (2012) Tile Based Example โ Bourg (2004)
How can we emulate real
world path finding in game
AI systems?
The Systemโข Unity 3D Games Engine
โข Physics / Collision Boxes
โข Simulates Sonar/LIDAR
โข Builds a path based on what it knows about the environment
โข Updates the path as it learns more about the environment
The System
โข Does not need to know the
environment
โข Can adapt in Real Time
with dynamically changing
environments
The System
โข Does not need to know the
environment
โข Can adapt in Real Time
with dynamically changing
environments
How is โknowledgeโ store?
ProbablyOccupied
ProbablyEmpty
Unknown
1.00.0 0.5
Occupancy Grids- 100 x 100
- Multidimensional Array (Doubles)
Storage- 10,000
- 8 bit per double
- 9.8 KB (or 0.01 MB)
Representation- Create a dynamic Mesh
- UV Texture every update
Sensor Readings
Updating the Grids values
Zone 1Zone 2 Zone 3
Sub Section
๐ท ๐ฏ ๐๐ =๐ท ๐๐ ๐ฏ ๐ท ๐ฏ ๐๐โ๐
๐ท ๐๐ ๐ฏ ๐ท ๐ฏ ๐๐โ๐ + ๐ท ๐๐ ยฌ๐ฏ ๐ท ยฌ๐ฏ ๐๐โ๐
Grids values are updated using a Bayesian approach as discussed by Murphy (?????)๐๐ก๐๐ซ๐ ๐ท ๐ฏ ๐๐ ๐ซ๐๐ฉ๐ซ๐๐ฌ๐๐ง๐ญ๐ฌ ๐ญ๐ก๐ ๐ฅ๐๐ญ๐๐ฌ๐ญ ๐๐๐๐ฎ๐ฉ๐๐ง๐๐ฒ ๐๐ซ๐ข๐ ๐ฏ๐๐ฅ๐ฎ๐ฅ๐๐ฌ ๐๐ง๐๐ท ๐๐ ๐ฏ ๐ซ๐๐ฉ๐ซ๐๐ฌ๐๐ง๐ญ๐ฌ ๐ญ๐ก๐ ๐๐ฎ๐ซ๐ซ๐๐ง๐ญ ๐๐จ๐ง๐๐ซ ๐๐๐ฅ๐ฎ๐.
๐ท ๐ถ๐๐๐๐๐๐๐ =
๐น โ ๐๐น
+๐ท โ ๐ถ๐ท
๐ร๐ด๐๐๐ถ๐๐๐๐๐๐๐๐
๐ท ๐ฌ๐๐๐๐ = ๐ โ ๐ท(๐ฌ๐๐๐๐)
๐ท ๐ฌ๐๐๐๐ =
๐น โ ๐๐น
+๐ท โ ๐ถ๐ท
๐
๐ท ๐ถ๐๐๐๐๐๐๐ = ๐ โ ๐ท(๐ฌ๐๐๐๐)
๐ท ๐ถ๐๐๐๐๐๐๐ = ๐. ๐
๐ท ๐ฌ๐๐๐๐ = ๐ โ ๐ท(๐ฌ๐๐๐๐)
Zon
e 1
Zon
e 2
Zon
e 3
Video 1 โ Occupancy Grid
https://www.youtube.com/watch?v=pwfPg2diKOY
Path Finding Methods
โข Alternative methods
โข A* Algorithm
โข Dijlstraโs Algorithm
โข Anytime D*
โข Final Choice โ A*โข Bourg (2004 p.126) highlights that A*is the most widely used and fastest
method
โข Millington (2009 p.275) discuss performance issues with path finding and
states that the A* can minimise this by the ability for it to be stopped and
started
๐ = ๐ + ๐
G Cost
โข Movement Cost
14 10 14
10 10
14 10 14
10
10 10
10
H Cost
5 4 3 2 1 2
4 3 2 1 0 1
5 4 3 2 1 2
6 5 4 3 2 3
7 6 5 4 3 4
8 7 6 5 4 5
HeuristicManhattan
dx + dy
Pre-calculated
Experimental
dx + dy + On
Where On is a value based on the squares Occupancy Grid value
Path Finding Process144 + 10
1313 + 10
123 + 10
144 + 10
1313 + 10
123+ 10
111 + 10
165 + 10
144 + 10
1313 + 10
123 + 10
184 + 10
155 + 10
144 + 10
185 + 10
155 +10
177 + 10
Path Finding - Obstacle
Path Finding - Obstacle
Video 2 โ Route Planning
The robot knows...
โข The target position
โข Its own position
Everything else is automated
https://www.youtube.com/watch?v=ZoWj5-bWGV0
Video 3 โ More complex
The robot knows...
โข The target position
โข Its own position
Everything else is automated
https://www.youtube.com/watch?v=3JRBRpuOxcE
Summaryโข Overall Performance is good
โข Uses sonar based models
โข Could be omitted to reduce complexity
โข Unique combination of Occupancy Grids and the A* Algorithm
โข Fine tuning of tolerances and resolution can be performed for different scenarios
โข Low computational costs, however could be better optimised
ReferencesBourg, DM. (2004) AI for Game Developers. 1st Edition. O'Reilly Media.
Chin, R. (2012) โBeginning iOS 3D Unreal Games Developmentโ 1st
Edition. Apress.
Millington, I. (2009) Artificial Intelligence for Games. 2 Edition. CRC
Press.
Murphy, R. (2000) โAn Introduction to AI Robotics (Intelligent Robotics
and Autonomous Agents)โ 1st Edition. A Bradford Book.