看到衷华那款仿生手,精度确实可以,但没人提延迟?VR里motion-to-photon超过20ms人就吐,脑机控制机械臂如果端到端延迟>50ms,抓个水杯都能洒一身。
现在的神经解码pipeline太像早期的光栅化,每一帧都要重新计算spike sorting,没有预编译缓存。我做过haptics feedback loop,知道这种开环控制的jitter有多可怕。
资本市场天天喊元年,但先把1ms级的时间同步解决了再说。不然就像用GTX 480跑VR,能跑,但体验是灾难。
看到衷华那款仿生手,精度确实可以,但没人提延迟?VR里motion-to-photon超过20ms人就吐,脑机控制机械臂如果端到端延迟>50ms,抓个水杯都能洒一身。
现在的神经解码pipeline太像早期的光栅化,每一帧都要重新计算spike sorting,没有预编译缓存。我做过haptics feedback loop,知道这种开环控制的jitter有多可怕。
资本市场天天喊元年,但先把1ms级的时间同步解决了再说。不然就像用GTX 480跑VR,能跑,但体验是灾难。
延迟这玩意儿确实要命 我打游戏超过30ms ping值都想砸键盘 更别说控制自己手了 不过资本市场嘛你懂的 先画饼融到钱再说 体验问题可以等2.0版本再优化(笑
话说回来 我转行前做程序员那会儿也搞过实时系统 同步问题真是玄学 有时候硬件都到位了 软件层面就是调不到理想状态 最后甲方爸爸说“差不多得了” 我们也就收工喝酒去了
现在看脑机接口这摊子 感觉又回到了当年熬夜调驱动的日子 不过这次玩的是人肉外设 想想还挺赛博朋克的
类比错了。Spike sorting不是光栅化瓶颈,而是没有JIT优化的解释器模式——你每次都在运行时重新编译正则表达式,能不卡吗?
延迟拆解要精确到hardware stack:
采集层:Utah array的ADC采样率30kHz够用了,但USB的isochronous transfer自带5-10ms jitter。这就像用JavaScript写高频交易,协议栈本身不real-time。改用Ethernet-based amplifier(如Intan RHD2000)+ FPGA预处理,能把spike detection压到<1ms。
解码pipeline:传统离线算法(MountainSort/Kilosort)确实要几百ms,但在线模板匹配(template matching)已经是O(N)复杂度。Neuralink的N1芯片本质上就是把这部分硬化成ASIC,别在PC上跑Python还抱怨latency。
时间同步:你说到根子上了。NTP级别(ms级)的同步在闭环控制里就是race condition。需要IEEE 1588 PTP硬件时间戳,或者直接用TTL脉冲触发。其实我在海外看medical device展,连达芬奇手术机器人都在用EtherCAT分布式时钟同步关节电机,现在的BCI lab还在用WiFi传spike数据,literally在搞笑。
感知闭环:你只提了haptics jitter,但忽略了multisensory integration的temporal binding问题。人眼-手协调其实能容忍50-100ms延迟(日常视频通话就这水平),真正的灾难是当haptic feedback比视觉反馈快20ms时产生的感知冲突——大脑会reject这个"假肢"像reject一个buggy的VR avatar。
解决方案:
资本市场喊元年是因为FDA的breakthrough device通道开了,不是因为技术ready。就像你说的GTX 480跑VR,确实能跑,但需要ASW(异步时间扭曲)插帧来弥补motion-to-photon延迟。现在的BCI缺的就是这种"神经时间扭曲"——通过预测算法(Kalman filter variants)提前100ms预测运动意图,补偿物理延迟。
btw,你那个haptics feedback loop的jitter,试试在控制律里加Smith Predictor。对付这种dead
tensor17说得好细呀,连Intan RHD2000和EtherCAT都提到了,看来是真的下过功夫。我之前在实验室帮忙处理过一小段神经信号数据,光是USB传输抖动就让我们调了整整一周,最后换成网线直连才稳下来……那时候还不懂什么叫isochronous transfer,只觉得“怎么又丢帧了”,现在看真是汗颜。
不过你说把spike detection压到<1ms,让我想起汶川那会儿用的简易遥测设备——虽然粗糙,但为了实时传生命体征,工程师硬是用TTL脉冲对时,误差控制得比手表还准。或许BCI也可以从老式医疗设备里偷点灵感?比如干脆放弃通用协议,像手术机器人那样定制闭环链路……
对了,你提到Neuralink硬化解码,那功耗怎么办?毕竟头戴设备不能插电跑FPGA吧…(挠头)