ミニ四駆よりも熱い ミニッツレーサーのススメ #vgadvent2014

この記事はVOYAGE GROUP エンジニアブログ Advent Calendar 2014の7日目の記事です。
こんにちは、VOYAGE GROUPの Zucksスマホ広告配信サービス Zucks Ad Networkのエンジニアしている 前田 @brtriver です。

去年は簡単にPHPをmakeしてみた だったので、「今年は何をmakeするのですか?」と聞かれましたが、ミニッツレーサーについて語りたいと思います。

ミニッツレーサーとは

今年はミニ四駆が再ブームというニュースもあったぐらい、大人にミニ四駆が流行りました。
自分自身は小さい時はミニ四駆にもハマりましたが、それよりもラジコンが大好きでした。
ミニッツレーサーは一言でいうと「ちっちゃいラジコン」です。ミニ四駆が 1/32 なのに比べて ミニッツは 1/27 なので少し大きいですが、感覚的にはミニ四駆と同じぐらいです。

一見は百聞にしかずということで、以下の紹介動画を見てください。

実際のレースの模様の動画(レースは2:50あたり)

こっちはバギー(しかも海外)

いわゆるトイラジではなく、ガチなラジコンの分野です。
ミニ四駆はTAMIYAですが、ミニッツは京商です。
ちなみに自分が小さいときに走らせていたラジコンは YOKOMOのスーパードッグファイターでした。
広坂雅美は神です。

なぜミニッツレーサー

最初はミニ四駆の再ブームに押され、ミニ四駆をもう一度やろうかとも思ったのですが次のような理由でミニッツにしました。

かっこいい

今のミニ四駆は見れば見るほど自分が知ってたミニ四駆じゃなく、いろんなバーやポールがこれでもかというぐらい付いていてなにかが違う感。
ミニッツはオートスケールシリーズといって、塗装済みのかっこいいボディーが揃っている点。
ポールやダンパーなんて必要なく、余裕があるんだったらライトをつけることもできる。かっこいい。

専用のコースがいらない

また、走らせようとするとミニ四駆だとコースがないとやはり辛い。
その点ミニッツは適当な広さがあればコースづくりは簡単。仕事終わりにコース作って走らせていますが、ホース20m でOK

ただし、本気でコースを買うとそれなりな値段になるので辛いです。
MINI-Z GRAND PRIX CIRCUIT

最後はドライビングテクニック

どちらかというと走らせるまでのセッティング決めを楽しむのがミニ四駆で、セッティングも重要ながらドライビングテクニックを磨かないとどんなに速いクルマでも勝てないのがミニッツです。

ミスを少なく集中しないと勝てません。最初のうちは運転中にケツに力が入りすぎて翌日筋肉痛になりました。そんな感じです。

ミニッツは本格的RCとしては安い

ミニッツは実売価格では 15,000円で全部込み(シャーシ、ボディー、プロポ)です。これは本格的なRCをやっている人からするととても安いです。
実際走行させるためには、単4が8本 (シャーシx4、プロポx4)必要なのは注意です。
大体1セットで 30分ぐらい走ってくれるので12本持っておけば十分楽しめます。

VOYAGE GROUP にはパンゲアがある

これが一番大きいと思います。本当は1/10のEPをやりたいんですが、都内だとコースがほとんど無いし公園で走らせるなんかは周りに迷惑掛けてしまいますし気楽に遊べません。
でも ミニッツはサイズも小さいですし、カーペットな床さえあればとりあえず走行を楽しめます。パンゲアの会議室はカーペットなので最低限のグリップはありますし、十分な広さも確保できます。

とはいえ、汚れなどでかなりスリッピーなので次はコース用のカーペットを購入したいなーと考えているところです。

もし、ミニッツを持ってる(買った)けど走らせる場所がないという方は声掛けてください。一緒に走らせましょう。

ちなみにまだヒヨッコなのでショップのコースで走らせたことはありません。。

ラップカウンターが欲しくなる

なんとなくコントロールできるようになってきたので、コースをラップタイムで競ったりしたくなってきます。
公式ではラップカウンターが販売されています。
ICタグラップカウンター

コースよりは安いとは言え、実売価格は3万近くしてしまいます...。
無いなら作ってみようということで、作ってみてますというのがこのブログの本題。

ICタグRFID

ラップタイムを測る方法は色々あると思いますが、要件としては

  • 複数台を識別してラップカウントとラップタイムを記録したい

です。

色々調べてみると、スマホアプリでカメラを使ったミニ四駆のラップタイマーなどはありましたが、これだと複数台を識別することはできません。
素直に公式サイトで販売されているラップカウンターの仕組みを調べてみます。

どうやら赤外線ではなくRFIDを利用しICタグを車に貼って、ディテクタで通過したことを検知し専用のアプリで管理している模様。
簡単にいうと、改札のパスモでピッてやるのと同じです。

ネットで調べたところ安いRFIDリーダーは 3,500円程度で売ってありました。
http://strawberry-linux.com/catalog/items?code=15080

USBタイプのリーダーで、USBキーボードとして認識されるのでmacでも普通に動作しました。
タグを認識すると「識別したタグを入力し最後にエンターを押す」という動作をします。まさにバーコードリーダーです。

ただ、このリーダーだとアンチコリジョン機能がないので、同時に2台が検知されたときにどちらも無視されるという痛い欠点がありますが、ICタグをそれぞれのシャーシに貼ることで個別に通過する限りは個別に管理できそうです。

ちなみに、リーダーやタグをもっと高性能のものにすると、こんなことができるようです。
(本当はこういうのをやりたかったけど更に高額になるので諦めた)

アンテナ制作はWIP

今回購入したリーダーは外部アンテナ端子をどうにかやれば作れるので、良い感じに検知してくれるディテクタを作れば勝てる!!!!1

ということでがんばっているんですが、まだ誠意作成中です。。。
どういう感じでがんばろうとしているかは次の動画みてもらえばわかるかと思います。

ガムテープの部分が外部アンテナ部分です。IC タグそれぞれに固有のIDが振られているので、リーダーが認識するとそれをキーボードから入力してくれます。

ラップカウンターアプリは Vue.js で

あとはこのディテクタからの入力をテキストボックスで受ければできんじゃね?ってことで、
Vue.js でさくっと作ってみました。

本当は巷で話題のReactでやりたかったんですが、時間があるならミニッツをもっと走らせてたいとか年末にボヤロックがあるためバンド練習やらと忙しいためエンジニアインターン Treasure でも採用した慣れている Vue.js でやってしまいました。

去年のボヤロックの様子

興味がある方は twitter で #ajiting で参加表明してもらえれば。

話がそれましたが、完成したコードはこちら
https://github.com/brtriver/laptimer

最初にIDを通してエントリーします。そのあとに名前を登録しておけばその名前で読み上げてくれます。ブラウザが。


フリー走行モードとレースモードを用意していています。
フリー走行モードではひたすらラップタイムを読み上げてくれます。ブラウザが。
もしベストラップ更新した場合は「ベストラップ更新」も教えてくれます。ブラウザが。

レースモードでは指定された時間でラップタイムを測ってくれます。スタート時のカウントダウン付きです。ブラウザが。

名前を変更したらラップの履歴の名前も全部書き換えるとか、ラップタイムを履歴に追加し即座にviewにも反映させるとか
こういうものをさくっと作るには Vue.js はとてもマッチしている感じがしました。

それにしても、ブラウザの読み上げ機能すごいですね。漢字も普通に読んでしまう。
この程度だったらそれほど違和感もないですよね。
ただ、たまに突然しゃべらなくなることがありその制御方法がまだよくわからず...。

しばらくはラップタイマー作りで楽しめそうです。

まとめ

ミニッツレーサーを買ってパンゲアで一緒に走らせましょう。
皆さんの参加お待ちしておりますー。

明日は @chocopie116 で "どの会社も3ヶ月に1回必ずやるであろうアレについて書く予定です" とのことです。
アレってなんでしょね?!お楽しみに!!