English interface selected · this article is currently written in Chinese.
只靠风,一只走兽最少要多大的风?——方法、证据分级与负面结果报告
English overview →配合仿真与实验探针的假设探索,等待更多证据或边界检验。
数字花园
🌿 什么是数字花园与思想演进?
遵循 Maggie Appleton 与 Andy Matuschak 的常青笔记理念:这里不是按时间沉底的流水账,而是持续修剪打磨的知识生态。文章按成熟度经历:
- 🌱 萌芽 (Seedling): 发散灵感、读书摘录、开放猜想
- 🌿 演进 (Budding): 结构渐明、初步代码推导、积极修正
- 🌳 常青 (Evergreen): 逻辑闭环、持久经得起检验的基石
- 🔬 实验待证 (Speculative): 结合沙盒与仿真探针的理论探索
最重要的一句话:本文里的每一个数字都来自本项目的仿真器(MuJoCo,以及一个独立实现的平面刚体求解器 K2),没有一个来自实物走兽。 项目接受 E3(可追溯实测)暂时为空。下文按 E0–E3 给每个结论标出证据等级,并逐处写明”模型内”还是”实测”。
这是 Strandbeest 系列的第五篇。前四篇讲了十二个演化时期、腿的平面几何、用遗传算法重新演化它,以及从设计到打印的开源平台(meiluosi/strandbeest-evolution,在线演示)。这一篇是阶段 A–D 的技术报告,正面回答我们的旗舰问题:
一只只靠风的走兽——帆提供能量,重力可以帮忙,不用电,不用预先上紧的弹簧——起步最少要多大的风?低于多大的尺寸它走不动?
1. 为什么答案不显然?
风对帆的力正比于面积(),重量正比于体积(,实心体;薄壁管介于 与 之间),销轴摩擦取决于法向力或配合公差。指数的符号决定一切:大机体可能对风更有利,也可能更不利。因此这个问题不能靠直觉回答,只能靠仿真;而仿真的结论又会落在几个”没人测过”的假设参数上。
为了不自欺欺人,我们把验证体系定死为四级(详见仓库 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) | 我们的解析运动学 | 偏差 | 相对误差 |
|---|---|---|---|---|
| 步长 | 57.1 mm | 57.081 mm | −0.019 mm | 0.033 % |
| 步高 | 22.5 mm | 22.457 mm | −0.043 mm | 0.191 % |
| 占空比 | 0.43 | 0.433 | +0.003 | 0.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 走兽慢速平地行走()上,两套求解器对拍结果如下:
| 物理量 | MuJoCo | K2(独立求解器) | 相对差异 | 证据等级 |
|---|---|---|---|---|
| 每圈步幅 | 0.2760 m | 0.2776 m | +0.58 % | E1 |
| 平均机体高度 | 0.1694 m | 0.1700 m | +0.35 % | E1 |
| 15 s 判据起步风速 | 0.6920 m/s | 0.7226 m/s | +4.4 % | E1(量级) |
| 平均驱动扭矩 | 2.16 mN·m | 2.54 mN·m | +17.6 % | E0 |
步幅升到了 E1;而扭矩相差 17.6 %,且受摩擦数值正则化强烈影响,因此仍停留在 E0。
3. 旗舰实验:起步风速与尺度曲线(E0)
我们将”起步风速”严格定义为:从静止开始,曲柄在 40 s 仿真时间内转满一整圈所需的最小定常风速(用 2 倍括号 + 几何二分搜索,相对精度 5 %,结果总是报告为一个区间 (lo, hi])。
3.1 销轴摩擦假设统治了一切
在小 6 腿走兽(尺度 )上,理想无摩擦销轴的基线起步风速为 (0.479, 0.500] m/s(估计 0.489 m/s)。当我们对 9 个假设参数逐一做敏感性扫描时,发现:
joint_friction(每个连杆销轴的库仑摩擦)是唯一的主导项:从 改到 ,起步风速直接翻倍到 (1.02, 1.07] m/s;改到 ,升至 (1.27, 1.33] m/s(2.59 倍)。- 能量账揭开了原因:电机驱动平地行走时,96.5 % 的输入功消耗在足端与地面的打滑摩擦上;而帆驱动在 4 m/s 风速下,关节摩擦与阻尼吃掉了 82 % 的输入功(地面接触只占 17 %)。
- “低于某个尺寸走不动”的边界是摩擦假设划出来的,不是尺度划出来的:在 (约 15 km/h)的参考风速上限内,当销轴摩擦设为 时, 连 的狂风都吹不动(
(30, inf]), 需要 ,最小可行尺度被夹在 ;而在理想销轴下,测到的最小尺度只需 即可起步。
3.2 尺度曲线是非单调的(否证了早先的直觉)
我们在看到数据之前预注册了标度律公式(帆力矩 ,重力负载力矩 ,预测斜率 ),随后跑完了 30 个格子的仿真:
- 薄壁标度():预注册斜率 ,小尺度端实测斜率 (几乎重合),全局斜率 ——越大越省风( 需 , 只需 )。
- 临界标度():预注册斜率 (与尺度无关),实测全局斜率 ,几乎正中临界预测。
- 实心标度():曲线呈现出非单调的 V 形——从 的 降到 的最低点 ,随后在大尺度段以斜率 上升( 时达 ,贴合预注册的 )。这直接否证了我们在
WIND.md初稿中写的”大机体对风更有利”的笼统说法。
4. 五条硬核的负面结果
科学诚实要求我们把失败、不可辨识和排名翻转摆在台面上:
- 运动学粗筛在头部候选内部与动力学顺序强负相关(): 多保真度优化常假设”先用便宜 10000 倍的纯运动学挑出前几名,再用动力学精挑”。实验证明:在粗筛选出的前 5 名内部,运动学打分与动力学真实步幅的秩相关是 (K2)/ (MuJoCo)——粗筛第 1 名在动力学里垫底,动力学第 3 名被粗筛排到第 9 而惨遭淘汰。结论:运动学粗筛只能用来淘汰尾部 25 %,绝不能用来排序或选冠军。
- 稳健优化(CVaR)的胜负在切换求解器时会翻面: 在主求解器 K2 下,针对阵风与斜坡做 CVaR 稳健优化的设计在最坏场景下赢过名义最优设计 ;但把同一对设计放进 MuJoCo 复核,结果变成 (方向完全相反)。按项目的证据规则,未通过跨求解器稳定性检查的排名只能算”机制演示”,不能当结论。
- 把帆面积和传动比放进演化基因,没有带来收益: 在同权重、同预算下,固定帆在起步风速(低 4.4 %)、阵风 CVaR(高 11.8 %)、名义距离(高 29.4 %)三项上全赢自由帆。而且优化循环内部的廉价测力计代理与真实起步风速搜索只有 的相关性,直接把一对关键候选的排名弄反了。
- 接触刚度与地面摩擦在校准中不可同时辨识: 贝叶斯校准(MCMC / 剖面似然)显示,虽然真实参数落在后验区间内,但后验分布宽到覆盖先验的大部分——点估计完全不可用,只有不确定度区间本身是诚实的输出。
- 一个隐藏的
NaN曾让遗传算法任意排序: 对”在 24 个探测角可装配、但在 90 个精细采样点中途卡死”的连杆,早期 TS 实现返回NaN,导致a > b比较恒为false,GA 发生静默的任意排序。修复并加入contracts/fitness/契约语料库后,我们重跑并更正了全部历史实验数字。
5. 我们现在缺什么?(向社区征集第一条 E3 数据)
一句话总结现状:我们的运动学有已发表文献支持(E2),我们的步幅有两个独立求解器支持(E1),但所有关于”扭矩多大""起步风速多少”的结论都停留在模型内(E0),受制于没人测过的销轴摩擦假设。
如果你有一台 3D 打印或积木拼搭的 Strandbeest(哪怕只有一条腿、一只手机秒表或一台厨房秤),欢迎阅读仓库里的双语指南 docs/HOW-TO-MEASURE.md。我们最缺两样数据:
- 曲柄慢速转动时的负载扭矩曲线 (哪怕是静态挂砝码测出的峰值力矩);
- 带风扇和简单风速仪测出的起步风速区间。
项目的数据许可证已定案为 CC0 1.0(公有领域 + 科学溯源署名致谢),校验脚本 scripts/validate_community_measurement.py 随时待命。你提交的第一条合格实测,就将填补本项目目前空缺的 E3 证据层。
文章概念网络
从章节进入正文概念。实线表示所属层级,虚线连接跨章节重复出现的概念,不代表因果关系。
44 / 73 个节点 · 正文标记术语与关键词概念
只靠风,一只走兽最少要多大的风?——方法、证据分级与负面结果报告
回到原文 ↗最后更新于 2026-10-28
引用本文
@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/}
}