Guardian Grid(旧金山)

GitHub 仓库领英帖子
演示视频黑客马拉松详情

关于

Guardian Grid(旧金山)是一个智慧城市紧急疏散工具,帮助社区在重大灾害期间快速且安全地响应。该系统允许城市管理人员或应急官员在交互式地图上标记危险区域(例如受自然灾害影响的区域)并直接定义安全区。然后使用高级路径查找算法生成并传达考虑当前危险的最安全疏散路线,供居民使用。

当发生紧急情况时,官员可以更新危险区和安全区,并通过短信立即向居民手机发送警报。每个人都会收到一个指向网络门户的链接,该门户使用他们的当前位置来显示一条考虑危险的安全路径,并通过 Google 地图 提供即时导航。随着情况的发展,路线会实时重新计算,并发送新的警报以保持所有人更新和安全。请查看演示:

在当前的演示代码中,警报出于演示和测试目的仅发送到单个电话号码的 SMS。然而,在实际部署中,Guardian Grid SF 将与无线紧急警报(WEA)系统 集成,以向受影响城市或地区的所有人广播疏散警报。

尽管目前的重点是旧金山湾区,但我们的愿景是将 Guardian Grid 扩展到世界其他大城市。我们的目标是提供一个稳健的协调和数据驱动的疏散系统,以便每个城市都能保护其居民,最大程度地减少拥堵,并在紧急情况发生时迅速响应。

阿斯彭团队

Guardian Grid 是由在国家安全黑客马拉松期间的阿斯彭团队开发的。我们的团队成员包括:

我们感谢导师和组织者的指导与支持,包括 Elliott Wolf、Adam Papa 和 Ray Del Vecchio。

我们的黑客马拉松之旅

2025 年 4 月 26-27 日的黑客马拉松周末带来了一次意想不到但强有力的合作。我和我的密友 Dylan Eck 分别从科罗拉多和密苏里出发,参加了在旧金山由 Cerebral Valley 举办的第二届国家安全黑客马拉松。在活动启动时,我们遇到了 Christina HuangIoana Munteanu,阿斯彭团队由此诞生。

领英帖子

Ioana 的领英帖子,突出了我们在黑客马拉松的经历

黑客马拉松提出了两个不同的挑战。主要赛道是基于项目的比赛,设有传统名次奖励,而一个特别挑战邀请参与者对 Code Metal 的制冷系统进行合乎伦理的攻防测试。考虑到我们团队的多样化专长,尤其是 Dylan 同时具备软件和机械工程背景,我们做出了在 24 小时内同时攻克两个挑战的战略决定。

这一雄心勃勃的做法带来了两个重要成果:

  1. Guardian Grid(旧金山) - 我们的主要黑客马拉松项目,专注于紧急疏散:

  2. Code Metal 挑战 - 我们对其制冷系统进行了最成功的渗透测试,赢得了 5,000 美元的特别奖金。尽管该解决方案保持机密,但它展示了我们团队在软件和热力系统方面的技术深度。

虽然 Guardian Grid 在主赛中未能获得前三名,但评委认可了其潜在影响和创新方法。项目范围宏大,我们在两个挑战之间分配精力意味着无法在有限时间内实现所有设想的功能。尽管如此,评委的反馈验证了我们解决方案在城市应急管理方面的重要性。

这次黑客马拉松被证明是一次具有变革性的经历。除技术成就和奖金外,它促成了新的友谊,并展示了在压力下汇聚多样技能组合的威力。在经历了 2024 年末和 2025 年初的个人挑战之后,这次成功尤其具有意义并让人重新振作。

黑客马拉松详情

Guardian Grid(旧金山)是在第 2 届年度 国家安全黑客马拉松(2025 年 4 月 26-27 日)上构建的,该活动由 Cerebral Valley 和 Shield Capital 主办,并与斯坦福 DEFCON 合作。活动汇集了技术人员和工程师,构建由美国军事利益相关者策划的国家安全问题陈述的解决方案,并由政府、军事和初创企业导师提供指导。

  • 周末包括在斯坦福大学举办的国防科技招聘会和团队建设活动,随后在旧金山进行了 24 小时的黑客竞赛。
  • 赞助商和支持者包括 Shield Capital、In-Q-Tel、NATO Innovation Fund、Vannevar Labs、Scale AI、Groq、Windsurf、Anthropic、Microsoft、Maxar、Dedrone、Distributed Spectrum 和 Code Metal。
  • 黑客马拉松类别包括智慧城市、战争游戏、海事模式分析、面向 AI 部署的网络安全、射频导航、通用国家安全和“攻破制冷系统”挑战。

主赛部分的奖项包括:第一名 3,000 美元和 Starlink 设备,第二名 2,000 美元,第三名 1,000 美元。但还有一个针对制冷挑战的特别隐藏奖金,为 5,000 美元。

我们的团队同时参加了 智慧城市攻破制冷系统 两个挑战。Guardian Grid(旧金山)是我们的智慧城市参赛作品。我们在制冷挑战中凭借技术工作赢得了 5,000 美元的特别奖金和荣誉提名,而我们的智慧城市解决方案也得到了评委和同行的高度评价。

评委和同行认为 Guardian Grid(旧金山)是对紧急管理重大问题的有影响力的回应,称赞其创造性、实用方法,以及其避免将大型语言模型技术简单作为万能解决方案的事实。尽管由于在两个挑战之间分配资源导致时间有限,我们的智慧城市项目未能获得前三名,但评委对其潜力和相关性印象深刻。我们的团队很荣幸获得这一认可并赢得了 攻破制冷系统 挑战。

在我们的领英帖子中可以找到更多细节和感想,并可以在此处查看黑客马拉松的照片库:这里

GPS 数据源

为了在旧金山湾区进行路径查找和制图,我们需要精确且全面的道路数据。我们最初尝试使用 Google Maps API 和 Mapbox 的 API 来检索这些数据。然而,它们的许可限制和功能限制阻止我们以符合黑客马拉松目标的方式获取或使用底层路由图。鉴于这些限制,我们使用了开放的原始地理数据集。我们通过以下两个开源来源获取了这些原始地理数据:

线状要素表示旧金山湾区的道路。该要素集由大都会运输委员会 (MTC/ABAG) 使用所有基于县的 2021 年 TIGER/Line shapefile 汇编而成。该数据集包括整个区域的所有主干道、次干道、社区道路和乡村道路、城市街道、车辆小径、匝道、服务车道、小巷、私人道路、自行车道、骑乘/马道、人行道、步行小径和楼梯。

  • 该要素集为每个县包含唯一的道路线段,并包括单一路段具有多个名称/指定的情况(例如,一条州际公路既以其编号又以本地名称被称呼)。
  • 主干道路是主要的分隔式高速公路,而次要道路是该地区的主要干道。
  • 该数据集包含用于识别道路类型、管辖机构等的属性列,支持灵活的路径规划和数据分析。

您可以在 MTC 数据集来源 阅读有关许可和数据详细信息。

如何运行

  1. 克隆此仓库并进入该目录。

  2. 设置您的 .env.local 文件。参考 env.local.example 文件以了解您需要哪些环境变量。请注意,您将需要一个用于地图 UI 和地理编码的 MapBox API 密钥、一个用于短信提醒的 TextBelt API 密钥(仅演示),以及一个用于演示期间发送短信的电话号码。

  3. 在创建 .env.local 文件后,您可以开始设置所有 GuardianGrid 的服务,这些服务包括:

    • 前端:应用的前端界面。
    • 后端:应用的后端,包括地图路径查找逻辑。
  4. 若要设置 前端 服务,请确保您已安装 Yarn 并运行:

    yarn install
    
  5. 若要设置 后端 服务,请执行以下操作:

    # go into this directory
    cd ./src/backend
    
    # set up a python environment
    python3 -m venv env
    
    # activate the python environment
    source env/bin/activate
    
    # install dependencies
    pip3 install -r requirements.txt
    
    # deactivate python environment
    deactivate
    
    # return to the project's root directory
    cd -
    
  6. 在一切设置完成后,最后一步是运行应用。您需要两个独立的终端窗口或标签,分别称为 终端 #1终端 #2

  7. 终端 #1 中,启动 后端 服务:

    # go into the backend service directory
    cd ./src/backend
    
    # activate the python environment
    source env/bin/activate
    
    # run the backend
    bash ./run.sh
    
  8. 终端 #2 中,启动 前端 服务:

    yarn dev
    
  9. 在所有服务运行后,打开浏览器并前往: http://localhost:3000/

  10. 完成后,关闭 终端 #1终端 #2