SafeStar is a hazard-aware pathfinding system for embedded deployment. It extends A* with a wavefront-based safety score (0 at hazards; higher = safer) to find the closest safe exit rather than the merely shortest path.
- C++ desktop demo (safety-aware A*)
- Python prototype (logic + visualization)
- MCU port in progress (FRDM-K64F)
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build -j
./build/safeStar_demoAdd a screenshot or GIF at
docs/images/safestar_demo.pngand reference it below:
- Wavefront safety score: BFS from hazards sets
safety_scoreper cell (0 at hazard; increases with distance). - SafeStar planner: multi-objective A* that favors higher safety and reduced distance-to-exit.
- Baseline: classic A* ignores hazards for comparison.
Legend: S SafeStar, A A*, @ overlap, H hazard, E exit, X start, # obstacle.
├── apps/ # Runnable desktop demos (C++)
│ ├── include/
| | └──safeStar.hpp
| ├── src/
| | ├──safeStar_demo.cpp # Safety-aware pathfinding demo
| | └──safeStar.cpp
├── python_prototype/ # Archived Python prototype + visualization
│ ├── hazard_pathfinder.py
│ ├── draw_visualization.py
│ └── README.md
├── include/ # MCU Port Includes (WIP)
├── src/ # MCU Port Source (WIP)
├── test/ # Unit tests (ctest/Catch2)
├── CMakeLists.txt
└── README.md
- Usage:
docs/USAGE.md - Architecture:
docs/ARCHITECTURE.md - Testing:
docs/TESTING.md - MCU notes:
docs/MCU_NOTES.md
- Desktop C++ demo: complete
- Python prototype: archived
- MCU port (FRDM-K64F): in progress
MIT
