GPSデータから計算する馬力とトルク | 愛車の性能を手軽に見える化4
実走データから、馬力やトルクを計算する方法をなるべく分かりやすいように整理してみました。
この記事では、計算に使う要素の意味と、馬力への影響度をシミュレーションしてみた結果を解説しています。
内容を理解していただけると、Torqe ProなどのOBDデータロガーアプリから取った実走データで、愛車の馬力やトルクを自分で計算できるようになります。
また、シャシダイの測定結果は比較には向かないこと、測定結果は最大出力を比較するのではなく、パーツ交換前後の変化量を見た方が良いことを理解していただけます。
内容は自動車メーカーサイトや自動車整備士テキスト、JIS規格などを参考にしていますが、私の理解が追いついておらず、間違った記載がある可能性があります。そのことをご留意頂いた上でご覧いただけると幸いです。
この記事は”パーツ交換後の効果を、誰でも簡単に見える化できるアプリ”を開発する上で、現在最も一般的な馬力計算方法を、開発チームメンバーと共通認識を持つために作成しました。
目次
馬力の計算
馬力は、車が加速する時に車にかかってくる抵抗(邪魔物)に対する車の対抗力(エネルギー)を数値にしたものです。
ご存知の事と思いますが、パワーは国際単位では仕事率=ワット(W)という単位で表現され、ワットというのは1秒間に発生したエネルギーと定められています。(エネルギーは本来熱であることから熱量=ジュール(J)やカロリー(cal)で表現されることもありますが、ここでは一旦忘れて下さい)
本当ならこのエネルギーを体温計みたいなもので測定できたら良いのですが、そういうものは無さそうなので、加速した時に車にかかる抵抗力から逆算します。抵抗力は、車速や車重などの測定値から計算でき、抵抗力の総量からエネルギー量を計算することでエンジンパワー割り出します。(電気の消費量計算と同じです。)
ワット表現だと、いまいち人間にはイメージしづらいので、イメージしやすい単位に変換したのが”馬が荷台を引く力=馬力”というわけです。これも皆さんよくご存知だと思いますが、馬1頭が荷台を引っ張る力が1馬力、2頭だったら2馬力、となります。(1馬力=735.499ワットです。)
次に、抵抗力がどのように計算されるかというと..
下の馬の図の通り、車の走行中には一般的に4つの抵抗がかかると言われています。これは総称して走行抵抗と呼ばれています。
走行抵抗の計算式(下の画像)を見ると、馬力計算の要素は大きく"測定する値"と”理論値”の2つに分類できます。
これらの要素を掛けたり足したりすることによって馬力を計算できるわけですがが、測定誤差や参考にした資料に書かれた理論値に差があると、計算結果も変わってしまいます。
今回はこれらの要素がどのくらい変わると、計算馬力がどれくらい変わるのかを一つ一つシミュレーションしてみました。
馬力計算要素の影響度
この章では、僕の車の実走データから計算した馬力を基準に、要素の数字を少しずつ変更していった結果を順に説明しています。これは誤った補正によってどれほど馬力差が出てしまうのかを極力分かりやすくする為です。
この結果と実馬力とは異なる点に留意して頂いたの上で、以降の記事を見ていただきたいと思います。
実走データから算出した最大馬力は”304.24”馬力でした。しかしこの数値は加速抵抗のみで計算したものになります。
4つの走行抵抗を見てみると、加速抵抗が圧倒的に大きくこれが馬力の大部分を決定づける要素に見えますが、他の3つもそれなりに馬力に影響しそうです。
転がり抵抗は重量に比例し、空気抵抗は速度に比例して増減しそうです。
しかし勾配抵抗は路面の勾配によって大きく変化しそうです。上の画像だとマイナス(下り)ですが上り坂になるとプラスになるはずです。また、勾配がキツくなったりユルくなったりすることで数値がブレます。
馬力計算に勾配抵抗を考慮しないと、本当の結果が見えなさそうです。
このように、勾配抵抗以外でも馬力に影響しそうな要素が隠れているので、以降の説明では式の中にある”測定する値”と”理論値”に順に変更を加え、計算結果がどう変わったかをまとめましたのでその変化を見て頂きたいと思います。
※馬力計算において、馬力影響度の高い加速度(m/s2)と勾配(sinθ)は、計測地点から1秒間後ろの間を使って計算しています。(以下の図の通り)データは0.05秒間隔で取得できていますが、計算間隔を1秒間にしたのは実験による試行錯誤によるものです。
※ちなみに前回の記事に掲載している最大馬力は加速抵抗のみから算出しており、今回は4つの走行抵抗から算出しているので、前回と比べ大きくなっています。
”測定する値”の影響
車速や勾配、空気密度など、アプリなどで測定できる要素による馬力への影響を説明します。
空気密度
空気密度は気圧と温度で変化します。空気密度はエンジンパワーにも影響しますが、空気抵抗にも影響します。
ここではエンジンパワーと空気抵抗の釣り合いについて無視していますので、空気抵抗変化の影響に注目して頂けたらと思います。
気圧(標高から計算)
まずは気圧を変化させてみます。
気圧は標高とその日の地球のご機嫌で変わります。標高はGPSでとれ、地球のご機嫌は毎日気象庁が伺ってくれています。現在地点の気圧は、現在地点の標高と地球のご機嫌≒海抜気圧(標高0の気圧)が分かれば計算することができます。
気象庁HPでは、各地方に点在する観測点の気圧も掲載してくれていますが、標高はちょっと場所変えただけでも数十メートル変わってしまうので、海抜気圧とGPSから取れた標高から計算した方が実態に近くなるかもしれません。※象庁のサイトの情報は毎日更新されています。また、iPhoneであれば気圧センサーがついてるのでアプリで取ることができます。
標高と気圧の関係は、標高が低くなると気圧が高くなり、密度も高くなります。標高が高くなると気圧が低くなり、密度も低くなります。
僕の実走データは標高649.9mでなので、これを基準に数値をいじると...
基準m | 密度kg/m3 | 馬力ps | 基準との差ps |
---|---|---|---|
649.9 | 1.192 | 304.24 | |
-300 | 1.230 | 304.92 | +0.68 |
+10 | 1.190 | 304.22 | -0.02 |
となりました。これが微々たるものなのか、今の僕ではまだ判断できませんが標高でこれくらい結果に誤差が出る可能性がある、というイメージを掴んでいただければと思います。
気温(吸気温度)
気温は吸気温度センサーから取れる温度を見ています。(外気温はアプリで取れません..)吸気温度はエンジンルーム内温度の影響を受けて、実際の外気温より少し高いはずです。しかし今回はシミュレーションですので、温度差による馬力の変化に注目してみてください。
基準℃ | 密度kg/m3 | 馬力ps | 基準との差ps |
---|---|---|---|
5 | 1.190 | 304.22 | |
+1 | 1.180 | 304.16 | -0.06 |
+10 | 1.150 | 303.63 | -0.58 |
sinθ(勾配)
sinθは斜面距離と高さの比率ですが、道路表示でよく見る勾配表示は"%"ですね。勾配1%あたりのsinθは0.0099..とちょっと分かりにくいので、%表記の変化による影響度を見て頂きます。
基準% | 馬力ps | 基準との差ps |
---|---|---|
-0.007 | 303.63 | |
+1 | 310.69 | +7.07 |
+2 | 317.76 | +14.13 |
たった1%違うだけでこんなにも馬力差が出てしまうことが分かりました。勾配は馬力への影響度が大きいので、実走データによる馬力計算は勾配測定に気を遣う必要があります。
今回sinθは、測定点から1秒後ろの高低差と斜面距離で計算しています。長く取ると傾斜をなだらかにしてしまうので、今後はホイールベース距離で計算してみたり、測定点から前後距離の取り方を変えてみたりして、より実態に合う所を見つける必要があります。(実験では、0.75s、0.5s、0.25s距離で計算してみましたが、計算馬力への影響はほとんどみられていません。機械学習の予測精度を調整する際に、この数値の正確性調整が必要になるかもしれません。)
あとはGPSの精度がどこまで必要かの検証も必要です。スマホGPSの精度は誤差1m〜11mとかなり荒いので、精度のいいGPSセンサーを自作してみるなど試行錯誤してみようと思ってます。
車速
馬力を計算する上で最も重要な値です。車のスピードセンサーとGPSそれぞれで取得できます。なんか結果がおかしいと思ったら、値を取る方を変えればいいのですが、スピードセンサーの方が数値が細かく取れるので、分析しようと思ったらスピードセンサーの値の方が良いと思います。
この数値が間違えたら、馬力測定は成り立ちませんので影響度評価はしていません。
ただし、注意点が一つあって、タイヤ外径が変わるとセンサーの車速と実際の車速がズレて計算結果が変わってしまうはずです。タイヤ外径が計算に影響するということは留意して頂きたいです。
加速度
時間あたりの車速増加量を時間で割って計算します。車速と同じ理由で影響度評価はしていません。
車両重量
馬力を計算するときは、車の総重量が重要です。総重量は車体、ガソリン、積荷の合計値を使います。
基準kg | 馬力ps | 基準との差ps |
---|---|---|
1639.24 | 317.76 | |
+5 | 318.63 | +0.92 |
+10 | 319.59 | +1.83 |
5kgの誤差で0.9馬力近くも差が出てしまいます。5kgなんてガソリンの量や積荷で簡単に調整されてしまいます。
アフターパーツメーカーがシャシダイ計測データを公表している時、外気温度が表示されているのはよく目にしますが、測定前後の重量が表示されているのは見たことはなかったので、今後気にしてみようと思います。
また、ガソリン残量の影響はそこそこ大きいことがわかりました。ガソリン1リットルあたりの重量は0.76kgです。E46M3の場合ガソリンタンクが65リットルなので、満タンと空の重量差が49.5kgあります。(完全に0はないので概ね40kgの重量変動があると思います。)
今回の計算では車検証重量を使っていますが、車検証重量は実はガソリン満タン時の重量を示しているので、ガソリンが空に近い状態で車検証重量で馬力計算してしまうと、7馬力近い誤差が出てしまいます。(E46M3の場合)
ガソリンタンクレベルデータが取れないので、ガソリン量は常に満タンにするか、ガソリンメーターを良く見て重量を設定する必要があります。見る人によってズレる可能性が大きいのでその分馬力もズレる可能性が高いです。
正しい重量設定はかなり骨が折れるので、良い方法としてはパーツ交換前後の重量を変えないことで、変化量にのみ着目すれば意味のある馬力測定ができると思っています。(チタンマフラーなど、明らかに軽量化されるパーツは、重量変化量だけを反映させれば問題なしです。)
どうしても現在の車両重量が知る必要がある場合、居住地管轄のごみ焼却場に直接ごみを捨てにいく方法があります。ごみ焼却場ではごみ重量を把握する必要があるので、入り口のロードセル(車重計)でゴミを捨てる前と後の車両重量をg(グラム)単位で測定してごみの量を把握しています。測定結果はレシートでもらえます。笑 手続きは自治体によって異なりますので、HPで確認してみてください。ほとんどの自治体が飛び込みOK&無料のはずです。
”理論値”の影響
自分で測定できないので、規格などから引用する要素の馬力への影響を説明します。
転がり抵抗係数
言葉の通りタイヤと路面の転がり抵抗係数です。メーカーが自社の試験結果をもとに公表しているものです。
ですが公表していないメーカーも多々あり、測定する人がどんな数値を入れたかで結果に影響が出てしまう一番誤差を生みやすい要素です。
しかも意外と影響度が高いのです。とりあえず今回は、日本自動車が定めたグレード(低燃費タイヤ基準ですけども..)で、一番係数が高い値0.012で基準最大馬力を出しました。
比較する数値は、一般的には概ね0.015と書き込みが見られたので、この数字での馬力差を比較してみました。
基準 | 馬力ps | 基準との差ps |
---|---|---|
0.012 | 319.52 | |
0.015 | 321.72 | +2.12 |
この数値をテキトーに選んでいると、馬力もテキトーであることがよく分かると思います。これを見ると、シャシダイで出た最大馬力は間に受けてはいけないことがよく分かりました。
回転部分慣性相当質量
これは、クラッチ、トランスミッションのギア、プロペラシャフト、ドライブシャフト、タイヤなど回転する部分の慣性抵抗(回ろうとする方向の逆の力)を重量に変換したものです。
これも車両による個体差があって、いちいち測定してられないので標準規格では概ね車両重量の3%〜5%と言われています。
最大馬力に近い値をどうしても出したい場合のみ加算して計算すれば良い数字だと思っています。この数値はテキトーすぎるので、今回の基準最大馬力の計算には含めていません。
一応これを含めて計算してみると..
基準kg | 馬力ps | 基準との差ps |
---|---|---|
1649.25 | 321.72 | |
+3%(+47.4kg) | 330.45 | +8.73 |
その他間違えようがない値
Cd値
空気抵抗係数です。メーカーが風洞試験などで出したものが公表されている数値です。E46M3の場合、0.32です。
前面投影面積
車を正面から見たときの面積です。これもメーカー公表値です。E46M3の場合2.6m2です。
重力加速度
全世界共通認識の地球の重力です。重力加速度は9.8m/s2です。
馬力計算のまとめ
このように数字をいじっていったら、基準304.24馬力から330.45馬力に増えてしまいました。
これは実走データを補正した場合の誤差イメージですが、シャシダイ誤差をイメージした場合、空気抵抗と勾配抵抗を取り除くと304.24→315.8となり、それでも無視できない誤差が出てしまいます。
そもそも、こんなめんどくさい計算式見せられただけで、パワー測定は挫折するのかなと思います。
とは言いつつも、折角高いお金出して買ったパーツやメンテナンスの効果は知りたいし、できればパーツを買う前に、一番効果が高いモノを選びたいのがオーナーの心の声だと思ってます。
今後これを誰でも簡単に、しかも差があると誰が見ても納得できるアプリ(重箱の隅すらつつきようがない)を開発していますので、もうしばらくお待ちください。
トルクの計算
トルクは、パワー÷エンジン回転数(×単位変換係数)で簡単に計算することができます。
(単位変換係数は、kWやNの単位変換や円周率などから僕自身で計算していて、間違えている可能性があります..)
トルク評価ではなく加速度評価がいいと思う理由
最近のハイパーカーの加速性能評価には0→100km/h到達時間(3秒切ればワンダフル)がよく使われてますね。
凄まじい数字を見慣れてるせいで、自分の愛車の数値は見たくもないかもしれません。笑
それに静止状態からフル加速なんて、愛車を大事にしたいオーナーさんにとってやりたくもないテストだと思います。
そうするとやっぱりトルクを見るのがいいのかな〜と思うかもしれません。
しかし日常走行で感じているトルク感はタイヤが路面を蹴り出す力です。(このブログではタイヤ外径トルクと呼ばせてください。)
先に示した計算式はエンジンクランクシャフト軸トルクを計算するものです。
タイヤ外径トルクは、エンジンクランクシャフト軸トルクに、走行中のシフトポジションの減速比、ファイナルギア減速比、タイヤ半径を掛けることで計算できます。(減速比はメーカー掲載の諸元表に載っています)
しかしこれまでの開発実験の中で、ギアポジションを正確に把握することが難しいことが分かってます。(僕がデータ取得で使っているTrack Addictにギアポジションを判定してくれるプログラムが組み込まれていますが、1〜3秒遅れるか、検知できないことがあります。以前使っていたDush Commandも1〜3秒遅れます。)
タイヤ外径トルクで表現しようとすると、実走行ではギアが刻々と変わっているので、ギアポジション検知が正確ではないデータでトルクの変化量を示されても、結果を信用できません。
そこで今注目しているのが加速度です。
加速度は、皆さんがいつもの道でいつものアクセル踏み込み具合で体感している加速感をダイレクトに数値で表したものです。
いつもの道、いつものアクセル踏み込み具合の比較であれば、機械学習を用いることで同条件で変化を見える化できる可能性が高いのです。(他車との比較は要検討)
加速度だってギアポジションによって変わってくるだろうと思われると思いますが、加速度は時間あたりの速度の変化量÷時間と単純な計算で出せるので、計算ミスがありません。
タイヤ外径トルクを計算する場合、データ取得間隔が0.05秒なので、このスピードでギアポジションを検知してくれないと、計算に使う減速比が異なり、間違ったトルクを示してしまいます。(1回の測定で数千個の間違ったデータが取れてしまいます。)
1回の測定で取得する数万のデータの中から間違ったデータを取り除くのは、プログラムを使っても難しいのです。
なので加速度を評価指標に使えば、ギアポジションは参考程度の情報にできるのかなと考えています。(人によっては速度と回転数を見れば概ねギアポジションの当たりをつけられると思います。)
開発の課題(以降、開発メモなので説明をかなり省きます)
しかし、この加速度評価には課題があって、同じスロットル開度、車速、エンジン回転数など条件を揃えても、統計処理(フィルターや階級分け)では加速度を再現できないことが開発実験で分かりました。
加速度を馬力変換しても、近い値にはなるものの、全く同じにはなりません。
ヒスグラムを作成して正規分布に従っているかを確認しましたが、概ね従っていることは確認できました。
正規分布に従っているということは何かしらの自然法則に従っていると言ってもいいので、モデル化できる(説明できる)はずなのです。
よって、加速度に影響するけど、誰も分かっていない要素が他に何かあるはずなので、これを見つけ出すことがこの開発の肝になっています。
今開発はこの段階なのです。
開発の方向性
今までの話からだいぶ飛びますが、データを分析するアプリになるので、個人情報保護が重要だと考えています。
GoogleやAmazonのように企業でデータを抱え込むのではなく、オープンデータ又は匿名性の高いデータ、使用を許可されたデータを中心に使うアプリにしたいと思っています。
データを保管するとしても、位置情報など具体的なデータではなく、学習が済んだ学習モデルのみを保管し、個人を特定できない様にしたいと思っています。
ただ、車両に対していつ何を変えたかのデータはどうしても必要になってくるので、たとえばみんカラのように、ニックネームで個人は特定できないけど、車両と何を変えたかだけが特定できるデータを使わせてもらうイメージを描いています。(もちろんこのようなデータの使い方をすると同意を頂いた上で。)
それから開発で重要になってくるのは"分析結果の伝え方"だと思ってます。いくら分析技術が高くても、結果を見る人に伝わらなくては意味がありません。
それに分析技術そのものは誰でも真似できるものになる予定です。マラソンレースなどでトレーニングやサプリメントの効果など、今まで効果測定が定量的に示せなかったことに対する分析サービスとして類似のサービスが増えるイメージをしています。
そうなった時、分析方法やアプリの構造、ビジネスモデルは真似できても、伝え方は誰にも真似できず、僕たちオリジナルのものになると思っています。売上や利益を過剰に追うつもりはないので、僕らの伝え方が気に入ってもらえた方、に長く使ってもらえるサービスを目指しています。
とは言っても僕らが生活できるお金と、新しいサービスをどんどん開発できる費用などは確保できるビジネスモデルにしたいと思っています。