Upgrade to Pro — share decks privately, control downloads, hide ads and more …

OBD2 x RaspberryPiで車両情報を蓄積&BIで分析できるようにする

OBD2 x RaspberryPiで車両情報を蓄積&BIで分析できるようにする

下記イベントでの登壇内容です。
https://abeja-innovation-meetup.connpass.com/event/232996/

Hiroyuki Ootaguro

January 28, 2022
Tweet

More Decks by Hiroyuki Ootaguro

Other Decks in Technology

Transcript

  1. Confidential 自己紹介 大田黒 紘之 @xecus , Born in Chiba 1994

    ▪東京都立産業技術高専 医療福祉工学科 コース (2009/4 - 2014/3) メカトロニクスとか数値計算周りを専攻。 人工衛星開発も一部。 ▪首都大学東京に編入 電気電子工学、半導体周りを専攻(量子効 果デバイスとか) ▪ABEJA 2015年〜 ・Insight for Retail (IoT x AI利活用プロダク ト)の立ち上げ・拡販 ・AIプロダクト事業部 プラットフォーム グループMGR (2022年1月現在) 社内勉強会用
  2. Confidential 何がやりたいか 6 ドライブ レコーダー <従来のドライブレコーダー> SD Card <今考えているドライブレコーダー案> ドライブ

    レコーダー SD Card 動画 ストレージ AI推論による 意味づけ 車両情報 (運転情報) BIツ ール 等 事故が起きた時に自分・警察・保険会社が見る (それ以外のシーンではほとんど使わない) ECU 車を運転し続けるという体験をアップデートできる Something GPS 社内勉強会用
  3. Confidential 機能の指向性 11 • ①細かい車両情報(OBD)を蓄積&BIツールで分析できるようにする (オレオレドラレコ基本機能) • ②撮影した動画をクラウド上で見ることができる(オレオレドラレコ基本機能) • ③車の維持が楽になる世界

    ◦ 時間・走っている場所毎のガソリン消費量や燃費変動の見える化。ガソスタレコメンド。 ◦ 車の部品のリアルタイム故障検知・予測(車のオルタネータが劣化してきた、BAT電圧低い等) ◦ オイル交換やオイルフィルター交換等の目安と近くのお店をレコメンドしてくれる世界 • ④車と家族の思い出を振り返られるような世界 ▪ GPSを用いた走行ログの蓄積と可視化。動画と連携。携帯のアプリから見る事ができる。 • ⑤解像度の高い運転危険情報が見えるようになる世界 ◦ 動画情報の意味解析を通じて、地域ごとのヒヤリハット情報等を蓄積化 & カーナビ反映 ◦ 例:地域ごとの危険イベントの集計・見える化 • ⑥企業やドライバーが環境に配慮できる世界観 ◦ 低炭素社会実現の為のCo2排出量の見える化 (SDGs, ESG文脈でもありそう) 個人 社会 社内勉強会用
  4. Confidential OBD2 12 • OBD = On Board Diagnosis (車の自己診断機能)

    • CAN通信というプロトコルを拡張している • OBDの歴史は深い ◦ 1971年 FI(Fuel Injection: 電子制御式燃料噴射装置)搭 載車の登場 ◦ 1980年代 自己診断機能で修理しやすく ◦ 1982年 自己診断機能の統一化からOBDの誕生 => OBDのベースに ◦ 1996年 OBD-IIの登場 (20年以上前からある枯れたプ ロトコル) • めっちゃいろんなデータが取れる ◦ https://en.wikipedia.org/wiki/OBD-II_PIDs 仮説:OBDを使えば、超細かい車両情報が ドライブレコーダーに記録できるかも 社内勉強会用
  5. Confidential OBD2 (CANBUS)の通信ハードウェア 16 MCP2515 CANコントローラー MCP2551 CANトランシー バーIC https://docs.longan-labs.cc/1030001/

    CANコントローラのICを使い、RaspberryPiやMCUと通信できるようにする ※カニチップ(Ethernetコントローラー)みたいなもん 社内勉強会用 https://diary.freebbs.biz/archives/cat23/raspberrypi_spi.php
  6. Confidential RaspberryPi ⇔ 車両部分 21 CAN通信モジュール USB⇔CAN変換 社内勉強会用 USB⇔Serial変換 (FT234等)

    Serial⇔CAN通信 (Seeed社 Serial CAN- BUS Module) MCP 2551 MCP 2515 CAN通信モジュール RaspberryPi CAN通信モジュール OBD情報取得 プログラム (obd_recorder.go) /mnt/usb_memory Engine_rpm.jsonl xxxx.jsonl CAN通信モジュール OBD2端子 ECU #1 ECU #1 ECU #1 車両側 /dev/tty USB0
  7. Confidential RaspberryPi ⇔ クラウド(GCP)部分 22 CAN通信モジュール RaspberryPi CAN通信モジュール /mnt/usb_memory CAN通信モジュール

    GCP (クラウド側) Streaming Insert Engine_rpm.jsonl xxxx.jsonl Service Account ※数時間程度のざくっとプロトタイピング。下記プラグインを利用 https://github.com/fluent-plugins-nursery/fluent-plugin-bigquery 社内勉強会用 OBD情報取得 プログラム (obd_recorder.go) car_dataset engine_rpm_table xxxx_table
  8. Confidential BIツール(Redash) x OBDデータ 24 • 現在取得できているデータ ◦ エンジン回転数(RPM) ◦

    エンジン負荷(%) ◦ アクセルの位置(%) ◦ 冷却材の温度(C) ◦ 大気の圧力(kPA) →高度情報取れる ◦ インテークの温度 ◦ インテークの圧力 ◦ バッテリーの電圧 ◦ Short Time Fuel Trim (短期燃料トリム) ◦ Long Time Fuel Trim (長期燃料トリム) ◦ エンジン始動からの経過時間 社内勉強会用
  9. Confidential 困り毎 32 • OpenCVのVideoCapture & VideoWriterの負荷が高すぎて、フレーム欠損する ◦ 30FPS取れていない(体感半分程度) ◦

    仮説①:ライブラリがシングルコア活用の為、コア1つ1つの性能が微妙なRaspberryPiではすぐ頭打ちが 来る...? ▪ RaspberryPi 4なら行ける説 ◦ 仮説②:USB周りのデータ転送レートが遅い ▪ リアルタイムカーネルに切り替えて解決している感...? ▪ http://tnoho.com/web/webrtc/689 社内勉強会用
  10. Confidential 最後に 34 • 利活用に関して皆様からアイデアを頂きたくです! ◦ Slackでコメントいただけますと嬉しくです! ◦ どなたか、一緒に発展させていきませんか?! •

    今後の展望?トライ? ◦ GPSセンサーの装着 ▪ GNSS受信キットを買った! ◦ ドライブレコーダー映像 x AI ▪ 取得動画のセグメンテーションや動画Caption付け ◦ ABEJA Platform上への実装 社内勉強会用