Hatena::ブログ(Diary)

rider2.0研究会 このページをアンテナに追加 RSSフィード

2016-06-13

ラップタイム読み上げAndroid

先日、Raspberry PiとPythonで作ったシステムのAndroid版。

D

あまり耳障りの良くない合成音声で長い数字を、しかも英語で読み上げられても頭に入らないので、今回は小数点以下は1桁だけ通知して、その代わりに周回数も知らせるようにしてみた。例えば限られた走行時間の中、5周以内にピットインしないと次のセッティングを試す時間が無くなる。といった場合に忘れない用。

ArduinoBluetooth通信機能を追加する、HC-05というモジュール(の互換品)を入手したので(Takadamaさんいつもありがとうございます)これを使ってAndroidと接続。前回同様の方法で、Arduino側で計測したラップタイムを、今回はBluetooth経由でAndroid送信アプリで受信して音声合成エンジンで読み上げる。

Android端末にBluetoothイヤホンを繋げば走行中にも音声でラップタイムを確認できる。せっかくなのでアプリの画面にも、ラップタイムとベストタイム、周回数を表示。

ArduinoAndroidイヤホン、全てワイヤレス接続なので、先日のRaspberryPi版よりも設置の自由度が高い。画面を確認しないのであれば、Android端末はツナギの中でも、カウルの中でもタンクの上でも大丈夫なはず。

手元のAndroidの端末が古すぎて(2.3)、日本語の音声合成エンジンが入らないのだけど、もう少し新しい機種なら日本語で読み上げさせる事も出来るはず。

Arduino側でBluetoothを扱うスケッチはライブラリが用意されているので簡単だった。Androidアプリは今回初めてで、拙速そのものだけど想像していたよりも大変。画面を回転させるだけでActivityが消える仕様だとは思わなかった。

2016-05-03

ラップタイム読み上げマシン

少し前にベストラップ更新中であることを音で知らせるメカを作った

http://d.hatena.ne.jp/kitaring/20160412/1461163659

確かに有り難いが画期的に便利というほどではなく、その割に設置の手間が掛かりすぎるので結局1度しか使っていないのだった。

先日、Takadamaさんに頂いた、Arduino UNOの互換品を試してみたところ、Laspberry Piで散々苦労して結局実現できなかった2Dのラップトリガーの受信に成功。

Arduinoにはアナログ入力が存在して、かつ5Vでも大丈夫なので、何も考えずにセンサーの信号線をアナログポートに突っ込むだけで事足りた、

2Dの赤外線センサーはテスターで調べても挙動が判然としないけれど、Arduinoのアナログポートにつなぐと、整数値が入力され続けて、発信機に向けたときにだけ0が入力されるので大変分かりやすい。

というわけでArduinoRaspberry Piを連携させることで、当初の計画であった、ラップタイム読み上げ機能が完成した。

ほぼアナログポートの為だけにArduinoを使う辺りからポンコツ感が漂うけれど、落としどころとしては無難かもしれない。

ArduinoRaspberry PiUSB経由でシリアル通信できて、かつArduinoの電源も兼用するので配線もそれほど煩雑にならない。カメラユニットも必要ないので設置場所の制限も大幅に緩和された。

机の上で実験したときの様子を動画にした。トラックパッドをどかすと、発信機からの赤外線が届いてタイムが計測される。

D

arduino側でセンサー入力値がゼロ付近の値であった場合に、millis()で取得したプログラムの累積実行時間を前回取得時と比較してラップタイムを算出、Raspberry Pi送信する。Raspberry Piは受信したラップタイムをespeakを使って読み上げる。

赤外線を受信した直後は、再受信を無視する処理やベストラップ通知などもあるけれど、概ねこれだけで実現できた。

声が機械的過ぎるのをもう少しどうにかしたい。Ingressのシステムボイスのようなアンニュイな感じで、できれば日本語にしたい。

日本語の場合、込み入った音声合成エンジンはRaspberry Pi上では動かせない事や、1分と1秒で1の読み方が違うことなどを考慮すると、リアルタイムに音声合成する方式ではなく

VOICEROID+ 結月ゆかり EX

VOICEROID+ 結月ゆかり EX

VOICEROID+ 結月ゆかり EX ダウンロード版 [ダウンロード]

VOICEROID+ 結月ゆかり EX ダウンロード版 [ダウンロード]

こんな感じのボイスロイド、もしくは本物の人間が、1から59分と1から59秒を別々に読み上げ、別の音声ファイルに録音したうえで、ラップタイムに合わせて連結して再生する方式のほうが自然なイントネーションが得られると予想する。


結局、この記事を書き終わる前に作ってしまった。

D

分と秒で別々に音声ファイルを作るのは予想通り面倒で、さらに小数点以下の値は、0から99まで必要なうえに、例えば21を「にじゅういち」ではなく「にーいち」と読ませたいので、100個分ルビを入力する必要があった。

実際に車両に取り付けて検証してみたところ、受信機の信号線を分岐させてArduinoのアナログ入力に入れているせいか、車両側のラップタイマーが誤作動する問題が起きて、解決できる気がしないので素直に車両とArduinoで別々の受信機を使うしか無さそう。

2016-04-29

富士ショートでステップ交換ほか

エビスのベストラップを更新できたものの、既に先が無い予感がする。

感触としてはフロントを上げる方向にタイムアップの余地が残っていそうで、フォークの突き出しは既にゼロだから、リアの車高を下げる事を試してみる。

ゴールデンウイークの初日にもかかわらず道路は思ったよりは混雑せず、コース上は予想通りの密度だけれど、検証作業なのでそれほど問題にならなかった。

S1000RRのノーマルのリアサスにはオーリンズのような車高調整機能は無いけれど、フレームへの取り付け部分のスリーブを反転させる事で2段階には調整できる。自分の2015モデルは、出荷状態では車高が高い方にセットしてあったので、リアを下げる余地は残っている。

リアサスの取り付けボルトを抜いてスリーブを反転させるには、ステップスタンドを使ってフレーム側で車体を持ち上げる必要があり、その為にはステップバーを固定式のものに交換する必要があり……まあとにかく苦労した。

リアを下げると富士ショートは走り難くなると予想出来るので、極端にタイムが悪化しなければ成功と考える。ベストタイムは確認できた範囲では32秒7。このバイクでのタイムとしては悪くない方なので問題無しと判断した。

減速時にリアタイヤがすっぽ抜けず、操縦の自由度が増えて楽しく走れるようにもなった。

メガネのカスタマイズ

走行中は上目遣いに前を見るので、レンズが視界から外れがちな問題を解決できた。

一番高い位置に設定すると走行中にレンズが視界の中央に入る。

サイズが大小あり、大きい方が男性用みたいなイメージで注文したら、思ったよりもかなり大きかった。

遠近両用メガネに装着して、頻繁にアジャストする本来の使い方では、Amazonレビューにもある通りすぐに壊れそうだけど、一番高い位置のみの使用なので耐久性も問題無いはず。

2016-04-26

マエダコ走行会、(新)自己ベスト更新 58秒5

前回に引き続きエビス東の自己ベストを更新。

D

サーキット走行をする方のブログyoutubeの走行動画のタイトルで、安易に「自己ベスト更新」みたいな文言を入れると、社内のファイルサーバーで散見される、

見積書2_new(修正).xls

こんなファイル名の如く、どれが最新なのか分からない状態になりがちなのを思い出した。

ベストラップが出た時のセッティングは、フロントのプリロードを足した以外は前回と同様。さらにペースを上げるとフロントが先に破綻しそうな感触だけど、これ以上少しでもプリロードやダンパーを足すと、タイヤが跳ねて遅くなる。リアサス取り付け部のスリーブを反転させてリアの車高を落とす選択肢は残っているので試してみても良いかも。


中古タイヤをホイールに装着すると、タイヤ単体で見た時よりも減って見える現象

逆履きさせれば30分位は使えそうに見えたタイヤが、意外と溝が残っておらず10分程度で終了。予想外に早く新品交換する羽目になり、結果良いタイムは出たものの、また微妙な減り具合のタイヤが生産されたのだった。

新品のタイヤを無慈悲に痛めつければ58秒台に入る事は分かったので、次はもう少し使用感のあるタイヤでもタイムを維持できるようにしたい。と思っていたところでマイナートラブル発生。

何もしてないのにブレーキが壊れた

という程ではないけれど自己ベスト更新以降の走行ではブレーキの遊びがランダムに変わる現象に悩まされる。

通常通り握り始めて直ぐに効く事もあれば、エアを噛んだ時のようにストロークの最初の2センチ位は反応が無い場合もある。

常に遊びが大きければ、それに合わせてブレーキを握れば良いけれど、遊びが大きい前提でブレーキを掛けて普通に効くと前転しそうだし、普通に効くつもりで反応が無いと心臓に悪い。

どちらに合わせてレバーを握るか、ブレーキングの度に丁半博打めいたライディングが必要で大変走り難い。少し気温が高めな事と、足回りのバランスが正常化されて強くブレーキを掛けるようになった事は大いに影響ありそう。

去年は起きなかった現象なので

原因はこの辺りか。とりえあずブレーキのフルードとパッドは注文した。


ビープ音でベストラップ更新お知らせメカ(仮)

http://d.hatena.ne.jp/kitaring/20160412/1461163659

実際に使ってみた。

現地で微調整する必要もなく最初から概ね期待通りの動作をしてくれた。時々緑ランプに反応していない事があるが、恐らくカメラを固定するステーが振動でブレて明後日の方向を撮影していると思われる。

特にデメリットは無く、画期的に便利という程では無いけど、ベストラップ更新中かどうかを視線を動かさずに知る事が出来て、どのタイミングで後れを取ったのかも分かるので、メーカーオプションにして欲しい位には便利。

ただ、得られるメリットに対して着脱作業が面倒過ぎる。事前にRaspberryPi本体とカメラユニットを支える為のステーを用意してきたものの、完全に固定するには、狭いカウルの隙間に手を突っ込んで、USBポート等を塞がずに、雑に扱うと抜けてしまうカメラユニットのケーブルにも無理な力を掛けないように、慎重にガムテープでグルグル巻きにする必要があって、尚且つ取り外す際にもケーブル等に注意しつつそれらを慎重に剥がす作業も発生する。

f:id:kitaring:20160426222901j:image

少なくともこの取り付け方法だと面倒過ぎてすぐに使わなくなりそう。


電源はこれを使用。

バッテリー直結なので、走行しない間は毎回手動でRaspberryPiのUSBケーブルを外す必要がある。そしてすぐに面倒になり、ピットインしてエンジンを停止している間もUSBケーブルを外さず、RaspberryPiの電源が入ったまま放置していたけど特に問題は起きなかった。

S1000RRアクセサリ電源コネクタの謎

(多分2015モデルから)車両左前方の、フロントのストロークセンサーを取り付けるコネクタと同じ辺りに、アクセサリ電源用のコネクタが存在する。車両の説明書によるとカーナビ(バイクナビ?)等の取り付けに用いるそうなのだけど、ネットで探してもこのコネクタに接続するアクセサリが見つからない。

ここに接続するUSBポートのようなものがあれば、恐らく車両のメインスイッチに連動して電源を入れる事が出来るはずで、本当はRaspberryPiの電源もここから取りたかったのだけど、必要な部品を発見できず。

ディーラーに問い合わせると、このコネクタドイツのなんとか規格(名前忘れた)に対応していて、本国には多少は対応するアクセサリーが存在するらしい。あとディーラーでコンピューターの設定を変えないと電気が来ない仕組み(要確認)かもしれない。との事。


また、下記の海外フォーラムでは、

purple wire is constant power-all the time

brown wire is ground

Red wire is switched power

http://www.s1000rrforum.com/forum/new-members-must-start-here/133769-aux-power-supply-3.html#post1288105

このように書かれていたので、実際にテスターで測ってみたところ、

自分の車両の場合*1は、紫と赤のケーブルどちらも車両のスイッチに連動して電気が流れる様子。紫の方も車両の電源がオフの場合は電気が来ない。

赤の方はエンジンを始動して、回転数を上げるとある程度連動して電圧が上がる様子。紫の方はエンジンの状態とは無関係に常に9V強の電気が来る。

ピッタリなコネクタは見つからないけど、自分で配線を頑張れば車両の電源と連動したUSBコネクタを作れるかも。

*1:レースECUなのでこのコネクタも設定が変わっている可能性はある

2016-04-14

エビス東 自己ベスト更新 58秒85

気温が10度前後で風が強い中、スポーツ走行枠を走る。フロントフォークの突き出し量をしつこく調整した甲斐があり、エビスの自己ベストを少し更新(結局突き出し量はゼロに落ち着いた)

D

※最後のカットでピーピー言ってるのは、一つ前の記事で書いた開発中のシステム……という程大袈裟な物では無いけど、ベストラップ更新を音で教えてくれるマシン。

このバイクは電気のサスペンションが前後水平に保とうと頑張るせいか、剛性の高いフロントタイヤには対しては必要な加重が出来ずに相性が悪い*1けれど、グニャグニャしがちなピレリのタイヤに対しては、過加重を防ぐ方向で上手く機能するのかも。


走行モードDDCの動作モードCompressionReboundコメント
RainRoad145%60%使用せず
SportRoad245%60%自己ベスト更新
RaceDynamic45%60%使用せず
SlickTrack45%60%ダンパーさん頑張り過ぎ

※フォークの突き出し量ゼロ

このようなDDCの設定で走行して、ベストラップはSportモードの時の58秒85。去年ダンロップを使っていた時のどうにか59秒台状態と同程度の労力で58秒台に入るので良いバランスだと思う。

あまり多くは試せなかったけれど、Sportsの設定は自然で普通のサスペンションっぽい。Slickの設定は、相変わらずストロークの最後の方で急に頑張りだす感じ。

とはいえ、まずサスがフルボトムした状態での車体の姿勢、フォークの突き出し量やリアの車高に対してある程度は納得行く状態でないと、ダンパーの設定に拘ってみても気休めにしかならず、逆に前後の車高やバランスが妥当であれば、躊躇無くフルボトムさせられるので、その過程で少々ダンパーの動きが気に入らなくてもそれほど困らない。という何度目かの教訓を得た。


最近のピレリは寒さに強い?

昔のSC1のピレリ(V2になる前)をこの日のような寒さの中で使ったら、コンパウンドが千切れるような現象で新品タイヤが20分弱でゴミに変化した悲しい記憶があるのだけど、今年は気温一桁か、ギリギリ二桁位の中でSC1で数回走行していて、タイヤ本来のパフォーマンスは発揮していないにせよ、酷いアブレーションでゴミ化する事は無かった。今のピレリは寒さに対してそこまで神経質にならなくても良いのかも。

ただ、それでもこのコースリアタイヤに厳しいので、新品のSC1で2本走行すると、右サイドほぼ終了で左サイドがバリ山の、中古として売るには使用感あり過ぎ、逆履きして使うにもやや手遅れ間のある微妙なタイヤが出来上がるのだった。トラクションコントロールを多めに効かせればタイヤを節約できるのではないかと試してみた(-3に設定)けれどあまり意味は無い様子。その代わりに、このモデル(のレースキャリブレーションキット3の初期値の)トラコンは意外と使えるかも。少なくともあからさまに邪魔とは感じない事を発見。



メガネ再び

以前にも少し試してみて、その時は効果がイマイチ実感できずに、すぐに止めてしまった。

日常生活には困らないものの、健康診断での視力検査の結果にショックを受けたり、月が三つに見えたり、他にも薦めてくれるライダーの方もいたので、今度は近所の眼鏡市場でちゃんとスポーツ用のメガネを購入して使ってみた。

http://www.meganeichiba.jp/brand/i_athlete/lineup/index.html#ia408

上側にだけフレームがあるタイプを購入。

以前に試した、乱視を調整するだけの物ではなくて、今度は遠くが良く見えるタイプなのでさすがに違いが分る。コーナーの縁石が二重に見える事も無くなった。

ただ、眼鏡を付けて走って一旦ピットインした後に、眼鏡を忘れて再度走っても、あまり違いが感じられないのが不可解。この日にベストラップを更新したのも眼鏡を忘れた時だった。

しかし長時間走って疲労した状態では確実に眼鏡がある方が楽に思える。あと、こんな事は眼鏡歴の長いライダーの人には当たり前なのだろうけど、サーキット走行で使う場合は、普通に真っすぐ眼鏡を掛けると、走行中は上目遣いで見る事が多いから、レンズの位置が低すぎて使えず、おでこに眼鏡を掛けるつもりで位置を決めると丁度良い感じ。

フレームを選ぶに当たって、なるべく視界の邪魔にならないタイプ、しかしフレーム無しで左右で支える2ポイントのは、すぐに壊れそうなので除外。という理由で上側のみフレームがあるタイプを選んだけれど、やはり時々は視界に入って邪魔に感じる事もある。

フィクションでは頻繁に見掛けるものの、現実世界で使っている人は見た事が無い、フレームが下側だけの眼鏡がバイクには向いているのかも。


ラップタイマーが調子悪い

発信機の前を通過しても反応しない事が多く、2周に1回位しか計測できずに不便。原因が赤外線の発信機なのか、受信機なのかバッテリーなのか判断が難しい。

GPSで検知する、このラップトリガーにしてしまおうか考え中。

http://2d-datarecording.com/Downloads/Manuals/GPS-Laptrigger_manual_BMW.pdf

現在使っている標準オプション赤外線受信機の代わりにコネクタに刺すと、同じようにS1000RRのメーターパネルにラップタイムを表示してくれる。メジャーなサーキットはスタート/フィニッシュラインの位置情報が登録済みで何もしなくても使える。

未登録のサーキットは、その場所でボタンを押して位置を記録する仕様。

登録済みの日本のサーキットとして茂木や鈴鹿や筑波辺りは予想通りとして、間瀬や本庄、日光サーキットまで登録済み。エビスは何故か南コースが登録してある。バイクはまず走らないと思うけど、ドリフトで有名だからか。

*1:去年はこれに対応しようとしてフロントの車高が極端な事になってた

1993 | 01 |
2001 | 09 |
2002 | 07 | 10 |
2003 | 05 | 07 | 08 | 09 | 10 | 11 | 12 |
2004 | 04 | 05 | 07 | 08 | 09 | 10 | 12 |
2005 | 02 | 03 | 05 | 07 | 09 | 11 |
2006 | 03 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2007 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2008 | 01 | 02 | 03 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2009 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 09 | 10 | 11 | 12 |
2010 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 10 | 11 | 12 |
2011 | 01 | 03 | 06 | 09 | 10 | 12 |
2012 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 |
2013 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2014 | 04 | 05 | 06 | 07 | 09 | 10 | 11 |
2015 | 01 | 02 | 03 | 04 | 05 | 06 | 09 | 10 |
2016 | 02 | 03 | 04 | 05 | 06 |