1月末にWebとクルマのハッカソンに参加してきました。
わたしはクルマを運転します。モーターサイクルも自転車も運転しますし、大型トラックでもブルドーザーでも運転できます(運転出来ないのは牽引と二種だけです。ちょっと自慢)。飛行機や船舶も含めていろんな乗り物が好きです。
公私共に乗り物系のプロジェクトを進めており、一昨年はCerevo社でRIDE-1の制作を行い、昨年はモーターサイクルと喋るハードウェアを作ってLINE BOT Awardsに応募、今年はメルチャリに携わっていることもあって、 Webとクルマ の組み合わせには興味を惹かれます。
そんな中、美谷さんが「Webとクルマのハッソンに行く」と言っていたのを聞き付けて、一緒に参加させていただきました。
2日間に渡るハッカソンの結果、チームで検討したドライバー・アシスタントAI「オレヨメ(ワタカレ)」が最優秀賞をいただきました。
他のチームもドライバー・アシスタントAIを制作しており、そのジャンルの1つではあるのですが、ドライバーや車両から能動的に情報をアップロードする点が高く評価されました。
実は、自分の想定していたロジックが動かずチーム的にほぼ貢献していないのですが、これまで培った業務経験や様々な乗り物での体験を伝えることで、ちょっとは役立てたかな?という感じです。受賞は素直に喜んでいます。
なお、いただいたギフト券はGoPro Hero 6の購入に使わせていただきました。ありがたや。
W3Cワーキンググループにおける仕様策定
せっかくの機会なので、技術的な側面を紹介したいと思います。
W3Cでは現在、W3C Automotive Working Groupを中心として車両情報を取得するためのAPIやサービスを策定しています。仕様はVISS (Vehicle Information Service), VIAS (Vehicle Information API Spec)という以下の2つです。
ウェブの技術で車両のデータを読み書きし、車両外のサービス(ウェブサービスやアプリなど)と連携するための仕様と捉えて良いと思います。
VISS
車両側に近いレイヤのVISSに興味を惹かれました。
VISSはWebSocketを使って車両に接続を行い、publish / subscribeスタイルで情報を取得することが出来ます。「エンジン回転数をsubscribe」すれば「車両のエンジン回転数が変化する毎にJSON形式のデータがpublishされる」といった形です。ウェブアプリケーションデベロッパーは馴染みの深い方式です。
ハッカソンではVISSシミュレータを使用し、いくつかのデータを切り替えながら使うことが出来ました。実際の車両ではOBD2を通じて情報を読み書きすることができそうです。近いうちにOBD2 / VISSトランスレータのような製品が出てくるのではと思います。
クルマの情報を取得するとどうなるのか?
クルマの情報を読み書きが出来ると、クルマと擬似的に会話することが出来ます。
クルマのガソリンが減ったら「おなか空いたよ、近くにガソリンスタンドがあるみたい」とか、満タンになったら「ガソリン代はいくらでしたか?記録してみんなと共有しよう」のようなインタラクションを構築できるので、ドライバーの負担を軽減しながらクラウド上でデータを交換することが可能になります。
何より、実データは車両から自動的に取得できるので、データの信頼性が高く、ユーザ入力の煩雑さがありません(燃費い記録アプリを使うの、けっこう面倒ですよね)。
また、読み書きの形式が統一されることで、異なるメーカの車両データを同一のシステムで取り扱うことが出来ます。
コンシューマ向けにはこうしたデータを取り扱うサービスはありませんが、今後出現するのではと予想されます。楽しみですね。