只靠风,一只走兽最少要多大的风?——方法、证据分级与负面结果报告

实验待证

配合仿真与实验探针的假设探索,等待更多证据或边界检验。

ℹ数字花园

🌿 什么是数字花园与思想演进?

遵循 Maggie Appleton 与 Andy Matuschak 的常青笔记理念:这里不是按时间沉底的流水账,而是持续修剪打磨的知识生态。文章按成熟度经历:

  • 🌱 萌芽 (Seedling): 发散灵感、读书摘录、开放猜想
  • 🌿 演进 (Budding): 结构渐明、初步代码推导、积极修正
  • 🌳 常青 (Evergreen): 逻辑闭环、持久经得起检验的基石
  • 🔬 实验待证 (Speculative): 结合沙盒与仿真探针的理论探索
浏览全站数字花园与笔记全景 →

最重要的一句话:本文里的每一个数字都来自本项目的仿真器(MuJoCo,以及一个独立实现的平面刚体求解器 K2),没有一个来自实物走兽。 项目接受 E3(可追溯实测)暂时为空。下文按 E0–E3 给每个结论标出证据等级,并逐处写明”模型内”还是”实测”。

这是 Strandbeest 系列的第五篇。前四篇讲了十二个演化时期、腿的平面几何、用遗传算法重新演化它,以及从设计到打印的开源平台(meiluosi/strandbeest-evolution,在线演示)。这一篇是阶段 A–D 的技术报告,正面回答我们的旗舰问题:

一只只靠风的走兽——帆提供能量,重力可以帮忙,不用电,不用预先上紧的弹簧——起步最少要多大的风?低于多大的尺寸它走不动?


1. 为什么答案不显然?#

风对帆的力正比于面积(L2L^2),重量正比于体积(L3L^3,实心体;薄壁管介于 LL 与 L3L^3 之间),销轴摩擦取决于法向力或配合公差。指数的符号决定一切:大机体可能对风更有利,也可能更不利。因此这个问题不能靠直觉回答,只能靠仿真;而仿真的结论又会落在几个”没人测过”的假设参数上。

为了不自欺欺人,我们把验证体系定死为四级(详见仓库 docs/VALIDATION.md):

等级含义本文中的典型例子
E0只有一个模型算过旗舰尺度表(MuJoCo 格子)、多保真度筛选的相关系数、稳健优化排名
E1至少两个独立求解器在约定容差内一致慢速平地步幅(两解差 0.58 %);起步风速的量级(差 4.2 %–13.9 %)
E2与公开数据或文献在不确定度内相符Jansen 足端轨迹对比 Pop 等 (2014) 实验台轨迹
E3被可追溯的真实测量验证暂无(0 条)。

核对(Verification)≠ 验证(Validation):两个求解器一致证明了”我们正确求解了自己写下的方程”(核对),不证明”方程符合真实世界”(验证)。


2. 哪些结论站得住?(E2 与 E1)#

2.1 运动学与发表文献在毫米级一致(E2)#

我们将解析运动学求解器算出的标准 Jansen 足端轨迹,与 Pop, Dolga & Pop (2014) 在实验台上用 CCD 相机追踪并发表的轨迹(Applied Mechanics and Materials 658: 684–689)做了逐点比对:

指标文献值 (Pop 2014)我们的解析运动学偏差相对误差
步长 LstrokeL_{\text{stroke}}57.1 mm57.081 mm−0.019 mm0.033 %
步高 HliftH_{\text{lift}}22.5 mm22.457 mm−0.043 mm0.191 %
占空比 DD0.430.433+0.0030.77 %
形状距离—0.0295(路径宽的 2.95 %)落撑段 < 0.54 mm低于数字化像素误差 (±0.80 mm)

这把运动学层推到了 E2。但它不说明动力学步幅、扭矩或起步风速正确。

2.2 两个独立物理求解器的步幅一致(E1)#

风驱动的起步阈值正好落在低速粘滑(stick-slip)区,MuJoCo 的软化摩擦正则化在这里最容易失真。为此,我们在 PhysicsBackend 协议下写了第二个完全独立的平面刚体求解器 K2:零 MuJoCo 依赖、4 自由度约化坐标 + 解析二元组投影(环路闭合误差按构造恒为 0.00 mm)、Moreau 型时间步进 + 真正的非软化库仑干摩擦与单边 Signorini 接触。

在 6 腿小 Jansen 走兽慢速平地行走(ω=2.0 rad/s\omega = 2.0\text{ rad/s})上,两套求解器对拍结果如下:

物理量MuJoCoK2(独立求解器)相对差异证据等级
每圈步幅0.2760 m0.2776 m+0.58 %E1
平均机体高度0.1694 m0.1700 m+0.35 %E1
15 s 判据起步风速0.6920 m/s0.7226 m/s+4.4 %E1(量级)
平均驱动扭矩2.16 mN·m2.54 mN·m+17.6 %E0

步幅升到了 E1;而扭矩相差 17.6 %,且受摩擦数值正则化强烈影响,因此仍停留在 E0。


3. 旗舰实验:起步风速与尺度曲线(E0)#

我们将”起步风速”严格定义为:从静止开始,曲柄在 40 s 仿真时间内转满一整圈所需的最小定常风速(用 2 倍括号 + 几何二分搜索,相对精度 5 %,结果总是报告为一个区间 (lo, hi])。

3.1 销轴摩擦假设统治了一切#

在小 6 腿走兽(尺度 L=1L = 1)上,理想无摩擦销轴的基线起步风速为 (0.479, 0.500] m/s(估计 0.489 m/s)。当我们对 9 个假设参数逐一做敏感性扫描时,发现:

  • joint_friction(每个连杆销轴的库仑摩擦)是唯一的主导项:从 00 改到 0.0005 N⋅m0.0005\text{ N}\cdot\text{m},起步风速直接翻倍到 (1.02, 1.07] m/s;改到 0.002 N⋅m0.002\text{ N}\cdot\text{m},升至 (1.27, 1.33] m/s(2.59 倍)。
  • 能量账揭开了原因:电机驱动平地行走时,96.5 % 的输入功消耗在足端与地面的打滑摩擦上;而帆驱动在 4 m/s 风速下,关节摩擦与阻尼吃掉了 82 % 的输入功(地面接触只占 17 %)。
  • “低于某个尺寸走不动”的边界是摩擦假设划出来的,不是尺度划出来的:在 4.17 m/s4.17\text{ m/s}(约 15 km/h)的参考风速上限内,当销轴摩擦设为 0.002 N⋅m0.002\text{ N}\cdot\text{m} 时,L=0.02L = 0.02 连 30 m/s30\text{ m/s} 的狂风都吹不动((30, inf]),L=0.03L = 0.03 需要 18.4 m/s18.4\text{ m/s},最小可行尺度被夹在 L∈(0.03,0.1]L \in (0.03, 0.1];而在理想销轴下,测到的最小尺度只需 0.80 m/s0.80\text{ m/s} 即可起步。

3.2 尺度曲线是非单调的(否证了早先的直觉)#

我们在看到数据之前预注册了标度律公式(帆力矩 ∝L3v2\propto L^3 v^2,重力负载力矩 ∝Lp+1\propto L^{p+1},预测斜率 v∝L(p−2)/2v \propto L^{(p-2)/2}),随后跑完了 30 个格子的仿真:

  • 薄壁标度(p=1p = 1):预注册斜率 −0.5-0.5,小尺度端实测斜率 −0.513-0.513(几乎重合),全局斜率 −0.337-0.337——越大越省风(L=0.35L = 0.35 需 0.80 m/s0.80\text{ m/s},L=3L = 3 只需 0.39 m/s0.39\text{ m/s})。
  • 临界标度(p=2p = 2):预注册斜率 0.0000.000(与尺度无关),实测全局斜率 −0.033-0.033,几乎正中临界预测。
  • 实心标度(p=3p = 3):曲线呈现出非单调的 V 形——从 L=0.35L = 0.35 的 0.529 m/s0.529\text{ m/s} 降到 L≈0.6L \approx 0.6 的最低点 0.415 m/s0.415\text{ m/s},随后在大尺度段以斜率 +0.595+0.595 上升(L=3L = 3 时达 0.865 m/s0.865\text{ m/s},贴合预注册的 +0.5+0.5)。这直接否证了我们在 WIND.md 初稿中写的”大机体对风更有利”的笼统说法。

4. 五条硬核的负面结果#

科学诚实要求我们把失败、不可辨识和排名翻转摆在台面上:

  1. 运动学粗筛在头部候选内部与动力学顺序强负相关(ρs=−0.80\rho_s = -0.80): 多保真度优化常假设”先用便宜 10000 倍的纯运动学挑出前几名,再用动力学精挑”。实验证明:在粗筛选出的前 5 名内部,运动学打分与动力学真实步幅的秩相关是 −0.8000-0.8000(K2)/ −0.7000-0.7000(MuJoCo)——粗筛第 1 名在动力学里垫底,动力学第 3 名被粗筛排到第 9 而惨遭淘汰。结论:运动学粗筛只能用来淘汰尾部 25 %,绝不能用来排序或选冠军。
  2. 稳健优化(CVaR)的胜负在切换求解器时会翻面: 在主求解器 K2 下,针对阵风与斜坡做 CVaR 稳健优化的设计在最坏场景下赢过名义最优设计 +0.273 m+0.273\text{ m};但把同一对设计放进 MuJoCo 复核,结果变成 −0.271 m-0.271\text{ m}(方向完全相反)。按项目的证据规则,未通过跨求解器稳定性检查的排名只能算”机制演示”,不能当结论。
  3. 把帆面积和传动比放进演化基因,没有带来收益: 在同权重、同预算下,固定帆在起步风速(低 4.4 %)、阵风 CVaR(高 11.8 %)、名义距离(高 29.4 %)三项上全赢自由帆。而且优化循环内部的廉价测力计代理与真实起步风速搜索只有 ρ=0.303\rho = 0.303 的相关性,直接把一对关键候选的排名弄反了。
  4. 接触刚度与地面摩擦在校准中不可同时辨识: 贝叶斯校准(MCMC / 剖面似然)显示,虽然真实参数落在后验区间内,但后验分布宽到覆盖先验的大部分——点估计完全不可用,只有不确定度区间本身是诚实的输出。
  5. 一个隐藏的 NaN 曾让遗传算法任意排序: 对”在 24 个探测角可装配、但在 90 个精细采样点中途卡死”的连杆,早期 TS 实现返回 NaN,导致 a > b 比较恒为 false,GA 发生静默的任意排序。修复并加入 contracts/fitness/ 契约语料库后,我们重跑并更正了全部历史实验数字。

5. 我们现在缺什么?(向社区征集第一条 E3 数据)#

一句话总结现状:我们的运动学有已发表文献支持(E2),我们的步幅有两个独立求解器支持(E1),但所有关于”扭矩多大""起步风速多少”的结论都停留在模型内(E0),受制于没人测过的销轴摩擦假设。

如果你有一台 3D 打印或积木拼搭的 Strandbeest(哪怕只有一条腿、一只手机秒表或一台厨房秤),欢迎阅读仓库里的双语指南 docs/HOW-TO-MEASURE.md。我们最缺两样数据:

  1. 曲柄慢速转动时的负载扭矩曲线 T(θ)T(\theta)(哪怕是静态挂砝码测出的峰值力矩);
  2. 带风扇和简单风速仪测出的起步风速区间。

项目的数据许可证已定案为 CC0 1.0(公有领域 + 科学溯源署名致谢),校验脚本 scripts/validate_community_measurement.py 随时待命。你提交的第一条合格实测,就将填补本项目目前空缺的 E3 证据层。

文章概念网络

从章节进入正文概念。实线表示所属层级,虚线连接跨章节重复出现的概念,不代表因果关系。

44 / 73 个节点 · 正文标记术语与关键词概念

只靠风,一只走兽最少要多大的风?——方法、证据分级与负面结果报告同一概念 / Shared concept同一概念 / Shared concept只靠风,一只走兽最少要多大的风?——方法、证据分级与…只靠风,一只走兽最少要多大的风?——方法、证据分级与负面结果报告最重要的一句话最重要的一句话meiluosi/strandbeest-evolutionmeiluosi/strandbeest-evolution在线演示在线演示1. 为什么答案不显然1. 为什么答案不显然指数的符号决定一切指数的符号决定一切docs/VALIDATION.mddocs/VALIDATION.mdE0E0E1E1独立独立量级量级E2E2公开数据或文献公开数据或文献2. 哪些结论站得住?(E2 与 E1)2. 哪些结论站得住?(E2 与 E1)2.1 运动学与发表文献在毫米级一致(E2)2.1 运动学与发表文献在毫米级一致(E2)2.2 两个独立物理求解器的步幅一致(E1)2.2 两个独立物理求解器的步幅一致(E1)3. 旗舰实验:起步风速与尺度曲线(E0)3. 旗舰实验:起步风速与尺度曲线(E0)从静止开始,曲柄在 40 s 仿真时间内转满一整圈所需的最…从静止开始,曲柄在 40 s 仿真时间内转满一整圈所需的最小定常风速(lo, hi](lo, hi]3.1 销轴摩擦假设统治了一切3.1 销轴摩擦假设统治了一切3.2 尺度曲线是非单调的(否证了早先的直觉)3.2 尺度曲线是非单调的(否证了早先的直觉)4. 五条硬核的负面结果4. 五条硬核的负面结果$-0.8000$(K2)/ $-0.7000$(MuJoCo)$-0.8000$(K2)/ $-0.7000$(MuJoCo)结论:运动学粗筛只能用来淘汰尾部 25 %,绝不能用来排序…结论:运动学粗筛只能用来淘汰尾部 25 %,绝不能用来排序或选冠军稳健优化(CVaR)的胜负在切换求解器时会翻面稳健优化(CVaR)的胜负在切换求解器时会翻面把帆面积和传动比放进演化基因,没有带来收益把帆面积和传动比放进演化基因,没有带来收益接触刚度与地面摩擦在校准中不可同时辨识接触刚度与地面摩擦在校准中不可同时辨识一个隐藏的 NaN 曾让遗传算法任意排序一个隐藏的 NaN 曾让遗传算法任意排序NaNNaNa > ba > b5. 我们现在缺什么?(向社区征集第一条 E3 数据)5. 我们现在缺什么?(向社区征集第一条 E3 数据)docs/HOW-TO-MEASURE.mddocs/HOW-TO-MEASURE.md曲柄慢速转动时的负载扭矩曲线 $T(\theta)$曲柄慢速转动时的负载扭矩曲线 $T(\theta)$带风扇和简单风速仪测出的起步风速区间带风扇和简单风速仪测出的起步风速区间CC0 1.0(公有领域 + 科学溯源署名致谢)CC0 1.0(公有领域 + 科学溯源署名致谢)E3 证据层E3 证据层技术技术优化优化实验实验优化优化实验实验贝叶斯贝叶斯采样采样连杆连杆
只靠风,一只走兽最少要多大的风?——方法、证据分级与负面结果报告

只靠风,一只走兽最少要多大的风?——方法、证据分级与负面结果报告

回到原文 ↗
BIBTEX

引用本文

@article{2026-10-28-strandbeest-wind-evidence-and-negative-results,
  author  = {枫语},
  title   = {只靠风,一只走兽最少要多大的风?——方法、证据分级与负面结果报告},
  journal = {枫语},
  year    = {2026},
  month   = {oct},
  url     = {https://meiluosi.github.io/posts/2026-10-28-strandbeest-wind-evidence-and-negative-results/}
}
🌐

本篇知识星丛与滑动侧栈

只靠风,一只走兽最少要多大的风?——方法、证据分级与负面结果报告 当前主轴

搜索

正在载入索引…