把「果蝇的神经形态大脑」当作自主智能体,放进 3D 小镇与家庭场景里驾驶无人机、两辆小车(射线感知 / 纯视觉复眼)与蚂蚁。
本页梳理项目整体架构、汇总全部可在线运行的实验、给出面向开发者的 TokenTown API,并对比两套导航算法的设计哲学与实测表现。
所有实验共享同一套「数据 → 算法 → 场景 → 渲染 → UI」分层。下方以 Token Town 实验场(/sim/,同时含无人机与小车)为例说明;轻量 2D 版与小车家庭漫游版是同一套算法的不同规模/渲染实现。
OR_SNAPSHOT。carW(提案)→ 安全反射 + 目标导引外壳 + 曼哈顿航点规划。window.TokenTown 全局 API(见第四节)。设计原则:单文件自包含、零构建、可离线;数据与算法解耦(换数据源不影响算法);物理常量用世界单位,与模型视觉尺寸解耦(故小车缩到玩具车比例不影响导航)。
交接文档涉及的全部「可在浏览器运行的实验」均已上站;底层 Python 引擎作为开源源码提供。
旗舰演示:果蝇 LIF 脉冲网络驱动无人机巡游 12 家店,实时 OpenRouter Token 用量驱动店铺大小与人潮,左侧常驻算法核心面板。
同一座小镇同时跑 四个自主智能体:🪰 无人机(复眼 SNN 端到端)、🚗 射线小车(果蝇大脑 carW + 曼哈顿航点)、👁 纯视觉复眼小车(复用无人机同一套 SNN 大脑,仅把输入换成车顶前向 FPV)、🐜 蚂蚁(同一套果蝇大脑权重 carW + 交替三足步态)。可切「🚗 小车 / 👁 视觉小车 / 🐜 蚂蚁」第三人称跟拍;左下角「四智能体控制台」实时显示各自的动作 / 到达 / 碰撞 / 避让(避让中琥珀高亮、碰撞时该行红色闪烁),TokenTown API 同时覆盖四套智能体。
全新场景:三个共用同一份果蝇 SNN 权重的机体(🪰 无人机 / 🚗 小车 / 🐜 蚂蚁)在苔藓微缩花园里躲避原创巨人「巨足者 The Loom」的踩踏存活。任务从「到达目标」变为「别被踩死」。三位人类研究员各带 LUMISTAR 性格(INTJ 务实规划师 / ENFP 阳光小太阳 / INTP 天才发明家),其性格真实驱动行为——「鼓励」提升附近机体士气、「谨慎」提供庇护、「好奇」决定靠前程度——观测台视角可与他们对视。右侧面板实时观测每只机体的复眼 / 576 中间神经元 / 5 输出放电率;Micro API 可确定性步进与强制踩踏。
同一套「复眼 → LIF → 飞控」闭环的俯视 2D 版,零依赖单文件。适合低配设备或快速对比感知—控制链路。
交接文档交付版:果蝇大脑小车在 192㎡ 大户型漫游,含木地板/家具/厨房等真实材质;页面内置「就地演化训练」可重训大脑并写入 localStorage。
果蝇大脑核心引擎 flybrain_core.py(零第三方依赖,含 2D 网格版训练与 3D 连续环境优化实验档案):
下载 flybrain_core.py ·
其训练产物已在小车家庭漫游页上线。该引擎是上述所有浏览器实验的「同一套大脑」的离线训练/验证基线。
window.TokenTown 在 / 与 /sim/ 页面加载后自动挂载,是「开放给其他开发者」的官方入口:任何同页 JS(包括你自己的书签脚本、嵌入 iframe 的父页、自动化测试)都能直接读取状态、切换视角、确定性步进仿真。所有方法均同步、无外部请求、可在无 GPU 的 headless 环境用 carStep/stepTest 推进。
{flyX,flyY,flyZ,flyYaw,collisions,wpReached,loopCount,spikeTotal,outRate:[YAW_L,YAW_R,FWD,BRK,LGMD],loom,midFrac,fps,dataStatus,...}{wpIdx,idx,total,loopCount,wpReached,name} 当前巡店进度{penetrations,collisions,wpReached,loopCount,minClearance,avoidanceFrames,...}[{mid,neurons,collisions,collisionsPerMin,penetrations,wpReached,minClearance,avoidanceFrames}]{status,date,total,err,at} 数据源状态'car' | 'fly' | 'iso'{x,z,yaw,score,hits,goalX,goalZ,active}(score=到达充电站数,hits=撞墙次数){x,y,z}{x,z,yaw,score,active,collisions,goalX,goalZ,outRate[5],loom};outRate 为 5 通道放电率 [偏左,偏右,前进,刹车,LGMD],loom 为复眼 looming 预警{x,y,z}{x,z,yaw,score,hits,goalX,goalZ,active,legs,antennae,scale}(score=到达目标数,legs=足数 6,antennae=触角数 2,scale=模型等比缩放 0.45){x,y,z}{fly:{...}, car:{...}, eyeCar:{active,score,collisions,avoid,avoiding,loom}, ant:{...}} —— 碰撞与避让情况的主要数据来源;eyeCar 与 car 并列,可对比两种感知范式在同任务上的表现{shops:[{min,max}], props:[{min,max}]} —— shops=12 家店铺建筑,props=街道障碍(行道树/路灯杆/长椅/路边停车/街道家具)。引擎对三个智能体都施加了「不得进入」的硬约束,可直接复用来自定义第四个智能体或做离线路径规划// 1) 读取无人机 + 小车实时状态
const s = TokenTown.state();
console.log(s.flyX, s.flyY, s.collisions, s.outRate); // 飞控放电率诊断量
// 2) 切到小车第三人称视角,并确定性步进 400 步仿真(不依赖帧率)
TokenTown.setCarView(true);
TokenTown.carStep(0.05, 400);
const car = TokenTown.carInfo(); // {x,z,yaw,score,hits,goalX,goalZ}
console.log('到达充电站', car.score, '撞墙', car.hits);
// 3) 神经元数量 × 碰撞 扫描(无人机)
const sweep = TokenTown.neuronCollisionSweep([8,16,24,32,48], 0.05, 30);
console.log(sweep); // 每项含 collisions / collisionsPerMin / penetrations ...
// 4) 调试:把无人机瞬移到镇中心上空
TokenTown.debugPlace(0, 2.6, 0, 0);
所有方法均为同步、纯前端、无外部依赖,因此天然「对开发者开放」:直接在你自己的页面里 <iframe src="https://flydrones.tech/sim/"></iframe> 后用 iframe.contentWindow.TokenTown 编程控制即可。
两套导航都源自「果蝇的神经形态大脑」,但落地哲学截然不同:无人机走端到端生物启发,小车走生物提案 + 经典规划兜底。下面从感知、网络、决策、世界模型、实测五个维度对比。
| 维度 | 🪰 无人机(Drone) | 🚗 小车(Car) |
|---|---|---|
| 生物原型 | 果蝇复眼 → LIF 脉冲神经网络自主飞行 | 果蝇大脑线性策略 + 几何外壳 |
| 感知模态 | 视觉:机载 FPV 相机 128² → 复眼 32²(1024 小眼) | 近距测距:6 路射线(前 / 左 / 右 + 世界边界) |
| 网络结构 | 复眼 1024 → 中间层 576 (LIF) → 5 输出(含 LGMD 碰撞神经元)→ 16 帧放电率解码 | 6 特征 → 3×6 线性权重 carW argmax(前 / 左 / 右) |
| 决策范式 | 端到端 SNN 输出直接驱动方向舵/油门;CX 中央复合体绕行 + MB 蘑菇体在线学习塑形 | 混合:SNN 提案 + 安全反射外壳 + 曼哈顿街道航点规划 |
| 世界模型 | 无显式地图,纯感知涌现;航点由「按店径向推到街道」生成 | 显式曼哈顿街道图(航点=街道交叉口 xs∈{-30..30}/zs∈{-22.5..22.5}) |
| 目标 | 循环巡遍 12 家店(按序 + 回绕) | 到达 14 个充电站(街道交叉口) |
| 避障机制 | 网络主导:复眼方位角通道 (YL−YR) + LGMD looming 预警 + CX 持续侧向偏航绕行 | 几何主导:正前将撞 → 锁定更空侧绕行(迟滞防横跳);cosA 判前后 / sinA 判左右 |
| 碰撞表现 | 学习开后 MID=24 碰撞 4→1(约 4×),穿模=0 | 玩具车比例下实测 撞墙=0,到达 12 个充电站 |
| 跨尺度泛化 | 在原生小镇尺度标定,泛化好 | 线性策略训练于 10×7 房间,在 68×54 小镇失效 → 依赖外壳兜底才恢复 |
| 计算量 | 每帧 FPV 渲染 + 1024→576 SNN + 16 帧解码(最重) | 6 射线 + 3×6 矩阵乘(极轻) |
| 可解释性 | 低(黑箱 SNN);有「神经元数×碰撞」扫描可观测 | 高(决策分支可逐步追踪:感知→提案→外壳→航点) |
这是本实验最干净的一组控制变量:同一副四轮底盘、同一座 Token Town、同一批充电站目标,唯一变量是「感知—大脑接入方式」。🚗 射线小车用 6 路测距 + 线性大脑 carW + 几何外壳;👁 视觉小车把无人机的复眼 SNN 大脑直接搬上地面,只把输入从「机载俯视 FPV」换成「车顶前向 FPV」,控制律从舵量/油门重映射为左右轮差速。
| 维度 | 🚗 射线小车(Ray Car) | 👁 纯视觉复眼小车(Eye Car) |
|---|---|---|
| 感知模态 | 6 路射线测距(前/左/右 + 世界边界),标量距离 | 车顶前向 FPV 128² → 复眼 32²(1024 小眼),稠密视觉 |
| 大脑 | 6 特征 → 3×6 线性 carW argmax | 复用无人机 SNN:复眼 1024 → LIF 576 → 5 输出(含 LGMD)→ 16 帧解码 |
| 控制映射 | SNN 提案 + 安全反射 + 曼哈顿航点 → 转向/前进 | 端到端 SNN 输出 → 差速转向((YL−YR)·增益 作偏航,前向率 作油门) |
| 目标导引 | 曼哈顿航点(剩余距离大轴优先,消除振荡) | 同射线小车:曼哈顿航点 + 偏置注入 SNN 输出通道 |
| 避障 | 几何主导:正前将撞 → 锁定更空侧绕行 | 网络主导:复眼方位角通道 (YL−YR) + LGMD looming 预警 + 差速偏航;建筑硬约束兜底滑移 |
| 穿模/碰撞 | 撞墙=0(几何外壳保证) | 穿模=0(建筑 AABB 硬约束 + 角点双轴推出 + 世界边界 clamp) |
| 到达表现 | 稳定到达 14 个充电站,速度≈2–3 u/s(偏保守) | 稳定到达充电站,速度≈4–5 u/s(前向偏置更高) |
| 可解释性 | 高(决策分支逐步可追) | 低(黑箱 SNN),但「复眼面板」可实时观测输入/中间层/5 输出放电率 |
| 计算量 | 极轻(6 射线 + 3×6 矩阵乘) | 较重(每帧 FPV 渲染 + 1024→576 SNN + 16 帧解码,与无人机同) |
| 跨尺度 | 线性策略原训练于小房间,需曼哈顿外壳兜底才在小镇可用 | 直接复用无人机已在小镇定标的大脑,无需重训即全镇通用 |
结论:同一底盘下,射线方案轻、白盒、零撞但慢;复眼方案重、黑盒、更快且零穿模,并天然继承了无人机在小镇尺度已定标的避障能力。两者并存恰好构成「几何测距 vs 生物视觉」在同一任务上的端到端对照——也是把果蝇 SNN 从空中搬到地面的最直接证据。
1. 同一套「果蝇大脑」,两种工程化路线。 无人机把网络当唯一控制器,靠 SNN 涌现的方位角通道 + CX/MB 在线塑形实现避障与巡店;小车把网络当提案生成器,再由确定性几何外壳(安全反射、目标导引、曼哈顿航点)保证「必定到达、几乎不撞」。
2. 为什么小车需要外壳? 小车线性策略 carW 训练于 10×7 小房间,直接放进 68×54 小镇会卡墙(1710 次撞击、0 到达)。加上曼哈顿航点 + 安全反射后,整车漫游全镇、0 撞击。这说明:纯端到端策略的跨尺度泛化是瓶颈,显式规划兜底能立刻补上。
3. 无人机为何能端到端? 它的 SNN 在小镇尺度内完成定标(含 LGMD 真 looming、CX 绕行、MB 学习),且任务(沿街巡店)几何约束弱、容错高;残差碰撞来自贴楼巡航擦碰(几何受限),而非感知失败。
4. 性能取舍。 无人机算力重但自主性强、无需地图;小车算力极轻、可解释、零撞墙,但依赖街道网格这一先验。两者互补,正好构成「生物启发端到端 vs 生物提案+经典规划」的对照样本。
5. 第三智能体:蚂蚁(同一套果蝇神经元)。 蚂蚁按真实身体比例建模(头/中躯/腹柄/腹端 + 6 足各三节 + 肘状触角 + 复眼 + 上颚),但决策复用与小车完全相同的果蝇大脑权重 carW,外挂同样的安全反射 + 目标导引 + 曼哈顿航点。实测:到达目标、撞墙 0、六足呈交替三足步态(两组三足相位差 π)。这构成一个有力的控制变量实验——形态不同(六足 vs 四轮)、大脑相同,行为同样可靠,说明该「果蝇神经元 + 几何外壳」组合对本体形态不敏感,具备迁移性。
6. 第四智能体:纯视觉复眼小车(SNN 大脑跨模态迁移)。 👁 视觉小车是「把无人机大脑搬到地面」的最直接证据:同一套复眼 SNN 权重、同一套 LIF/解码参数,仅把输入从机载俯视 FPV 换成车顶前向 FPV,控制律从舵量/油门重映射为差速转向。它在小镇尺度无需重训即零穿模、稳定到达充电站,速度与避障能力直接继承自已在空中定标的无人机大脑。结合第 4.1 节的对照,Token Town 现在同时提供「🪰 端到端视觉 / 🚗 几何测距提案 / 👁 同大脑视觉地面化 / 🐜 同大脑六足化」四组可并跑、可切换、可由 TokenTown API 统一采样的控制变量样本。