安いエアロバイクをハックする　調査編3 エアロバイクの速度と走行距離

これらの記事の続きの記事となります。

https://qiita.com/bohemian916/items/39beb2b97b59610788d9

https://qiita.com/bohemian916/items/6f3be9a8f2a3d20de464

# エアロバイクの速度、走行距離とは？
エアロバイクを漕いだ時の速度や距離というのは何を元に計算されているのでしょうか？
本物の自転車を漕いだときに出る速度や距離？　

ひとまず手持ちのエアロバイクでどのように表示されているかを確かめてみます。
前回の記事で、ダミーのセンサを使い、表示メーターに運動していると誤認させて取ったデータがこちらです。


| 回転速度(rpm) | 表示時速(km/h) | 1分での表示走行距離(m) |
| ----- | ---------- | ------------- |
| 40.0  | 10.7       | 170           |
| 42.9  | 11.5       | 180           |
| 46.2  | 12.4       | 200           |
| 50.0  | 13.4       | 210           |
| 54.5  | 14.6       | 240           |
| 60.0  | 16.1       | 260           |
| 66.7  | 17.9       | 290           |
| 75.0  | 20.2       | 330           |
| 85.7  | 22.8       | 370           |
| 100.0 | 26.7       | 440           |
| 120.0 | 32.1       | 530           |

バイクの回転速度と、表示される速度は比例しており
1(rpm) → 0.266(km/h)
でした。

走行距離はペダルの回転数に比例しており
1回転ごとに約4.45mずつ増えていきます。

表示時速で1分間動いた時の距離とほぼ同じです。

しかし、エアロバイクのペダルの重さを変更しても、時速や距離は変化しません。
普通の自転車であれば、ギアを重くして同じ回転速度で漕ぐと、速度が上昇し、走行距離も増えるはずです。
安いエアロバイクなので、ペダルの負荷を表示メーターが把握していないため、こうなるのだと思います。

そこで今回は、エアロバイクでの運動をしたときに、本物の自転車でどれくらいの速度が出るのか、距離はどれだけ走ったことになるのか、正確に求めて自作のメーターを作るときに使えるよう、考えていきたいと思います。


# 自転車の抵抗について
もし抵抗のない世界であれば、自転車をはじめとした物体は
慣性の法則によって、一度動き出したらずっと同じ速度を維持し続け動き続きます。

しかし実際にはさまざまな抵抗があり、自転車を止める働きをします。
自転車の抵抗には、主に4種類あるそうです

①空気抵抗
②路面抵抗(転がり抵抗)
③摩擦抵抗
④重力抵抗

https://www.be-cyclist.com/useful/roadbike_resistance/

これらの抵抗は、速度や体重や姿勢、路面状況、風速、傾斜など多くのパラメータで変わってきます。

そのため、速度を維持するためには、その抵抗と釣り合うだけのパワーが必要になってきます。

例えば下記のサイトでは、この条件で速度を維持するために必要なワット数が書かれています。

https://rbs.ta36.com/?p=60453


## 条件

傾斜：0°
yaw角0°の風：3 (m/s)
体重(kg)：65kg
CdA(m^2)：0.277（ブラケットポジション）
バイク総重量：7.5kg
転がり抵抗(Crr)：0.003 空気密度：1.24

上記の条件下において、速度に対して必要になるパワーは以下のとおりです。

## 速度維持に必要なワット数
5km/h：7.56W
10km/h：21.85W
15km/h：45.64W
20km/h：81.69 W
25km/h：132.72 W
30km/h：201.57 W
35km/h：290.95 W
40km/h：403.64 W

エアロバイクでも、ワットという数値が出ていました。
これはエアロバイクの回転数とトルクから計算できる値で、自転車とエアロバイクに共通している値だと思われます。

したがって、ワット数がわかれば、速度が分かるはずです。
直接的にワット→速度が分かるというよりも
速度(含めいろんなパラメータ)から、その速度維持に必要なパワーが計算できるので
速度とパワーが釣り合うところがあるので、その点を探索する、という考え方になりそうです。



# 抵抗の計算について
各種抵抗値の計算方法を調べたところ、こちらのサイトで計算できるようです

https://jitetan.com/power_req.html


必要動力TP(W)は

TP(W) = ( 転がり抵抗(N) + 空気抵抗(N) + 摩擦抵抗(N) + 重力抵抗(N) ) * 速度(m/s)

空気抵抗(N) = Cd値 * 前方投影面積(m^2) * 空気密度(kg/m^3) * 速度(m/s)^2 /2
重力抵抗(N) = sin(傾斜角) * 体重と自転車の質量(kg) * 9.81(m/s^2)
転がり抵抗(N) = 路面係数 * 体重と自転車の質量(kg) * 9.81(m/s^2)
摩擦抵抗(N) = (空気抵抗(N) + 重力抵抗(N) + 転がり抵抗(N)) * 0.04

と計算できます。

ここで傾斜を0度、Cd値を0.5, 空気密度を気温25度、1気圧の時の1.184,
路面係数を0.008, 前方投影面積をS(身長と体重から計算可能)、
速度をv, 体重と自転車の質量をmとすると

転がり抵抗(N) = 0.008 *9.81 * m  = 0.07848m
空気抵抗 = 0.5 * S * 1.184 * v^2 * 0.5 = 0.296Sv^2
重力抵抗(N) = sin(0) * m * 9.81 = 0
摩擦抵抗(N) = ( 0.07848m + 0.296Sv^2 )*0.04 = 0.0031392m + 0.01184Sv^2

TP(W) = ( 0.07848m + 0.296Sv^2 + 0.0031392m + 0.01184Sv^2) *v
      = 0.0816192mv + 0.30784Sv^3

となります。

ここで、動力から速度を求めたいので、v = oo の形になるように、上記の方程式を解く必要があります。

先ほどの式を整理してみますと、

```math
0.30784Sv^3　+0.0816192mv - TP = 0
```
となり、変数vの三次方程式となっています。
を整理しますと、

```math

\displaylines　{
av^3+bv^2+cv+d=0\\
a= 0.30784S\\
b=0\\
c=0.0816192m\\
d=-TP
}
```
三次方程式の解の公式は存在しており、
```math
ax^3+bx^2+cx+d=0\,\,(a\neq 0)

```
に式に対して

```math
\begin{align}
x_1=&-\frac{b}{3a}+\sqrt[3]{\frac{-2b^3+9abc-27a^2d}{54a^3}+\frac{\sqrt{3(27a^2d^2-18abcd+4b^3d+4ac^3-b^2c^2)}}{18a^2}}\\
&+\sqrt[3]{\frac{-2b^3+9abc-27a^2d}{54a^3}-\frac{\sqrt{3(27a^2d^2-18abcd+4b^3d+4ac^3-b^2c^2)}}{18a^2}},\\
x_2=&-\frac{b}{3a}+\frac{-1+\sqrt{3}i}{2}\sqrt[3]{\frac{-2b^3+9abc-27a^2d}{54a^3}+\frac{\sqrt{3(27a^2d^2-18abcd+4b^3d+4ac^3-b^2c^2)}}{18a^2}}\\
&+\frac{-1-\sqrt{3}i}{2}\sqrt[3]{\frac{-2b^3+9abc-27a^2d}{54a^3}-\frac{\sqrt{3(27a^2d^2-18abcd+4b^3d+4ac^3-b^2c^2)}}{18a^2}},\\
x_3=&-\frac{b}{3a}+\frac{-1-\sqrt{3}i}{2}\sqrt[3]{\frac{-2b^3+9abc-27a^2d}{54a^3}+\frac{\sqrt{3(27a^2d^2-18abcd+4b^3d+4ac^3-b^2c^2)}}{18a^2}}\\
&+\frac{-1+\sqrt{3}i}{2}\sqrt[3]{\frac{-2b^3+9abc-27a^2d}{54a^3}-\frac{\sqrt{3(27a^2d^2-18abcd+4b^3d+4ac^3-b^2c^2)}}{18a^2}}
\end{align}
```

https://oshima-gakushujuku.com/blog/math/formula-qubic-equation/


となります。


になります。
解の公式にはx1~x3までの解がありますが、x1以外は虚数解のようなので、実数解x1のみを計算します。
また、b=0なので、bが絡む項を削除することができます。
整理すると、下記の式になりました。

```math
\begin{align}
v_1=&\sqrt[3]{\frac{-d}{2a}+\frac{\sqrt{3(27a^2d^2+4ac^3)}}{18a^2}}
+\sqrt[3]{\frac{-d}{2a}-\frac{\sqrt{3(27a^2d^2+4ac^3)}}{18a^2}}\\

a=& 0.30784S\\
c=&0.0816192m\\
d=&-TP
\end{align}
```


## 前面投影面積Sの計算
体に関するパラメータは3つです。
体重 m(kg)
身長 h(cm)
胴傾き角 t(°)

まずは身長、体重、姿勢の角度から、計算に使う数値を計算します
BMI = m / (h*0.01)^2
ボディインデックスBI = (BMI/22)^1/2
身長インデックスHI = h/170
胴傾き角ラジアンTA = 3.14 * t/180


前面投影面積S(m^2) = 体の前面投影面積 + 自転車の前面投影面積

自転車の前面投影面積 = タイヤ直径(mm) * 0.001 * 38 * 0.001

体の前面投影面積 = 体面積 * BI * 1.1

体面積 = 顔面積 + 胴体面積 * sin(TA) + 肩面積 * con(TA) * 腕面積 * sin(TA) + 脚面積
顔面積= 0.12 * 0.01 * h * HI * 0.14
肩面積 = HI * 0.45 * HI * 0.12
胴体面積 = 0.4 * 0.01 * h * HI * 0.4
腕面積 = 0.32 * 0.01 * h * HI * 0.16
脚面積 = 0.45 * 0.01 * h * HI * 0.24


## 計算サイトを作った

この計算式を元に、速度とエアロバイク負荷ワットの関係を計算できるページを作成しました。

空気抵抗に影響の多いパラメータである体重と身長を入力すると、自動的に表とグラフを生成します

https://bohemian916.github.io/aerobaike_speed/

下記は身長170cm、体重60kgの条件で計算した結果です
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50474/24116330-4e2b-7baf-42fe-105958f35dd0.png)


自転車の抵抗のうち、空気抵抗が80%近くを占めているという話がありますが
空気抵抗は速度の2乗で効いてくるので、
動力(負荷ワット数)をあげると、なかなか速度が上がらなくなってくるというグラフになります。


## 参考

計算式のほとんどをこちらのサイト様を参考にしています

https://jitetan.com/power_req.html