Deprecated: Function get_magic_quotes_gpc() is deprecated in /www/wwwroot/jieqi/global.php on line 250
这个学霸疑似巨额知识来源不明- 第115章 给虫子接上神经-都市言情-17模板网
第115章 给虫子接上神经
    江临在文档最上方,写下低熵工坊下一条视频的暂定标题。

    《规则相位与低公度相位对照实验》

    看两秒,按下退格键,全部删掉。

    又写:《n,不再等于一》。

    还是删掉。

    太像回应了。

    如果现在就发第二期,很容易。

    做四台对照机,摆出规则板、随机板、非重复间距板,再甩出一组比第一期更漂亮的数据。

    确实能让一大半争论当场闭嘴。

    可那样一来,低熵工坊就被评论区牵着鼻子走了。

    别人说你没对照,你就补对照。

    别人说你n=1,你就把n做大。

    一路接招,看起来打得热闹,实际上就只能永远站在原地,在别人的逻辑框架里打转。

    虽然江临一直告诉自己不受网络刻板印象的影响,但当看着后台那99+的红点时,潜意识里还是难免有些被带着去思考。

    他摇了摇头,把脑子里那些虚拟的喧嚣全部清空。

    第一期视频里,六足那层最基础的机械架构的壳子,他已经给出去了。

    真正感兴趣,有动手能力的人,自然会接着拆解。

    用自己的失败,把规则相位和低公度相位往下推。

    他不必亲自下场,去回答每一道题。

    他要做的是下一步。

    第一期的六足平台已经证明了用2022年的普通材料,普通加工,普通电机,天幕站那套被动容错的机械逻辑,在桌面尺度上能重新跑起来。

    但它有个毛病。

    它只会走。

    走得动就走,走不动就趴下。

    可你要问它,刚才到底哪儿出了问题,它一个字也答不上来。

    铁屑老周说:“当某条腿没按你想的方式受力,你怎么让剩下五条腿,别跟着它一起犯病。“

    中部985在论文里说:“错误不会集中在某一个机械节拍上连续放大。“

    这两句话,都只摸到了大象的一条腿。

    江临真正想做的,根本不是一台被动六足能不能在复杂地形里少摔几次。

    而是,既然机器的身体本身能扛下一部分容错,那它为什么不更进一步,而是停留在一台没感知,没记录,摔了也说不清的被动测试架上?

    在他的构想里,这个六足平台的下一阶段至少该知道,自己身上发生了什么。

    哪条腿的足端先失去了载荷?

    哪个位置的棘爪在不该咬合的相位提前咬合了?

    主轴电机的瞬时电流,到底是在哪一帧、哪个毫秒突然抬起来的?

    机身的横摆失控,是从什么时候开始陷入死循环重复的?

    它的失败,是一瞬间大厦倾覆般塌掉的,还是顺着底层的机械结构,像金属疲劳的裂纹一样,一点点爬出来的?

    这第二只虫子,得能把自己为什么走不下去记下来。

    他新建了一个文件夹。

    G01_Embodied_Failure_Logger

    【低熵工坊 G-01:一台会记录自己怎么趴窝的虫子】

    然后开始写文案。

    “上一期那只虫子,只会走路。这一期,我想让它学一件更难的事:在摔倒,死锁,甚至主轴烧毁之前,把自己身体里正在发生的一切灾难,一字不漏地记下来。“

    往下,他开始列bom(物料清单),每列一个硬核的电子零件,就在旁边用最粗糙的大白话翻一遍。

    高带宽ImU(惯性测量单元)。

    ——你手机横过来屏幕会自动转,靠的就是类似这类mEmS惯性器件。把它装在机身上,让它随时记录自己是平的歪的,还是正在往下栽。

    薄膜足端压力传感器(FSR)。

    ——脚底的体重秤。六六条腿哪条被压到了,它能给出第一手线索。

    主轴高边电流采样(INA240)。

    ——给电机把脉。腿一卡住、连杆一突然吃力,电流立刻往上窜。人使劲会憋红了脸喘气,电机使劲,这陡增的安培数就是它的喘。

    全局快门高速摄像头(oV9281)。

    ——一个没有任何智能的随身记录仪。不用卷帘快门,因为果冻效应会毁了机械动作的瞬间。它不认人、不认路、不跑YoLo目标识别,只管把微距下的齿轮啮合过程录下来,留着事后一帧一帧回放。

    边缘计算与高精度时间戳对齐底板。

    ——机器的黑匣子。飞机摔了靠黑匣子复盘,这只虫子摔了,也得有自己的黑匣子。

    所有传感器数据和视频帧,必须被绑定在同一条统一时间线上。

    至少要精确到毫秒级,电流、ImU这些高速数据,再单独保留更高频采样时间戳。

    写到这里,江临停顿了一下,把一开始打算用的树莓派三个字删掉。

    Linux系统的非实时性会带来不可控的调度延迟,对于分秒必争的机械正时来说,那就是毒药。

    他改成了:【主控板:Stm32h7高性能单片机。】

    他现在还不需要强算力,只要稳定的硬件定时器,足够快的Adc采样,以及一套不会被Sd卡写入延迟拖乱的环形缓冲区。

    强算力会像海妖的歌声,勾着人去做极其复杂的感知,做全地形的步态规划,做花哨的波士顿动力式的平滑控制。

    这不是G-01该干的活。

    G-01的任务,不是在聚光灯下表演我很聪明,我能后空翻,而是像一个沉默的苦行僧,把身体里那点机械结构失效的溃败过程,老老实实地记下来。

    底盘第一版的图纸不必推翻,仍旧保持低速六足的构型。

    六足在几何学上的好处是接触点极度清楚:每条腿什么时候落地,什么时候失去载荷,棘爪什么时候锁止,力学传导路径清晰,一笔一笔记得清。

    他在旁边用括号留了一行备忘:【备选:轮腿混合架构的复杂性太高,干扰变量太多,以后再说。】

    接着,他在纸上画了张简图。

    中央主轴电机,两侧对称的六条腿,每一个聚甲醛(pom)切削的足端内嵌一个压力点。

    机身正中的质心位置焊着一颗ImU,主轴电机的供电线上串联着霍尔电流采样,前方探出一个毫无美感的裸露摄像头排线,侧面挂着一小块布满绿油的pcb记录模块。

    画完,他端详了一会儿。

    这台长满了飞线和传感器的G-01,比第一只光秃秃的虫子更丑了

    但它无疑也更有用。

    ……

    最先到货的是足端压力传感器。

    一包薄薄的柔性薄膜片,装在防静电袋里,轻飘飘的,拿在手里像几片被随手裁成圆形的黑色劣质塑料纸。

    卖家页面的参数写得天花乱坠。

    航空级高灵敏,百万次高重复性,零温漂,完美适用于高仿生机器人足底压力检测及步态分析。

    江临拆开防静电袋,用镊子夹起一片,对着头顶昏黄的白炽灯看了整整两秒。

    这东西绝对不能直接信。

    哪怕标称参数再好,也不能信。

    做过底层硬件和非标自动化的人都知道,传感器这种东西,最容易合法地欺骗系统。

    即便它工作完全正常,输出的电压信号极其稳定,Adc(模数转换器)读到的数值也完全符合欧姆定律,也能凭实力把整个上位机的运动解算带偏到姥姥家去。

    这涉及到一个极度深渊的工程学难题。

    观测者效应在宏观机械上的幽灵再现。

    比如把这片薄膜直接贴到原本是球面的足端下面?

    原本的点接触,瞬间变成了面接触,直接改变了足底的接触面积和受力模型。

    比如为了防止磨损,给它外面加一层硫化橡胶保护?

    嗯,足底的静摩擦系数和动摩擦系数全变了,原本能在木板上滑行的步态,现在会死死卡住。

    比如为了采集信号,走线从腿侧的连杆绕过去?

    恭喜,几根硅胶软线的质量和拉扯力,直接改变了整条腿的摆动惯量,原本调好的机械谐振频率全废了。

    如果用的双面固定胶太硬,足端会失去原本设计好的柔顺性,走起来像个踩高跷的僵尸。

    如果用的固定胶太软,比如3m的厚泡棉胶,测试时足端受到侧向剪切力,薄膜和保护层之间就会发生肉眼看不见的微小滑移。

    ……

    说白了,江临想让G-01把平台的失败记下来,可第一步遇到的问题就是记录这个动作本身,会改变被记录的平台物理特性。

    这比买到坏件更麻烦。

    买到坏东西,大不了退货换新的。

    但如果装上这套传感器网络之后,机器的重量分布、摩擦力、柔顺性全变了,它已经不再是原来那只纯粹的虫子了。

    那么,它最终记录下来的失败,究竟是本体机械结构的翻车,还是记录系统自己通过物理干涉,凭空制造出来的bug?

    这是硬件工程里的哲学问题。

    上午九点半,教师楼后排的小车库。

    工作台上摊着G-01第一版底盘。

    它仍然沿用六足结构,但为了建立痛觉神经系统,江临像给一具还没缝合的机械身体接上神经,给它顺手飞了几条扎眼的线束。

    红黑相间的足端压力线,屏蔽网包裹的ImU数据线,从电调上硬接过来的主轴电流采样线,一条极宽的Fpc摄像头排线,以及腹部那块他用嘉立创打样,焊满了0402阻容件的自研数据记录板。

    一眼看过去,它简直像是一只刚做完赛博义体植入手术,还没缝合装甲的金属怪物。

    江临拿起第一片薄膜压力传感器,小心翼翼地垫在左前足的pom足底。

    压紧,贴上极薄的3m 468mp双面胶,走线。

    用镊子引导着极细的漆包线,沿着铝合金连杆的内侧,绕过所有可能发生干涉的摆动死角。

    最后,用一点点热熔胶和小线夹固定。

    一套标准的高密度组装操作,看起来毫无破绽。

    于是启动电机。

    “滴——”

    电调发出清脆的上电提示音。

    他轻轻推下启动开关,启动主轴电机。

    G-01的机械齿轮开始咬合,发出低沉而规律的咔嗒声。

    它慢慢抬起左前腿,迈出第一步。

    很稳健。

    第二步,右中腿跟上。

    没问题。

    第三步刚抬起来,然后毫无预兆地,迎来了整个项目最喜闻乐见的翻车环节。

    左前腿那根顺着连杆固定的极细的足端线束,在腿部摆动到最高点时,因为连杆的相对运动,产生了一个不到两毫米的微小外凸。

    就是这微小的两毫米,让线束的绝缘皮被旁边的主传动杆轻轻擦了一下。

    真的只是像羽毛一样擦了一下。

    可就是这微不足道的一点点摩擦阻力,让左前足在往下落的瞬间,由于被线扯了一下,慢了半个节拍。

    电脑屏幕上,上位机实时滚动的压力曲线上,立刻冒出一个刺眼的假峰值。

    日志窗口无情地输出一行红字。

    【Error code 0x1A】左前足端压力异常,标记为疑似提前触地。

    江临盯着屏幕,没动。

    此时,机器的电机还在转,它继续往前走,左中腿结结实实地接住了整个机身的载荷,机身姿态平稳,没有任何要摔倒的迹象。

    但在数据世界里,数据已经脏了,这台机器已经死了。

    江临关掉电机电源。

    左前足根本没有提前触地。

    是那根用来探测触地的线束,像一只有形的手,在半空中拖住了它。

    传感器没有记录到失败的真相。

    相反,传感器用它自己的物理实体,制造了一次失败的影子。

    江临面无表情地拿起螺丝刀和斜口钳。

    把那根线拆下来,重新规划走线路径,用游标卡尺测量了间隙,从连杆的外侧改到了不会发生摩擦的内侧,又用新近购买的3d打印机临时打了一个倒角平滑的限位线夹。

    再试。

    这一次,线完美避开了所有干涉区,没有扫到连杆。

    但墨菲定律永远不会缺席。

    新的bug如期而至,且更加隐蔽。

    由于之前担心硬胶会改变足底摩擦,他采用的传感器保护胶稍微软了那么一点点。

    当G-01的足端踩上测试用的斜向尼龙障碍条时,薄膜传感器和保护层之间,发生了肉眼无法察觉的微小滑移剪切。

    上位机的数据曲线里,出现了一个异常优美平滑的缓慢上升段。

    系统判定:“载荷平滑转移,步态极佳。”

    “神仙数据啊。”

    江临笑叹,在这种刚性机械结构里,根本不可能存在这么平滑的受力曲线。

    他调出正对着足端的高速摄像头,将帧率拉满到240fps,开始一帧一帧地转动鼠标滚轮进行回放。

    画面在漆黑的屏幕上缓慢跳动。

    停在第九十七帧。

    画面里,金属足端早已死死地压住了尼龙障碍条,足底的pom材料甚至发生了微小的弹性形变。

    然而,旁边同步显示的压力曲线,却像个刚睡醒的树懒,还在慢吞吞地往上爬升,根本没有达到触地阈值。

    延迟。

    还是足足14帧。

    以当前240fps的帧率换算,14帧意味着58毫秒。

    对一个在b站刷着擦边舞蹈视频的观众来说,58毫秒连眼皮眨一下的时间都算不上。

    但对于一台依靠内部棘爪正时逻辑,在失衡边缘疯狂试探来活命的机械六足虫来说,58毫秒的物理信号延迟,足够把整条纯机械的动力链送进火葬场。

    58毫秒,棘爪早就错过了最佳的咬合时机,齿轮会在错误的位置卡死,电机瞬间过载烧毁。

    江临在记录本上写——

    【G-01踩坑记录:传感器安装方式及材料力学引入假柔顺。保护层剪切滑移与FSR迟滞共同引入读数延迟,当前安装方式下延迟约58ms。不能直接用于判断触地时刻,必须先改安装结构,再与电流、ImU和视频帧做交叉校验。】

    【G-01第一课:给身体接上神经,不等于身体真的会说实话。】

    第一只虫子的难点,是攻克机械加工精度,让它在复杂的相位中走起来。

    第二只虫子的难点,是攻克系统工程,让它说真话。

    而在这个充满摩擦,温度,噪声的现实物理世界里,让一台由无数零件拼凑起来的机器说出真话,比让它走起来,难上百倍。

    ……

    下午两点,吃过午饭小睡了一觉的江临开始收拾比足端压力更让人抓狂的东西。

    ImU。

    如果说足底的压力传感器是个喜欢用物理滑移来撒谎的骗子,那ImU就是个患有神经衰弱的敏感肌。

    敏感本来是它的本职工作。

    通过内部微机械结构,它能精准记录机身在三维空间里的横摆、俯仰、微小的震动,以及每一次跌倒时的瞬时冲击G值。

    可问题在于,如果你把这个敏感的神经元固定在错误的位置,它就会把主轴电机的电磁高频振动,某颗m3螺丝没拧紧的松动,甚至是某根数据线在风中拍打机架的震颤,统统误认为是机身的姿态变化。

    江临在这个小小的硅片上,经历了三次痛苦的迭代。

    V1.0方案(中置底盘直贴)。

    他遵循了物理学中最直观的逻辑,把ImU贴在机身的几何中心,也就是底盘的正中央。

    位置绝对准确。

    可是那个功率高达150w的直流无刷主轴电机,就在它旁边不到五厘米的地方。

    主轴一通电开始旋转,哪怕机器还没落地,上位机里的数据波形直接炸裂。

    高频的电磁噪声和电机的机械共振,顺着刚性底盘全传了过来。

    机身明明稳如老狗,屏幕上的姿态曲线已经疯得像在跳迪斯科。

    V2.0方案(上层柔性支架)。

    秉着惹不起躲得起的原则。

    他用3d打印机打了一个尼龙小架子,把ImU挪到了远离底盘和电机的上层空间。

    电机噪声确实小了,波形平滑了不少。

    但江临还没来得及高兴,一落地测试就原形毕露。

    尼龙支架太薄,悬臂太长,机器只要迈开腿走路,整个机身带动的低频晃动,让那个小支架自己开始产生共振颤抖。

    最终,ImU记录下来的根本不是真实的机身整体姿态,而是那个破支架在空中疯狂的帕金森抖动。

    V3.0方案(加厚金属配重块)。

    江临动了真火。

    他用6061硬质铝合金搓出了一个极厚、硬的固定底座,然后攻了几个极紧的螺纹孔,把ImU锁在上面。

    这一次,刚性绝对足够,数据瞬间干净得像教科书里的示例。

    然后就是这块沉重的实心铝块,增加了机身上半部分的质量分布。

    机器的整体重心被凭空拔高了12毫米。

    当这台机器再次爬上那些非重复间距板时,因为重心的改变,侧倾风险明显增加。

    记录系统,再一次无情地改变了被记录的物理对象。

    江临冷静地把这三次测试、三组截然不同的数据图表并排放在屏幕上。

    第一组:被电机高频噪声污染的假姿态。

    第二组:被支架低频自振污染的假姿态。

    第三组:很干净,却让机器变得更容易摔倒的假数据。

    三条路,每一条都不完美。

    但这就是工程学,不用在真空球形鸡的假设下寻找一个完美的解析解。

    而是在一堆糟糕透顶的选项里,通过无数次的权衡,妥协,压榨材料的极限,挑出一个错得最少的。

    最终,他配置了一个复合滤波方案。

    机械层面,将ImU移到了靠近机身重心,但不在主轴正上方的侧边。

    用一块短小精悍的标准化铝座固定,然后在铝座和机架之间,垫入一层极薄的高密度丁腈橡胶片,用来做物理层面的低通滤波。

    连续测试了四次不同厚度不同邵氏硬度的垫片,再配合软件层面的卡尔曼滤波算法,才勉强把噪声压到了边缘计算板能够处理的阈值范围以内。

    ……

    傍晚时分,江临放在一旁的手机屏幕不断亮起,低熵工坊b站后台正在发送疯狂涌入的消息提示。

    这很正常。

    一个没有历史投稿的新账号,突然靠一条硬核机械视频冲进科技区推荐池,又正好踩着非周期这个热词,必然会招来一堆乱七八糟的东西。

    有人在耐心等低熵工坊的第二期技术解析。

    有人在冷嘲热讽,认定他江临已经江郎才尽,不敢继续往下做,生怕暴露理论的缺陷。

    有人像催债一样在评论区刷屏催他放出详细的Solidworks图纸。

    有人直接开口:【Up主,我是学生,cAd发我一份,我想学习一下。】

    还有人更直白。

    【哥们,你这个思路我感觉能搞创业,要不要一起做?我负责商业,你负责技术。】

    江临一条条滑过去,飞快浏览了一遍,关掉后台,接着调 G-01。

    晚上七点三十五。

    第一组干净的翻车数据终于出现。

    测试环境其实很简单,工作台上只有一块短小的木板,上面用强力胶固定着一根呈现30度斜角的尼龙条。

    目标也只有一个:主动制造右前腿在特定相位下的斜向卡滞。

    G-01以设定的极低速度,沉稳地向前迈进。

    左前腿落地,一切正常。

    右中腿支撑起一半的机身重量,正常。

    右前腿在空中划过一条弧线,慢慢接近那根斜向尼龙条。

    足端接触的瞬间。

    江临盯着屏幕上被切分成四个象限的同步画面。

    第一象限(左下角):压力曲线。

    屏幕上,代表右前足的绿色压力曲线轻轻抬头。

    第二象限(左上角):ImU姿态。

    紧接着,红色横摆曲线出现了一小段几乎微不可察的向右偏转趋势。

    第三象限(右下角):主轴电流。

    此时,电流波形依然是一条平静的直线,电机还不知道灾难即将降临。

    随着高速摄像机的画面逐帧推进,时间被无限拉长。

    第十二帧:右前足的pom材料在光滑的尼龙条上,因为斜向受力,发生了一次极其微弱的侧向滑移。

    就在滑移发生的瞬间,压力曲线突兀地分裂出两个异常的双峰。

    第十五帧:侧滑带来的连锁反应爆发了。

    接触角的微小偏差,通过连杆系统放大了数倍。原本应该完美避开的棘爪齿尖,凄厉地擦到了转动中的齿条边缘。

    第十七帧:机械干涉的阻力瞬间反馈到主轴。

    电流采样芯片捕获到了安培数的陡然暴增,一条黄色的直线如利剑般直插云霄。同时,机身因为受力不均,横摆角速度剧烈加速。

    第二十帧:灾难彻底降临。

    主轴电机的驱动板触发了过载保护,切断了pwm输出,整台机器发出一声沉闷的咔声。

    机器停住了。

    江临把这不到一秒钟的慢动作回放,来来回回拉动了整整五遍。

    再把四条时间轴绝对对齐的数据拖出来看。

    足端压力,ImU 横摆,主轴瞬时电流,高速视频捕捉帧。

    在人类工程学的历史长河中,这微不足道。

    但在这个小车库里,这是第一次,四条原本孤立的物理证据链,严丝合缝地对上。

    不是那种被滤波算法涂抹过的完美拟合,而是带着真实物理世界粗糙毛边的,足够清晰的因果逻辑链。

    错误,并不是从电机电流异常开始的。

    错误,也不是从机身倾斜那一刻开始的。

    错误,更不是从那声刺耳的棘爪死锁声开始的。

    一切灾难的源头,第一下真正要命的失效,是那次在第十二帧发生的,足端在斜向接触里的微小侧滑。

    侧滑,制造了毫米级的接触角偏差。

    偏差,把本该顺畅工作的棘爪硬生生拖进了一个错误的机械相位。

    棘爪在这个错误的时刻提前啮合,这才引发了最终的整条运动链的死锁。

    逻辑完美闭环。

    江临看着屏幕,只觉得头皮发麻。

    这套神经系统太可怕了,但也太美了。

    如果没有那片该死的足端压力传感器,如果只看外部的录像视频,所有人都会理所当然地以为,是底部的棘爪设计有缺陷,发生了疲劳卡死。

    如果没有精确到度数的ImU,如果只看粗暴的电机电流曲线,大家都会判定是电机马力不够,遭遇了过载。

    如果没有那个全局快门的高速摄像头提供绝对时序同步,如果单看压力曲线那诡异的双峰,又会很容易误判成简单的提前触地干涉。

    只有当这四条带着杂音的线束合在一起,交叉印证,失败,才终于第一次在这个狭小的车库里,开口说出了一句完整清晰的话语。

    江临在屏幕上按下了暂停键。

    右前足端,斜斜地地压在尼龙条上的瞬间。

    此时的机身,还没出现任何肉眼可见的倾斜。

    决定翻车与否的棘爪,还没有真正咬合锁死。

    而代表主轴电流的黄色曲线,才刚刚开始微微抬头。

    这是问题真正开始爆发之前,安静隐秘的一帧。

    截图,保存,录入日志。

    命名:G01_fail_001_initial_slip_frame.png

    【test_Id:G01-001】

    【terrain:斜向固定尼龙条极限测试】

    【Start_phase:初始运动相位 52.5°】

    【First_Event:灾难原点-右前足端斜向接触后发生侧滑】

    【propagation:因果链传导-侧滑→接触角偏差畸变→棘爪提前擦齿干涉→瞬时负荷突增导致电流上升→触发主控硬件保护停机】

    【Final_Stop:系统状态-运动链发生不可逆死锁】

    【Recoverable:自恢复可能-否】

    第一条具有完整因果追溯能力的失败日志,在6月30日这个闷热的夜晚,正式落笔。

    夜里九点。

    江临打开剪辑软件,把刚才这个颇具历史意义的翻车过程,随手剪成了一段只有十六秒的分屏视频。

    视频被切分成严谨的四宫格。

    左上方,是足端接触瞬间的超高清慢动作特写。

    右上方,是实时同步滚动的绿色压力受力图。

    左下方,是随着机身轻微晃动而波澜起伏的红色ImU横摆曲线。

    右下方,则是那条如同生命线一般,最终飙升至极限的黄色主轴电流。

    十六秒的时间里,每一帧的数据跳动,都精准踩在机械咬合的节点上,犹如心跳般震撼。