感染症,ヒルクライム, 新機材

世界的な渡航制限により研究施設にも製造施設にも取引先にも訪れることのできない現在、私はほぼ Android 内職屋に転職した感があります。

毎日のように引きこもって他人の書いた deprecated methods を今風の Kotlin コードに書き直しているうちに、筋力は減り、体重は増え、反射神経は衰えて、時差のせいで真夜中にかかってくる電話のために早朝に起きる習慣まで失って、順調に自転車に乗るための能力を日々喪失しつつあります。

危機管理能力は既に失われたらしく、久し振りの晴天に喜んでマスクを着けたままランニングに出かけたら、熱中症によって目眩と頭痛に悩まされる結果に終わりました。




こんなになるまで私が緊急事態宣言中に自分自身に課していた規則は3つだけです。すなわち、輪行しない(電車移動による他人との接触を避ける)、県境を越えない(無意味な悪法も法なので従う)、山道や未舗装路は通らない(事故や落車に遭遇する可能性を減らす)という単純なものです。

しかし、これだけの制限で私の環境では、自転車を楽しむことが不可能になってしまいます。

安全のために交通量の多い日中や混雑した市街地などを避けると、どうしても薄明かりの早朝時間帯に活動することになりますが、これでは落車の危険性を下げることはできません。

かと言って、日照時間を待てば人通りが増えて、他人との接触を避けることは現実的には不可能になります。その場合は輪行しなければ辿り着けないような山の中まで行かなければなりませんが、当然ながら医療資源の乏しい山間地への輪行も、宿泊も許容されないでしょう。

となると、行けるところがありませんので、自然と自転車には乗らなくなります。

乗らなくなると乗れなくなりますし、健康と体型を毎朝 50km 走って維持してきた私には体力も集中力も無くなって、良いことが一つもないです。

そんな最中に訪れた緊急事態宣言の解除、ライド解禁の合図に戸惑うばかりです。ただ、この状況でも一つだけ、私にも有利な点があります。香港ごと事業所がなくなりそうな私には、混雑した休日を避けて平日から出歩くことが可能なのです。

そうしたわけで、平日の人のいない時間を見計らって、近所で一番高い山にヒルクライムに出かけてみました。

県境を越えた移動も自由になったとは言え、感染拡大(とくに自分が伝染させる方にならないこと)に注意しなければならない点は変わりありませんので、自制心を働かせて自走で行って帰れる範囲内での行動を取ります。

近場とは言っても、この道路を直進すると標高 1,900m 平均勾配 10% 最大斜度 20% を超える『ふじあざみライン』という危険地帯に通じていますので、そちらは潔く素通りして篭坂へ向かいます。

いまの私では出力 170W でも実走においては1時間も持続できませんので、斜度 20% が 2km 近く続くあの『馬返し』を無事に越えられるわけがありません。

今回は久しぶりすぎて坂道を登る感覚を忘れていますので、路肩も広くて、見通しも良く、急勾配も存在しないという意味で安全な標高 1,104m の篭坂峠へと向かいます。

沼津や三島などの国道1号線沿いから篭坂に向かうと、出発点から御殿場まで上り坂しかありませんが、御殿場から須走までの間もさらに勾配のきつい上り坂しかありません。

篭坂峠はその勾配のきつい上り坂の延長上に位置する鞍点で、要するに約 40km に渡って上り坂しかありません ? 反対方向から走行すると、信号停止後の漕ぎ出し以外ではクランクをほとんど回さなくても 40km 移動できます。

こうした特性から「途中でバテて足が動かなくなっても、引き返して来れば大丈夫」という妙な安心感も感じていました。

そんな警戒とは裏腹に、登り始めてみると身体が覚えている感じで、想定していたよりもずっと簡単に坂を登れます。体重も重くなっていて、筋力も持久力も低下しているはずなのにランニング時のように息切れもせずに、大きな苦労も感動もないままに気がついたら篭坂峠まで到着していました。

一度、鍛えた心肺機能は筋力ほどは簡単には衰えないのかも知れません。

ただ良かったのは登りだけで、そこから引き返して峠道をくだってみると思ったように身体が動かなくて愕然としました。

さきに述べましたように、ここは勾配も緩くて、路肩が広く、線型が良くて見通しが良いので比較的ダウンヒルでも安全、多すぎる交通量(東名と中央高速を接続する迂回路となっておりトラックなどの大型車が多い)さえ無ければ、わりと下りでも楽しめる道です。

ところがバランス感覚と危機管理能力が衰えている今の私では、ヘアピンカーブで落車しかねませんので、後ろから車やバイクが通るたびに路肩に止まって先に行ってもらうようにせざるを得ませんでした。

以前から遅かった下りも更に遅くなくなりました。それはもう、ふつうに平地を走っているときのほうが速いほどです。

死角から飛び出してきた対向車が中央線をはみ出しただけでも意識を奪われ、コーナーでは思ったように体幹で曲がれず、狙ったところで止まれなくなっていたために、前後どちらかのブレーキレバーを絶えず引き続ける結果になりました。

おまけとして体重が増えたせいか、少スポークな後輪のリムが円形を保てずにキャリパーブレーキに引っ掛かる感触を頻繁に感じます。ロードバイクに乗りはじめてから5年超の歳月を経て、初めてディスクブレーキの必要性を切実に感じました。

安全な篭坂だから良かったようなものの、たとえば、車一台がギリギリ通れるほどの狭さで、週末になると地方都市の繁華街並みの密度でハイカーがうろつき、平均斜度 10% の急勾配に落石だらけの危険な路面を併せ持つ和田峠(東京)などに行こうものなら、事故を起こしても何の不思議もありません。

数週間ぶりのヒルクライムは現状に対する強い危機感と新しい機材に対する渇望を感じさせました。

思うに身体も小さめで体重も軽かった私だからこそ、リムブレーキでも何の問題も感じていなかったわけで、私よりも身長もずっと高くて、筋力も体重もあるようなライダーの方が制動力の問題は切実に感じられるように思われます。

手が小さく握力が小さな女性にオススメという誰が言い始めたのかも不明なセールストークも、よく考えてみると体重がずっと軽くて、ヒルクライムでも男性ライダーを難なく追い抜いてしまう女性ライダーに本当にそんな強力な制動力が必要なのか、と前提が疑わしく感じられてきました。

他人の言葉などに惑わされずに本当に自分に必要なものは何なのか、きちんと考えてみないとダメですね。

とりあえず、私は気温や天候やカーボンリムの温度を考えられずにブレーキレバーを引きたいときに引けるディスクブレーキ、重たい体重を支えられるスポーク数のホイール、それから山梨県や北海道によくあるグルービング施工路面(坂道で事故を誘発する危険極まりない縦溝)にハンドルを取られないぐらいの太いタイヤが早急に欲しいです。

買って正解?後悔?GARMIN EDGE 530 サイコンへの正直な印象

今から振り返ると数ヶ月も昔のこと、まだ私がドイツにいた頃の話なのですが、GARMIN の最新型サイクルコンピュータ EDGE 530 GPS EU を密かに購入して運用を始めました。

それまでは GARMIN の EDGE 520 という、この最新型サイコンの2世代前のモデルを使用していました。

この EDGE 520 は小型で高機能でありながらカスタマイズ性に優れており、内部ファイルを編集するとナビゲーション地図や言語表示を自由に変更できることから、いつでも初めて訪れる場所の走行では大いに役立ってくれました。

北海道や江蘇省やインドネシアなど、あまり良く知らない地域を訪れる際にも、あらかじめコンビニなどの補給地点を追加したマップさえ入れておけば、わざわざルートなど引かなくても大きな危険を冒さずに知らない場所を走破することが可能となりました。




ところが数年間もほぼ毎日のように酷使し続けてきたので、内蔵バッテリが劣化して長時間使用に耐えられなくなってきました。

消耗したバッテリを交換して継続使用するか、同機能を持った代替品を自作するか、あるいは新品に買い換えるか、迷いに迷ったあげく、購入に至ったのが後継機の EDGE 530 です。

こうした経緯で EDGE 530 に乗り換えたわけですが、正直に申し上げますと EDGE 530 に対する私の第一印象は最悪でした。

最新型の GARMIN を購入して、最初に出てきた第一声が „voi sierig“ という人は私のほかにいるんですかね。

とにかくポケットは長いのに腕が短い。2020年にもなって未だに Micro USB ケーブルを新規に使用させるのは止めていただきたいですね。

しかも EDGE 520 までは USB ケーブルで PC に接続すれば、内部ファイルを好き勝手に閲覧・編集できたところが、EDGE 530 ではデータ転送ケーブルを使用しなければ PC からデバイスを認識しなくなりました。

さいわいデータ転送ケーブルさえあれば、まだ今のところはカスタマイズする余地が残っているように見えますが…

機能をいろいろ見ていくと将来的にブラックボックス化されていきそうな気配があります。こうなると私はもう次は市販のサイコンを購入することはないかも知れません。

なにしろ GARMIN CYCLE MAP が売りの EDGE 530 であっても、私の使用環境ではこうなりますからね。

東京中央区も荒川河口の新砂も、埋立地は等しく青一色で表示されて、ナビどころか陸地として認識すらされません。

「ドイツで購入するからだろ」という話ですけれども、「ならば日本で購入したものは大陸で使えるのか」と言う話でもあります。

最近は感染症のせいで身動きがとれないので例外的に日本に留まっているだけで、通常時は日本にいませんので日本版を購入する意義は私にはありません。

ほかにも EDGE 530 になってから、アクティビティを選択したり、電源を切ろうとするたびに、いちいち余計な画面が表示されるようになったことが気に入らないです。

EDGE 520 までは存在しなかった、これらの機能ですが今のところは表示させない方法もなさそうです。


How can I turn off the 530 Power Menu? Just want 1-click power down – Edge 530 – Cycling – Garmin Forums
https://forums.garmin.com/sports-fitness/cycling/f/edge-530/194899/how-can-i-turn-off-the-530-power-menu-just-want-1-click-power-down


Forums – Mtbr.com – GPS, HRM and Bike Computer –
https://forums.mtbr.com/gps-hrm-bike-computer/can-i-turn-off-edge-530-power-menu-1117679.html


使い勝手に関する点では EDGE 520 を使っていた方であれば違和感なく使用できるものの、全体的に EDGE 520 よりも使いやすくなったと感じられる点は見受けられません。

それでも良くなった点としては、ハードウェアとしてのスペックは格段に向上しています。

以前にも少し触れたことがありますが、この小さな筐体のなかに GPS と GLONASS に加えて GALILEO (ヨーロッパモデル) や QZSS みちびき (日本モデル) の衛星信号の受信モジュールを内包させて、それをスポーツ用品の価格とサイズで提供できるのは凄いことです。

上の記事で書きました通り、GPS 単独では 10m 程度の誤差が生じることは当たり前ですから、位置情報の正確性では過去のモデルとは比較にならないはずです。

また EDGE 530 からは地図表示を充実させたこともあってか、液晶ディスプレイの解像度も向上しており、スマートフォンやタブレットの表示画面と見比べても違和感がなくなっています。

地図やナビゲーションはデフォルトのものが使い物にならなくても、結局、自分にあったものを自作して、設定を書き換えて使用すれば良いだけのことなので、こうした描画性能の向上は素直に歓迎できる点です。

端末の補助記憶装置の容量増加もそれを後押しします。

microSDカードで容量を拡張できる登山用デバイスならともかく、サイコンの EDGE シリーズは 520 でも常に容量不足でして、ナビゲーション用の地図ファイルとルート表示用の GPX ファイル、言語設定ファイル、走行ログ記録ファイルを全部あわせても 100MB 足らずしか自由に使えるスペースがありませんでした。

そのためなのか、地図を自作する場合には容量を最大 70MB 程度に抑えることが共通認識になっていました

ただ私が思うに、これはデフォルトの地図ファイルの容量がちょうど 70MB 程度の大きさだったので、それが最大容量だと誤解されたまま広まった通説のような気がします。

実際には 90-100MB 程度の大きさの地図ファイルを自作して、デフォルトの地図を上書きしても何も問題はおきませんでした。この場合は単純にルートファイルや走行ログ(FITファイル)を記録しておくスペースが圧迫されるだけです。

それが EDGE 530 になってからは記憶容量の不足に悩まされることはなくなりました。こんなに余っているなら、毎回、地図ファイルを書き換えなくても、ドイツ用、デンマーク用、台湾用、インドネシア用といった具合に複数の地図ファイルを入れたまま運用できそうです。

最後に繰り返しになりますが、先代までのモデルとは操作性が変化しておらず、継続して違和感なく使用できる点も大きな長所です。

変化に対して不満を覚えるのも、それだけ EDGE 520 までのモデルの操作性が優れており、サイコンとしての機能も完成していたということの証左でもあります。

EDGE 530 ではサイコンのスクリーンショット機能や GARMIN リストウォッチとの連携(表示)、盗難防止アラームの設定など、EDGE シリーズでは初めて目にする機能がたくさん搭載されておりながら、ボタン操作は従来製品どおりのままです。

慣れた人であれば説明書に目を通さなくても全機能を直感的に使えることは言うまでもありません。これは全ての GARMIN デバイスに共通する良さですが、この EDGE 530 においてもしっかりと引き継がれています(ただし520の方が操作性がより簡潔だったので、両者を比較すると不満を覚えるだけです)。

細かな操作性や改良点につきましては、少し調べてみると日本語でも良記事がいくつも見つかりますので、そちらをご覧になったほうが良いかと思われます。

私がいまさら追記することはありません。


Garmin EDGE 530 – 3ヶ月間使用してみて – Cyber Garage (BIKE)
http://www.cybergarage.org/bike/garmin-edge-530-review/


GARMIN EDGE530を使ってみての感想 EDGE520&510との比較 – つむりの悠々自適ライフ
https://tsumuri5.com/blog-entry-713.html


たしかに順当に改良されて、機能も強化されているのは事実ですが、ユーザが好き勝手に改編する余地が少なくなっていく予感が感じられて、今後のアップデートの方向性がやや不安というのが偽らざる本音です。

さすがは業界を牽引する会社の代表商品だけあって、位置情報や気温などの諸々の測定精度、信頼性、防水性、耐久性などに関しては文句の付け所がない素晴らしいサイコンなので、可能であれば何時までも使い続けていきたいところなんですけどね。


GARMIN(ガーミン) EDGE 530 日本語版 GPSサイクルコンピューター(センサー類付) 004477

サイクルコンピュータを自作する #2 – みちびき対応 GPS と市販のサイコンの比較実験

先の記事で延べた日本の準天頂衛星システム(QZSS)『みちびき』とそれに対応した GPS モジュール GYSFDMAXB を使用すると、衛星電波から現在時刻や位置情報や高度を手軽に取得することが可能になります。

これによって得られた情報を無線で送信すれば盗難車の追跡にも利用できますし、受信データを記録媒体に書き残し、ケイデンスセンサ等の補助的なデータを付与して FIT ファイル形式にエンコーディングしてやれば、サイクルコンピュータ(サイコン)替わりにライド情報を記録する装置を自作することも難しくはありません。

もちろん、最近のサイコンは GPS データを受信できるものも少なくないので、そちらを購入すれば間違いないことは確かです。

わざわざ時間と労力をかけてサイコンを自作する意味はありませんが、たとえばブルベで一度に 300km 以上を走行したり、九州一周を一筆書きしたい場合などには、それなりに実用性があるかもしれません。

なにしろ自作なので、いくらでもバッテリ容量を増やせますし、ディスプレイなど不要だと思えば付けなくても構わないわけです。




GPS モジュール単体でも現在時刻や位置座標に加えて高度と移動速度を取得することが可能なので、サイコンと同様のデータを記録したければ、これに温度センサやケイデンスセンサなどを付け足せば、市販品と同じ記録装置ができるはずです。

それでは肝心の GPS モジュールの精度は、GPS 搭載サイコンと比較してどのようなものなのでしょうか。気になったので、手元にある GPS 端末と一緒に計測にいってきました。

比較対象は GARMIN の EDGE 520 (サイクルコンピュータ, 2015年発売)と OREGON 600 (ハンドヘルドデバイス, 2013年発売) そして ForeAthlete230J (ランニングウォッチ, 2016年発売) の3点です。

4つのデバイスを同じカバンに入れて御苑や皇居の周辺を歩いてきたのですが、なぜか最初は ForeAthlete230J の計測ができておらず、途中からは仮組みだけで溶接していなかった GPS モジュールが断線する(ジャンパワイヤが抜ける)というアクシデントが発生したので、結局、4つまとめての計測は行なえませんでした。

しかし、計測できた部分だけでも見比べてみると、それぞれの性質の違いがよく見えてきます。GPSモジュールの位置情報ログが黒、EDGE 520 のそれが赤、ForeAthelete230J 青、 OREGON 600 紫です。

実験前は『みちびき』対応の GPS モジュールが正確さで圧倒するものかと思えましたが、GARMIN が意外にも検討していますね。それでも高架下やトンネルに弱い点は、この結果だけで分かってしまいます。

GPS モジュールの『みちびき』対応の成果は交差点や曲がり角に見て取れます。一方でモジュールは振れ幅も大きく、実際に通った場所からみて反対車線を通行したことになっていたり、まったく無関係な位置情報を拾っていたりもします。この辺り、GARMIN は受信したデータを内部でフィルタリングしているのかもしれません。

いざサイコンを作ってみようとなると検討すべき項目がいろいろ出てきますね。


計測環境をより詳しく知りたい人は以下を見てください。

計測日時 2020年6月25日 17:06 – 18:26
天候 曇り/雨
気温 25℃
湿度 78%
風速 3m/s from SSE
出力 GYSFDMAXB TXT/CSV
EDGE 520 FIT
FOREATHLETE 230J FIT
OREGON 600 GPX

GPS モジュール GYSFDMAXB は単体ではデータを記録することはできませんので、マイコンボードを経由して microSD カードにGPS受信ログを記録させています。

ここではマイコンボードに Arduino (IDE ver. 1.8.13), microSDカードスロットに AE-MICRO-SD-DIP, 記録媒体に SanDisk Ultra PLUS SDHC 16GB を使用しています。

MicroSDカードを FAT Format でフォーマットすると AE-MICRO-SD-DIP を用いてマイコンから読み書きできるようになりますので、Arduino IDE の Files > Examples > SD > ReadWrite からサンプルスケッチを読み込み、ファイル書き込み部分に GPS モジュールの出力を入れると簡単に実装できます。

今回、使用したのは以下のスケッチです。

#include 
#include 

#include 
#include 

SoftwareSerial mySerial(9, 10); // RX, TX
TinyGPSPlus gps;

void setup() {
  Serial.begin(57600);
  mySerial.begin(9600);  // Open serial communications and wait for port to open:
  while (!mySerial) {
    Serial.print("waiting for serial port to connect");
  }
  Serial.print("Initializing SD card...");
  if (!SD.begin(4)) {
    Serial.println("initialization failed!");
    while (1);
  }
  Serial.println("initialization done.");
}

void loop() {
  if (mySerial.available()) {
    gps.encode(mySerial.read());
    if (gps.location.isUpdated())
    {
      // open the file. note that only one file can be open at a time,
      // so you have to close this one before opening another.
      File myFile = SD.open("test.txt", FILE_WRITE);
      // if the file opened okay, write to it:
      if (myFile) {
        // timestamp
        myFile.print(gps.date.year());
        myFile.print(',');
        myFile.print(gps.date.month());
        myFile.print(',');
        myFile.print(gps.date.day());
        myFile.print(',');
        myFile.print(gps.time.value());
        myFile.print(',');
        // location
        myFile.print(gps.location.lat(), 6);
        myFile.print(',');
        myFile.print(gps.location.lng(), 6);
        myFile.print(',');
        myFile.print(gps.altitude.meters(), 6);
        myFile.print(',');
        // ground speed
        myFile.print(gps.speed.mps());//in meters per second (double)
        myFile.print(',');
        myFile.print(gps.speed.mph());//in miles per hour (double)
        myFile.print(',');
        myFile.print(gps.speed.kmph());// in kilometers per hour (double)
        myFile.print(',');
        // satellite 
        myFile.print(gps.satellites.value()); // Number of satellites in use (u32)

        myFile.println();
        myFile.close();     // close the file:
      } else {
        // if the file didn't open, print an error:
        Serial.println("error opening test.txt");
      }
    }
  }
}

スケッチをマイコンボードに書き込みましたら、ボードとモジュールをワイヤで接続していきます。GPS モジュール GYSFDMAXB はスケッチで指定した SS に RXD, TXD を接続して 5V 出力と GND は素直にそれぞれを接続すれば問題ありません。

SD カードスロットの方は、ピンがたくさんあって少しだけ複雑です。SD カードの裏側の端子(金色の窓の部分)は、たしか1つづつ別の役割があって、それがこのピンの数だけ・・・ 何だったかなと思っていたら、良い記事がありました。


Arduinoでパーツやセンサを使ってみよう~SDカード編(その1) | Device Plus – デバプラ
https://deviceplus.jp/hobby/entry021/


この記事通りにやっておけば、間違いがなさそうです。

ただ1点だけ AE-MICRO-SD-DIP の取扱説明書に記載されている DAT1 と DAT2 はそれぞれ data line 1 と 2 で「使いません」というか、予約されていて使えませんというほうが正しかった気がします(要確認)。

AE-M-SD-DIP ARDUINO UNO Pin
#2 CD/DAT3 chip select D4 #4
#3 CMD/DI host command/data MOSI #11
#4 VDD supply voltage 3V3 3.3V
#5 CLK clock SCL #13
#6 VSS supply ground GND GND
#7 DAT0 host data/status MISO #12

とりあえずは使えることを優先して、配線して通電すると下のようなファイルが microSD カードに作成されます。上のスケッチで記述した通り、年、月、日、時刻、緯度、軽度、高度、移動速度、捕捉衛星数が書き込まれている事が分かります。

2020,6,25,8142100,35.688156,139.704177,19.200000,2.64,5.90,9.50,8
2020,6,25,8142200,35.688156,139.704162,19.200000,2.64,5.90,9.50,7
2020,6,25,8142200,35.688156,139.704162,19.200000,1.48,3.31,5.33,7
2020,6,25,8142300,35.688159,139.704162,19.100000,1.48,3.31,5.33,8
2020,6,25,8142300,35.688159,139.704162,19.100000,1.01,2.26,3.63,8
2020,6,25,8142400,35.688171,139.704147,18.899999,1.01,2.26,3.63,8
2020,6,25,8142400,35.688171,139.704147,18.899999,1.36,3.05,4.91,8
2020,6,25,8142500,35.688194,139.704086,19.299999,1.36,3.05,4.91,8
2020,6,25,8142500,35.688194,139.704086,19.299999,2.15,4.80,7.72,8
2020,6,25,8142600,35.688209,139.704040,19.399999,2.15,4.80,7.72,8
2020,6,25,8142600,35.688209,139.704040,19.399999,2.54,5.67,9.13,8
2020,6,25,8142700,35.688209,139.703994,19.299999,2.54,5.67,9.13,7

OREGON 600 が出力する GPX ファイルと比較すると、こんな風になります。GPX ファイルの中身がおよそ 1 秒おきに記録されているのと比較すると、GPS モジュール GYSFDMAXB のほうは重複なしに同時刻に2回記録されていることが少し気になります。

ちなみに OREGON 600 が出力する GPX ファイルは XML に他ならないので、XML parser を使うとカンマ区切りのテキストファイルに容易に変換できます。

const parser = require('xml2json');
const fs = require('fs');
const xml = fs.readFileSync(process.argv[2], 'utf-8');
const json = JSON.parse(parser.toJson(xml));
for (const trk of json.gpx.trk.trkseg.trkpt) console.log(trk.time + ',' + trk.lat + ',' + trk.lon + ',' + trk.ele);

ここから位置情報を地図上に描画するには、下の記事を参考にされてください。


Garmin / Strava の走行記録をまとめて表示する


GARMIN Edge や Forerunner/ForeAthlete の FIT ファイルを地図上に表示するには以下の記事を参考にされると簡単です。


アプリを使ってライド記録を地図上に描こう


ここまでで今回は GPS 位置座標を比較しましたが、GPS受信データにはまだ他に高度や移動速度などの項目が含まれています。新宿駅東口の海抜がおよそ 37m 程度、新宿御苑周辺の海抜が 33.5m 程度なので、一見すると高度には大きな誤差はなさそうに見えますが、詳しくは調べてみないと分かりませんね。

それからサイコンとして使用するからには晴天の日にも自転車での移動速度の計測してみたいところです。いまのところデータセットが足りていないので、比較検証のためには増やしたい一方、計測する側からすると負担が大きいので端末の数を減らしたいところです。

もう少しデータセット増やしたいんですけどねえ。