susutex’s blog

自転車、電子工作、プログラミングとかについて書くかもしれないブログ

GoPro Maxを使う(2)ジンバルなしでの夜間撮影

susutex.hatenablog.com

続き。

GoProを使って夜にサイクリングをしていたが、振動を受けると画面が許容できないほどにじむ。
寒くて夜にいい感じの場所まで動画を取りに行くのが面倒なので他人の動画だが、この動画の4:50あたりからを見ると、歩行にあわせて画面がにじむのが分かる。
www.youtube.com

これは歩きだからまだいいが、私の用途は自転車なので乗車中は常に振動によりモザイクがかかったようになる。
調べてみるとどうも夜に動画撮影が壊れるのはGoPro共通の問題らしい。下調べ不足。

解決手段としては外付けでジンバルを使うのが一般的なようだができれば自転車にジンバル追加したくはない。

画像がにじむのはシャッタースピードの問題のはずなのでシャッタースピードをいじろうとする。
しかしシャッタースピードを手動設定にするとEV compが設定不可能になる、つまり昼に使えない。
明るさ自体はシャッタースピードだけでなくISO感度でも変更可能なはずなのでそこの調整をさせてほしいができない。
ISO感度はmin./max.を設定できるのでmax.を落とせば昼でも使える設定にできる可能性があるが、それをやると当然夜は真っ暗で見えなくなる。
この時点で夜と昼の設定を共通にするのをあきらめた。

シャッタースピードを色々変えながら試してみたところ、1/60では許容しがたいにじみが現れる。1/120は注意して見ればわかるという程度。
シャッタースピードを固定するということは画面が暗くなるということなので、ISO感度max.をデフォルトの3200から最大値の6400に上げてみる。
止まっている状態だとデフォルトの設定に比べてやや暗くノイズが増えるが、振動による画面のにじみに比べれば全然許容範囲内と判断しこの設定で使用することにした。
どうしても我慢できなくなったらジンバルを導入するかもしれない。

f:id:susutex:20220213135345p:plain
GoProのスクリーンにはショートカットを設定できる。
画面左中央にあるボタンがシャッタースピード設定なので、日が落ちるころになったらここからシャッタースピードを固定に切り替えるようにした。

GoPro Maxを使う(1)日中の明るさ調整

昨年末にGoPro Maxを衝動買いした。

初めてのGoPro、初めての360度カメラだが、ほぼ何も考えずポンと載せて使えたHDR-AS300と比べてかなりいろいろと気難しいやつでなかなか使いこなせずにいた。
とりあえず使えるようになったつもりなのでメモも兼ねて記事にしていこうと思う。

なおGoPro Maxは2019年発売のカメラなので後発のほかのカメラだと私の挙げる難点が解消されているかもしれないし、そっちはそっちで別の難点があるかもしれない。
買う前に試したいという場合はレンタルをやっているところもあるようだが、360度カメラは視聴環境が重いようなのでのでレンタルの短い期間で確認しきれるかわからない。
いろんな人がレビューをあげているのでそれを見たり、持っている知り合いがいるならその人に借りたりするほうがいいかもしれない。

まず試しに何度か使って直面したのは画面明るすぎる問題。


とにかく画像が明るすぎる。画像は明るさ比較のために日陰を走っているときのものを出しているので標識が見えるが、

f:id:susutex:20220213102240p:plain
このように標識に日光が当たっていると夕方でも標識がほとんど見えなくなる。
カメラを胸にマウントしているせいで常に体の陰に隠れているせいかと思ったが、どこにつけても変わらない。
GoProの開発陣は曇り空やインドアでしか製品をテストしてないんじゃないだろうか。
HDR-AS300が名前通りHDR録画に対応しているのであればそれに助けられていただけかもしれないが、HDR-AS300がHDR録画対応という記述は見つからないのでわからない。

結論から言うとEV compを最低にするとHDR-AS300での撮影に近い明るさになった。
曇り空や屋内だと若干薄暗い感じになってしまうが、何も映らないより100倍マシなのでこれで運用している。

EV comp最低にしたら夜とか暗すぎるんじゃない?と思ったが、そもそも夜はシャッタースピードを固定しないとまともな動画が取れなくなるという致命的な問題がある。
そしてシャッタースピードを固定するとEV compが使えなくなり日中の使用に耐えなくなるので、日中と夜では設定を完全に分けて使用する必要があると判断した。
夜の設定については別でまとめる。

JC38-26LSWG-CS カーボンスポーク+セラミックベアリングホイール

去年のブラックフライデーセールでREACTOにつけるいい感じのリムブレーキカーボンクリンチャーホイールがないかなあと思って探していたが、エントリーグレードでも10万前後。
この金額出すなら以前メカニコで買ったチューブラーホイールと同シリーズのクリンチャーホイールを買ったほうが良さそうと思いメカニコのHPを見ていたら

f:id:susutex:20220116180446j:plain
買った。
予算を超えるが、手持ちのホイールにはセラミックベアリングもカーボンスポークもないので使ってみたくなった。


f:id:susutex:20220116180646p:plain
付属品はブレーキシュー、クイックリリースが箱に入っているものと、予備スポークが数本。
Lun Hyperにも同じようなものが付属するらしい。

年末から体調不良に悩まされてまだしっかり乗れてないが、家の近所を何度か走ったのと車で白石峠のふもとまで行ってTTをしたがなかなか良さそう。
まず駆動剛性は高いと感じる、踏むとスッと加速する。


f:id:susutex:20220116174103p:plain
平地同じ区間を走ったログの比較。上がホイール交換後、下がホイール交換前。
コースはほぼ東向きなので真横からの風の影響がどれほどあるかはわからないが、速度は上がっている。
白石峠の下りでもスピードの伸びが普段より良く感じたので、セラミックベアリングの恩恵はありそう。


f:id:susutex:20220116174122p:plain
白石峠TTは体力が落ちすぎてて250Wも出なかったし途中足が攣って止まったので過去の結果とうまく比較できない。
体力が戻ったら280Wぐらいをターゲットにして走って過去の結果と比較したい。

OpenSSLを使って証明書作成メモ

テスト用の証明書を作りたくなりopensslをいじっていたので方法のメモ。
なお、以下を調べ終わった後にどうやらCAを構築するなら証明書の生成にはopenssl x509コマンドを使うよりもopenssl caコマンドを使ったほうがよさそうなことに気づいた。
今のところ以下で目的は果たせそうなのでopenssl caの使い方についてはまたそのうち必要になったら調べることにする。

想定

rootCA->intermediateCA->serverというchainで証明書を作って検証する
署名アルゴリズムはECDSA with SHA256、curveはprime256v1
生成するファイルの拡張子はどうでもいいようなので、鍵ファイルは.key、証明書ファイルは.cer、CSRは.csrという名前で作成することにする。

1. 利用可能なcurveのリスト取得

以下で利用可能なcurveのリストを取得できる。prime256v1があったのでこれを使用する。

openssl ecparam -list_curves

2. 鍵ペアの生成と表示

まずは各CAおよびサーバの鍵ペアを作成しないと始まらない。以下で生成する。

openssl ecparam -genkey -name prime256v1 -out rootCA_key_pair.pem.key
openssl ecparam -genkey -name prime256v1 -out intermediateCA_key_pair.pem.key
openssl ecparam -genkey -name prime256v1 -out server_key_pair.pem.key

上記で生成されるファイルはkey pairが入っている。今回は使用しないがpublic keyのみを取り出す場合は以下コマンド。

openssl ec -in rootCA_key_pair.pem.key -outform PEM -pubout -out rootCA_public.pem.key

生成したkey pairおよびpublic keyは以下のようにして内容を確認できる

openssl ec -text -noout -in rootCA_key_pair.pem.key
openssl ec -text -noout -pubin < rootCA_public.pem.key

3. root certificateの作成

rootCAは自身のprivate keyを使用して自身のpublic keyを含む証明書に署名を行い自己署名証明書を生成する。
以下で自己署名証明書の生成及びその内容の表示ができる。

openssl req -new -x509 -key rootCA_key_pair.pem.key > rootCA_cert.pem.cer
openssl x509 -text -noout -in rootCA_cert.pem.cer

証明書生成時に色々聞かれるが、とりあえず全て何も入力せずenterを押しても証明書は生成される。
証明書の内容を表示すると自己署名なのでIssuerとSubjectが同じになり、そこにcertificate生成時に入力した情報が記載されることになる。

何も入力せずenterを押し続けた場合IssuerとSubjectにデフォルトで設定された値が入っているが、これらが下位の証明書と同じだとおかしいので何か値を設定したい。
テスト用なのでとりあえずC(country)=JP、CN(common name)=rootCAとしてこれらのみ入力した証明書を改めて作成してみる。生成時に対話的に入力してもよいが、-subjオプションで入力することもできる。
以下でIssuerとSubjectを設定した自己署名証明書を再度生成してその内容を表示する。

openssl req -new -x509 -subj /C=JP/CN=rootCA -key rootCA_key_pair.pem.key > rootCA_cert.pem.cer
openssl x509 -text -noout -in rootCA_cert.pem.cer

4. intermediate CAおよびserverのCSR作成

intermediateCAおよびserverは上位のCAにpublic keyを送って証明書を発行してもらうわけだが、その際に使用するのがCSR(certificate signing request)。
CSRはpublic keyだけでなく主体者(Subject)などの情報を含んでおり、上位CAはこれを受け取ることでそれらを含んだ証明書を作成できる。
以下コマンドでCSRの生成とその内容の表示を行う。

openssl req -new -key intermediateCA_key_pair.pem.key -outform PEM -subj /C=JP/CN=intermediateCA -out intermediateCA_csr.pem.csr -sha256
openssl req -new -key server_key_pair.pem.key -outform PEM -subj /C=JP/CN=server -out server_csr.pem.csr -sha256
openssl req -text -noout -in intermediateCA_csr.pem.csr
openssl req -text -noout -in server_csr.pem.csr

CSRは発行者の秘密鍵で自己署名されている。
試しに署名を破壊したCSRを生成して後述の5での証明書作成を実行しようとするとCertificate request self-signature did not match the contentsと出てエラーになった。

5. intermediate CAおよびserverの証明書作成

上記で作成したCSRに上位CAのprivate keyで署名し証明書を作成する。
以下で証明書作成を行いその内容を表示。

openssl x509 -req -in intermediateCA_csr.pem.csr -days 365 -CA rootCA_cert.pem.cer -CAkey rootCA_key_pair.pem.key -out intermediateCA_cert.pem.cer
openssl x509 -req -in server_csr.pem.csr -days 365 -CA intermediateCA_cert.pem.cer -CAkey intermediateCA_key_pair.pem.key -out server_cert.pem.cer
openssl x509 -text -noout -in intermediateCA_cert.pem.cer
openssl x509 -text -noout -in server_cert.pem.cer

証明書情報を表示すると証明書に署名した上位CAのSubjectがIssuerとして記載されていることがわかる。-daysで証明書作成時点からの有効期限を設定できる。

6. 証明書の検証

証明書がそろったので検証を行ってみる。
以下コマンドでrootCA証明書を使ってintermediateCA証明書を検証できる

openssl verify -CAfile rootCA_cert.pem.cer intermediateCA_cert.pem.cer

さらにrootCA->intermediateCA->serverというchainを検証するには以下コマンドを使うが、5で生成したintermediateCA証明書ではエラーが出るため7で作り直す必要がある。

openssl verify -CAfile rootCA_cert.pem.cer -untrusted intermediateCA_cert.pem.cer server_cert.pem.cer

7. intermediateCA証明書へのX.509 extensions追加

6のコマンドでserverまでの証明書検証をパスさせるにはintermediate CA証明書にX.509 extensionsというものを追加する必要があるらしい
参考
https://www.golinuxcloud.com/add-x509-extensions-to-certificate-openssl/
rootCA証明書もserver証明書も本来はそれぞれ必要な値があるようだが、6のコマンドでの検証はintermediateCAにのみ追加するだけでパスできるのでまずはそれを追加する。

Intermediate Certificate Extensionsに記載のとおりbasicConstraintsを追加する必要があるので以下内容のファイルをopenssl_intermediateCA_cert.cnfとして作成する。

[v3_ca]
basicConstraints        = critical,CA:TRUE,pathlen:0

pathlenはこのCAより下位に存在できるCAの数らしい。下位にはserverしかなくCAは存在しないので0でOK。
CSRから証明書を生成する際に作成したconfig fileを指定してextensionが追加された証明書を生成して表示する。

openssl x509 -req -in intermediateCA_csr.pem.csr -days 365 -CA rootCA_cert.pem.cer -CAkey rootCA_key_pair.pem.key -out intermediateCA_cert.pem.cer -extensions v3_ca -extfile openssl_intermediateCA_cert.cnf
openssl x509 -text -noout -in intermediateCA_cert.pem.cer

X509v3 extensionsから始まる部分が増える。Basic Constraintsのみを指定した場合もSubject Key IdentifierおよびAuthority Key Identifierが自動で追加された。
このintermediateCA証明書を使用すれば今度は以下コマンドが成功する。

openssl verify -CAfile rootCA_cert.pem.cer -untrusted intermediateCA_cert.pem.cer server_cert.pem.cer

8. 独自OIDのX.509 extensions追加

独自OIDのX.509 extensionsの追加を行う必要があったのでその方法もメモしておく。
7においてopenssl_intermediateCA_cert.cnfを以下のように編集しておくと独自のOIDがextensionに追加される。

[v3_req]
1.2.3.4.56 = ASN1:SEQUENCE:myoid_sequence
basicConstraints        = critical,CA:TRUE,pathlen:0

[myoid_sequence]
 field1 = BOOLEAN:TRUE
 field2 = OID:commonName
 field3 = UTF8:Third field

値は他に書き方があるかもしれないがASN1を使用して記載するとうまくいったのでこれを使用している。
https://www.openssl.org/docs/manmaster/man3/ASN1_generate_nconf.html
openssl x509で内容を確認すると拡張OIDのフィールドはバイナリをそのままasciiで表示しているようでほとんどピリオドになり内容がわからない。
内容確認には以下webサイトが役立つ。証明書ファイルを開くと表示されるbase64エンコードされた文字列を入力すると証明書の構造が表示でき、上記でmyoid_sequenceとして記載した構造が追加されていることが分かる。
https://lapo.it/asn1js/

REACTO4000 2020購入、FD不良改善、PowerBox取り付け

TCR ADVANCED PRO DISCのやわらかすぎる乗り味に少し物足りなさを感じたり、平地を走る時間が多いので平地で楽ができるエアロロードが欲しくなったり、各社がディスクブレーキ車に移行する中で今最後のリムブレーキバイクを買っておくべきなのでは?と感じたりしていたところでREACTO 4000 2020の店頭型落ち特価を見つけて衝動買い。

メリダ -MERIDA- | ラインナップ | ロードバイク | REACTO 4000

REACTOとしては2018~2020モデルは第三世代、2021モデルの第四世代からはリムブレーキ仕様が消えたのでリムブレーキ仕様としては最終進化系といえる。

シートポストに快適性を確保する仕掛けがありエアロロードとしては快適性が高いという噂なのもサイクリング目的には最適と感じた。

色は渋いラメ入りブルーと、ぱっと見では何となくおもちゃ感が漂う黄緑の二種類が選べたが、ブルーは逆にありがちな色だなと思ったのと緑や黄色が好きなので黄緑に。買ってしばらく経つが色は割と気に入っているのでこっちにして正解だった。

 

f:id:susutex:20210507180137j:plain 乗ってみた感覚としては、性能に関しては重すぎるホイールさえ交換すれば非常に良い。この価格の完成車とは思えない。ただ、購入直後の状態だといろいろと気になる点があったのでそれをまず解消した。

 

不満点の解消

購入して自走で家に持ち帰り、さっそくいろいろ気になる点を解消。

f:id:susutex:20210507161738j:plain

ホイールが重い→ホイール交換

購入時のホイールは前後2kgあるらしいので速度に乗ればよく転がるが、再発進やちょっとした登りでやはり重さを感じる。前後1.5kgぐらいのミドルグレードのホイールに変えると軽快になる。

前後ホイールが違うのはたまたまタイヤがついていたホイールをつけただけなので特に意味はない。

 

インナーローにすると絶対にチェーンがFDにぶつかる→アウターワイヤーキャップをカットしたら解決

ちょっとわかりにくいがフロントインナー時に以下写真のようにFDのアウターキャップ部分がFDとフレームの間に挟まることで若干FDが外側に押されてしまい、インナーローにすると必ずチェーンと干渉する。

これ欠陥では?この第三世代フレームが出る時期はFDがフルアウター仕様に変わる時期とかぶっているのでそのあたりでうまくいかなかったのではと想像している。ネットで調べても解決方法は出てこない。

f:id:susutex:20210507162400p:plain

 

少しでもましになるかなと思いアウターキャップを先端付近を残してカット

f:id:susutex:20210507162308j:plain

 

カット後に調整してみると、アウター受けで覆われていた部分がアウターワイヤのみになったことでしなやかに曲がるようになりインナーローでもチェーンと接触しない位置までFDを内側に寄せられるようになった。

f:id:susutex:20210507162637p:plain

 

リアブレーキのワイヤ調整ボルトがない→ケーブルアジャスタをSM-CB90に交換

このバイクは後述のパワメとの相性と併せて賛否両論のBB下ダイレクトマウントブレーキを採用している。通常ブレーキキャリパー側にあるブレーキリリースレバーとワイヤ調整ボルトはBB下ダイレクトマウントブレーキには無く、ブレーキラインにブレーキリリース機能付きのケーブルアジャスタが取り付けられる。が、ここにコストダウンのためかメリダオリジナルの調整ボルトのないリリースが使われている。

このままではホイール交換後にブレーキワイヤの調整が非常に面倒なので調整ボルト付きのSM-CB90に交換した。2019モデルには元からSM-CB90が取り付けられているらしい。とはいえ2019から2020ではお値段据え置きでシートポストにライトが標準でついたりサドル下に携帯工具がついたりステムがエアロ風味を増したものに変わってたりもするのでどちらがお得とはいいがたい。

 

パワーメーターがつけられない→FSA POWREBOX買った

BBはBB386にFSAの30mm->24mmコンバータを使用して24mm軸のクランクが取り付けられている。このあたりミヤタのページからは全く読み取れなかったので開けてみてのお楽しみ状態だった。

shop.fullspeedahead.com

24mm軸のクランクが取り付けられるのでTCRからGiant PowerProを移植しようとしたが、クランク軸内側に出っ張りのあるタイプのパワーメーターは噂通りBB下のブレーキが引っかかるので取り付けられない。第二世代reactoではブレーキキャリパーをTRP T851に変えればつけられるらしいが、第三世代は以下写真のようにBB下開口部の形状が写真右側に寄っているので、ワイヤが左から出るT851は多分フレーム削って穴広げないとワイヤが出せない。

f:id:susutex:20210507172248p:plain

フレームを削るのは嫌なので、PowerProを取り付けるのはあきらめて以前から試してみたかったPowerBoxを買うことにした。24mmコンバータを取り外すとベアリングが露出しておりスプリングワッシャも付属していなかったので、以前BB30を分解した際にとれたカバーとスプリングワッシャを使用して取り付けた。

後になって気づいたがベアリングカバーのほうは24mmコンバータとグリスでべったり引っ付いていたのでそれを外せば使用できたが、どちらにせよスプリングワッシャがないので別途用意する必要があった。

 

サドルの携帯工具はいらないので取り外し

サドルに内蔵できる携帯工具が付属しているが、携帯工具はツールボトルに入れて持ち運んでいるのでいらない。サドルの携帯工具入れはねじで固定されているので取り外し可能。

 

インプレ

平地の速度維持は楽、反応はサイクリングに使うには十分でダンシングの踏み込みにもテンポよく反応する。快適性は良さそう。速度維持の楽さと快適性のおかげか速度が出ていても速さを感じさせず、妙にクランクが重いなと思ったら普段の感覚より5km/hぐらい高い速度が出ていたりする。

快適性を確保するために削られたシートポスト部分にはリアライトが埋め込まれている。見た目にも美しいので気に入っている。

ネットを調べるとリアブレーキの効きが悪いという感想がいくつか見られたがそんな感じはしない。ダイレクトマウントブレーキは十分な剛性があり、当然油圧ディスクブレーキには劣るがよく効く。

登りもよく進む。TCRと、ホイール交換とパワメ取り付け後のREACTOでなるべく同じ平均パワーで白石峠を二回連続で登った結果、REACTOのほうがパワーが低いのに40秒以上速かった。異なるパワーメーターを使っていることによる誤差と、一回目のTCRでの登りは二本目に備えて傾斜に合わせた加速などを控えていたのもあるかもしれないが。

 

TCR(一本目)

f:id:susutex:20210507170452p:plain

REACTO(二本目)

f:id:susutex:20210507170433p:plain

不満としては、変速ワイヤがフルアウターのためリア変速の引きが重い。前述のFDとワイヤの干渉の件といい、エアロロードは電動で組むべきであってお情けで一応ワイヤで組めるようにしてやっているという感じが伝わってくる。150km程度の走行であれば全く不満は感じなかったがもっと走行時間が伸びたら辛くなってくるかもしれない。

地味に困ったのはハンドルの下側からワイヤが出ていることで、普段カメラなどをハンドルの下に取り付けているがそれができなくなったのでハンドルの上側に取り付けるように配置を考え直す必要があった。

あとはBB下の開口が先述のブレーキ部分の狭い開口だけなので、BBを外さない限りワイヤ交換が非常に面倒そうという懸念はある。まだこの世代はハンドル周りがフル内装ではないのでそれに比べればましかもしれないが。

 

性能には非常に満足している。しばらく新しい自転車を買うことはないと思うが次買うとすればREACTO(DISC)を買うと思う。

LAZER LifeBEAM心拍センサ修理

LAZER bullet 2.0の購入動機の一つであった心拍センサだが、半年ほどで心拍を拾えず1bpmを出力するだけのゴミと化した。バイザーも落としてなくしたので(これは私が悪い)、何のためにこのヘルメット買ったのかわからない状態になった。

たまにちゃんと心拍を出力してくれることがあるので接触不良の可能性が非常に高い。保証期間内なので交換してもらえるかもしれないが、機械的ストレスによる故障なので補償対象になるかわからないしそもそも交換してもらっても半年しか使えないゴミはいらない、返品交換をする労力に見合わない。破壊覚悟でこじ開けて配線を付け直すことにした。

配線のつけ直しだけでは直らず基板のはんだもやり直したことで一応修理には成功したように見える。結局原因がケーブルと基板どちらにあったのかはっきりしないが、ヘルメットという振動する部分で人間の体に押し当てて使うにはケーブルもセンサの構造も貧弱すぎる気がするので、これらの点に改善が見られなければ次この心拍センサを買うことはないと思う。

susutex.hatenablog.com

 

f:id:susutex:20200508120548j:plain

外装は柔らかい樹脂なのでカッターで開けた。配線が貧弱すぎる。

 

f:id:susutex:20200508120627j:plain

f:id:susutex:20200508120925j:plain

屈曲に強いロボットケーブルに交換した。

 

f:id:susutex:20200508121734j:plain

センサ基板のセンサ側。興味があったので信号を見てみたが、LEDをパルスで光らせて反射を見ているらしい。LEDは肉眼では光っているのが見えず、赤外線ならカメラで光っているところが見えるはずだがそれもなかった。光が弱すぎるのか。 

 

f:id:susutex:20200508121043j:plain

2.5mm4極プラグも買って取り付けた。最初秋葉原で探したが見つからず結局amazonで買ったが、かなり端子が小さく苦労した。

これで動作することを確認して一度グルーで封をしたが、やはりうまく動かないことがあるので再度開封

ケーブル直してダメならあとはセンサ基板しかない。センサ基板の部品取り付けのはんだ量が少ないし、額に押し当てて使う基板が柔らかい樹脂の外装に包まれてるだけの状態なので変形でクラックが発生していそうなのではんだを盛った。盛った後の画像は撮り忘れた。

 

f:id:susutex:20200508122109j:plain

はんだを盛ったことで外装がうまくはまらなくなったため穴を拡張。

 

f:id:susutex:20200508122300j:plain

再修理の可能性を考えてセロテープでぐるぐる巻きにした状態でテスト。数時間使用しても安定して心拍を取得できていることを確認。

 

f:id:susutex:20200508122304j:plain

再度グルーで封をして完成。外装とそれをふさぐ透明な部品の間には隙間ができてしまったので一応セロテープも巻いてある。

「エアロロード大研究2019」考察

一年近く前になるが、以下の記事が話題になった。

www.cyclesports.jp

最近改めてこの表を目にした。バイクが変わると速度に依存する空気抵抗だけでなく、速度にかかわらず一定である摩擦・転がり抵抗も変わってくるはずだが、それらが分離されず巡行に必要な出力のみが掲載されている。簡単なモデルを立てればこの二つを分離できそうだと思ったので試した。

 

モデル

面白くないので結果だけ知りたければここは飛ばして計算結果を見たほうがいい。

巡行速度vを維持するために必要なパワーP(v)に関して、以下の関係を仮定した。

  • P(v) = A*v + B * v^3

Aは速度に関係なく一定な抵抗力で摩擦及び転がり抵抗を想定、B * v^2は速度の二乗に比例する抵抗力で空気抵抗を想定し、それらに単位時間の移動距離vをかけて単位時間の損失、つまり巡行に必要なパワーとしている。

面倒なので時速30km/hの際をv=3、時速40km/hの際v=4とすると

  • P(3) = 3A+27B
  • P(4) = 4A+64B

となり、各バイクに対して二点データがあるので連立方程式を解いてA,Bを計算できる。単位がめちゃくちゃだがA,Bで勝手に辻褄が合うので細かいことは気にしないことにする。

 

計算結果

計算結果は以下になった。

 

f:id:susutex:20200103233023p:plain

Aの行がAの計算結果で、vengeが頭一つ抜き出て小さい、それ以外はsystemsixがやや大きいがほぼ横並び。

Bの行がBの計算結果で、supersixが極端に大きく、それ以外はsystemsixがやや小さいがほぼ横並び。

その下の0,1,2,…,8は0,10,20,…,80km/h巡行時に必要なパワーをA,Bを使って計算したもの。

 

考察

  • エアロロードでないsupersixを見ると、空気抵抗の項Bが他と比べて大きく、摩擦の項Aはvengeを除く他のバイクと横並びというのを見ると大体あってるような気がしなくもない。
  • Bの項はsystemsixが一番小さいので、この仮定のもとで一番空気抵抗の低いバイクはsystemsixということになる。が、vengeのAがとても小さいので60km/hでも逆転できない。残念。70km/hでは逆転できるのでスプリントでは勝てるかもしれない。
  • vengeのAがなぜ小さいのか、一番それらしいと思い当たるのはハブがセラミックベアリングということである。他のバイクはハブのベアリングについて特に記載がなかったのでわからなかった。ではsystemsixにCLX64履かせれば最速になるのかというと空気抵抗が変わるのでどうなるかわからない。だれか試してみてほしい。