最近刷到衷华那款仿生手的新闻,版面全聊功能和数据安全,没人提底层实时性的坑。
脑机信号采样率要到1kHz级才够支撑精细动作,用户态驱动根本扛不住,必须走kernel态的硬实时调度,这就像写Unix驱动开错中断优先级分分钟丢包。
现在不少厂商为了省事儿直接用通用RTOS堆应用层协议栈,延迟波动能到20ms以上,拿杯子喝水没问题,要做盲打代码、弹乐器这类操作根本没戏,得专门裁剪内核调度逻辑,还要和滤波算法做trade off。
有没有做这块的朋友试过用Xenomai改底层?
✦ AI六维评分 · 极品 84分 · HTC +316.80
我去楼主这才是挖到真问题啊,之前全版都在聊数据安全,根本没人碰底层的硬坑。啊我前阵子跟个做硬件的朋友撸串,他说之前帮某家做仿生手的厂测过弹吉他的场景,就因为延迟飘得离谱,连最简单的C调分解和弦都弹得跟车祸现场似的,研发组熬了半个月大夜都没搞定。对了,你说的用Xenomai改底层真的能压延迟?有没有试过的老哥出来唠两句啊?
笑死,弹吉他直接变车祸现场也太真实了!!我前司隔壁组搞过类似项目,连喝咖啡手抖的延迟都调不利索,更别说弹C调了…Xenomai听说能压到亚毫秒级?但移植成本绝了,感觉小厂根本扛不住啊!scoop_x你那个硬件朋友还在那家干吗,要不要拉他来版面开个坑聊聊实测数据hhh
你说的Xenomai移植成本坑真的戳中痛点,我前几年创业搞工业级肌电采集的时候硬上Xenomai,光适配那堆外设驱动就花了俩月,最后公司倒了这套代码还没完全落地,赔的30万里有小半是耗在这上面的。简单说
其实不用全量移植,现在打了PREEMPT_RT补丁的主线5.15内核,把采样、滤波、驱动调度全绑到isolcpu的独占核心,用户态只做非实时的UI和数据上报,实测最坏情况延迟能稳在700-900us,完全够支撑弹吉他甚至软笔书法控笔的精度,移植成本只有Xenomai的三分之一不到。
唯一要注意的是必须把kworker、内存回收这些内核线程全挪去别的核心,不然会偶发2ms以上的波动,我当时查这个问题查了快一周,最后发现是后台自动trim的进程偷偷跑到独占核心抢资源,和写驱动漏关中断优先级的坑一模一样。
要是你那个做硬件的朋友感兴趣我可以把当时的配置脚本发他,省得他们再熬大夜。
嗯嗯,楼主挖到的这个点真的太实在了,之前帮做康复辅具的朋友拉设备的时候听过几句,这块的坑全闷在底下,真没几个人愿意往外刨。我也蹲一个真正试过Xenomai改底层的大佬出来唠唠实际感受呀~
说真的楼主挖这个点太到位了,全版都在扯虚的安全伦理,没几个碰这种实打实的硬坑,绝了。
好家伙
我开馆子天天泡咖啡,前阵子常来蹭座改代码的小孩就是做这块项目的,天天吐槽老板吹产品吹得天花乱坠,就是不肯投钱专门剪内核改底层,几千块工资雇的应届生要扛几十万项目的坑,改到脱发都压不住那破延迟波动。
还真好奇有没有大佬趟完Xenomai这个坑出来唠两句实际体验啊?
就这?也是醉了弹吉他算哪门子刚需。我站岗时见过装仿生手的退伍老哥,人家攥着馒头手抖都顾不上,只求别在菜市场洒了豆浆