KOM Hero

工作原理

2.0 开始之前

写给爱钻研数据的骑友。不读这些也完全可以上路。我们把它写在这里,是因为有些人只有弄清数字是怎么算出来的,才能看得过瘾。

简单来说:我们把你的功率、体重、自行车、路况和空气条件放在一起,以十分之一秒为一步,替你模拟骑完整个路段。真正上路的那一趟,还是得你自己来。

2.1 预测能告诉你什么,又不能告诉你什么

预计用时是我们的模型根据你的功率档案、体重和自行车,在对应路况和空气条件下骑完一个路段所需的时间。它回答的是:“如果我全力以赴,在这里能骑多快?”时间可以是现在,也可以是你选定的某个小时。

这是计算结果,不是承诺。它不知道你昨晚没睡好,也不知道自行车道上停着一辆送货车。

与纪录的差距将预计用时与 Strava 排行榜上的最快用时进行比较:如果你的个人资料显示为女性,就使用 QOM,否则使用 KOM。

差距=t纪录−t预计t纪录\text{差距} = \frac{t_{\text{纪录}} - t_{\text{预计}}}{t_{\text{纪录}}}

大于零,表示模型预测你快于纪录;小于零,则表示慢于纪录。

这个数表示差距,不是概率。+3% 的差距表示预计用时比纪录快 3%,不代表任何事情有 3% 或 97% 的可能性。皇冠可不是电子表格发的。

用时显示为横线表示我们无法给出预测。最常见的原因是我们还没有你的功率档案,或者你选择的小时没有天气预报。

2.2 你的动力:功率档案

一切都从你能输出多大功率,以及能持续多久开始。

**功率曲线。**你在十二种持续时间内的最佳平均功率:5、10、20 和 30 秒,以及 1、2、5、10、20、30、45 和 60 分钟。

获取功率曲线有两种方式。

FTP,即功能性阈值功率,是你大约能持续一小时的功率。我们取你的 60 分钟功率和 20 分钟功率的 95% 中较高的一个,四舍五入到整数瓦。如果你更了解自己的 FTP,可以直接输入。手动输入的 FTP 会一直保留,直到你修改它或清空该字段。

**CP 和 W′。**临界功率 CP 是你能够长时间保持、而无需动用额外储备的功率。W′,读作“W prime”,就是这份额外储备的大小:一份固定的做功能力,以焦耳计,可用于高于 CP 的输出。功率高于 CP 时,W′ 会消耗;低于 CP 时,W′ 会恢复。

储备耗尽时,模型会暂时把功率降到 CP 以下。经过这 20 秒的减速,恢复的 W′ 就可支持下一次高于 CP 的输出。储备余量和正在进行的减速状态会沿整条路线延续,不会在进入新的小段时重置。

背后的模型由 Monod 和 Scherrer 提出,认为你在时间 tt 内能完成的功为

t⋅P=CP⋅t+W′t \cdot P = CP \cdot t + W'

把功率曲线各数据点的 t⋅Pt \cdot P 相对于 tt 绘在图上,就会得到一条直线。斜率是你的 CP,截距是你的 W′。我们用整条曲线来拟合这条直线,避免由某一次异常出色的表现决定结果。CP 和 W′ 始终通过计算得出,没有手动输入的位置。

**不同持续时间的可持续功率。**根据曲线、CP 和 W′,我们计算你能持续 45 秒,以及 2、5、8、20、40 和 60 分钟的功率。

**预测使用哪种功率。**整个路段使用一个目标功率值,按路段长度选择。短路段使用冲刺功率,长路段使用阈值功率。

路段长度 模拟骑行使用的功率
不足 500 m 可持续 45 秒的功率
500 m 至 1 km 2 分钟功率
1 至 2 km 5 分钟功率
2 至 4 km 8 分钟功率
4 至 8 km 20 分钟功率
8 至 20 km 40 分钟功率,其中三分之一按 FTP 计算
20 km 及以上 你的 FTP

因此,FTP 只在长路段中起作用。所有不足 8 km 的路段,用时都来自你的功率曲线、CP 和 W′。这正是使用整条曲线的意义。

**没有功率计?**那就没有可用于生成曲线的骑行记录,我们会给你一个默认档案:20 分钟约 275 瓦,一小时约 250 瓦。使用默认档案时,我们会告知你。这些是别人的数值,不是你的;在你输入自己的数值之前,预计用时无法准确。哪怕只是粗略估计,也比默认值更适合你。

2.3 模拟骑行:只有物理,没有煎熬

**把路段切成小段。**一个路段的坡度和方向并非始终不变,所以我们把它切成坡度和方向相对一致的小段。我们沿路线前进,并向前查看 50 米。当前方坡度与当前小段相差超过 2 个百分点,或方向相差超过 10 度时,就开始新的小段。每个小段都不少于 15 米。每个小段都记录了长度、平均坡度、朝向、位置、海拔和路面状况。

**作用力。**有三种力会拖慢你,其中一种有时也会帮你一把。

F重力=m g sin⁡(arctan⁡G)F滚动阻力=Crr m g cos⁡(arctan⁡G)F空气=12 ρ CdA v空气2F_{\text{重力}} = m\,g\,\sin(\arctan G) \qquad F_{\text{滚动阻力}} = C_{rr}\,m\,g\,\cos(\arctan G) \qquad F_{\text{空气}} = \tfrac{1}{2}\,\rho\,C_dA\,v_{\text{空气}}^{2}

你踩踏输出的功率中,97% 会传到路面,另外 3% 则给链条添了点热。

**模拟如何进行。**我们逐步模拟骑过每个小段,每一步通常持续十分之一秒。如果 W′ 在一步之内耗尽,就在耗尽的瞬间将这一步拆开。每一步中,推动你前进的力等于传到车轮的功率除以速度,再减去上面的三种力:

F合力=η Pv−F空气−F滚动阻力−F重力a=F合力mF_{\text{合力}} = \frac{\eta\,P}{v} - F_{\text{空气}} - F_{\text{滚动阻力}} - F_{\text{重力}} \qquad a = \frac{F_{\text{合力}}}{m}

你的速度变化量为 aa 乘以这一步的持续时间,随后向前移动,再重复计算,直到骑完这个小段。离开一个小段的速度,就是进入下一个小段的速度,因此快速下坡的惯性会把你带上接下来的坡,就像真实骑行一样。路段的起始速度为每秒 9 米,约 32 km/h:带着速度进入路段,毕竟没人从原地起步去夺皇冠。

**W′ 的消耗与恢复。**当功率高于 CP 时,每个时间间隔内消耗的 W′ 为

W已消耗′=(P−CP)⋅ΔtW'_{\text{已消耗}} = (P - CP)\cdot \Delta t

我们只扣除该时间间隔内高于 CP 的那部分输出所消耗的能量。当 W′ 降到零时,就开始一段 20 秒的减速。在这段时间内,功率按照一个逐渐放宽、始终低于 CP 的上限变化;如果你选定的目标功率更低,就使用该目标功率。减速会延续到后续小段,不会在进入新小段时重新计时。20 秒后,就可以再次使用选定的目标功率,由恢复的 W′ 支持高于 CP 的输出。如果这次输出又耗尽了 W′,就开始下一段减速。

当功率低于 CP 时,W′ 会恢复,而且低于 CP 越多,恢复越快:

恢复速率=CP−Pτ,τ=546 e−0.01 (CP−P)+316 秒\text{恢复速率} = \frac{CP - P}{\tau}, \qquad \tau = 546\,e^{-0.01\,(CP - P)} + 316 \ \text{秒}

恢复后的储备不会超过满值。

下坡时,你可以比为路段选定的功率再多出一点力,因为重力承担了部分工作。我们允许的功率为选定功率加上 W′ 除以 300,但绝不超过 CP 的两倍。

2.4 天空:风与空气

**天气预报的来源。**我们使用 NOAA 的全球预报系统 GFS,网格分辨率为四分之一度。NOAA 每天运行四次模型,每次结果发布后,我们都会获取。预报逐小时覆盖未来七天。

**沿途的风。**路段会转弯,风却不会跟着转。对于每个小段,我们取模型预测你抵达时,该小段所在位置的风,并结合小段朝向进行计算。逆风增加你需要克服的相对气流速度,顺风则降低它。如果顺风比你还快,它就会推着你走。

**稀薄与稠密的空气。**空气密度越大,风阻越大,而各处的空气并不相同。我们根据温度、气压和湿度计算空气密度。预报网格比较粗,约为 25 km,它所采用的地面海拔可能与你骑行的道路相差很大,因此我们先将温度和气压调整到每个小段的真实海拔。高海拔处温暖潮湿的空气比较稀薄,骑起来更快。海平面处寒冷干燥的空气更稠密,每一分阻力你都能感受到。

没有天气预报时,我们使用密度为 1.225 kg/m³ 的静止空气,这是教科书中的海平面标准值。

**你看到的天气,与计算使用的天气。**屏幕上显示的是出发时路段起点附近的天气。预测则逐小段使用整条路线沿途的天气,对应你预计遇到的条件。阵风和雨量会显示出来,但暂时不影响预计用时。

**覆盖范围。**目前,风况和天气覆盖加利福尼亚州、俄勒冈州、华盛顿州、夏威夷州和下加利福尼亚州。其他地区按静止空气预测用时,不提供七天预测。

2.5 路面:平整、颠簸,以及“这也算路?”

好轮胎在新铺的沥青路上滚动,几乎不费力;在碎石路上就不一样了。对于每个小段,我们查询 OpenStreetMap 中的路面信息,并将其转换为 1 至 32 的评分。评分会增加滚动阻力,颠簸路面还会增加风阻。

地图标注的路面 评分 对滚动阻力的影响
沥青、混凝土、任何铺装路面 1 不变。这是基准。
卵石、块石、铺路石 8 增加 20%
碎石、压实路面或裸地 14 增加 50%
土路、未铺装路面 18 增加 70%
泥泞 24 变为两倍
沙地、草地 28 变为两倍半

地图未注明路面时,我们根据道路类型判断:街道或主干道视为铺装路面,自行车道视为接近铺装路面,车辙道或服务道路视为碎石路,小径视为土路。车辙道的等级从 1 到 5,还会进一步增加粗糙程度。

如果地图完全没有某个小段的路面信息,我们就假定它比较颠簸,评分为 20。我们持有的地图数据覆盖美国、加拿大、墨西哥和格陵兰。在这些地区以外,每个小段都被视为“未知”,预计用时也会比应有的更长。

2.6 未来一周:预测与最佳骑行时间

有了 Pro,我们会对未来七天的每个小时都模拟一次相同的骑行,使用对应小时的风况和空气条件。这样,每个可出发的小时都有一个预计用时。

最佳骑行时间就是预计用时最短的那个小时。就是这么简单:我们对时间范围内的每个小时都模拟骑一遍路段,然后选出最快的结果。时间按路段所在地的时区显示,因此“早上 8 点”指的是路段所在地的早上 8 点。

预测越远,不确定性越大,而且每天会更新四次。周二看到的周六最佳时段,到了周五可能已经变了。别好号码布之前,再看一眼。

2.7 写给认真骑友的局限说明

模型不知道的事,也就无法模拟。

KOM Hero 显示的预测,是根据数学模型和我们掌握的数据得出的估算。你的实际用时可能不同,原因包括模型无法看到的天气突变、路面状况、交通情况,以及你当天的感受。请自行判断。

也请安全骑行。没有哪顶皇冠值得你去闯红灯。