Skip to content

Latest commit

 

History

107 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FASTLab World Fly

ZJU FAST Lab 城市高速无人机研究项目:基于 CesiumJS、DA360 与 YOPO360 的浏览器闭环仿真平台

License Release Status

FASTLab World Fly 四种飞行模式演示

FASTLab World Fly 在浏览器中加载 Google Photorealistic 3D Tiles,以六面相机生成 360° ERP RGB,经 DA360 估计 scale-invariant 相对视差,再通过 b=0 的 scale-only 仿真标定转换为近似米制深度;YOPO 随后生成 Poly5 局部轨迹,最后由浏览器内 SO3 控制器闭环跟踪。项目同时支持键鼠、RadioMaster T8L、固定 G 航点和滚动遥控航点。

Google 将 Photorealistic 3D Tiles 定义为以卫星与航拍影像纹理化的三维网格(Map Tiles API overview)。这类真实世界影像驱动的城市表示能够呈现比少量手工布置的规则楼宇更复杂、更不规则的建筑分布,为城市高速无人机感知、规划与控制研究提供更有挑战性的仿真环境。

浏览器端架构也为手机、平板和笔记本电脑上的轻量访问留下了潜力,但移动端目前尚未完成:系统仍依赖本机回环 Web/推理服务、NVIDIA GPU 推理、键盘或遥控器输入,并且没有触屏飞控适配。当前可复现目标仍是具备 NVIDIA GPU 的桌面 Linux 环境。

本项目用于仿真研究与演示。下方两段日志记录了零碰撞到达案例。

功能概览

模块 当前能力
仿真世界 CesiumJS + Google Photorealistic 3D Tiles
视觉感知 六面相机、384×192 ERP RGB、DA360 相对视差、1/D=a·p(b=0)近似米制标定
局部规划 YOPO 候选评估与 Poly5 轨迹
飞行控制 FPV、Drone (Easy)、Level、SO3 固定航向控制
任务输入 G 固定航点、T8L 50 m 滚动航点
诊断记录 RGB/深度预览、飞行日志、规划与画面性能指标

地标城市导航演示 / Landmark Navigation Showcase

以下五段均为选定的 1× 仿真片段,展示 G 固定航点与 T8L 遥控器辅助滚动航点下的导航避障效果。点击封面会下载新版 GitHub Release 中对应的 1080p MP4;原始录屏不进入 Git 仓库。

All five videos are selected 1× simulation excerpts showing navigation and obstacle avoidance with G fixed waypoints or a T8L remote-assisted rolling waypoint. Click a poster to download the corresponding 1080p MP4 from the new GitHub Release; source recordings are not committed to Git.

纽约世贸中心建筑群 G 固定航点 1 演示 / World Trade Center complex G fixed waypoint 1 demo
纽约世贸中心建筑群 / World Trade Center complex
G 固定航点 #1 / G fixed waypoint #1
纽约世贸中心建筑群 G 固定航点 2 演示 / World Trade Center complex G fixed waypoint 2 demo
纽约世贸中心建筑群 / World Trade Center complex
G 固定航点 #2 / G fixed waypoint #2
纽约世贸中心建筑群 T8L 遥控器辅助滚动航点演示 / World Trade Center complex T8L remote-assisted rolling waypoint demo
纽约世贸中心建筑群 / World Trade Center complex
T8L 遥控器辅助滚动航点 / T8L remote-assisted rolling waypoint
巴黎埃菲尔铁塔 G 固定航点 1 演示 / Paris Eiffel Tower G fixed waypoint 1 demo
巴黎埃菲尔铁塔 / Paris Eiffel Tower
G 固定航点 #1 / G fixed waypoint #1
巴黎埃菲尔铁塔 G 固定航点 2 演示 / Paris Eiffel Tower G fixed waypoint 2 demo
巴黎埃菲尔铁塔 / Paris Eiffel Tower
G 固定航点 #2 / G fixed waypoint #2

边界 / Boundary: 这些视频是选定仿真片段,不代表真实飞行、正式零碰撞验收或安全认证。They are selected simulation excerpts, not evidence of real-world flight, formal zero-collision acceptance, or safety certification. Google/Cesium 标识和动态数据署名保留在画面中;第三方内容权利说明见 NOTICE。Google/Cesium marks and dynamic data attribution remain on screen; see NOTICE for third-party rights.

视频演示

FPV 演示
FPV 手动飞行
Easy Drone 演示
Drone (Easy)
T8L 滚动航点演示
T8L 滚动航点
G 固定航点演示
G 固定航点

点击封面可下载旧版 GitHub Release 中的 1080p MP4。仓库不提交原始录屏和完整飞行日志。

系统架构

FASTLab World Fly 闭环仿真架构

JPG 原图 · 技术细节 SVG · PDF · HTML 预览 · Mermaid 与模块说明

新版主图按“仿真世界与任务输入 → 360° 视觉感知 → 局部轨迹规划 → 飞行控制与反馈”四个阶段展示闭环,标出网页/VPN 入口、G/T8L 航点、六面相机、ERP RGB、DA360 标定深度、API 与 GPU 推理服务、Poly5/SO3 控制,以及日志和性能评估输出。原 SVG/PDF/HTML 和 架构文档 继续保留更细的任务身份、时效门禁和失败关闭路径。

快速开始

1. 准备模型与容器

运行环境需要 NVIDIA GPU、驱动、NVIDIA Container Toolkit、Docker、Python 3、Node.js,以及可访问 Cesium Ion 和 Google 3D Tiles 的网络。

python3 scripts/verify_dependencies.py
docker build -f Dockerfile.da360-yopo -t mindcloud-da360-yopo:latest .

DA360 与 YOPO checkpoint 不随仓库分发。可通过环境变量指定位置:

DA360_MODEL_PATH_HOST=/path/to/DA360_large.pth \
YOPO_MODEL_PATH_HOST=/path/to/epoch30.pth \
./start-all.sh

Cesium Ion token 不写入仓库。首次开始飞行时,页面会显示 token 配置框;输入一个限制到本机来源的有效 token 后,页面会将它保存在当前浏览器配置中并直接继续。launch-firefox-gpu.sh 使用独立、持久、非隐私的项目 profile,因此后续启动无需重复输入。

Firefox 和 Chrome 使用不同的浏览器存储,需要分别配置。该配置流程不会把 token 写入应用页面 URL、浏览器启动命令或应用主动日志;旧版本源码中曾公开过的 token 应在 Cesium Ion 后台撤销,而不是继续复用。

2. 启动服务和浏览器

./start-all.sh
./launch-firefox-gpu.sh

Firefox 适合完整演示;RadioMaster T8L 的 Web Serial 连接请使用:

./launch-chrome-gpu.sh

本机 Web 与推理服务分别监听 127.0.0.1:8080 和 127.0.0.1:5688,均不应暴露到公网。

3. 选择 YOPO 策略

默认策略为 d70_h30_epoch30,对应 epoch30、70 m 感知和 30 m 最大轨迹距离。如需使用原有未在城市场景进行针对训练的 epoch10 基线策略,可显式切换:

MINDCLOUD_YOPO_STRATEGY=baseline ./start-all.sh

4. 放置并飞行

  1. 在 placement 模式按住 I 点击有效表面设置出生点。
  2. 使用 W/A/S/D 微调,按 O 确认。
  3. 在 SO3 模式按住 G,可点击已解析的地面、建筑屋顶或立面取得水平坐标;目标沿用当前高度,也可在按住 G 时用滚轮指定高度。系统会检查目标正下方的已加载表面,并对当前可查询渲染几何做十方向近似探测;表面高度未解析、探测调用无法完成或探测到邻近几何时均拒绝。该近似探测不能证明完整球体净空,也不能替代安全认证。左下角深度小地图可直接单击设置同规则目标,无需按 G。
  4. 使用 C 取消导航;飞行历史路径可在 Tab 设置中控制显示或点击 Clear 从当前位置重新记录。

完整的遥控器映射、状态说明和故障排查见 中文 User Guide。浏览器下拉框提供 FPV、Drone (Easy)、Level、SO3 四种模式;T8L 的 Mode 三挡默认映射 FPV、Easy、SO3。

成功飞行证据

两次成功飞行的性能比较

日志标识 到达 碰撞 轨迹安装频率 Capture-to-Apply p95
20260814-130247 是 0 约 8 Hz 约 236 ms
20260814-130423 是 0 约 10 Hz 约 160 ms

两次日志均进入 4 m 到达半径且没有碰撞。详细轨迹图见 第一次飞行 和 第二次飞行;脱敏指标见 demo-flight-summary.json。

可复现绘图:

python3 scripts/plot_demo_flights.py \
  flight-log-a.json flight-log-b.json \
  --output-dir docs/assets/figures \
  --summary docs/data/demo-flight-summary.json

控制约定

输入 行为
Arm 三挡 低挡锁定,中挡和高挡解锁
Mode 三挡 低挡 FPV,中挡 Drone (Easy),高挡 SO3
SO3 Roll/Pitch 固定首帧世界航向下移动滚动航点
SO3 Yaw 控制固定的世界航向参考
SO3 Throttle 当前不接入 YOPO 高度输入,滚动航点保持当前高度
T8L 滚动航点 水平范围 50 m,摇杆回中后保持最近目标
G 航点 点击地面、屋顶或立面取水平坐标,按当前/滚轮高度检查已加载表面并执行十方向近似探测;左下小地图单击无需按 G

文档

版本与分支

名称 用途
main 当前默认、效果最佳的公开演示版本
v0.1.1-demo.20260818 当前 README 对应的地标导航演示 Release
v0.1.0-demo.20260814 原四模式演示 Release;上方旧版视频链接继续保留
upstream-baseline-c6406dd 上游原始基线定位标签
archive/da360-prototype-c0b82d5-20260809 早期 DA360 原型归档

DA360 米制标定数据

DA360 米制标定数据

当前运行时采用 scale-only 关系 1/D=a·p,固定 b=0。12 次采集的有效锚点覆盖率达到 74.2%,但单帧尺度差异和四地点留一验证误差均表明:一个固定全局尺度尚未通过自动精度门禁。现有配置仅作为人工检查后的 sim-to-sim 基线,不代表真实传感器或跨场景米制精度已经通过。

可编辑 SVG · PDF · 脱敏摘要数据 · 绘图脚本 · 详细仿真标定图与源数据

当前边界

  • 当前深度标定只获准用于 sim-to-sim,不代表真实传感器米制精度。
  • Google 3D Tiles 的完整性受网络、代理、缓存和视角覆盖影响;未加载区域不能视为可靠自由空间。
  • ICRA 论文或宣传材料发布前必须单独核对当前 Cesium Ion/Google 服务合同是否允许将渲染内容用于 DA360/YOPO 机器解释,并审查动态署名和宣传视频要求;本仓库不把现有实现表述为已经完成该合规审查(Map Tiles API policies)。
  • 手机和平板访问目前只是架构潜力;回环服务、GPU 推理、键盘/遥控器依赖和缺少触控适配仍阻止移动端开箱即用。
  • 本项目不提供真实无人机飞行安全保证,不应直接用于人员或财产附近的自主飞行。
  • Cesium Ion token、模型文件、原始日志、设备信息和个人路径不得提交到仓库。

许可证与第三方项目

本项目采用 Apache License 2.0。第三方软件、模型和外部数据服务的许可与来源见 NOTICE。Google Photorealistic 3D Tiles 由外部服务提供,不随仓库分发;运行界面显式要求 Cesium 将当前瓦片的动态署名显示在屏幕上,项目 logo 不得遮挡这些署名。

致谢

本项目的早期代码源自 superboySB/MindCloud_World_Fly,现由 FASTLab World Fly 独立维护;原始作者与 Manifold Tech Ltd. 的版权声明、Git 提交历史和 upstream-baseline-c6406dd 基线标签均予保留。遥控器算法实现参考了 zwhhhhh9 的相关公开工作。本项目的 YOPO_360 部分参考 cn-ryw/YOPO_360,在 zwhhhhh9/YOPO_360 的 velocity_15ms 分支 基础上进一步优化修改。感谢 DA360、YOPO、CesiumJS 等相关开源项目和研究工作。

About

ZJU FAST Lab 城市高速无人机研究项目:基于 CesiumJS、Google Photorealistic 3D Tiles、DA360 与 YOPO 的浏览器闭环仿真平台。

Topics

Resources

Contributing

Security policy

Stars

6 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages