Guardian Grid SF

Informacje

Guardian Grid (SF) to inteligentne narzędzie ewakuacji awaryjnej dla inteligentnego miasta, które pomaga społecznościom reagować szybko i bezpiecznie podczas poważnych katastrof. System umożliwia administratorom miasta lub urzędnikom ds. sytuacji awaryjnych oznaczanie stref zagrożenia, takich jak obszary dotknięte klęskami żywiołowymi, oraz definiowanie stref bezpiecznych bezpośrednio na interaktywnej mapie. Następnie zaawansowane algorytmy wyznaczania tras są wykorzystywane do generowania i komunikowania najbezpieczniejszych tras ewakuacyjnych dla mieszkańców, z uwzględnieniem bieżących zagrożeń.

Gdy dochodzi do sytuacji awaryjnej, urzędnicy mogą aktualizować obszary zagrożenia i strefy bezpieczne oraz natychmiast wysyłać alerty na telefony mieszkańców za pomocą wiadomości tekstowej. Każda osoba otrzymuje link do portalu internetowego, który wykorzystuje jej bieżącą lokalizację do wyświetlenia trasy do bezpieczeństwa z uwzględnieniem zagrożeń i zapewnia natychmiastowe wskazówki z Google Maps. W miarę rozwoju sytuacji trasy są przeliczane w czasie rzeczywistym, a nowe alerty są wysyłane, aby wszyscy byli na bieżąco i bezpieczni. Zobacz demonstrację tutaj:

W obecnym kodzie demonstracyjnym alerty są wysyłane za pośrednictwem SMS na jeden numer telefonu wyłącznie do celów demonstracyjnych i testowych. Jednak w rzeczywistym wdrożeniu Guardian Grid SF integrowałby się z systemem Wireless Emergency Alerts (WEA), aby rozsyłać alerty ewakuacyjne do wszystkich osób w dotkniętym mieście lub regionie.

Chociaż obecnie skupiamy się na obszarze Zatoki San Francisco, naszą wizją jest rozszerzenie Guardian Grid na inne duże miasta na całym świecie. Naszym celem jest zapewnienie solidnego systemu do skoordynowanych i opartych na danych ewakuacji, tak aby każde miasto mogło chronić swoich mieszkańców, minimalizować zatory i szybko reagować w miarę rozwoju sytuacji awaryjnych.

Zespół Aspen

Guardian Grid został opracowany przez zespół Aspen podczas National Security Hackathon. Nasz zespół składał się z:

Jesteśmy wdzięczni za wskazówki i wsparcie naszych mentorów oraz organizatorów, w tym Elliotta Wolfa, Adama Papy i Raya Del Vecchio.

Nasza hackathonowa podróż

Weekend hackathonu 26-27 kwietnia 2025 roku przyniósł nieoczekiwaną, lecz potężną współpracę. Mój bliski przyjaciel Dylan Eck i ja przyjechaliśmy odpowiednio z Kolorado i Missouri, aby wziąć udział w 2. National Security Hackathon organizowanym przez Cerebral Valley w San Francisco. Na początku wydarzenia poznaliśmy Christinę Huang i Ioanę Munteanu, i tak narodził się zespół Aspen.

Post na LinkedIn

Post Ioany na LinkedIn podkreślający nasze doświadczenie z hackathonu

Hackathon przedstawiał dwa odrębne wyzwania. Główny tor był konkursem opartym na projekcie z tradycyjnymi nagrodami za zajęte miejsca, a specjalne wyzwanie zapraszało uczestników do etycznego hakowania systemów chłodzenia Code Metal. Biorąc pod uwagę zróżnicowane kompetencje naszego zespołu, zwłaszcza doświadczenie Dylana zarówno w inżynierii oprogramowania, jak i mechanicznej, podjęliśmy strategiczną decyzję, aby zmierzyć się z oboma wyzwaniami w ramach 24-godzinnego limitu czasu.

To ambitne podejście doprowadziło do dwóch znaczących rezultatów:

  1. Guardian Grid (SF) - Nasz główny projekt hackathonowy skoncentrowany na ewakuacji awaryjnej:

  2. Wyzwanie Code Metal - Osiągnęliśmy najbardziej udany test penetracyjny ich systemów chłodzenia, co przyniosło nam nagrodę specjalną w wysokości 5 000 dolarów. Choć rozwiązanie to pozostaje poufne, pokazało ono głębię techniczną naszego zespołu zarówno w systemach oprogramowania, jak i termodynamicznych.

Chociaż Guardian Grid nie zapewnił sobie miejsca w pierwszej trójce głównego konkursu, sędziowie docenili jego potencjalny wpływ i innowacyjne podejście. Zakres projektu był ambitny, a podział uwagi między dwa wyzwania oznaczał, że nie mogliśmy wdrożyć wszystkich zaplanowanych funkcji w dostępnym czasie. Niemniej jednak opinie sędziów potwierdziły znaczenie naszego rozwiązania w obszarze miejskiego zarządzania kryzysowego.

Hackathon okazał się doświadczeniem transformującym. Poza osiągnięciami technicznymi i nagrodami pieniężnymi, sprzyjał powstaniu nowych przyjaźni i pokazał siłę różnorodnych umiejętności współpracujących pod presją. Po osobistych wyzwaniach pod koniec 2024 roku i na początku 2025 roku ten sukces był szczególnie znaczący i dodający energii.

Szczegóły hackathonu

Guardian Grid (SF) został zbudowany podczas 2. corocznego National Security Hackathon (26-27 kwietnia 2025), organizowanego przez Cerebral Valley i Shield Capital we współpracy ze Stanford DEFCON. Wydarzenie zgromadziło technologów i inżynierów, aby tworzyć rozwiązania dla problemów z obszaru bezpieczeństwa narodowego, opracowanych przez interesariuszy z amerykańskiego wojska, przy wsparciu mentorów z sektora rządowego, wojskowego i startupowego.

  • Weekend obejmował targi pracy w obszarze technologii obronnych i budowanie zespołu na Uniwersytecie Stanforda, a następnie 24 godziny hackowania w San Francisco.
  • Sponsorami i partnerami wspierającymi byli Shield Capital, In-Q-Tel, NATO Innovation Fund, Vannevar Labs, Scale AI, Groq, Windsurf, Anthropic, Microsoft, Maxar, Dedrone, Distributed Spectrum i Code Metal.
  • Kategorie hackathonu obejmowały Inteligentne Miasta, Gry Wojenne, Analizę Wzorców Morskich, Cyberbezpieczeństwo dla Wdrożeń AI, Nawigację Częstotliwości Radiowych, Ogólne Bezpieczeństwo Narodowe oraz Hackuj System Chłodniczy.

Główna część hackathonu oferowała nagrody obejmujące po 3 000 dolarów i jednostki Starlink za pierwsze miejsce, 2 000 dolarów za drugie miejsce oraz 1 000 dolarów za trzecie miejsce. Była jednak także specjalna, ukryta nagroda za wyzwanie związane z chłodnictwem, o wartości 5 000 dolarów.

Nasz zespół wziął udział zarówno w wyzwaniach Inteligentne Miasta, jak i Hackuj System Chłodniczy. Guardian Grid (SF) był naszym zgłoszeniem do kategorii Inteligentne Miasta. Zdobyliśmy specjalną nagrodę w wysokości 5 000 dolarów oraz wyróżnienie honorowe za naszą pracę techniczną w wyzwaniu związanym z chłodnictwem, a nasze rozwiązanie dla Inteligentnych Miast otrzymało bardzo dobre opinie zarówno od sędziów, jak i innych uczestników.

Sędziowie i uczestnicy uznali Guardian Grid (SF) za wpływową odpowiedź na istotny problem zarządzania kryzysowego, chwaląc jego kreatywność, praktyczne podejście oraz fakt, że nie opierał się po prostu na technologii LLM jako uniwersalnym rozwiązaniu. Chociaż nasz projekt Inteligentne Miasta nie zdobył nagrody w pierwszej trójce z powodu ograniczeń czasowych wynikających z podziału zasobów między dwa wyzwania, sędziowie byli pod wrażeniem jego potencjału i znaczenia. Nasz zespół z dumą otrzymał to uznanie wraz ze zwycięstwem w wyzwaniu Hackuj System Chłodniczy.

Więcej szczegółów i refleksji znajdziesz w naszym poście na LinkedIn oraz obejrzyj galerię zdjęć z hackathonu tutaj.

Źródła danych GPS

Do naszego wyznaczania tras i mapowania w obszarze Zatoki San Francisco potrzebowaliśmy precyzyjnych i kompleksowych danych drogowych. Początkowo eksperymentowaliśmy zarówno z Google Maps API, jak i z API Mapbox, aby pobrać te dane. Jednak ich ograniczenia licencyjne i funkcjonalne nie pozwoliły nam uzyskać ani używać podstawowego grafu trasowania w sposób zgodny z celami naszego hackathonu. Z powodu tych ograniczeń korzystaliśmy z otwartych surowych zbiorów danych geograficznych. Uzyskaliśmy te surowe dane geograficzne z tych dwóch źródeł open source:

Cechy liniowe reprezentują drogi dla regionu Zatoki San Francisco. Zestaw cech został opracowany przy użyciu wszystkich opartych na hrabstwach plików shapefile TIGER/Line z 2021 roku przez Metropolitan Transportation Commission (MTC/ABAG). Zbiór danych obejmuje wszystkie drogi główne, drugorzędne, lokalne osiedlowe i wiejskie, ulice miejskie, trakty dla pojazdów, rampy, drogi serwisowe, zaułki, drogi prywatne, ścieżki rowerowe, ścieżki do jazdy konnej/konne, ciągi piesze, trasy pieszych oraz schody dla całego regionu.

  • Zestaw cech zawiera unikalne odcinki dróg dla każdego hrabstwa i obejmuje przypadki, w których jeden odcinek drogi ma wiele oznaczeń (np. autostrada międzystanowa określana zarówno numerem, jak i lokalną nazwą).
  • Drogi główne to ważne dwujezdniowe autostrady, natomiast drogi drugorzędne to główne arterie w regionie.
  • Zbiór danych zawiera kolumny atrybutów służące do identyfikacji typu drogi, jurysdykcji i innych informacji, wspierając elastyczne wyznaczanie tras i analizę danych.

Więcej o licencjonowaniu i szczegółach danych można przeczytać w źródle zbioru danych MTC.

Jak uruchomić

  1. Sklonuj to repozytorium i przejdź do jego katalogu.

  2. Skonfiguruj plik .env.local. Odwołaj się do pliku env.local.example, aby dowiedzieć się, jakich zmiennych środowiskowych potrzebujesz. Pamiętaj, że będziesz potrzebować klucza API MapBox do interfejsu mapy i geokodowania, klucza API TextBelt do alertów SMS (tylko wersja demonstracyjna), a także numeru telefonu do wysyłania wiadomości podczas demonstracji.

  3. Po utworzeniu pliku .env.local możesz rozpocząć konfigurację wszystkich usług GuardianGrid, które obejmują:

    • frontend: Interfejs frontendowy aplikacji.
    • backend: Backend aplikacji, w tym logikę wyznaczania tras na mapie.
  4. Aby skonfigurować usługę frontend, upewnij się, że masz zainstalowany Yarn i uruchom:

    yarn install
    
  5. Aby skonfigurować usługę backend, wykonaj następujące czynności:

    # przejdź do tego katalogu
    cd ./src/backend
    
    # skonfiguruj środowisko Pythona
    python3 -m venv env
    
    # aktywuj środowisko Pythona
    source env/bin/activate
    
    # zainstaluj zależności
    pip3 install -r requirements.txt
    
    # dezaktywuj środowisko Pythona
    deactivate
    
    # wróć do katalogu głównego projektu
    cd -
    
  6. Gdy wszystko będzie gotowe, ostatnim krokiem jest uruchomienie aplikacji. Będziesz potrzebować dwóch oddzielnych okien terminala lub kart, nazywanych Terminal #1 i Terminal #2.

  7. W Terminal #1 uruchom usługę backend:

    # przejdź do katalogu usługi backend
    cd ./src/backend
    
    # aktywuj środowisko Pythona
    source env/bin/activate
    
    # uruchom backend
    bash ./run.sh
    
  8. W Terminal #2 uruchom usługę frontend:

    yarn dev
    
  9. Gdy wszystko będzie działać, otwórz przeglądarkę i przejdź do: http://localhost:3000/

  10. Po zakończeniu zamknij Terminal #1 i Terminal #2.