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_demo
Add a screenshot or GIF at
docs/images/safestar_demo.png
and reference it below:
- Wavefront safety score: BFS from hazards sets
safety_score
per 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