はじめに
本記事では、ブラウザで動作するサイクルコンピューター「ブラコン」が、どのようにしてリアルタイムにパワー(W)、FPT(W/kg)を算出しているのか、その計算式と物理的根拠を解説します。
ブラウザのメリット:
計算処理がサーバー側、処理速度・スマホの演算による電池消費が抑えられる。
アプリを入れなくてよいので、試しに使える。
ブラウザのデメリット:
通信環境がないと使えない・・・山とかでは使えない。通信によりスマホの電池消費が増える。(どっちなんだい 笑)
なので、ロードバイクを始めた方、サイコンに興味がある方、パワーメーターが高くて買えない方、試しに初期投資ゼロで使ってもらえたらと思います。
1. 基本となる全体数式
自転車が走行中に抗うべき抵抗は、大きく分けて「空気抵抗」「転がり抵抗」「勾配・加速抵抗」の3つです。これらを合計し、駆動系の伝達効率で割ることで、ライダーが出力しているパワーを求めます。
| 記号 | 意味 |
| Ptotal | 合計出力パワー (W) |
| Pair | 空気抵抗による損失 (W) |
| Proll | 転がり抵抗による損失 (W) |
| Pdynamic | 勾配および加速による損失 (W) |
| η | 駆動伝達効率 (通常 0.95〜0.98) |
2. 各抵抗の詳細計算
① 空気抵抗 ( Pair )
速度の3乗に比例して大きくなる、ロードバイク最大の敵です。本アプリでは、リアルタイムな気象データから「空気密度」を算出し、さらに「有効向かい風」を考慮しています。
- ρ (空気密度): 気圧 p と気温 T から算出。 ρ=R⋅Tp
- CdA : 空気抵抗係数 × 前面投影面積。
- vwind (有効風速): 風速と風向、ライダーの進行方位から算出される「正面成分」の風速。
② 転がり抵抗 ( Proll )
タイヤと路面の摩擦による抵抗です。
- m : 総重量(ライダー + 機材)。
- g : 重力加速度 ( 9.80665m/s2 )。
- Crr : 転がり抵抗係数。
③ 勾配・加速抵抗 ( Pdynamic )
スマホの加速度センサー(Gセンサー)から得られる「合成加速度」を使用します。これにより、**「今、坂を登っているのか」「今、加速しているのか」**を一つの数値として捉えます。
実は、勾配も加速もWを考える上では同じ加速度なんです。
- a : センサーから得られた進行方向の加速度 ( m/s2 )。
- 重力成分が含まれるため、登坂時はプラス、降坂時はマイナスの値となります。
3. センサーフュージョンの仕組み
このサイコンの最大の特徴は、複数のデータソースを組み合わせている点です。
- GPS: 走行速度 ( v ) と進行方位を取得。さらに、現在地の正確な気温・気圧・風向・風速を取得。有効向かい風をWの算出に使用しています。
- 加速度センサー: リアルタイムな斜度と加減速 ( a ) を取得。ケイデンスの算出。
これらを 0.5秒ごとに再計算することで、パワーメーターがなくても精度の高いパワー推定を可能にしています。
4. パワーウェイトレシオ (W/kg)
ライダーの能力指標として重要な W/kg もリアルタイムに算出します。
5.そのほかの要因
これまで、質量をmとしていました。これは慣性と言いますが、実はホイールなど回転する物には、慣性モーメントと呼ばれるものがあります。これは、この計算には含めていません。そのうち実装できたらと思っています。
ディープホイールや鉄下駄と呼ばれるものが平坦で楽なのかということが理解できます。
6. 速度とケイデンスの関係

自電車が進む速度は後輪のタイヤの外周の速度と同じです。これがずれていると滑っていることになります。(厳密にはわずかに滑っていますがここでは無視します)
タイヤ外周の速度=タイヤの外周×後輪の回転速度できまります
タイヤの外周は直径×πで求まります。
後輪の回転速度=ケイデンス×ギア比です。ギア比は、チェーンリングの歯数÷スプロケットの歯数です。
まとめると、速度=ケイデンス×(スプロケットの歯数÷チェーンリングの歯数)×(直径×π)でも求まります。

つまり、ロードバイクのスピードはギア比とケイデンスで決まるということです。よくよく考えるとそらそうかと。ただ、間隔的には強く踏み込むとスピード上がるじゃんと思う方もいるかと思いますが、これは強く踏むことで回転数を上げているだけなんです。
体重・ロードバイクの加速と慣性力※
タイヤの慣性モーメント
後日・・・アップデートします













