2013年10月27日日曜日

OLE はひろいーな おおきーなー

OLE に関わって初めて知ったけど OLE の仕様って巨大なんだなぁ.名前付き引数とかイベント通知とか初めて知ったけど,まぁ使わないし実装しなくていいや,というわけで,Excel は動いたので本命の XMLHttpRequest を動かすことにする.といってもほとんどのメソッド・プロパティはそのままで動くので,新規に実装すべきは onreadystatechange の callback くらい.

OLE サーバ側から JavaScript 関数を呼ぶってどうやるんだ? と思っていたら,答えはほとんどここに載っていた.要は onreadystatechange プロパティには IDispatch を登録して,XMLHttpRequest からコールバックされるときは Dispatch ID = 0 で Invoke されるみたい.Invoke されたら改めて JavaScript の Function Call をすれば良いと.

でやってみたら,なんか中途半端に動かねぇ(゜ーÅ)ほろり
相手先サーバ (Google) から「405 The requested method -1 is inappropriate...」ってレスポンスが返ってきた.-1 ってなんだよwww 普通ここ POST とか GET でしょ? と悩むこと 1時間,スクリプトの open メソッドを眺めていたら,
xhr.open( "GET", url, true );
true ってもしかして -1 (0xFFFFFFFF) なんじゃね? とふと気づいて
xhr.open( true, url, "GET" );
ってやったら動いた(;´д⊂)Invoke 時の引数の順番が逆になってた…

という訳で,Google Maps のジオコーディングが無事動いた.これがやりたかっただけなのにすげー回り道したwww

2013年10月25日金曜日

拡張性に魂を縛られた人々(2)

Google V8 に ActiveXObject サポートを追加する,の続き.とりあえず
ExcelSheet.ActiveSheet.Cells( 1, 1 ).Value = "hoge";
を通すことを目標にがんばる.

まず,Cells が関数じゃねぇというエラーについて.
Cells は GetFuncDesc() した結果,INVOKE_FUNC じゃなくて INVOKE_PROPERTYGET が返ってきている.つまり関数じゃなくて単なるプロパティとして v8 は扱うので,Cells() が function じゃねぇという指摘はごもっとも.

じゃ実際に Cells を Invoke した時に何が返ってきているかというと VT_DISPATCH が返ってきていた.つまり「ExcelSheet.ActiveSheet.Cells」ここまでは,ActiveXObject オブジェクトということになる.

ここで v8 に SetCallAsFunctionHandler というのがあったなぁとピンときた.
v8.h のコメントを読んでみると,「オブジェクトをファンクションコールのように呼んだ時に呼ばれるハンドラ関数を登録する」とのことで,ズバリそのものだった.このハンドラに,Cells の Invoke で得た ActiveXObject オブジェクト≒IDispatch に Invoke するハンドラを登録すれば良い (ハンドラ自体は普通の ActiveXObject オブジェクト のメンバ function を Invoke する関数と全く同じ).

問題は Cells の IDispatch のなんというメソッドを呼べばよいのか?
ここからはググっても明確なドキュメントが得られなかったので自分の推測になるが,おそらく _Default というプロパティが DispatchID 0 で登録されている決まりになっているらしく,_Default か DispatchID 0 かどちらかで Invoke するのが正解のようだ.

という訳で↓が動いたヽ(´ー`)ノ
var ExcelSheet = new ActiveXObject("Excel.Sheet");
ExcelSheet.Application.Visible = true;
ExcelSheet.ActiveSheet.Cells( 1, 1 ).Value = "This is column A, row 1";
ExcelSheet.SaveAs("TEST.XLS");
ExcelSheet.Application.Quit();

Excel はそこそこにして,お次は本命の XMLHttpRequest に挑戦する.

2013年10月22日火曜日

拡張性に魂を縛られた人々

Google V8 に ActiveXObject サポートを組み込んでみるテスト.
これができたら,VSD for GPS の拡張性が飛躍的に上がって,例えば Excel 起動してセルに値書き込んで保存とか JavaScript で制御できる.

そんな機能いらねぇしwwww

まぁログリーダで任意のプログラム起動できるし,XMLHttpRequest が動いたら GeoCoding とかできるかもしれんし,そこら辺は使い道あるんじゃなかろうか.
まぁぶっちゃけそこに山があるから登る的な感じで拡張性を広げたかっただけ.

という訳で実装開始.
とりあえず C++ オブジェクトの IDispatch をラップする JavaScript オブジェクトの ActiveXObject を設計.
普通は V8 の SetNamedPropertyHandler で,メソッド・プロパティが参照されるたびに IDispatch::GetIDsOfNames() して IDispatch::Invoke() するのが素直なんだろうけど,これだと毎回名前→ID 変換テーブルを舐める気がして,V8 のJIT を生かせないような気がしたので,new ActiveXObject された時に全メソッド・プロパティをオブジェクトに登録することにした.これだと for( hoge in obj ) とかも問題なく動くので結果的に楽.

で,Excel を起動することろまではたどり着いたが,
ExcelSheet.ActiveSheet.Cells( 1, 1 ).Value = "hoge";
で Cells は関数じゃねぇ! って怒られた.先は長い…

2013年10月8日火曜日

雁ヶ原

ozzinger さん & Nさんと久々に雁ヶ原に行ってきた.
今回はたいした車載を撮れなかったので写真中心で.

←本日集まったメンバー.
そしてその他には誰もいないw
目的の半分はこれを見に来たと言っても過言ではない.
ozzinger 号の全塗装.
ソリッドな黄緑ではなくメタリックが入っていたので,太陽光の下では非常に鮮やかな緑だった.
そしてバッタも緑を求め寄ってくるw
昼飯のソースカツ丼.勝山の名物らしい.結構うまかった.
ozzinger さんに撮ってもらったベストショット.
フルカウンターを当てているので多分スピン直前と思われますwww
が写真にするとそれなりにカコイイ!!

この日は頑張って 16:50 までは遊んだw

2013年9月23日月曜日

Galaxy Note で Windows8.1 を動かしてみた話

いきなりオチから言えば,Galaxy Note で Win8.1 マシンにリモートデスクトップ接続しただけって話なんだけど.

Windows8.1 の preview 版が公開されていたので,VirtualBox にインストールしてみた.かくいう自分は Windows のタッチパネル UI に否定的だったので Win8 はハナからスルーだったけど,Android のタッチパネルで Win8 を操作できたら何か使い所が見えてくるかもしれないと思い,Galaxy Note でリモートデスクトップ接続してみた.

といっても普通のリモートデスクトップ接続ではマウス+キーボードをタッチパネルでエミュレートするだけなので,厳密に Win8 のタッチ操作を再現できるわけではない.ということで Win8 のタッチ操作ができるリモートデスクトップソフトを色々探してみたら Splashtop2 というソフトが見つかった.

という訳で Win8.1 を使ってみた感想.
タブレット UI の範囲内で使っている限りは,普通のタブレットだった(笑) できることは Android と変わらんし,これなら Win8 を選ぶ理由は見当たらない.
デスクトップ UI の方は,予想していた通りタッチパネル操作との相性は最悪だった.Galaxy Note の画面が小さいことを差し引いても,タッチパネルよりマウスのほうが 100倍快適.

例えば 24inch モニタで全画面でブラウザ見るとかありえないし,そうするとデスクトップ PC ではデスクトップ UI を使うことが前提で,そうするとタッチパネルは無用の長物なわけで.
Microsoft はタブレット PC OS とデスクトップ PC OS は分けて開発してくれ(;´д⊂)

2013年9月14日土曜日

VHD をダブルクリックで接続する

Windows7 から,VHD を接続して中のファイルを Win7 の機能だけで触れるようになったけど,手順を踏まないとマウントできないので,vhd ファイルを W クリックするだけで vhd を接続できるスクリプトを書いてみた.
ダウンロードはこちら

使い方:
  1. 普通は Administrator アカウントが無効になっているので,管理ツール→コンピュータの管理→ローカルユーザとグループ→ユーザ の Administrator を W クリック→アカウントを無効にする のチェックを外す
  2. ダウンロードした vhdmount.js を "C:\Program Files (x86)\utils\vhdmount.js" に置く (どこでもいいけど,次の .reg で指定している場所がそこになっている)
  3. ダウンロードした vhdmount.reg を W クリックしたら vhd の関連付けがなされる
  4. これで .vhd を W クリックしたらマウントができるようになるけれど,初回だけは Administrator のパスワードを入力する必要がある.コマンドプロンプトウィンドウが開いて「Administrator のパスワードを入力してください:」と出ているはずなので,パスワードを入力.次回以降は聞かれない.
  5. vhd 接続を解除するときは,同 vhd ファイルを右クリック→アンマウント を選ぶ

PC が不安定になって,Win7 をクリーンインスコするついでに VHD ブートに切り替えてみたけど,差分ディスクが強力すぎるヽ(´ー`)ノ HDD への書き込みは差分 VHD の方にされて元 VHD は変更されないので,例えば変なソフトインストールして試した後に差分 VHD を捨てれば一発で元に戻せる.Windows ってどんなに気をつけていても少しずつ重く or 不安定になっていくけど,これで定期的に戻せば全て解決.
可変 VHD + 差分ディスク ということで,性能低下が気になったので HDD ベンチマークもやってみた.この程度の低下ならあまり体感できないレベル.性能低下よりも上記のメリットのほうがでかいし.

2013年8月23日金曜日

IIJmio + Fusion IP-Phone SMART は ¥945/月 運用の夢をみるか (2)

一年前に試したこのネタ,前回は
・通話アプリのバッテリ消費が酷く,待ち受けには耐えられない
・(通信速度が足らず?) 通話が途切れて,通話が困難
という訳で玉砕したのだが,あれから状況が変わったので再び試してみた.

まずアプリに関しては,Fusion IP-Phone SMART の公式 Android アプリが公開された.これはプッシュ通知に対応しているので,要はアプリを起動していなくても着信ができる.
実験してみたところ,一度アプリを起動すればその後終了しても,もしくはタスクキラーでアプリを Kill しても着信できた.これでバッテリの問題は解決された.
ただし OS 再起動後に一度もアプリを起動していないと着信できない模様.あと,WiFi 接続が有効でスリープ中だとプッシュ通知が効かなかった.おそらく,
・WiFi 接続時は 3G データ通信は OFF
・スリープ中は WiFi も省電力モードになって外→Android のパケットが受け取れない
ってことになってるんだと思う.

次に通話品質を試してみたら,前回のように音が無音でとぎれるようなこともなく,(音質はいいとは言えないものの) 通話には全く問題がなかった.IIJmio は月 500MB までは速度無制限 (遅い時で実測 320Kbps ほど) になったので,音声通話に必要な帯域が確保できるようになったのだろう.

というわけで,全く普通の携帯電話として運用できることがわかった.
音声回線+定額データ通信が ¥945/月 で運用できるし,通話料もドコモ (¥21/30秒) に比べて安い (¥8.4/30秒) し,端末の 2台持ちからも開放されるし,いいことづくめヽ(´ー`)ノ

2013年8月18日日曜日

一人反省会

先日のカート耐久の全車ラップタイムが入手できたので,スーパー GT のポッカ 1000km を見ながら分析してみた.(ウチは #10)

でわかったこと:
・アトラクションのカルピスは,割に合わない.Top チームでも 1本 40秒稼げる程度.ヘタするとマイナスに.
・カレーは人数多いところではタイム稼げそうだが,ウチ (4人) では微妙.
・サイダーはかなりオイシかったのではないかと予想.4人でも 375ml/人 だから,そんなに無茶ではなかったのでは?
・ウチはピット回数が多い
・ウチはピットに時間がかかりすぎ.最短 13秒~最長 35秒

では単純に周回数を 4等分にしてピット回数を減らしたとすると,今回おでんペナルティを食らっていた可能性が非常に高い.上位はそれに気づいて順位調整を行っていたようだけど,ウチらはそのことを忘れていて全力で走りまくっていたw

という訳で,各自のラップタイムはそのままで,ピット戦略だけ理想を追い求めると順位がどうだったのかを調べたのが↓の「理想」のとこ.
・ドライバーチェンジのピットストップは 3回
・40分少し前に 2回目のドライバーチェンジ
タイミングモニターとにらめっこして,40分の段階で 6位前後キープ (おでんペナ回避とアトラクション権獲得の準備)
・45分の段階で 4位キープ (アトラクション権獲得)
・サイダーに挑戦,差し引き +2 周分のタイムを稼ぐ

ほら,すげーいいとこ行ってたんじゃね?
まぁ,こんな針の穴を通すようなペースコントロールが出来たとはとても思えんがwww 少なくとも臨時ピットインのサインを決めとかないと話しにならないなぁ.

2013年8月15日木曜日

ノープランのカート耐久レース


最近真夏の走行会には参加してなかったので,代わりに美浜サーキットのカート 90分耐久レースに参加.耐久レースは初めてだしそもそも見知らぬ人とレースするのもほぼ初めてなので,敷居が低そうなイベントをチョイス.

このレースはお遊び耐久という触れ込みで,「◯◯を完食したチームからスタート」とか「ピットイン中に◯◯を完食したらボーナス +N周」とか,レギュレーションからしてゆるそうな感じがしたのだが,現実はそう甘くなかった(笑)

場馴れしてるチームはナイター走行時に自チームの車がわかるようにカートにライトをつけたり,食う専門の人員を確保したり (これもレギュで ok),かと思えばガチカート経験者にはコース上の駆け引きで全く歯が立たなかったりと,ぽっと出新参チームが上位に食い込める余地は微塵もなかったw

ウチのチームは,いつものカートメンバ 4人で,ピットインのサイン等の取り決めも走行直前まで全く決めないというノープランぶりを発揮.スタートのアトラクション (お歳暮的クッキー1缶 + サイダー 700ml) も人数負けで出遅れ,1st ドライバーの某氏はピットイン指示を無視して走りまくるというダメダメチーム運営www

というわけで結果は 13台中 10位.思ってたより不本意な結果でちょっと悔しいwww
でもやっぱレースは楽しいっす.ラップタイムだけで言えばそんなに悪くない感じなので,食う要員確保とピット戦略を見なおして,また再戦だな.

2013年8月4日日曜日

意地でも MT,死んでも MT

そーいや GT アカデミー 2013 (グランツーリスモ (以下 GT) の体験版みたいなやつ) 落としてからやってなかったな,というわけで今更やってみた.
で,ギアは迷わず MT を選択.仮想世界でも MT を貫き通すwww

GT って見た目はリアルかもしれんけど,GT4 でも挙動が実車とぜんぜん違うと知ってから興味を失って,PS3 の GT5 は買わずにスルーした.
車ゲームのスキル・知識が実車で役に立つのは,せいぜいコースの形を覚えられるくらいだと今でも思ってるけど,RedBull のシミュレータとか,どれくらい実車の感覚に近いんだろう?


東京バーチャルサーキットは金さえ払えば乗せてもらえるみたいなんで,コレはちょっと興味あるな.

2013年7月28日日曜日

やっつけダイジェスト


本日のレースのやっつけ 1分間ダイジェスト.
なんかカートのコンディションのバラ付きが激しく,なんの波乱もないレースで動画的にも何の面白みもないので,6倍速でw
スタート以外,全員誰とも絡んでいないのがお分かりいただけるであろうかwww

-----
この季節舞洲に向かうのに,軽でクーラかけながら高速走るのは全然加速しなくて困る.というわけで今回も「オーバーテイクシステム オン!」と (心のなかで) 叫びつつエアコン切って加速するのでした.

2013年7月23日火曜日

「ろ」地位向上委員会

会社で使用しているキーボートが破壊したので,家で使っている有線キーボードを会社用にして,家用に新しく無線キーボードを買うことにした.

で,キーピッチは 19mm でなるべくコンパクトなキーボード (要はフルキーボードからテンキーを取っ払ったようなやつ) 希望,ということで色々探してみたけど,そういうキーボードはほぼ右端のキー配列がおかしい.特に「ろ」キーとかエラいところにワープしているキーボードばかりで,かな打ちの自分にとっては使いものにならない.
あとノーパソとかでもよくある,左から「ろ」「↑」「shift」になってる配列.これ Shift+A とか入れようとするとカーソルが上行っちゃうのよね.

英語キーボードの金型使って無理やり JIS 配列キーボード作っても,どうせタッチタイプ不可能な亜空間配列キーボードしかできないんだから,もうちょっと「ろ」キーに愛があるコンパクトキーボートを作ってくれんかなぁ.

というわけで,入力時にストレスにならないワイヤレスキーボードを消去法で選んでいったら,結局フルキーボードの Logicool K270 になってしまった.
まぁ可もなく不可もなく,ごく普通のキーボードなんだけど,電源キーが割と触れやすいところにあって,いきなりサスペンドに入ってビビったw

2013年6月23日日曜日

往年の名レースを再現

ヘルメットカメラや GPS ログは,自分の状況はよくわかるけど,その他の人がどうだったのかまではわからない.例えば自分の後ろに誰が何秒後に迫っていたとか,誰と誰が映像外で競っていたのかとか.
それを読み取るツールの一つがギャップチャートだけど,その情報を利用したら各車の位置をコース図上に表示できるんじゃね? と思って,ルマン 24H を見ながらw やってみた.

で,出来たのが下の動画.名レースかどうかはしらんけど.

原理としては,各周の各車のラップタイム表から,各車のコントロールライン通過時刻がわかり,そこからカメラ車との時間差がわかるので,カメラ車のその時間前・後の位置をその車の位置として表示する.
なので各車の位置を正確に再現できるわけではなく,例えばスピンとかした人はその周はゆっくり走っているのと同じ扱いになって表示上はジリジリ下がっていく.

だけど,逆に刺さったりスピンしたりしない限りは,それなりの場所を示しているみたい.

2013年6月1日土曜日

ストーンガード自作

エリーゼのストーンガード (リアフェンダーの前側に貼ってある飛び石キズ防止のフィルム) を自作した.
元々エリーゼには透明のストーンガードが貼ってあるけど,サーキット走行で結構ボロボロになってきたので.

まずはパワポでストーンガードのデザインと必要なシートサイズを決定.
エリーゼ純正のストーンガードのデザイン・サイズだと飛び石で傷つく範囲をカバーできないので,今回は大きめのストーンガードにしてみた.

購入したシートは 3M 1080-CF12 というカーボン柄のシートで 152cm×50cm で送料込み ¥4,200.

カーボン柄シートといえばダイノックフィルムと思われがちだが,ダイノックフィルムは元々車に貼ることは考慮されていないので,剥がすときに糊が残って大変なことになるらしい.(この辺りの話についてはここここが詳しい)
ということで,3M 1080 を使うのが正解.

貼り付け中.
写真の貼ろうとしているあたりが一番曲線がきつかったが,手で伸ばしながら貼ったら特にヒートガン等使わなくても,皺にならずに貼り付けることが出来た.

完成図.
二日酔いの素人がぶっつけ本番で貼った割にはシワや気泡も残らず,綺麗に貼れて大満足
ヽ(´ー`)ノ
もっと早くやるべきだったな.

ちなみに既製品を買うと¥1万以上.意味がわからないwww

2013年5月26日日曜日

エリーゼ ウインカー修理

びろーん.

てな具合に,ウインカーの爪が折れてウインカー飛び出してた.エリーゼではメジャーなトラブルなんだけど,このウインカーユニットを交換すると確か ¥4万 (!!!) なので,修理することにした.
一般道を走っている最中に発症したんだけど,最初なんで車内からウインカーの光が見えるのか 5秒ほど理解できなかったw
10秒で修理完了www

修理がめんどくさかったのでしばらくはコレでしのいでたけど,あんまりなので恒久対策を実施.
大きめのタイラップを刻んでループを作り,元々の爪の代わりにこのループで引っ掛けるようにする (元ネタはこれ).
柔らかい素材だけに,ちょっと固定がカッチリしないけど,少なくとも振動でずれたり飛び出したりすることは無さそうなので,ひとまず成功かな.


と喜んでたら,リアの反射板が片方なくなっていることに気づいた.
一壊去ってまた一壊…

2013年5月18日土曜日

Aipo と Google カレンダー連携 (3)

Aipo と Google カレンダー連携で,Aipo と Google カレンダーの連携機能を作っていたけど,Aipo を運用している某所のセキュリティポリシーが変更されたようで,この穴が塞がれたw

というわけで,別の方法を模索.
調べてみると,特定のメアドにスケジュール内容を書いて送れば,Google カレンダーに予定を追加してくれるサービス・フリーソフトが幾つかあることがわかった.
ちなみに,この手のサービスの中には Google のアカウントとパスワードを要求するものがあるが,そのようなサービスは Google に魂を売り渡している自分には論外www
OAuth で認証するサービスなら,Google のアカウント・パスワードはこのサービスには渡さないので,サービス提供者が悪意を持っていたとしても,最悪 G カレンダーを荒らされるだけで済む.

メールを送りつけるだけのサービスは,登録は簡単だけど,重複するスケジュールは削除する機能を付けたかった (Aipo では,時間を編集するたびにメールが送りつけられるので,そのたびに新しい予定が追加されてしまう) ので,今回は TAKE24/7 を使った.TAKE24/7 なら入力済みの予定の一覧も get できるので,重複するスケジュールを削除することもできる.

以下,いくつか見つけたサービスを下に書いておく.

Goo Cal Proxy
スケジュール内容メールを送れば,G カレンダーに追加してくれる.

EventBot
Goo Cal Proxy と同様のサービスだが,スケジュールにタイトルと時間しか設定できない.

ifft
いろいろと高機能らしいけど使わない機能なので無視.問題は,ifft はどこかの POP サーバにアクセスしてメールを取得するので,その POP アカウントを渡す必要があるので×.

Promise Mail
Android 上で走るスケジュール管理アプリで,(詳しく見てないので以下想像) 自分の Gmail にスケジュール内容メールを送れば,G カレンダーに予定を追加できる.多分普通の人にはこれが一番まともな解法だろうけど,自分の技術者魂的に却下.

MailCalender G
PC 用のソフトで,定期的に POP アクセスしてスケジュール内容メールがあれば,G カレンダーに予定を追加する.これは,Aipo を運用している某所ネットワーク外で常時起動しないと使えないと思われるので×.

Google Calendar Mobile Gateway
ガラケーから G カレンダー操作するための Web ページ.

TAKE24/7
これも Google Calendar Mobile Gateway と同様のサービスらしい.

2013年5月2日木曜日

美浜走行会

2年ぶりに美浜の走行会に参加してきた.

←快晴で気持ちいいくらい青空が広がってますが
寒い((((;゚д゚))))ガクガクブルブル

2年ぶりなんでライン取りとかすっかり忘れていて,ベストの 1秒落ちとかの不甲斐なさでやる気を失いかけていたけど,6本目,自分よりちょっと速かった名も知らぬロドスタさんに (勝手に(笑)) 引っ張ってもらっていたら,ベスト更新できたヽ(´ー`)ノ

今回も参加台数少なめだったんで,15分×7本と,けっこう走れて満足.


今回から自作データロガーにアクセル開度を取り込むようにしてみたけど,ビビってアクセルが踏めてなかったり,アクセル操作が乱雑だったりと,結構新しい発見があって面白かった.それが速さにつなげられるかどうかは別だけどw


~~今回壊れたもの~~
(1) エリのウィンカーの爪が折れて外れて,ウインカーがカウルの上で暴れまくってたwww
(2) スマフォ吸盤ホルダーの,スマフォを挟み込む機構が壊れてスマフォ吹っ飛んだw
(3) 自作データロガーの G センサーが壊れたっぽい…

2013年5月1日水曜日

GW のこうさくって言うほど工作でもなかったけど完了

測距センサー GP2Y0A21YK0F のマイコンへの接続は終わったので,センサーを車体に取り付ける.

とその前に,センサーの有効距離範囲を改めて調べてみた.データシートによると,距離と電圧の関係は
←こんな変なグラフだが,実はこれは反比例のグラフなので,電圧から距離を求める式は割と簡単に求まる.

問題は距離が近くなるとセンサーの出力値が信用できなくなる.
←実際に調べてみると,1/電圧 は 7cm 以上ではほぼ完璧に距離と比例することがわかった.

というわけで車体にセンサーを設置してみた図.
ケーブルがゴチャゴチャしてるのはシートに座れば見えないので気にしちゃいけない.
床とアクセルペダルとの隙間がなく,7cm を割らない設置場所を見つけるのはけっこう苦労した.おまけに運転席下に頭突っ込んで作業するのは非常にアクロバテックな体勢を強いられるw

ついでに動かしてみた.
センサーの精度も良好で満足ヽ(´ー`)ノ

後はサーキットでセンサーを蹴っ飛ばさないことを祈るだけだなwww

2013年4月29日月曜日

GW のこうさく

データロガーでアクセル開度をロギングしようと思って,OBD-II アダプタを買ったんだけど,サンプリング周波数が 3Hz くらいしかなかったので結果的に使い物にならなかった.

というわけで,シャープの測距センサー GP2Y0A21YK0F を購入.
これをアクセルペダルにつけることで直接アクセルペダルの踏み込み具合をロギングすることにした.

ホントはブレーキペダル用に 2個センサーを買ったけど,ブレーキペダルはストロークが 3cm くらいしかなく有意な値が採れそうになかったのと,このセンサーは赤外線を使った光学式なので,アクセル用・ブレーキ用の赤外線が混線したらやだなぁ,というわけでアクセルだけ計測することにした.

で,H8 マイコンに繋いでセンサーの素性を実験.
意外と精度が高くてワラタwww ただし 10cm を切るあたりからだんだん怪しくなってくるっぽい.

2013年4月8日月曜日

大自然との戦い

 だいぶん前に実験したまま放置していた FFT によるエンジン回転数の推定,窓関数とか折り返しノイズとか新たな知識を仕入れたので,エンジン回転推定精度が上がるかと思って,昔のコードを引っ張りだして試してみた.
で,余計な風切り音とかが入っていない純粋なエンジン音だけ入っている動画を探して見つけたのがこれ.(人の動画)


これだけクリアに音が入っているなら,エンジン回転数も推定しやすいだろうと思っていたら,予想に反してタコメータが暴れまくる(;´д⊂)

んー? と思って,スペクトル解析結果をわかりやすいように画像化してみた.

縦が周波数 (≒エンジン RPM) で横が時間,白いほどその周波数の音量が大きいことを示している.
この図から,なんとなくタコメータのグラフっぽいものが読み取れると思うけど,問題なのは,正解は一番上の線なのに対しそれとほぼ同じ音量で,コピーっぽい線が何本か現れている.これならタコが暴れるのも納得.

人間の耳 (と言うか自分の耳) では,一番大きいエンジン音以外の音はあんま聞こえないんだけどなぁ.機械にとってはそうではないみたい.
音声認識とか画像認識とか,自然データ相手の解析は難しいね.

2013年4月1日月曜日

試合に勝って勝負に負けた

久々に濃い内容のレースだったので,ノーカットで.
前哨戦から非常に熱かった.


ついでなんでギャップチャートも描いてみた.

初参加の NAG は置いといて,全員が同じペースで走ってるのがすごい.あと先頭の 2人がもつれているうちに HAS が 1.5 秒後までに迫ってるなんて知らなかった.

2013年3月3日日曜日

空想と現実の壁


車載動画に Google マップを合成する機能は,できたことはできた.

でもなんだろう,作る前はなんかすげー機能思いついちゃったぜ! 的にウキウキで実装してたのに,出来上がってみるとなんか残念さが漂うwww
まぁ色々勉強になったしいいか.

配布サイトはこちら

2013年2月26日火曜日

VSD for GPS + Google Static Maps プロジェクト開始

世の中には酷道巡りなる自虐的な遊びがあって (たとえばこれとか),結構好きでこういう車載動画を見てるのだが (見てるだけ.自分で実行する気力はないw),こういう動画で現在位置をマップとかで表示できたらいいなぁとふとおもった.

というわけで,VSD for GPS で Google Maps を重ねてみる実験開始.
幸い,Google Static Maps API というのがあって,結構簡単に Google から地図画像をダウンロードできた.後はこれをメーター画像のように表示するだけ.

というわけで,上の図のように単純に地図を表示することだけは出来た.
あとは現在位置に合わせて,地図をスクロールするとか,そこら辺を実装すればいけそう.

技術的にはそんなに大したこと無さそうだけど,何が辛いって,残業して帰りが遅いのに夜遅くまでこんな実装して次の日が辛いwww

2013年2月17日日曜日

久々のカート

久々のカート! ヽ(´ー`)ノ

久々のドライコンディション! ヽ(´ー`)ノ

久々の無事故完走www (゜ーÅ)ほろり

というわけで久々にヘルメットカメラ動画 up.

舞洲はコースレイアウトが一部変更になって,一番テクニカルだった S字がなくなって 1個の高速(?) コーナーになったけど,ノーブレーキでいけるようになったので自分としてはこっちのほうが好み.


あと,新たに導入された 2人乗りカート.
これにオッサン 2人で乗るという悲劇は冷静な判断力により回避された.

2013年2月9日土曜日

私男だけど車のバッテリー固定がマジックテープ式だった 死にたい。。

スターターの回りが怪しくなってきたので,バッテリーを交換した.

物は前回と同じ LONG WP22-12 (\4,500+送料).前のは 3年 9ヶ月持ったわけで,結果的にコストパフォーマンスは最強.という訳で今回も同じバッテリー.

で,古いバッテリーを車体から外そうとした時に問題発生!
←バッテリーは 10*15cm くらいのマジックテープで張り付けていたんだけど,これが予想以上に頑丈に固定されていて外せない…
マジックテープって,一方が柔らかければ一部分ずつ剥がせるので力は要らないんだけど,固いもの同士だと全面を同時に剥がすことになるので,相当な力がいる.
試しにバッテリーを力任せに引っ張ってみたら,車体が動いたwww バリバリパワー恐るべし.
結局ステンレス定規を間に差し込んで,一部ずつ剥がしていくことで全部剥がせた.

容量が小さいのでカットオフスイッチは必須なのと,端子が普通のバッテリーと違うのでちょっとした加工が必要だけど,ドライバッテリーで軽いし,週末しか乗らない車なら結構いい選択肢なのではないかと.

←古いバッテリーはソーラーバッテリーチャージャーつないで,スマフォ充電器としてしばらく使ってみる予定.俺ってエコwww

まぁ,エコって言いたいだけなのは認める.

2013年1月25日金曜日

心が折れた瞬間


去年はジムカ & 鈴鹿体験走行には行ったけど,普通のサーキット走行は一回も行ってなかったことにハタと気づいてしまったw というわけで,会社休んで鈴鹿南に走り初めに Go.
暫く来ないうちに,鈴鹿南は 50分単位の走行じゃなくて 30分単位の走行になってたのね.50分連続走行はさすがにダレてくるのでこっちのほうがいい.

で走行開始.
気温は低いのでエンジンパワー的には前回より有利なはずなので,ベストタイム更新できるか? と思ったけど,今年一番の大寒波が押し寄せているようで,寒いにも限度があります.
路面温度も低すぎなのかタイヤが食わねぇし orz しかも予報では雨が降る様子はなかったのに,雪がちらついて路面がセミウエット状態になって,雨の日のカート状態.ついにオイル旗 (滑りやすいですよの意味) も振られだしたよwww

ストレートでまともに止まれなくなった時点で心が折れた.