Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
OBD2 x RaspberryPiで車両情報を蓄積&BIで分析できるようにする
Search
Hiroyuki Ootaguro
January 28, 2022
Technology
1k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
OBD2 x RaspberryPiで車両情報を蓄積&BIで分析できるようにする
下記イベントでの登壇内容です。
https://abeja-innovation-meetup.connpass.com/event/232996/
Hiroyuki Ootaguro
January 28, 2022
More Decks by Hiroyuki Ootaguro
See All by Hiroyuki Ootaguro
第16回 MLOps 勉強会(Online) LT枠 大田黒
xecus
0
1k
Product Development in Resilire seed phase 20210812
xecus
0
220
AI x IoT利活用SaaSにおけるデータ基盤の構築
xecus
0
1.1k
BIT VALLEY 2020 - AI x IoT活用サービスの立ち上げ・拡販のための取り組み
xecus
0
3k
Other Decks in Technology
See All in Technology
Webとヘルスデータ
yukukotani
1
200
Kiro Crewしか勝たん!?
miu_crescent
PRO
0
190
synctest時代のhttptest Go 1.27で変わるHTTPサーバテストの裏側 / go conference2026 synctest and httptest
budougumi0617
0
200
AI-DLCって実際どう? 〜聞きたいこと全部聞いてみる〜
news_it_enj
0
240
Bet AI Day 2026丨AIによって本質に戻るシステムリスク管理
layerx
PRO
0
1.3k
20260903 Tokyo Jazug Night #62 | Azure エンジニアよ、 その環境は本当にセキュアか?
olivia_0707
1
640
SQL文一行も書けない人事がCortexもろもろを使って人事業務を楽にしてみる
ponponmikankan
0
140
2026-09-10 【Snowflake World Tour Tokyo 2026】dbt Core と Snowflake で実現する多層的なデータガバナンス / Multi-Layered Data Governance Powered by dbt Core and Snowflake
civitaspo
0
230
10分で知る最近のOmarchy
komagata
0
120
[DroidKaigi 2026] Making UI specifications visible: Android UI development in the AI agent era supported by Compose Screenshot Testing and galleries
syarihu
0
610
Sigmaユーザーのための有用リソース一挙公開 & Sigmaで使えるMCP #sigma_ucj /useful-resources-for-sigma-computing-users-and-mcps-with-sigma
shinyaa31
0
160
Azure Cost Management の FOCUS コストデータを迷わず読むための“3つの軸”
tetsuyaooooo
0
160
Featured
See All Featured
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
510
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
370
Mind Mapping
helmedeiros
1
350
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
68
57k
Color Theory Basics | Prateek | Gurzu
gurzu
0
460
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.9k
Visualization
eitanlees
152
17k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
270
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.8k
Exploring anti-patterns in Rails
aemeredith
3
500
Transcript
2021年01月21日 大田黒 紘之 https://abeja-innovation-meetup.connpass.com/event/232996/ ABEJA TechLT #3 OBD2 x RaspberryPiで
車両情報を蓄積&BIで分析できるようにする
Confidential ABEJA Advent Calendar 2021の1日目の記事。 https://qiita.com/xecus/items/c96bec764e20946059a0 元ネタ 社内勉強会用
Confidential 自己紹介 大田黒 紘之 @xecus , Born in Chiba 1994
▪東京都立産業技術高専 医療福祉工学科 コース (2009/4 - 2014/3) メカトロニクスとか数値計算周りを専攻。 人工衛星開発も一部。 ▪首都大学東京に編入 電気電子工学、半導体周りを専攻(量子効 果デバイスとか) ▪ABEJA 2015年〜 ・Insight for Retail (IoT x AI利活用プロダク ト)の立ち上げ・拡販 ・AIプロダクト事業部 プラットフォーム グループMGR (2022年1月現在) 社内勉強会用
Confidential 8月にTOYOTA RAIZEを納車しました 社内勉強会用
Confidential 突然ですが.... 世界で一つだけのMyドライブレコーダーを作りた い!! (OBD2車両情報+ AI Enabled Camera = ???)
社内勉強会用
Confidential 何がやりたいか 6 ドライブ レコーダー <従来のドライブレコーダー> SD Card <今考えているドライブレコーダー案> ドライブ
レコーダー SD Card 動画 ストレージ AI推論による 意味づけ 車両情報 (運転情報) BIツ ール 等 事故が起きた時に自分・警察・保険会社が見る (それ以外のシーンではほとんど使わない) ECU 車を運転し続けるという体験をアップデートできる Something GPS 社内勉強会用
Confidential ①現状のドライブレコーダーが持つ特性とデータの利活用の問題 【容量観点】 ・SDカード数時間分しか持たない。消され続けるデータ。過去を振り返る事はできない。 【データ利活用観点】 ・動画を確認する時に、結構めんどくさい(SDカード抜いて、変換アダプター経由でPCに...) ・映像をAI/MLに解析させる事で「意味情報」をもっと利活用できるのでは? 【記憶媒体の問題】 ・SDカードは書き換え寿命があるので、いつか壊れる。ファイルシステム壊れたらデータはお釈迦になる。。。 課題感
8 社内勉強会用
Confidential ②「ドライブレコーダー」という存在・役割をアップデートできるのではないか? もともと、当たり屋の裁判かなにかで、「ぶつかっていないという証拠が無い以上、事故は成立する」という判例が 出て、「自分の身は自分で守るしか無い」という業界の流れから普及したと推測。 (カメラで映像が取得できていれば十分という状況) ★IoTでBigDataでAIな時代&21世紀なので、もっとなんかできるのでは? ★「身を守る為のローカル映像記録システム」の次の役割は何か?? 課題感 9 社内勉強会用
Confidential 課題解決のアプローチ 10 ・ビジョン思考とデザイン思考を組み合 わせて、アプローチしてみる。 ・自分自身ソフトウェアエンジニアなの で、プロトタイピングをしながら進めて みる (仲間募集中です!笑) https://diamond.jp/articles/-/195874?page=2
社内勉強会用
Confidential 機能の指向性 11 • ①細かい車両情報(OBD)を蓄積&BIツールで分析できるようにする (オレオレドラレコ基本機能) • ②撮影した動画をクラウド上で見ることができる(オレオレドラレコ基本機能) • ③車の維持が楽になる世界
◦ 時間・走っている場所毎のガソリン消費量や燃費変動の見える化。ガソスタレコメンド。 ◦ 車の部品のリアルタイム故障検知・予測(車のオルタネータが劣化してきた、BAT電圧低い等) ◦ オイル交換やオイルフィルター交換等の目安と近くのお店をレコメンドしてくれる世界 • ④車と家族の思い出を振り返られるような世界 ▪ GPSを用いた走行ログの蓄積と可視化。動画と連携。携帯のアプリから見る事ができる。 • ⑤解像度の高い運転危険情報が見えるようになる世界 ◦ 動画情報の意味解析を通じて、地域ごとのヒヤリハット情報等を蓄積化 & カーナビ反映 ◦ 例:地域ごとの危険イベントの集計・見える化 • ⑥企業やドライバーが環境に配慮できる世界観 ◦ 低炭素社会実現の為のCo2排出量の見える化 (SDGs, ESG文脈でもありそう) 個人 社会 社内勉強会用
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を使えば、超細かい車両情報が ドライブレコーダーに記録できるかも 社内勉強会用
Confidential OBD2 13 ※OBD端子の位置はメーカー・車種に依存 (TOYOTA RAIZEは運転席の足元に) 社内勉強会用
Confidential OBD-IIを利活用するには 14 ECUや周辺コンポーネントのCANバスがOBD用物理ポートから出ているので、 そこを拝借して、データの送受信を行う (結構怖いw) 社内勉強会用 http://make.bcde.jp/raspberry-pi/obd2canで自動車と通信ハード編/ https://monoist.itmedia.co.jp/mn/articles/0807/09/news140.html
Confidential OBD-IIを利活用するには 15 オレオレレコーダープログラム On RaspberryPi オレオレプロトコルスタック ここをうまくや ってくれる物理 層周りのハード
ウェアが必要 社内勉強会用
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
Confidential OBDコネクタからCANバスへのアクセス 17 社内勉強会用 CANコントロー ラーモジュール (UART制御) USB⇔UART変 換 モジュール
社内勉強会用
Confidential OBD2 18 社内勉強会用
Confidential OBD2フレームの解析 19 ECU (PID: 0x7E8)からサービスID(0x01)・データPID(0x0C: EngineSpeed)のリクエストに対す る応答。データLengthは4Byte データは 0x0D190000(00)
→ (0x0D ✕ 256 + 0x19) / 4 = 838 Rpm 社内勉強会用
Confidential システム全体像 20 社内勉強会用 Raspberry Pi 車両情報等 BIツールで 振り返り
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
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
Confidential データ取得の様子@京葉市川パーキングエリア 23 社内勉強会用
Confidential BIツール(Redash) x OBDデータ 24 • 現在取得できているデータ ◦ エンジン回転数(RPM) ◦
エンジン負荷(%) ◦ アクセルの位置(%) ◦ 冷却材の温度(C) ◦ 大気の圧力(kPA) →高度情報取れる ◦ インテークの温度 ◦ インテークの圧力 ◦ バッテリーの電圧 ◦ Short Time Fuel Trim (短期燃料トリム) ◦ Long Time Fuel Trim (長期燃料トリム) ◦ エンジン始動からの経過時間 社内勉強会用
Confidential WebカメラをRaspberryPiに接続 25 • ドンキカメラ ◦ MJPG ▪ 1280x720 30FPS
◦ YUYV ▪ 640x360 30FPS 社内勉強会用
Confidential ProtoTyping部分 26 RaspberryPi CAN通信モジュール video_recorder.py /mnt/usb_memory/videos CAN通信モジュール GCP Streaming
Insert YYYYMMDD-HHMMSS.mp4 Service Account video_uploader.py 社内勉強会用
Confidential OpenCVでWebカメラの映像を保存 (video_recorder.py) 27 • OpenCVのVideoCaptureとVideoWriterを用い て、60秒おきにファイル書き出しを実施 • 動画中に撮影時間をputTextを記載 社内勉強会用
Confidential 保存した動画のGCSアップロード (video_uploader.py) 28 • VideoRecorderの出力するmp4ファイルを随 時GCSへ動機 • (FluentdやEmbulk等で、ファイルの TIMESTAMPからパスをいい感じに調節しなが
らアップロードできるならそちらに切り替えた い) 社内勉強会用
Confidential ProtoTyping部分 29 社内勉強会用
Confidential 実際にGCSに溜まったファイル 30 社内勉強会用
Confidential オレオレドライブレコーダーの映像解析 (Segmentation適用) 31 • 映像データの意味付け ◦ ObjectDetection ▪ https://github.com/open-
mmlab/mmdetection ◦ Segmentation ▪ https://github.com/open- mmlab/mmsegmentation 社内勉強会用
Confidential 困り毎 32 • OpenCVのVideoCapture & VideoWriterの負荷が高すぎて、フレーム欠損する ◦ 30FPS取れていない(体感半分程度) ◦
仮説①:ライブラリがシングルコア活用の為、コア1つ1つの性能が微妙なRaspberryPiではすぐ頭打ちが 来る...? ▪ RaspberryPi 4なら行ける説 ◦ 仮説②:USB周りのデータ転送レートが遅い ▪ リアルタイムカーネルに切り替えて解決している感...? ▪ http://tnoho.com/web/webrtc/689 社内勉強会用
Confidential 最後に 34 • 利活用に関して皆様からアイデアを頂きたくです! ◦ Slackでコメントいただけますと嬉しくです! ◦ どなたか、一緒に発展させていきませんか?! •
今後の展望?トライ? ◦ GPSセンサーの装着 ▪ GNSS受信キットを買った! ◦ ドライブレコーダー映像 x AI ▪ 取得動画のセグメンテーションや動画Caption付け ◦ ABEJA Platform上への実装 社内勉強会用