KOM Hunter

仕組み

2.0 はじめに

データが好きな人のためのページです。走る前に読む必要はありません。ただ、数字を見ると、それがどこから来たのか分かるまで楽しめない人もいます。そんな人のために書きました。

簡単に言うと、あなたのパワー、体重、自転車、道路、そして空気の条件を使って、0.1秒ずつ、あなたの代わりにセグメントを走ります。実際に走るのは、もちろんあなたです。

2.1 予測で分かること、分からないこと

予測タイムとは、あなたのパワープロファイル、体重、自転車を使って、その道路と空気の条件の下でモデルがセグメントを走ったときのタイムです。今この瞬間、またはあなたが選んだ時刻について、「ここで全力を出したら、どのくらい速く走れるか?」に答えるものです。

これは計算結果です。約束ではありません。昨夜よく眠れなかったことも、自転車レーンに配達の車が止まっていることも、モデルには分かりません。

記録との差は、この予測タイムを Strava のランキングの最速タイムと比べたものです。プロフィールの性別が女性なら QOM、それ以外なら KOM と比較します。

記録との差=t記録−t予測t記録\text{記録との差} = \frac{t_{\text{記録}} - t_{\text{予測}}}{t_{\text{記録}}}

0より大きければ、モデル上では記録より速いタイムです。0より小さければ、記録より遅いタイムです。

これは差を示す値であり、確率ではありません。+3% なら、予測タイムが記録より3%速いという意味です。何かが起こる確率が3%、あるいは97%という意味ではありません。表計算で王冠がもらえるわけではないのです。

タイムの代わりにダッシュが表示される場合は、予測できなかったことを意味します。多くの場合、あなたのパワープロファイルがまだないか、指定した時刻の天気予報がありません。

2.2 あなたのエンジン:パワープロファイル

すべての出発点は、どれだけのパワーを、どれだけ長く維持できるかです。

パワーカーブ。 12種類の持続時間について、あなたの最高平均パワーを表したものです。持続時間は5、10、20、30秒と、1、2、5、10、20、30、45、60分です。

作成する方法は2つあります。

FTP(機能的作業閾値パワー)は、約1時間維持できるパワーです。60分間のパワーと20分間のパワーの95%を比較し、大きい方を1ワット単位に四捨五入して使います。自分の FTP をより正確に把握している場合は、入力してください。入力した FTP は、変更するか入力欄を空にするまで保持されます。

CP と W′。 クリティカルパワーである CP は、余力を切り崩さずに長時間維持できるパワーです。W′(ダブリュープライム)は、その余力の大きさを表します。CP を超える出力に使える、ジュールで表した一定量の仕事です。CP を超えて走ると W′ が減り、CP を下回ると回復します。

余力が尽きると、モデルは一時的にパワーを 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′ です。1回だけの突出した走りで決まらないよう、カーブ全体にこの直線を当てはめます。CP と W′ は常に計算で求めます。自分で入力する欄はありません。

持続時間ごとに維持できるパワー。 カーブ、CP、W′ から、45秒と、2、5、8、20、40、60分のそれぞれで維持できるパワーを求めます。

予測に使うパワー。 セグメントの長さに応じて、セグメント全体で使う目標パワーを1つ選びます。短いセグメントではスプリントのパワー、長いセグメントでは閾値付近のパワーで走ります。

セグメントの長さ 走行に使うパワー
500 m 未満 45秒間維持できるパワー
500 m から1 km 2分間
1から2 km 5分間
2から4 km 8分間
4から8 km 20分間
8から20 km 40分間のパワーに、3分の1の割合で FTP を組み合わせた値
20 km 以上 あなたの FTP

つまり、FTP が関係するのは長いセグメントだけです。8 km 未満のセグメントでは、タイムはカーブ、CP、W′ から決まります。そのために、カーブがあるのです。

パワーメーターがない場合は? カーブを読み取れるライドの記録がないため、デフォルトのプロファイルを使います。20分間で約275ワット、1時間で250ワットです。デフォルトを使用している場合は、そのことをお知らせします。これは誰かの数値であって、あなたの数値ではありません。自分の数値を入力するまでは、正確なタイムを予測できません。おおよその数値でも、私たちが用意した値より役立ちます。

2.3 走行:苦しさ抜きの物理学

セグメントを小区間に分ける。 セグメントは、勾配も方向も一定ではありません。そこで、それぞれが一定になる小区間に分けます。ルートをたどりながら、50メートル先を見ます。前方の勾配が現在の小区間と2パーセントポイントを超えて異なるか、方向が10度を超えて変わると、新しい小区間を始めます。小区間は15メートルより短くはしません。それぞれの小区間に、長さ、平均勾配、進む方向、位置、標高、路面の状態の情報を持たせます。

作用する力。 あなたを押しとどめる力は3つあります。そのうち1つは、ときに味方になります。

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%は、チェーンを温めます。

実際のシミュレーション。 各小区間を、通常は1ステップ0.1秒で走ります。ステップの途中で W′ が尽きる場合は、その瞬間でステップを分けます。毎回、車輪に伝わるパワーを速度で割り、そこから上の3つの力を引いて、あなたを動かす力を求めます。

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消費量′=(P−CP)⋅ΔtW'_{\text{消費量}} = (P - CP)\cdot \Delta t

差し引くのは、その時間間隔で CP を超えた分の出力に使ったエネルギーだけです。W′ がゼロになると、20秒間の減速が始まります。その間のパワーは、徐々に緩和される CP 未満の上限に従います。選んだ目標パワーがその上限より低ければ、目標パワーを使います。減速は小区間をまたいでも続き、新しい小区間に入っても最初からやり直しにはなりません。20秒後には、選んだ目標パワーを再び使えるようになり、CP を超える出力には回復した W′ を使います。その出力で 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倍を超えることはありません。

2.4 空の条件:風と空気

予報の出どころ。 天気予報には、NOAA の Global Forecast System(GFS)の0.25度格子のデータを使っています。NOAA は1日に4回計算し、私たちは新しい結果が届くたびに取り込みます。7日先まで、1時間ごとの予報があります。

ルートに沿った風。 セグメントが曲がっても、風まで一緒に曲がるわけではありません。小区間ごとに、モデル上であなたがそこに到着する時刻と位置の風を取得し、小区間の進行方向と照らし合わせます。向かい風は進むときの空気抵抗を増やし、追い風は減らします。あなたより速い追い風なら、前へ押してくれます。

薄い空気と濃い空気。 空気抵抗は空気密度とともに大きくなり、空気の状態はどこでも同じではありません。気温、気圧、湿度から密度を求めます。予報の格子は約25 km と粗く、予報が想定する地面の標高が、実際に走る道路の標高と大きく違うことがあります。そのため、まず各小区間の実際の標高に合わせて気温と気圧を補正します。標高の高い場所にある暖かく湿った空気は薄く、薄い空気の中では速く走れます。海面の高さにある冷たく乾いた空気は密度が高く、その抵抗をしっかり感じることになります。

予報がない場合は、無風とし、空気密度には海面高度での標準値である1.225 kg/m³を使います。

画面に表示する天気と、計算に使う天気。 画面の天気は、出発する瞬間の、セグメントのスタート付近の天気です。予測では、ルート全体で実際に出会うように、小区間ごとの天気を使います。突風と雨は表示しますが、まだタイムの計算には反映していません。

対応地域。 現在、風と天気の対応地域は、カリフォルニア州、オレゴン州、ワシントン州、ハワイ州、バハ・カリフォルニアです。それ以外の地域では無風でタイムを予測し、7日間の予測は提供していません。

2.5 道路:滑らかな路面、荒れた路面、そして「これも道?」

良いタイヤなら、新しい舗装の上ではほとんど抵抗なく転がります。グラベルでは、そうはいきません。各小区間について、OpenStreetMap に登録された道路の情報を調べ、1から32のスコアに変換します。スコアが高いほど転がり抵抗が増え、荒れた路面では空気抵抗も増えます。

地図上の路面情報 スコア 転がり抵抗への影響
アスファルト、コンクリート、その他の舗装路 1 変化なし。これが基準です。
丸石舗装、角石舗装、敷石 8 20%増
砂利、締め固めた地面、露出した地面 14 50%増
土、未舗装 18 70%増
ぬかるみ 24 2倍
砂、草地 28 2.5倍

路面の種類が地図にない場合は、道路の種類を使います。街路や幹線道路は舗装路、自転車道はそれに近い路面、作業道や施設へのアクセス道路は砂利道、小道は土の道として扱います。作業道では、1から5の等級に応じて、さらに荒れた路面として扱います。

小区間の路面について地図に情報がまったくない場合は、荒れた路面とみなし、スコアを20にします。保有している地図データの対象地域は、米国、カナダ、メキシコ、グリーンランドです。それ以外の地域ではすべての小区間が「不明」となり、予測タイムは本来より遅く算出されます。

2.6 この先1週間:予測と、走るのに最適な時刻

Pro では、この先7日間のすべての時刻について、1時間ごとに同じ走行を計算します。それぞれの時刻の風と空気の条件を使うため、出発時刻ごとのタイムが得られます。

走るのに最適な時刻は、予測タイムが最も速くなる時刻です。仕組みはそれだけです。対象期間の各時刻について、1時間ごとにセグメントを1回走り、最も速い結果を選びます。時刻はセグメントがある場所のタイムゾーンで表示するため、「朝8時」はその場所の朝8時を意味します。

天気予報は先のことほど不確かになり、1日に4回更新されます。土曜日の最適な時刻も、火曜日から金曜日の間に変わることがあります。ゼッケンを付ける前に、もう一度確認しましょう。

2.7 正直なデータ好きのための、細かい話

モデルが知らないことは、走行に反映できません。

KOM Hunter が表示する予測は、数学モデルと保有するデータに基づく推定です。急な天候の変化、路面の状態、交通、その日の体調など、モデルには分からない理由で、実際のタイムは異なることがあります。ご自身で判断してください。

そして、安全に走りましょう。どんな王冠も、赤信号を無視する理由にはなりません。