Skip to content

Latest commit

ย 

History

History
123 lines (78 loc) ยท 2.32 KB

File metadata and controls

123 lines (78 loc) ยท 2.32 KB

๐Ÿš— Path Finder Simulator

A 3D autonomous search and rescue/pathfinding simulator built with Vue 3, Vite, and Three.js.
Simulate robot navigation, LiDAR scanning, and AI-driven search patterns in a dynamic environment.


โœจ Features

  • Multiple Search Patterns:

    • Grid Search
    • Spiral Search
    • Perimeter Sweep
    • Random Patrol
  • Modes:

    • Auto (systematic exploration)
    • Manual (keyboard control)
    • Search & Rescue (aggressive heat-seeking)
  • Realistic LiDAR Simulation:

    • Adjustable range, FOV, and ray count
    • Visualizes clear, blocked, and heat-detected paths
  • Dynamic Obstacles & Heat Sources:

    • Human survivors, animals, fire, vehicles, electronics
    • Randomized placement and respawn
  • Fog of War:

    • Robot clears fog as it explores
    • Mini-map with real-time updates
  • AI Pathfinding:

    • Smart direction selection
    • Avoids obstacles, prioritizes unexplored areas and heat targets

๐Ÿ–ฅ๏ธ Recommended IDE Setup


๐Ÿš€ Getting Started

1. Install dependencies

npm install

2. Start the development server

npm run dev

3. Build for production

npm run build

๐ŸŽฎ Controls

  • Manual Mode:

    • WASD or Arrow Keys to move/turn the robot
  • Switch Modes/Patterns:

    • Use UI buttons to toggle between search patterns and modes
  • Camera:

    • Toggle first-person/third-person view

๐Ÿ› ๏ธ Customization

  • Change field size, number of obstacles, and heat objects from the UI
  • Adjust LiDAR parameters (range, FOV, rays)
  • Add your own textures in /assets/

๐Ÿ“‚ Project Structure

src/
  composables/
    usePathFinder.js   # Main robot logic, AI, and simulation
  assets/              # Textures for walls, ground, sky, heat
  components/          # Vue UI components
public/
  index.html           # App entry point

๐Ÿ“– References


๐Ÿง‘โ€๐Ÿ’ป Author

Made by Ordovez, Earl & Cordova Paulo.
Feel free to fork, contribute, or open issues!