这个学霸疑似巨额知识来源不明 - 第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横摆曲线。
右下方,则是那条如同生命线一般,最终飆升至极限的黄色主轴电流。
十六秒的时间里,每一帧的数据跳动,都精准踩在机械咬合的节点上,犹如心跳般震撼。
添加书签
搜索的提交是按输入法界面上的确定/提交/前进键的