<body leftmargin=0 topmargin=0 marginwidth=0 marginheight=0>
 
 

top page, english, japanese


GPSデータからパワー推計。パワーメーターはもう要らない。GPSロガーさえあればいい――

パワーメーターの恩恵はとてつもなく大きい。トレーニングの最適化,大会に向けてのベストコンディションづくり,器材アセンブルの最適化,数理的な知見,運動生理学的な知見。特に競技に携わっていなくて唯単に健康志向でファンライドしているというだけの人にとっても、その効果を数字で確認出来るのは大きな違いでは無いだろうか。その為に、数十万円の器材を買うかどうかは個人差がありそうだけれど

そんなパワーメーターとほぼ同じデータを、GPSデータを元に得る事が出来る。その為のソフトウエアです

もちろん条件はある。精度の高いGPSデータを用意出来る事だ。
ハイエンド・チップを搭載しているロガーが望ましい。走行環境――道路幅員,建築物の集積度や高度利用,街路樹,たまたまの衛星配置,天候,太陽の状況(フレア等),等々からGPSロガーは直接的に影響を受けてしまう。
最近のハイエンド・チップであれば,緯度経度による座標精度はかなり高くあまり心配は要らないのだが、高度となるとあまりアテに出来ない。チップにも依るが、捕捉する衛星の個数が変化したり、高層ビル群の間を走行すればマルチパスの影響で、簡単に数メートル程度は変化してしまう。その様な変化を真に受けていればパワー推計など出来やしない

しかし、道路というのは滑らかに出来ているモノだ。
莫迦げた値(外れ値)は摘出除去してしまえばいいし、非現実的な振幅はスムージングしてしまえばいい。それこそ道路の実相であり、コンピュータはそういう処理が得意なのだ。もちろん実際の形状を推定出来る程度には精度の高い記録が必要ではある

分析・推計するのはパワーである。ケイデンスも推計可能だが、これはプロファイルに従った一種の理想値として推計する。
そして、パワー推計に際しては、速度,加速度,斜度の3つのファクターの影響が大きい。次いで、空気密度や風の影響,路面状況等だが、これらは実際の値を設定し易い。もちろん人間の体格や器材については当然の事として正確な値を前提にしている。
この3つのファクター、速度,加速度,斜度、全てがGPSデータに依るものなので、冒頭からGPS精度に触れた

いずれは数センチ以内の精度を持つGPSロガーが手頃に入手出来る様になるかも知れない。そうなればスムージングもしないで完璧なパワーデータの記録を得られるようになる。
現在でも、GPSデータの高度データのみを補正する事が可能なマップが存在する。そうしたモノの利用も一考だ。尤も、パワー推計の為には正確な高度データが必要なのではなくて、正確な高度変化のデータが必要なので、唐突に大きく変化する外れ値を除去してやれば十分に使えるロガーは多いと考えている

先ずは使ってみて下さい。
FITファイルを読込んで、パワーとケイデンスを推計したデータを加えてFITファイルとして出力(セーブ)出来る。そして、出力ファイルを、ゴールデンチーターなどで分析してみて下さい。FITファイルに記録可能なサイクルコンピュータ(Garmin等)の出力ファイルも、GPSデータが無くても、平坦コースに限っては分析可能である。
手持ちのGPSロガーの出力ファイルが、.GPX, .KML等であれば、何等かのコンバーターで、FITファイルにコンバートすればいいでしょう。GPSファイルのコンバータで有名なのはGPSBabelですがFITファイルへのエクスポートは出来ません

Golden Cheetah -- パワーメーターの出力データから運動生理学の分析が可能でトレーニングの管理が出来る
GPSBabel -- GPSデータ(ファイル)の定番コンバータ。とても多くのファイル形式をサポートしている

パワー出力の記録の他に、このソフトウエア独自の使い方もある。記録されたデータと同様の走り方をした場合に、器材や服装等を様々に変える事でどの様なパワー変化が期待出来るかを推計シミュレート,比較する事が出来る。
例えば、軽量化が効果的なのか、エアロダイナミクスを改善する事が効果的なのか。コースや走り方によって最適化の方向が異なる事や、その度合が数値で理解出来るようになる。つまり、器材アセンブルの為の比較データになる


ver.0.16.00以降、ブレーキングの検出を可能にした。各レコードに於いてブレーキングのフォース(kgf),前後別に、温度,発熱量,空冷熱と放射熱を表示する。PreferenceダイアログのGPS dataのタブで設定できる。但し、正確な推計を得るには、非常に精度の高いGPSデータが必要ですけれどね

ver.0.20.00以降、e-Assist(電動自転車)のアシスト機能をProfile設定する事で、Simulation(Power and Velocity, Acceleration, Deceleration), GPS(Analyse and Predict, Create FIT File Analysed)に於いて分析・推計する事が出来ます。
また、ProfileとConditionを区分しました。この為、古いバージョンで作成したProfile Fileは互換性がありません。ver.0.20.00以降を使用する場合、新たにProfile Fileを作成して下さい


powermeter for Androidを作成しています。smart phoneのGPS機能により、パワー表示とFIT fileへのロギングを行うアプリケーションです。チュートリアルページはこちら。近いうちにGoogle Playにアップロードします
 


 
cyclingGPSToPowerSim, 自転車GPSデータ > パワー推計 > ゴールデンチーター
last updated on 7th January 2024 since 28th December 2018
Download ver.0.20.03 for Windows x86 -- it may be worked on Windows XP, 7, 8.x, 10 (32 bits)
Download ver.0.20.03 for Windows x64 -- it may be worked on Windows XP, 7, 8.x, 10 (64 bits)
 
概 要
 
0. "cyclingPowerSim"
1a. プロファイル設定
1b. コンディション設定
2. FITファイルの読込
3. GPSデータの扱い
4. パワーとケイデンスの分析・推計
5. FITファイルの出力
6. 読込・分析・出力の一括実行
7. FITファイルのコンバイン
8. FITファイルのコンバート
9. Messagesの追加
A. FITファイルの分割
B. Messagesの除外
 
chapter1a: プロファイル設定
 
1-1. 人間の体格とアビリティ
1-2. 器材の主要諸元
1-3. シフティング
1-4. ホイール
1-5. タイヤ
1-6. ブレーキ
1-7. 器材のパワーロス
1-8. e-Assist
 
chapter1b: コンディション設定
 
1-9. コースコンディション
1-A. プロトン
 
chapter2: FITファイルの読込
 
2-1. FITファイルのタイプ
2-2. サマリーの表示
2-3. 分析・推計の可否
2-4. Record Dataの表示
 
chapter3: GPSデータの扱い
 
3-1. 低速度Recordの除外
3-2. セクター
3-3. スムージング
3-4. 外れ値の除去
3-5. より正確な記録の為に
 
chapter4: パワーとケイデンスの分析・推計
 
4-1. ケイデンス
4-2. パワー
4-3. Record Dataの表示
 
chapter5: FITファイルの出力
 
5-1. ソースファイルがベース
5-2. 分析・推計データ
5-3. Record, Session, Lap Messages
5-4. ゴールデンチーター
 
chapter6: 読込・分析・出力の一括実行
 
6-1. 手間と時間
6-2. 表 示
 
chapter7: FITファイルのコンバイン
 
7-1. ソースファイル
7-2. 分析への影響
7-3. コンバインの条件
 
chapter8: FITファイルのコンバート
 
8-1. 変更項目
8-2. ファイルフォーマット
8-3. スポーツタイプ
8-4. 速度単位
 
chapter9: Messagesの追加
 
9-1. 重要なMessages
9-2. 複数のSessions
 
chapterA: FITファイルの分割
 
A-1. 分割の条件
A-2. 分割ファイル名
 
chapterB: Messagesの除外
 
B-1. 必要とは思えないんですが
B-2. 対象Messages
 
chapterC: その他
 
C-1. 器材アセンブル
C-2. 異常なパワー推計値
C-3. ゴールデンチーターのチャート
C-4. ブレーキングの検出
 


概 要


"cyclingPowerSim"は前身となるソフトウエアです。
本ソフトウエア"cyclingGPSToPowerSim"はその全ての機能を引き継いでいますので、"cyclingPowerSim"を持つ必要はありません。
但し、それらのシミュレーション機能については、このページでは説明しないので、"cyclingPowerSim"のチュートリアル・ページを一読し、幾つかのシミュレーション機能を本ソフトウエアで試してみる事を御薦めします

それらのシミュレーション機能に依って、どの程度のパワーを有しているか等の見当がつくからです。日頃走行する際の平均速度や、今迄に出した最高速度などから、その際にどの程度のパワーを出力していたかが推計出来ます。
そうした把握は、GPSデータの精度・信憑性を確認するのにも役立ちます

先ず最初にプロファイルの設定をします。プロファイルについては、次節、及び、次章で詳しく、説明しています。プロファイル設定はGPSデータの分析にも先立って設定する必要があります。
それで、各種シミュレーション、及び、GPSデータの分析をする準備は完了です。シミュレーション機能についてのチュートリアルはこちら
 



起動時(右画像)に、プロファイルデータが<自動的に読込まれます。以下の9区分各々に複数の設定項目があります

・Human
・Equip
・Shift
・Wheel
・Tyre
・Brake
・Loss
・e-Assist

インストール後に初めて起動した場合は、“default.pro”ファイルに設定された適当な値が読込まれます。このファイルはインストールフォルダの下位フォルダ“profile”の中にあります

これらの設定値をユーザ独自のデータに置き換えて下さい。そして、データファイルにセーブして下さい。ファイル名は好きにつける事が出来ます。また保存する場所も好きに出来ます。
複数の自転車,複数のホイール等を所有している場合、四季による服装の違いなども含め、あり得る組み合わせ全てのプロファイルを作成しておくといいでしょう

保存してあるプロファイルをロードすると、それ以降、本ソフトウエアの起動時にそのプロファイルが反映されます

メニュー“Profile”のプルダウンメニューから操作出来ます
 



Ver.0.20.00以降、コンディション設定をプロファイル設定から区分しました

・Course Condition
・Peloton Settings

GPSデータの分析に於いては、コース設定での風速と気温は関係ありません

メニュー“Profile”のプルダウンメニューから操作出来ます
 



FITファイルは、様々なスポーツのデータを記録する為にDynastream Innovations Inc.によって策定されたファイル形式で、GPSデータの記録にも適した形式です。加削性・柔軟性があり様々なファクターを定義・記録する事が可能です。バイナリファイルなのでGPXやKML等のファイルよりもずっと小さいファイルにまとめる事が出来ます。Little Endian, Big Endianの違いも吸収出来るので、プラットフォームを選びません。
FIT : Flexible & Interoperable Data Transfer Protocol

冒頭でも触れましたが、手持ちのGPSロガーがFITファイルをサポートしていない場合は、何等かのコンバーターでコンバートすればいいでしょう。非常に高機能・多機能なコンバータです

ファイルを読込むと、その概要を表示します。
――ファイルタイプ,スポーツタイプ,Record Messageの数,重要なファクター記録の有無,スタッツ(記録開始と終了の時刻や座標,経過時間,走行距離,平均速度,最高速度、等々)、そして、分析・推計が可能かどうか。
分析・推計が可能かどうかは、記録されているデータ次第です。スタッツも同様

FITファイルの読込みは“Load Activity Fit File”から操作出来ます。
分析・推計が可能な場合は、分析や分析結果出力のメニューが実行可能になります。"GPS"のプルダウンメニューにあります

FITファイルについて詳しくは、
 



速度の閾値を設定する事で、それ未満のRecord Dataを除外する事が出来ます。GPSロガーにもよくある設定です。これにより、途中で休憩した場合や信号待ちなどの記録を除外します。ゼロにすると全てのRecordを分析対象にします。
設定は"Preference"の"GPS data"で設定します(左画像)

同じタブにて、"detect braking"にチェックを入れる事で、ブレーキングの検出を可能にし各レコードに於いてブレーキングのフォース(kgf),前後個別にブレーキ・マテリアルの温度(Celsius),摩擦熱(Jule),空冷熱と放射熱(Jule)を表示します。これは、パワーを推計する場合にのみ機能します。また、正確な推計値を得る為には、非常に高精度なGPSロガーが必要でしょう

スムージングと外れ値の除去は非常に重要です。
記録されたデータそのままで分析・推計する事も出来ますが、冒頭で触れたように、今のところそれはあまり現実的ではありません。
試しに、"Express Source Data"を、スムージング及び外れ値除去のチェックを外して実行してみて下さい。恐らくは非現実的な斜度がデータとして羅列されるでしょう

一般に高度の精度は良くないものです。そして、たとえハイエンドチップ搭載で座標がほぼ正確に記録されていても、斜度は非現実的な値になりがちです。少しの誤差が、斜度では大きく反映されてしまうからです。
この事情は、加速度についても同じことが言えます

つまり、スムージング及び外れ値除去のチェックは必須という事です。特別に高精度のGPSデータでない限りは

スムージングはMedian Methodを使用しています。画像データからノイズを除去する手法のひとつとして有名です。ノイズを除去すると同時に、隣接するデータの差を滑らかな変化にします。この手法ではレンジをどうするかが重要になります。あまり広く取り過ぎても狭く取り過ぎても現実的な道路(走行ライン)の実相からは離れてしまいます。
基準になるのは、記録インターバルとしての移動距離です。これが短いのならレンジは広く、長いのならレンジは狭くします。長過ぎる場合はスムージングはしません。記録インターバルの時間の影響も、間接的に、大きくなります

外れ値の除去は、斜度,加速度について非現実的な値を定める事で実行します。
斜度については実際に走行した記憶からおおまかな設定が可能でしょう。そして、加速度については、先ずアビリティとして可能かどうかがひとつの基準になり、走行時の記憶もあれば更に絞る事が出来るでしょう。
加速度の外れ値は、フラットコースの場合の値として設定します。登りや下りでは、ソフトウエアが補正して、外れ値かどうかを判定します。
とても高精度なGPS記録データであればそのような必要は無いのですけれどね…

スムージングと外れ値の除去は個別に行われます。極端には、高度が変化しているのに斜度がゼロのまま推移しているデータが出来上がる場合があります。特に、記録開始時に捕捉する衛星が少なかったり高層ビル群の間でマルチパスの影響を受けた場合など、高度の変化までもが出鱈目で、斜度が外れ値を連発する事があるからです。
その様なデータが多い場合は、より高精度のGPSロガーを用意する事です
 



ケイデンスは器材と速度,アビリティとしての常用ケイデンスから推計します

パワーはとても多くのファクターから推計します。先ずはプロファイルで設定したほとんどのデータ――体格や服装,ポジション,様々な器材仕様,コース状況等、次いで、分析の為の設定としての風速,風向き,気温、そして、GPSの各Record Dataから算出される速度,加速度,斜度があります
風速と風向きは、Record Dataとして記録されていれば理想的なのですが、その様なロガーはありませんので、大雑把に、走行した際の平均的な値として入力して下さい。気温も同様です。気温と高度から、エアロダイナミクスのベースとなる空気密度を算出します。
通常は風速ゼロで大丈夫では無いでしょうか。よほどの強風の下で走行した場合にその平均的な値と風向きを設定すればいいでしょう。
トレインを組んでいたのならプロファイルでその設定をする事も出来ます。現実的にはチームTTの場合ぐらいしか使えないでしょうけれど

"GPS"のプルダウンメニュー"Analyse And Predict"で実行します

先ず、サマリーが表示されます。次いで、分析・推計されたRecord Dataが表示されます。
サマリーには速度や距離だけでなくケイデンスやパワーのスタッツ,Record Dataには各Recordのケイデンスとパワーも表示されます。Preferenceにて"detect braking"にチェックを入れている場合は、更にブレーキのフォースや温度等が表示されます。
スムージング及び外れ値除外をチェックした場合、これらのスタッツやデータは元々のGPSデータに依るものではありません。走行の実相を推計した値になります

表示されているデータはそのままテキストファイルとして保存する事も出来ます。"File"のプルダウンメニューの"lower Screen"の"Save As"を実行
 



分析・推計したデータを、FITファイルとして保存出来ます

FITファイルのフォーマットを選択出来ます。通常は“modern”でいいでしょう。ゴールデンチーターのver.2.xなどを使っているのなら“legacy”を選択します。ノーチェックの場合は、ソースファイルに準じます

また、スポーツタイプ(sport type, workout code)を変更出来ます。ノーチェックの場合は、ソースファイルに準じます。

出力したFITファイルは、ゴールデンチーターなどで分析出来ます

具体的には、ソースとなる読込んだFITファイルをベースとして、推計したケイデンスとパワーの値を各Recordに追加します。ブレーキに関するフィールドはFITファイルには無いので、ブレーキのフォースや温度,熱量等の推計値は保存されません。
閾値として指定した速度未満のRecordは削除されます。
Session乃至Lap Messageが存在する場合は、定義を加えて、スタッツとしてのケイデンスとパワーのデータを追加します。
エンディアン(endian, data architekuture)はソースファイルに準じます。そして、CRCをアップデートしてファイルの完成です

"GPS"のプルダウンメニュー"Create Fit File Analysed"で実行します
 



上記にて説明してきた「FITファイルの読込み」,「パワーとケイデンスの分析・推計」,「FITファイルの出力」の3つを一括で実行します

手間と時間を少なく出来ます。
例えば、ゴールデンチーターでの分析を目的に、パワーデータのあるFITファイルを作成する場合は、この機能を使うのが手っ取り早いでしょう

個別に実行した場合との違いは、レコードフィールドデータの表示を選択出来る事です。デフォルトでは、分析結果はサマリーのみを表示し、レコードフィールドデータは表示しません。それには時間がかかるからです。
一括処理の後に“Express Source Data”を実行すれば、ソースデータでは無く、分析結果としてのレコードデータを表示しますが、その場合は、"detect braking"にチェックを入れていてもブレーキングに関するフィールドデータは表示しません

"GPS"のプルダウンメニュー"At One Stroke"で実行します
 



休憩した場合などは、その間のRecordを、分析・推計に於いて除外する事が可能になっていますが、その間はGPSロガー自体をオフにして細切れに記録したファイルを後でひとつのファイルに統合した方が、バッテリーのランタイムや記録容量の面で有利です

対象となるのはActivityファイルタイプに限ります。つまり、Record Messageを有するFITファイルです。ソースデータとなるFITファイルであるか、分析・推計後のFITファイルであるかは問題ではありません。
コンバインの結果として、全てのRecord messagesが統合され、Session及びLap Messagesのスタッツも書き換えられます

FITファイルのフォーマットを選択出来ます。通常は“modern”でいいでしょう。ゴールデンチーターのver.2.xなどを使っているのなら“legacy”を選択します。ノーチェックの場合は、ソースファイルに準じます。
また、スポーツタイプ(sport type, workout code)を変更出来ます。ノーチェックの場合は、ソースファイルに準じます

"GPS"のプルダウンメニュー"Combine Fit Files"で実行します
 



FITファイルのフォーマットを変更出来ます。また、スポーツタイプ(sport type, workout code)を変更出来ます。いずれも、ノーチェックの場合は、ソースファイルに準じます。
これらの機能自体は、“FITファイルの出力”及び“FITファイルのコンバイン”の際にも指定して実行出来るものです

"GPS"のプルダウンメニュー"Convert A Fit File"で実行します

また、速度単位を“kph”から“mps”に変更する事も出来ますが、通常は、必要の無い機能です。FIT SDKでは、速度単位は“mps”で統一して定義されているので、機器が記録する速度も“mps”を基準に算出された値になっています。
ところが、稀に(?)、“kph”で記録する機器が存在します。その様なデータをコンバートする為の機能です。
もしも、水平移動速度の他に垂直速度等の様々な速度記録に於いて“mps”と“kph”が混在しているデータの場合、速度記録の全てを“kph”と看做して“mps”に変換してしまいます
 



FITファイルに、Session, Lap, ActivityのMessagesを選択的に追加します。既に存在するMessagesを追加することは出来ません

FITファイルには様々なMessagesが含まれています。Activityタイプのファイルでは、File_IdとRecordのMessagesは必須です。他のMessagesは無くても、FITファイルとしては問題ありません。
ですが、そうすると、何の記録であるのか、経過時間やトレーニング時間,移動距離,速度やハートレイト,パワー,ケイデンス等の平均,最大といったスタッツは記録に残りません。そうした様々な値をRecord Messagesから再構成するかどうかは、FITファイルを読み取るソフトウエアやハードウェアに依存します。
例えば、ゴールデンチーターで“Workout Code (sport type)”が適切に選択される事は考えられません

特に重要なのは、SessionとActivityのMessagesです。様々なスタッツ,総運動時間,sport type等が記録されます。この点で、Lap Messageにも同じことが言えますが、参照されることはあまり多くは無いでしょう

原則的には、追加されるMessagesは、各々1つのDefinitionと1つのData Messageです。例外は2通りあります。1つは、複数のSession MessagesのあるファイルにLap Messagesを追加する場合は、Sessionと同数のLap Messagesが追加されます。もう1つは、ソースファイルの途中でRecord Messagesの定義が加えられている場合で、定義内容の変化があるかどうかに依らず、その都度Session, Lap Messagesの定義とデータが加えられます。
複数のSession MessagesのあるFITファイルにその他のMessagesを追加するに際して、sport typeを指定すると、全てのSessionで書き換えられてしまいます。ソースファイルの定義をそのまま継承する場合は、sport type指定のチェックを入れないで下さい

"GPS"のプルダウンメニュー"Add Messages"で実行します
 



1つのFITファイルを分割します。
例えば、異なるsport type (workout code)が混在するFITファイルを分析する為に、分割する必要のある場合が考えられます

分割可能なFITファイルの条件は、次の3つのいずれかの場合です

・複数のSession Messagesがある
・複数のLap Messagesがあり、Session Messageは無い
・複数のRecord Definition Messagesがある

作成される分割ファイルの名前は、設定したファイル名に、数字が自動的に追加されます

"GPS"のプルダウンメニュー"Divide A FIT File"で実行します
 



あまり必要とは思えないんですが、試しに作ってみた機能です。
実際は“Messagesの追加”機能の検証の為のファイルを作製する為に作ってみただけ、でしょうか

"GPS"のプルダウンメニュー"Exclude Messages"で実行します
 




chapter1a: プロファイル設定



以下の項目を設定します

・human height
・human weight
・position
・torso angle
・cadence usual
・cadence powered maximum
・cadence shift up
・cadence shift down

人間の身長と体重を入力します

ポジションを選択します。一番上の「-- torso angle --」を選択した場合は、背筋の平均的な角度を入力する事で、ポジションの代替えとなります。
他のポジションを選択すると、入力不可能になっているtorso angle」の値が変化します。それは各々のポジションの平均的な角度であり、そのポジションと角度は等価になります

普段のケイデンスは、人によって解釈が異なりそうですが、定速度走行を行なっている時のケイデンスです。ロードレースで言えば、特に駆け引きも無く集団で走行している場合のケイデンスです

最大パワーのケイデンスは、最大パワーを出力する場合のケイデンスです。個人が最大速度で走行する場合のケイデンスです。レースであればゴールスプリントの場合のケイデンスです

シフトアップケイデンスはシフトアップする直前のケイデンスです

シフトダウンケイデンスはシフトダウンする直前のケイデンスです
 




以下の項目を設定します

・wear
・helmet
・bike weight
・shell type

ウェアとヘルメットを選びます。エアロダイナミクスに影響します。特にウェアは大きく影響します

バイクの総重量を入力します。except wheel weightにチェックを入れた場合は、前後のホイール重量を除いたバイクの重量を入力します

シェルタイプはフレーム形状のタイプの事で、ノーマルタイプかエアロタイプかを選択します。エアロタイプの場合は、更に、ノーマルタイプに比較したエアロダイナミクス比率を入力します。フレームの影響はさほど大きなものではありません
 




以下の項目を設定します

・time loss of shifting
・clank length
・chainring teeth
・sprocket

シフティングのタイムロスは、シフトチェンジする際の時間ロスです。例えば、2010年のモデルではカンパニョロレコードで0.35秒,シマノデュラエースで0.45秒と言われていました。
ここで設定した時間は、シミュレーション上(加減速)でのシフトチェンジの際にノーパワーとなります。
メーカはスプロケット形状の開発により、シームレス化を目指していますので、シフティングする場合にも、多寡はさて置き、パワーをかけている人も多くなっているかも知れませんね。その場合は、より短い時間でよいと思います

クランクの長さを入力します

チェーンリングの枚数を入力します。枚数に従って、各々のチェーンリングの歯数を入力します

スプロケットの枚数を入力します。次いで、各々のスプロケットの歯数を入力します

最多でフロント3枚×リア15枚、最少は1枚×1枚(ピスト)です
 




フロントホイール,リアホイールそれぞれに以下の項目を設定します

・size
・weight
・resist
・-- in case of velocity

ホイールのサイズを入力します。単位はインチです

重量を入力します。タイヤやチューブは除きます

レジストは、空気抵抗で、次いで、そのレジストを生じる速度を入力します。
「predict」により、ホイールのリムハイト,スポーク数,モデル年度から、50km/hの場合のレジストを推計出来るようになっています。
これは、実在の数十のホイールデータを統計処理し、有意性が認められた3つのファクターから成るモデル式による算出です。モデル年度の有意性が高かったのは、'00s年代半ばにエアロダイナミクスが進化した事が反映されています
 




フロントタイヤ,リアタイヤそれぞれに以下の項目を設定します

・size
・weight
・rolling coefficient
・friction coefficient

タイヤのサイズを入力します。サイズとはタイヤ幅の事です。これは通常「C」で表されるサイズなのですが、メーカによって微妙に異なる様です

重量を入力します。チューブの重量も含めて下さい

転がり係数を入力します。
ハイエンドクラスで、0.003〜0.005辺りに多く分布しています。これはBPNが75の一般的な舗装路の場合です。ダート路面の場合は考慮されていません。通常、スリックタイヤの方が係数は小さい傾向にあります。
また、ダートに特化したシクロクロスやMTB用のタイヤの転がり抵抗は極端に大きなものですが、舗装路でも悪路でも係数がほとんど変化しないところに特徴があります

摩擦係数を入力します。
ハイエンドクラスで、0.70〜0.90辺りに多く分布しています。これもBPNが75の一般的な舗装路の場合です。ダート路面の場合は考慮されていません。通常、スリックタイヤの方が係数は大きい傾向にあります

転がり係数と摩擦係数は、傾向として、トレードオフの関係にあります。フロントに摩擦係数の優れるタイヤを、そして、リアに転がり係数に優れるタイヤを使っているユーザもいるのではないでしょうか。尤も、銘柄次第ですが
 




フロントブレーキ,リアブレーキそれぞれに以下の項目を設定します

・rim/disc(type)
・material
・weight
・depth/diameter

先ず、リムブレーキかディスクブレーキかの選択をします

素材を選びます。カーボン,アルミ,ステンレスとあります。リムブレーキの場合は、カーボンかアルミの選択になるでしょう。ディスクブレーキの場合は、アルミかステンレスの選択になるでしょう。
稀にカーボンのディスクブレーキもありますが、ここでは、セラミックコーティングされたカーボンコンポジットなどは考慮されていません

リムもしくはロータの重量を入力します

リムの場合はハイト(height, rim depth)を入力し、ロータの場合は直径を入力します
 




以下の3つの器材の動力ロスを設定します。いずれも、デフォルトの条件下で、3〜5%ぐらいが標準的な値です

・shell loss
・mission loss
・wheel loss

シェル損失は、フレームの撓みによるもので、クランクトルクが50.0Nmの場合の損失率を入力します。トルクによって損失率は変化します。
非常に剛性の高いフレームであるなら、2.0%や1.5%でもいいでしょう。これはあくまで機械的な動力損失であって、それが疲れ難いという事ではありません

ミッション損失は、動力伝達に於ける損失です。ハイエンドのコンポーネントで3.0%、ローエンドのコンポーネントで5%として良いでしょう

ホイール損失は、リアホイールの撓みによるもので、トルクが20.0Nmの場合の損失率を入力します。トルクによって損失率は変化します。
ホイールタイプによって損失率は異なるものです。ひとつの指標は、リアホイールのスプロケット側のスポーク本数です
 




先ず、モーターの位置と最大パワーを設定します。
次いで、最大で3つのレンジについて、アシストのタイプ,終端速度(速度域),アシスト比を設定します。
通常、レンジは2つもあれば十分でしょう。不必要なレンジは"none"に設定しておいて下さい

タイプは、"constant", "linear" から選択します。
"constant"は、人力に対して一定の倍率でモーターの出力が決まります、"linear"は、倍率が線形に変化します。ひとつ前のレンジの終端倍率から、当該レンジの終端速度で設定した倍率となる様に、速度に従って線形に変化します

指定する速度は、それぞれのレンジの終端速度(kph, km/h)です

比率は、モーター出力 ÷ 人力です。例えば、比率が2.0であれば、人力とモーターを合わせて3倍のパワーを期待できます。もちろん、モーターはその最大パワーを越える事は不可能ですが

例えば、日本の電動アシスト自転車の規制に従えば、
最初のレンジは、constantに、10km/hまでで、2.0倍の比率。第2レンジが、linearに、24km/hまでで、0.0倍(終端速度での倍率)となります。第3レンジはnoneです
 




chapter1b: コンディション設定



以下の4つのコース環境を設定します

・wind speed
・air density
・road surface

風速を入力します。+の場合は向かい風で、ーの場合は追い風です

空気密度を入力します。高度と気温を入力するか、ヘクトパスカルを入力するか、2つの方法があります。

路面状態を設定します。
BPNとは、British Pendulum Numberという単位で、十分な摩擦を得るサーフェイスの評価値の事。
降雨状態を設定します。ドライ,ダンプ,ウェットの3つから選択します
 




プロトン乃至トレインに於けるエアドラッグ率を設定します

・input ratio
・calculate

率を直接に入力する方法と、集団の台数と前車との距離から計算する方法の2つがあります

単独走行の場合は、エアドラッグ率に1.0を設定して下さい

ソフトウエアに計算させる場合には、トレインで引くローテーションの有無を選択します。ローテーションに参加する場合、平均化されたエアドラッグ率が算出されます
 




chapter 2: FITファイルの読込


FITファイルには様々なタイプがあります。device, settings, sport, activity, workout, course, schedules, weight, totals, goals, blood_pressure, monitoring, segment, exd_configuration, mfg_range、等々、約20種類あります。
FITファイルであれば、いずれのタイプであろうと、読込む事が出来ます

そして、分析・推計が可能なのは、Activityファイルタイプのみです。
Record Messageの記録があるのは、Activityファイルのみで、GPSデータが記録されたFITファイルは全てActivityファイルタイプです
 



FITファイルが読込まれると、ファイルのサマリーが表示されます。
――ファイルタイプ,スポーツタイプ(Session毎),Record Messagesの有無と数、definition及びdata messagesの数、そして、主要なRecord Dataの有無とSession乃至Lap Messagesに記録されたスタッツ,記録のタイムインターバルや走行時間、等々

これらのサマリーから、分析・推計が可能かどうかも判断出来ます
 



分析・推計が可能なのは、Record Dataから、速度,加速度,斜度が記録されているか算出が可能な場合です。走行の方位も算出可能であれば、風速と風向の入力によりその影響をシミュレートする事が可能になります。
典型的には、タイムスタンプ,GEO座標,高度が記録されていれば十分です。大抵の場合、GPSロガーの記録として、速度,距離なども算出され、データとして記録されているでしょう

特例となるのは、Garmin社のサイクルコンピュータ等が記録するFITファイルです。GPSデータは無く、速度,走行距離,ケイデンス等が記録されているFITファイルで、ここからは、分析・推計に必要な速度と加速度しか求めることが出来ません。加速度を求める為の時間推移も速度と走行距離からの推計になります。斜度を求めることは不可能です。
この様なデータは、フラットコースとして、分析・推計が可能です。フラットコースの場合に限って、という意味です
 



右画像は、"Express Source Data"を実行して、Record Dataを表示しています。
――sector, timestamp, heading, altitude, inclination, speed, distanceが表示されています。この例は、スムージング及び外れ値除去をチェックしたものです

セクターは連続的に記録されたデータに附与された数字です。閾値に設定した速度を下回ったり、休憩や信号待ちで停止した場合などは、その間のRecordは除去されてセクターナンバーは更新されます

タイムスタンプはあくまでUTC時刻(Universal Time Coordinated, 協定世界時)です

ヘッディングは走行の方位です。真北を0度として時計周りに角度(degree)で加算されます
 




chapter 3: GPSデータの扱い


速度の閾値を設定する事で、それ未満のRecord Dataを除外する事が出来ます。GPSロガーにもよくある設定です。これにより、途中で休憩した場合や信号待ちなどの記録を除外します。ゼロにすると全てのRecordを分析対象にします

同じタブにブレーキング検出のチェックボックスもあります。ブレーキのフォースや温度,摩擦熱,空冷熱と放射熱の推計と表示をします。これらは、パワー推計を行う場合に限って推計・表示されます

設定は"Preference"の"GPS data"で設定します(右画像)

同じタブに、速度単位の選択もありますが、通常、変更する必要は無い筈です。FITファイルの定義として、記録データの速度単位は"mps"と定められているからです。
ところが、稀に?、"kph"で記録してしまうハードウェアが存在します。その場合にのみ変更すると良いでしょう
速度単位の選択機能は廃止しました。代替として、ファイルのコンバート機能に速度単位の変換を加えました
 



セクターは連続的に記録されたデータに附与された数字です。閾値に設定した速度を下回ったり、休憩や信号待ちで停止した場合などは、セクターナンバーは更新されます。
別の言い方をすると、記録のインターバル時間を越えた間隔を発見するとセクターナンバーは更新されます。ハードウェアに依りますが、実際は連続的な走行であっても、記録が抜けるとセクターナンバーは更新されます

セクターナンバーは、本ソフトウエアに於いて、Record Dataの表示に使われるだけで、出力するFITファイル等には何等の影響もありません
 



冒頭及び概要でも触れました。
GPSデータの精度誤差に起因する振幅(oscillation)を除去し、走行ラインや速度記録の実相を得る為の機能です

対象となるデータは、タイムスタンプ以外の全てのGPSデータです。
ハイエンドチップを搭載したGPSロガーであれば、走行ラインや速度に大きな誤差は無いでしょう。それでも、小さな振幅誤差であっても、取り除くに越したことはありません。これらの小さな誤差が、加速度の算出などでは、大きく反映されてしまう可能性があるからです。
また、記録開始時や再捕捉時,高層ビル群の走行時などには、捕捉している衛星が少なかったりマルチパスの影響等で誤差が大きくなる事があります

スムージングはMedian Methodを使用しています。画像データからノイズを除去する手法のひとつとして有名です。ノイズを除去すると同時に、隣接するデータの差を滑らかな変化にします。この手法ではレンジをどうするかが重要になります。あまり広く取り過ぎても狭く取り過ぎても現実的な道路(走行ライン)の実相からは離れてしまいます。
基準になるのは、記録インターバルとしての移動距離です。これが短いのならレンジは広く、長いのならレンジは狭くします。長過ぎる場合はスムージングはしません。記録インターバルの時間の影響も、結果的に、大きくなります
目安としては、記録の距離間隔が約20メートル以内であればスムージングを行ないます。距離間隔が短いほど対象とする記録数を増やす事で、スムージングのレンジとしてほぼ一定の距離を保つ様にしています。記録の時間間隔で言うと、速度が約20kphでの走行の場合は、インターバルが1〜5秒程度まではスムージングを行ない、それ以上の時間間隔になるとスムージングを行ないません

誤差が数センチ以内の超高精度なデータが得られるのであれば必要の無い機能ですが、現状の実際としては必須の機能でしょう
 



冒頭及び概要でも触れました。
GPSデータの精度誤差に起因する外れ値を除去し(outlier rejection)、加速度や斜度記録の実相を得る為の機能です

対象となるデータは、斜度と加速度です

GPSの高度データはあまりアテに出来ません、高度データのみを補正する事が可能なマップが存在します。そうしたモノの利用も一考です。尤も、パワー推計の為には正確な高度データが必要なのではなくて、正確な高度変化のデータが必要なので、唐突に大きく変化する外れ値を除去してやれば十分に使えるロガーは多いでしょう。
大きく変化する非現実的なデータとなるのは、捕捉衛星の個数が変化したりマルチパスの影響を受けた場合にありがちです。高層ではなく低層の住宅街であっても道路幅員が狭いと、高度データはバラツキがちになります

加速度データの“誤差自体”については、それほど心配する必要は無いと思っていますが、パワー推計への影響が大きいので、小さな誤差も可能な限り除去しておきたいデータです

この斜度と加速度について、あり得ない値(unreal values)を設定しておきます。これを超える突発的な異常値を除去し、Median Methodでスムージングする事で、走行の実相を獲得します。
デフォルトでは、斜度に25%,加速度に1.5mpssとしています

これらの値にあまり神経質になる必要はありません。仮に異常値として斜度24%が記録されていた場合でも、その前後にも同様の異常値が続く事はまずあり得ないので、Median Methodによって斜度24%は除去されてしまいます。斜度24%が実相としての記録であれば、その前後にも同程度の斜度が記録されているので、それらは除去されずに記録として残ります。
加速度についても同様です。“あり得ない”と思えるレベルの値を設定しておけば大丈夫です

加速度の異常値としては、フラットコース(斜度ゼロ)を想定した値になっています。斜度が変わると異常値も大きく変化します。斜度に従って、この値はソフトウエアが補正して、外れ値として処理しています。
デフォルトの1.5mpssという加速度は、斜度ゼロで、10kph以下の速度域であれば500W程度ですが、20kphの速度域では約800W,30kphの速度域では約1200Wは必要になります(default.proの体格,器材仕様の場合)。あり得なくは無い加速度ですが、一般的とは思えない数値としてデフォルトにしています。個人の慣例的な走り方に従ってデフォルト値を変更して下さい
 



高精度のGPSロガーが良いのは当たり前の事です。
ロガーの取付位置が高く空に向けて遮蔽物が無い方が良い事も当たり前の事です。と言っても、頭の上に取付ける訳にもいかないので、これについては妥協する他無いかも知れませんね

記録開始時のケアも重要です。平均的な値には大きな影響は無いかも知れませんし、ハードウェアにも依りますが、記録開始時に記録データはバラツキがちです。こんな事の為に、最高速度や最大パワーに異常値が記録されるなら、それは避けるべきです。
原因は、捕捉する衛星の個数が少ない場合があるからです。
衛星の捕捉状況を確認可能なGPSロガーであれば、その状態が満足いくものに変化するのを待ってスタートすればいいだけです。確認する事が出来ないロガーの場合は、空が開けた場所で2〜3分待ってからスタートするのも良いかも知れません。左画像では、9つの衛星を捕捉している事が確認出来ています。
特に、記録開始とほぼ同時にデータを記録してくれるロガーは、便利乃至高性能と錯覚するかも知れませんが、そうでは無いので要注意です

一番良いのは、高度データをリアルタイムで表示出来る機種であれば、数値が落ち着いてからスタートする事です。記録開始時には捕捉する衛星数が十分では無く高度データは大きく変化するので、正しい値に落ち着いてからスタートするのです

GPSロガーを購入するなら、ハイエンドチップを搭載している機種を選ぶべきです。
その方が精度が高いのは当然ですし、再捕捉能力も高く速いからです。再捕捉能力は、トンネルや高架下等を抜けた後に、衛星を再捕捉する能力の事になります。また、最近の良いチップは、マルチパスの影響も受け難くなっている様です
他にも、バッテリーのランタイムや記録容量,設定の多様さなどの購買決定要因があります。出来れば、12時間以上のランタイム,24時間以上の記録容量,インターバル1秒間隔での設定が可能な機種が望ましいと思います
 




chapter 4: パワーとケイデンスの分析・推計


ケイデンスの推計は、一種の理想値として推計します。
プロファイルで設定したチェーンリングとスプロケット,ホイール径,タイヤ径、アビリティとしての常用ケイデンス、そして、GPSデータ記録の速度から推計します

具体的には、速度に応じて、常用ケイデンスに最も近くなるギア(shift)の選択を想定して、その時々のケイデンスを推計します。パワーがゼロの場合は、ケイデンスもゼロになります。
スタッツとしての平均ケイデンスの算出に於いては、ケイデンスゼロのRecordは対象外とします
 



パワーはとても多くのファクターから推計します。
先ずはプロファイルで設定したほとんどのデータ――体格や服装,ポジション,様々な器材仕様,コース状況等、次いで、分析の為の設定としての風速,風向き,気温、そして、GPSの各Record Dataから算出される速度,加速度,斜度があります

プロファイルで設定する風速と気温は、シミュレーションに使われるのみで、GPSデータの分析・推計には関係ありません。もしもRecord Messageに気温が記録されている場合は、気温の設定は不必要で、各Record毎に空気密度を算出してエアロダイナミクスの推計を行ないます。
通常は風速ゼロで大丈夫な事が多いのでは無いでしょうか。よほど強風の下で走行した場合にのみ、その平均的な風速と風向を入力すれば良いと考えます。
ブレーキングを検出してマテリアルの温度上昇を推計する事も可能ですが、正確な推計値を得る為には、非常に高精度なGPSロガーが必要です。
変わり種なところでは、トレインを組んでいたのならプロファイルでその設定をする事も出来ます。現実的にはチームTTの場合ぐらいしか使えないでしょうけれど

パワーの推計は、そのベースとして、pedaling, crank, hub, thrust(wheel)の4つから選択する事が出来ます。ホイールが出力するパワーが推力です。その他の各部位では、器材に依るパワーロスの影響に従って、それ以上のパワーが出力されています。プロファイル設定での"equipment loss"の項目でそれらのパワーロスを設定する事が出来ます

ケイデンスと同様に、スタッツとしての平均パワーの算出に於いては、パワーゼロのRecordは対象外とします
 



分析・推計を実行すると、先ず、サマリーが表示されます。次いで、分析・推計されたRecord Dataが表示されます。
サマリーとして、ファイル名,Record除外となる閾値速度,ファイルタイプ,Record数,定義メッセージの数,データメッセージの数、そして、主要なRecord Dataの有無とそれらのスタッツが表示されます。
Record Dataとして、セクターナンバー,タイムスタンプ,ヘッディング,高度,斜度,速度,距離,ケイデンス,パワーが表示されます。
これらのデータは、分析・推計結果をFITファイルとして保存する場合に、ファイルに書き込まれるデータそのものです

更に、ブレーキングの検出を行っている場合は、ブレーキングのフォース(kgf),前後のブレーキ個別に、マテリアル温度(Celsius),摩擦熱(Jule),空冷熱と放射熱(Jule)を表示します。但し、これらのレコードデータは、FITファイルには保存されません。その様なフィールドはFITファイルフォーマットには無いからです

スムージング及び外れ値除外をチェックした場合、これらのスタッツやデータは元々のGPSデータに依るものではありません。走行の実相を推計した値になります

表示されているデータはそのままテキストファイルとして保存する事も出来ます。"File"のプルダウンメニューの"lower Screen"の"Save As"を実行
 




chapter 5: FITファイルの出力


分析・推計したデータをFITファイルとして保存する場合、ソースファイルとして読込んだFITファイルがベースになります。大まかな構造としての定義とデータ形式をベースにします。
例えば、Session及びLap Messagesがソースファイルに存在しない場合は、新たに作成する出力ファイルも同様の構造となり、ファイルに主要データのスタッツが書き込まれる事はありません。尤も、Activityファイルタイプですので、ほぼ間違いなくSession, Lap Messagesは定義されているでしょう。
エンディアン(endian, data architekuture)もソースファイルに準じます

FITファイルのフォーマットを選択出来ます。通常は“modern”でいいでしょう。ゴールデンチーターのver.2.xなどを使っているのなら“legacy”を選択します。。ノーチェックの場合は、ソースファイルに準じます

また、スポーツタイプ(sport type, workout code)は指定して変更する事が出来ます。ノーチェックの場合はソースファイルに準じます。スポーツタイプが混在している場合は、例えば3つのSessionがありswimming, bike, runningと各々の定義が異なる場合には、ソースファイルのままにしておく為にノーチェックにします。
スポーツタイプというのは運動やトレーニングの種類で、ゴールデンチーターでは'Workout Code'として定義されているモノです。generic, running, cycling, transition, fitness, swimming, walking, sedentary, all の9種類があります。GPSロガーにsport typeを指定する機能が無い場合は、ここで“cycling”を指定しておかないと、ゴールデンチーターなどで自転車として認識してくれない可能性があります。
自転車のデータしか使わないのであれば、“save as default”によって常に“cycling”に変更する様に設定しておけばいいでしょう

Record Dataについては、閾値とした速度未満のRecordは削除されます
 



分析・推計データであるケイデンス及びパワーの値が追加されます。
各Record Messageはもちろん、Session, Lap Messagesにもそれらのスタッツが追加されます

ブレーキングに関する推計値は、"detect braking"にチェックを入れて各レコード毎に推計・表示していても、出力するFITファイルには反映されません。その様なフィールドはFITファイルの定義に無いからです
 



データを追加するに際して、Record, Session, Lap Messagesの定義は書き換えられます。
また、データに於いても、スムージング及び外れ値除外をチェックした場合は、タイムスタンプ以外のGPSデータは処理後の値が記述されます
 



出力したFITファイルは、ゴールデンチーターなどで分析出来ます。
運動生理学の分析により、トレーニングの管理が可能になります。特にトレーニングという意識が無く健康志向やファンライドで乗っている場合でも、体力や体調の推移を数値で確認出来るのは興味深いのでは無いでしょうか

試しにゴールデンチーターを使ってみる事です。ここでは、大雑把な使い方のプロセスを簡単に記しておきます。イメージが喚起出来れば幸い程度の記述です

データ収集
・自転車に乗った場合のデータは全て記録する
・6週間以上のデータを集め信頼性を担保する

データのインポート
・Golden Cheetahのダウンロードとインストール
・“Athlete”を設定する。FTPがわからなければデフォルトのままにしておく
・“Activity”/“Import data”メニューによりFITファイルを取り込む

分析・評価
・CP, FTPを定期的に測定して登録する。これが評価基準になる
・PMC(Performance Management Chart)でCTL, TSS, ATL, TSBを評価する
CTL : Chronic Training Load, 体力指数
TSS : Training Stress Score, トレーニング負荷
ATL : Acute Training Load, 短期的体力指数
TSB : Training Stress Balance, 疲労度合
・以上のバランスを保つ事でトレーニングを最適化出来る
・競技者に於いては大会へ向けての調整方法によってフィジカルを最大化・最適化出来る

ゴールデンチーターの使い方は以下のサイトで詳しいです
――UG_Main-Page_Users-Guide
――This manual is for Golden Cheetah, version 3.0., Copyright (c) 2013 Mark Liversedge
 




chapter 6: 読込・分析・出力の一括実行



上記にて説明してきた「FITファイルの読込み」,「パワーとケイデンスの分析・推計」,「FITファイルの出力」の3つを一括で実行します

手間と時間を少なく出来ます。
例えば、ゴールデンチーターでの分析を目的に、パワーデータのあるFITファイルを作成する場合は、この機能を使うのが手っ取り早いでしょう

"GPS"のプルダウンメニュー"At One Stroke"で実行します
 



レコードフィールドデータを表示するかどうかを選択できます(express fields data)。デフォルトでは、分析結果はサマリーのみを表示し、レコードフィールドデータは表示しません。それには少し時間がかかるからです

一括処理の後に“Express Source Data”を実行すれば、ソースデータでは無く、分析結果としてのレコードフィールドデータを表示しますが、その場合は、"detect braking"にチェックを入れていてもブレーキングに関するフィールドデータは表示しません
 




chapter 7: FITファイルのコンバイン


対象となるのはActivityファイルタイプに限ります。つまり、Record Messageを有するFITファイルです。ソースデータとなるFITファイルであるか、分析・推計後のFITファイルであるかは問題ではありません。
コンバインの結果として、全てのRecord messagesが統合され、Session及びLap Messagesのスタッツも書き換えられます

FITファイルのフォーマットを選択します。通常は“modern”でいいでしょう。ゴールデンチーターのver.2.xなどを使っているのなら“legacy”を選択します。ノーチェックの場合は、ソースファイルに準じます。
また、スポーツタイプ(sport type, workout code)を変更出来ます。ノーチェックの場合は、ソースファイルに準じます

"GPS"のプルダウンメニュー"Combine Fit Files"で実行します
 



異なるハードウェア、特にサイクルコンピュータ系で記録したFITファイルが混在している場合は、統合する事で、分析・推計が出来なくなる可能性があります。
既述のGPSBabelでは既にファイルを統合する機能があり、それらを使って統合しておくのも方法かも知れませんが、統合したファイルが分析・推計に適しているかどうかはわかりません。
というのも、FITファイルはあまりにも柔軟性があり、統合の方法も幾つか考えられるからです。例えば、複数のファイルでRecord Dataとして記録したFieldが異なっていても、そっくりそのまま統合する事が可能です。これはシンプルな考え方で最も採用されそうな手法です。その結果、極端には、途中からタイムスタンプが無くなったり速度や距離などの重要なファクターを同じ方法で算出出来なくなったりする可能性があり、そうして出来上がったファイルは分析するのに困難を伴います
 




本ソフトウエアでは、あくまで分析・推計を主眼とした方法で統合します。
記録されているFieldsを、分析に不要だからといって、削除するような事はありません。具体的には統合の条件を設けます。
重要なFields――timestamp, latitude, longitude, altitude, speed, distance, cadence, power――これらのFieldsの“有無”に於いて、統合しようとするファイル全てが同一である事が条件です。そして、記録のタイムインターバルが異なるファイルの統合も出来ません。可能な限りでこうした制限は撤廃していくつもりですが。
尤も、同じハードウェアで記録されたFITファイルの場合は、特に問題は無いでしょう
 




chapter 8: FITファイルのコンバート


FITファイルのフォーマットを変更出来ます。また、スポーツタイプ(sport type, workout code)を変更出来ます。いずれも、ノーチェックの場合は、ソースファイルに準じます。
これらの機能自体は、“FITファイルの出力”及び“FITファイルのコンバイン”の際にも指定して実行出来るものです

"GPS"のプルダウンメニュー"Convert A Fit File"で実行します

また、速度単位を“kph”から“mps”に変更する事も出来ますが、通常は、必要の無い機能です
 



フォーマットの変更は、ModernからLegacyへ、もしくは、LegacyからModernへ変える事が出来ます。ゴールデンチーター ver.2.xを使っている人には役立つ機能かも知れませんが、その様な要求は今やもう無いでしょうね
 



スポーツタイプというのは運動やトレーニングの種類で、ゴールデンチーターでは'Workout Code'として定義されているモノです。generic, running, cycling, transition, fitness, swimming, walking, sedentary, all の9種類があります。GPSロガーにsport typeを指定する機能が無い場合は、ここで“cycling”を指定しておかないと、ゴールデンチーターなどで自転車として認識してくれない可能性があります。
自転車のデータしか使わないのであれば、“save as default”によって常に“cycling”に変更する様に設定しておけばいいでしょう。

このスポーツタイプはSession Messageで定義されています。複数のSession Messagesがあり、各々で定義されるスポーツタイプが異なる場合に、この機能を使用すると、全ての定義を指定のスポーツタイプに書き換えてしまいます。また、Session Messageが存在しない場合は、スポーツタイプを定義することは出来ません
 



速度単位を“kph”から“mps”に変更する事も出来ますが、通常は、必要の無い機能です。FIT SDKでは、速度単位は“mps”で統一して定義されているので、機器が記録する速度も“mps”を基準に算出された値になっています

ところが、稀に(?)、“kph”で記録する機器が存在します。その様なデータをコンバートする為の機能です

もしも、水平移動速度の他に垂直速度等の様々な速度記録に於いて“mps”と“kph”が混在しているデータの場合、速度記録の全てを“kph”と看做して“mps”に変換してしまいます
 




chapter 9: Messagesの追加


FITファイルに、Session, Lap, ActivityのMessagesを選択的に追加します。既に存在するMessagesを追加することは出来ません。その際にファイルフォーマットとsport typeを指定する事も出来ます

"GPS"のプルダウンメニュー"Add Messages"で実行します

FITファイルには様々なMessagesが含まれています。Activityタイプのファイルでは、File_IdとRecordのMessagesは必須です。他のMessagesは無くても、FITファイルとしては問題ありません。
ですが、そうすると、何の記録であるのか、経過時間やトレーニング時間,移動距離,速度やハートレイト,パワー,ケイデンス等の平均,最大といったスタッツは記録に残りません。そうした様々な値をRecord Messagesから再構成するかどうかは、FITファイルを読み取るソフトウエアやハードウェアに依存します。
例えば、ゴールデンチーターで“Workout Code (sport type)”が適切に選択される事は考えられません

特に重要なのは、SessionとActivityのMessagesです。様々なスタッツ,総運動時間,sport type等が記録されます。この点で、Lap Messageにも同じことが言えますが、参照されることはあまり多くは無いでしょう
 



原則的には、追加されるMessagesは、各々1つのDefinitionと1つのData Messageです。例外は2通りあります。1つは、複数のSession MessagesのあるファイルにLap Messagesを追加する場合は、Sessionと同数のLap Messagesが追加されます。もう1つは、ソースファイルの途中でRecord Messagesの定義が加えられている場合で、定義内容の変化があるかどうかに依らず、その都度Session, Lap Messagesの定義とデータが加えられます。
複数のSession Messagesが加えられる場合は、全てのSessionで、指定されたsport typeとなります

複数のSession Messagesが既に存在するFITファイルにその他のMessagesを追加するに際して、sport typeを指定すると、全てのSessionで書き換えられてしまいます。ソースファイルの定義をそのまま継承する場合は、sport type指定のチェックを入れないで下さい
 




chapter A: FITファイルの分割



1つのFITファイルを分割します。
例えば、異なるsport type (workout code)が混在するFITファイルを分析する為に、分割する必要のある場合が考えられます

分割可能なFITファイルの条件は、次の3つのいずれかの場合です

・複数のSession Messagesがある
・複数のLap Messagesがあり、Session Messageは無い
・複数のRecord Definition Messagesがある

"GPS"のプルダウンメニュー"Divide A FIT File"で実行します
 



作成される分割ファイルの名前は、設定したファイル名に、数字が自動的に追加されます
 




chapter B: Messagesの除外


あまり必要とは思えないんですが、試しに作ってみた機能です。
実際は“Messagesの追加”機能の検証の為のファイルを作製する為に作ってみただけ、でしょうか

"GPS"のプルダウンメニュー"Exclude Messages"で実行します
 



除外出来るMessageは、Session, Lap, Activityの3つです
 




chapter C: その他


走行データは、走行時の器材を登録したプロファイルをベースに、分析・推計します。
手持ちの器材については全て個別のプロファイルを作っておいて、その都度ファイルを読込めば、細かい変更の手間も不要です。これが基本的な使い方になるでしょう

更に、今後購入を検討している器材等についても、同様にプロファイルを作っておけば、それをベースに走行データを分析する事で、器材変更に依る負荷の増減を推計する事が出来ます。
例えば、ホイールのみの変更であっても、別にプロファイルを作っておいて、平坦なコースの走行データや起伏の多いコースの走行データを分析する事で、そのホイールはどの様なコースに適していて効果はどの程度のモノなのか数値で把握する事が出来ます。
その場合、唯単にスペックを入力するだけでなく、ホイールの特性に従って器材ロスの設定なども出来れば理想的です。最近は、マニュファクチャラーは慣性モーメントやパワーエフェクト,エアロダイナミクス等の参考に出来るデータを開示する傾向にあります。また、ドイツの出版社などから風洞実験や剛性測定などの結果が公表されたりもしています

右画像は、21世紀のハイエンドホイール87銘柄の風洞実験結果をMaximum Likelihood Analysisによって有意性の高い変量(aero dynamics, rim depth, spoke count, stiffness, weight, model year)に依ってマッピングしたもの。
aero dynamicsについて、rim depthとの非常に強い相関,spoke countとの強い相関,stiffnessとの相関,がみてとれる。また、model yearとの弱い相関もあるが、weightの方がmodel yearとの強い相関がみられる。空力が注目されがちだが、軽量化こそがトレンドであった事がわかる。
stiffnessはaero dynamicsと相関にあるが、一般的な傾向と言うよりも、TTに特化したホイールやヒルクライムに特化したホイールの存在が分析結果に反映されているだけである。
ホイールを登録する場合は、この様な個別銘柄の特性を考慮してスペックや器材ロスを設定する事が望ましい
 



ハイエンドチップ搭載のGPSロガーであれば、異常なパワー推計値に繋がる事はほとんど無いでしょう。しかし、数百キロに一度でもそうした推計値が現われると、スタッツとしての最大値が異常な値になってしまいます。
この可能性は、高度データの外れ値により引き起こされます。それはマルチパス等の走行環境の影響で起こり得ます。geo-coordinates, speed, distance, acceleration等の異常値に依る可能性は、必須であるスムージングと外れ値除去をチェックしている限りは、まずあり得ません

例えば、下り坂で50〜60kphの速度で駆け降りた場合に、斜度が不正確であると、実際は大したパワーを要していないのに過大なパワーを推計してしまう可能性があります。逆に、上り坂では、大きなパワーを要したのに小さなパワーを推計してしまう可能性があります

パワーの異常値は普通のパワーメーターの記録でもありがちな事で、ゴールデンチーターにはそれを編集する機能があります。本ソフトウエアでは、その様な編集機能はありません。後のバージョンの課題としておきます。
例えば、パワーに閾値を設定するのは容易い事ですが、パワーのみを編集する事はアドホックな対処です。と言っても、その原因となる高度を修正する手段は容易ではありません

一つの対処方法は、高度データを修正するマップを利用する事です。FITファイルを直接に、他のファイルフォーマットにコンバートしないで、編集出来るかどうかはそのマップ次第です

もし、その様な異常な推計値が頻発するようであれば、GPSロガーの買い替えを御薦めします
 



ゴールデンチーターのチャートつまり分析結果を検証してみます

右画像は、約半年間、本ソフトウエアを利用してGPSデータからパワーとケイデンスを分析・推計し、ゴールデンチーターでそれ等のデータをインポート,分析した幾つかのチャートです

7月までは梅雨もあってあまり乗る事が出来ませんでした。8月に集中的に乗りましたが、9月,10月と諸諸の事情であまり乗る機会を持てませんでした。
ゴールデンチーターを使うにしては低レベルなデータですが、ファンライドのデータなので、そこは御容赦を…。
CTLの値を100に乗せたかったのですが、目前で失速してしまいました。怠け癖がつくと、CTLを維持するのも少々難しくなり、一度下がってしまうと元に戻すのはその気にならないと無理です。
※もちろん定期的に分析して、正確なCP, FTPを登録しておく事です。でなければ容易にCTLが100を越えたりしてしまいます

まず信頼性が高いと言えるチャートに「Power & Speed Trend」の“Speed Trend”があります。SpeedはGeo-coordinatesから算出されるからです。
そして、“Power Trend”も時系列変化としてSpeedのそれに相似しています。
それは、更に、「CP Analysis」,「Power Variance」,「PMC」のCTLとも相似している事がわかります。画像にはありませんが、「Aerobic Power」や「Anaerobic Power」等々の他のチャートもこれらに準じた変化を示しています

ゴールデンチーターの目的である“運動生理学に基づくトレーニングの評価と管理”に、これらのデータが十二分に用立っている事がわかります。
実際、CTL (Chronic Training Load) の変化などは、体力指数としてかなり正確なものだと体感出来るものでした。また、体力が多少ともついたと思える時期は、平均速度や平均出力が意識せずとも上がっています

多分、全てのRecordの個々のFieldsの値をチェックすれば、高度とその変化等に於いて、おかしなところが見つかるかも知れません。もちろん斜度としての外れ値は除去しています。そして、たとえそうであっても、“運動生理学に基づくトレーニングの評価と管理”という目的に於いては、全く問題無いと言えるでしょう

もちろん、期待するのは超高精度なGPSロガーが手頃に入手出来る様になる事です。そうなれば、パワーメーターと全く遜色無いデータが得られるのですから
 



ver.0.16.00よりブレーキングの検出を可能にしました。GPSデータから、各レコードに於けるブレーキングのフォース,前後ブレーキ個別にマテリアルの温度,摩擦熱,空冷熱と放射熱の推計と表示を可能にしました。これらは、"detect braking"にチェックを入れ、パワー推計を行う場合に限ります

非常に高精度なGPSデータでなければ各レコードに於ける推計値は正確とは言えないでしょうけれど、平均的な精度のGPSデータでもライド全体でのブレーキングの頻度や各推計値の平均値や最大値、総量等のスタッツは概ね正しい様に見えます

この事は、安全なブレーキの使い方の参考になると思います。具体的には、長いダウンヒル等での走り方をどうするかに関する参照データを提供できるでしょう。注目して欲しいのは温度です。
ブレーキのマテリアルがどの程度まで温度上昇していたか、走り方をどの程度変えれば、温度はどの程度変わるのか、途中で停止して温度が下がるのを待って再出発した方がいいのか、等々、厳密な計測値では無いにしても、そうしたリスク管理の参考に出来るでしょう。
フェード現象とヴェーパーロック現象のいずれもが過熱が原因です


ダウンヒルの力学について記します

単純なケースを考えてみます。ペダリングはしないで、ブレーキングのみでダウンヒルする場合です。
高低差による位置エネルギーは、エアロダイナミクスによる損失と転がり抵抗による損失,ブレーキングによる損失の総計に等しい。転がり抵抗は他のファクターと比べれば非常に小さく、どのような走り方をしても、転がり抵抗による損失の総量は一定で差異がありません

エアロダイナミクスによる損失は、抵抗(kgf)レベルで速度の二乗に比例し、動力(Watts)レベルでは速度の三乗に比例します。経過時間は速度に反比例するので、エアロダイナミクスによる動力損失の総計は速度の二乗に比例する事になります。
一方、転がり抵抗による損失は、抵抗(kgf)レベルでは一定であり、動力(Watts)レベルで速度の二乗に比例しますが、経過時間が速度に反比例する事により、動力損失の総量は一定になります

つまり、転がり抵抗を無視すれば、エアロダイナミクスによる損失を位置エネルギーから引いた分だけブレーキングが必要になります。
極端な例では、終末速度でダウンヒルが可能であれば、エアロダイナミクスによる損失で位置エネルギーの差を消費してしまい、ブレーキは使う必要すら無いのです

走り方として、エアロダイナミクスによる損失を大きくする事が出来れば、ブレーキの温度は抑制できる。
逆に、エアロダイナミクスによる損失を稼げないのであれば、ブレーキによってエネルギーを熱に変換して放出する量が大きくなり、その場合はマテリアルの過熱によるリスクが大きくなります

※マテリアルの空冷熱と放射熱については、大きな影響は無いのでこの解説では無視していますが、ソフトウェア上では推計しています



ダウンヒルで、スピードを出せと言うのではありません。安全な速度で走行するのは当然です。その結果としてブレーキが過熱してしまう事に注意しましょうという事です。
過熱リスクがあると判断できれば、途中で停止して、マテリアルを冷やすべきです
 




御感想でもありましたら
 


e_mail to webmaster