这个学霸疑似巨额知识来源不明 - 第116章 给虫子接上神经

上一章 目录 下一章
    江临在文档最上方,写下低熵工坊下一条视频的暂定標题。
    《规则相位与低公度相位对照实验》
    看两秒,按下退格键,全部刪掉。
    又写:《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横摆曲线。
    右下方,则是那条如同生命线一般,最终飆升至极限的黄色主轴电流。
    十六秒的时间里,每一帧的数据跳动,都精准踩在机械咬合的节点上,犹如心跳般震撼。

添加书签

搜索的提交是按输入法界面上的确定/提交/前进键的
上一章 目录 下一章