Skip to content

Hazard-aware A* pathfinding with a safety-score wavefront, C++ demo + Python prototype, designed for embedded MCU deployment.

License

Notifications You must be signed in to change notification settings

ianjchadwick/SafeStar-Robotics

Repository files navigation

SafeStar Robotics

CI

SafeStar Robotics

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)

Quickstart (C++)

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:

SafeStar demo


How it works (one minute)

  • 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.


Project Layout

├── 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

Docs


Status

  • Desktop C++ demo: complete
  • Python prototype: archived
  • MCU port (FRDM-K64F): in progress

License

MIT

About

Hazard-aware A* pathfinding with a safety-score wavefront, C++ demo + Python prototype, designed for embedded MCU deployment.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published