Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.
Path finding in partially
explored environments
John Stamford
De Montfort University
Centre for Computational Intelligence
Introduction
• Aims and Objectives
• The Problem
• The Proposed Solution
• Occupancy Grids
• Representation of the Occupan...
The Problem
• Path Finding in Games
• Generally know the environment
• Predefined node based systems
• Works well on tiled...
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
kn...
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?
Probably
Occupied
Probably
Empty
Unknown
1.00.0 0.5
Occupancy Grids
- 100 x 100
- Multidimension...
Sensor Readings
Updating the Grids values
Zone 1Zone 2 Zone 3
Sub Section
𝑷 𝑯 𝒔 𝒏 =
𝑷 𝒔 𝒏 𝑯 𝑷 𝑯 𝒔 𝒏−𝟏
𝑷 𝒔 𝒏 𝑯 𝑷 𝑯 𝒔 𝒏−𝟏 + 𝑷 𝒔 𝒏 ¬𝑯 𝑷 ¬𝑯 𝒔 ...
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 ...
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
Heuristic
Manhattan
dx + dy
Pre-calculated
...
Path Finding Process
14
4 + 10
13
13 + 10
12
3 + 10
14
4 + 10
13
13 + 10
12
3+ 10
11
1 + 10
16
5 + 10
14
4 + 10
13
13 + 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://...
Video 3 – More complex
The robot knows...
• The target position
• Its own position
Everything else is automated
https://ww...
Summary
• Overall Performance is good
• Uses sonar based models
• Could be omitted to reduce complexity
• Unique combinati...
References
Bourg, DM. (2004) AI for Game Developers. 1st Edition. O'Reilly Media.
Chin, R. (2012) “Beginning iOS 3D Unreal...
Prochain SlideShare
Chargement dans…5
×

Pathfinding in partially explored games environments

926 vues

Publié le

The work presents the application of the A* Algorithm Algorithm with Occupancy Grids in Unity3D. It supports my IEEE paper:
http://ieeexplore.ieee.org/xpl/articleDetails.jsp?tp=&arnumber=6930151

The practical work was completed in Unity3D and shows how game AI can explore an environment, build an internal map and then use the map to navigate. To see the system working view the YouTube video:
https://www.youtube.com/watch?v=NGv6pqTmODY

The work was completed as part of the MSc Intelligent Systems and Robotics and De Montfort University.

Publié dans : Technologie
  • Just realised this is an old version, never mind, not too many mistakes :)
       Répondre 
    Voulez-vous vraiment ?  Oui  Non
    Votre message apparaîtra ici
  • Soyez le premier à aimer ceci

Pathfinding in partially explored games environments

  1. 1. Path finding in partially explored environments John Stamford De Montfort University Centre for Computational Intelligence
  2. 2. Introduction • Aims and Objectives • The Problem • The Proposed Solution • Occupancy Grids • Representation of the Occupancy Grid • Path Finding Algorithm • Final Performance
  3. 3. The Problem • Path Finding in Games • Generally know the environment • Predefined node based systems • Works well on tiled based gamesBourg (2004 p.128) Node Based Example - Chin (2012) Tile Based Example – Bourg (2004)
  4. 4. How can we emulate real world path finding in game AI systems?
  5. 5. 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
  6. 6. The System • Does not need to know the environment • Can adapt in Real Time with dynamically changing environments
  7. 7. The System • Does not need to know the environment • Can adapt in Real Time with dynamically changing environments
  8. 8. How is ‘knowledge’ store? Probably Occupied Probably Empty 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
  9. 9. Sensor Readings
  10. 10. Updating the Grids values Zone 1Zone 2 Zone 3 Sub Section 𝑷 𝑯 𝒔 𝒏 = 𝑷 𝒔 𝒏 𝑯 𝑷 𝑯 𝒔 𝒏−𝟏 𝑷 𝒔 𝒏 𝑯 𝑷 𝑯 𝒔 𝒏−𝟏 + 𝑷 𝒔 𝒏 ¬𝑯 𝑷 ¬𝑯 𝒔 𝒏−𝟏 Grids values are updated using a Bayesian approach as discussed by Murphy (?????) 𝐖𝐡𝐞𝐫𝐞 𝑷 𝑯 𝒔 𝒏 𝐫𝐞𝐩𝐫𝐞𝐬𝐞𝐧𝐭𝐬 𝐭𝐡𝐞 𝐥𝐚𝐭𝐞𝐬𝐭 𝐎𝐜𝐜𝐮𝐩𝐚𝐧𝐜𝐲 𝐆𝐫𝐢𝐝 𝐯𝐚𝐥𝐮𝐥𝐞𝐬 𝐚𝐧𝐝 𝑷 𝒔 𝒏 𝑯 𝐫𝐞𝐩𝐫𝐞𝐬𝐞𝐧𝐭𝐬 𝐭𝐡𝐞 𝐜𝐮𝐫𝐫𝐞𝐧𝐭 𝐒𝐨𝐧𝐚𝐫 𝐕𝐚𝐥𝐮𝐞. 𝑷 𝑶𝒄𝒄𝒖𝒑𝒊𝒆𝒅 = 𝑹 − 𝒓 𝑹 + 𝜷 − 𝜶 𝜷 𝟐 × 𝑴𝒂𝒙𝑶𝒄𝒄𝒖𝒑𝒂𝒏𝒄𝒚 𝑷 𝑬𝒎𝒑𝒕𝒚 = 𝟏 − 𝑷(𝑬𝒎𝒑𝒕𝒚) 𝑷 𝑬𝒎𝒑𝒕𝒚 = 𝑹 − 𝒓 𝑹 + 𝜷 − 𝜶 𝜷 𝟐 𝑷 𝑶𝒄𝒄𝒖𝒑𝒊𝒆𝒅 = 𝟏 − 𝑷(𝑬𝒎𝒑𝒕𝒚) 𝑷 𝑶𝒄𝒄𝒖𝒑𝒊𝒆𝒅 = 𝟎. 𝟓 𝑷 𝑬𝒎𝒑𝒕𝒚 = 𝟏 − 𝑷(𝑬𝒎𝒑𝒕𝒚) Zone1Zone2Zone3
  11. 11. Video 1 – Occupancy Grid https://www.youtube.com/watch?v=pwfPg2diKOY
  12. 12. 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 𝒇 = 𝒈 + 𝒉
  13. 13. G Cost • Movement Cost 14 10 14 10 10 14 10 14 10 10 10 10
  14. 14. 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 Heuristic Manhattan dx + dy Pre-calculated Experimental dx + dy + On Where On is a value based on the squares Occupancy Grid value
  15. 15. Path Finding Process 14 4 + 10 13 13 + 10 12 3 + 10 14 4 + 10 13 13 + 10 12 3+ 10 11 1 + 10 16 5 + 10 14 4 + 10 13 13 + 10 12 3 + 10 18 4 + 10 15 5 + 10 14 4 + 10 18 5 + 10 15 5 +10 17 7 + 10
  16. 16. Path Finding - Obstacle
  17. 17. Path Finding - Obstacle
  18. 18. 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
  19. 19. Video 3 – More complex The robot knows... • The target position • Its own position Everything else is automated https://www.youtube.com/watch?v=3JRBRpuOxcE
  20. 20. 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
  21. 21. References Bourg, 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.

×