Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.

Pathfinding in partially explored games environments

935 visualizaciones

Publicado el

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.

Publicado en: Tecnología
  • Just realised this is an old version, never mind, not too many mistakes :)
       Responder 
    ¿Estás seguro?    No
    Tu mensaje aparecerá aquí
  • Sé el primero en recomendar esto

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.

×