科目名 | 自動車の自律走行とサイバーセキュリティラボ |
---|---|
科目名(英名) | Autonomous driving and cyber security |
担当講師(氏名・所属) | 児島 彰、市原 英行、大田 知行、小畑 博靖、新 浩一、窪田 昌史、永山 忍(広島市立大学)、井上 博之(京都産業大学) |
分類 | コース必修 |
授業形態 | 実習 広市大 ※本科目は、新型コロナウイルス感染拡大の状況等によっては、延期もしくは中止となる可能性があります※ |
時数 | 24コマ |
時間数(コマ数✕1.5) | 36時間 |
授業の概要 | 前半は、自動車の自動運転に必要なカメラ制御、画像処理を習得します。高機能・高性能マイコンであるRaspberry Pi を搭載した自律走行可能なロボットを用いてモータ制御方法を学び、そのロボットを使って、組込みLinux上でPythonやOpenCVを用いたカメラ制御、画像処理を習得します。さらに高位合成手法を用いて画像処理のFPGA実装を行うことで、自動運転に必要な画像処理の高速化手法を学びます。 後半では、CANを中心とした車載ネットワークの仕組みからそのプロトコル上の脆弱性、解析方法、攻撃手法、防御手法などを、アナライザやツールを入れたLinuxを用いて実験室に設置したネットワークに流れるメッセージを取得し解析する方法をハンズオン形式で行いながら学んでいきます。また、実車を使ったデータ取得やECUへの干渉などの実験も行い、将来の自動運転技術にも必要となるサイバーセキュリティの基礎を学んでいきます。 ※期によって前半と後半の内容が入れ替わる場合があります。 |
到達目標 | ・組込みプログラミングによる周辺デバイス制御やセンサ値取得スキルを修得する。 ・Pythonを用いた画像処理(Open CV)や画像認識のスキルを修得する。 ・システム統合/テスト、FPGA 実装のための高位合成手法などの実践力を身に付ける。 ・CANネットワークやECUからなるシステムのアーキテクチャと通信プロトコルを理解する。 ・解析ツールを作成し、通信の解析および独自の通信メッセージを送信できるようにする。 |
難易度 | ★★★ |
分野別難易度(前提知識) | 産業:★ Linux:★ 画像処理:★ センサネットワーク:★ 組込みシステム:★★ Cプログラミング:★★ Pythonプログラミング:★★ |
履修上の注意 (準備学習・前提知識) |
LinuxOSの簡単な操作や、C言語やPythonの簡単なプログラミングができること。 |
授業計画・内容 | 1回あたり2コマずつの実習とします 【自動車サイバーセキュリティ演習】 1. 自動車におけるサイバーセキュリティの現状とCANネットワークの特徴 2. CANアナライザによるメッセージ解析とSocketCANインタフェースの利用 3. CやPythonによる解析プログラムの作成(基礎) 4. CやPythonによる解析プログラムの作成(応用) 5. Kali Linuxによるペネトレーションテスト 6. 自動運転車で考慮すべきポイント、まとめ 【画像処理を用いた自律走行演習】 7. ガイダンス、ロボットの説明、Raspberry PiとFPGAの開発環境の説明 8. ロボットカー制御 9. カメラ制御と画像処理:基本とフィルタ処理 10.画像処理:物体認識 11.高位合成ツールを用いたFPGA 実装 12.FPGA を利用した画像処理の高速化 ※授業の順序は変更することがあります。 |
事前・事後学習の内容 | ・あらかじめ提供された教材を予習しておく ・事後に実習内容と課題をまとめたレポートを提出する |
成績評価の方法 | レポート内容および実習に取り組む姿勢で評価する |
教科書・参考書等 | 【教科書】 ・「カーハッカーズ・ハンドブック―車載システムの仕組み・分析・セキュリティ」:Craig Smith[著]オライリージャパン2017 【参考書】 ・「Python スタートブック」:辻真吾[著]技術評論社 ・「科学技術計算のためのPython 入門」:中久喜健司[著]技術評論社 その他、授業中に必要な資料を配布します。 |
キーワード | 組込みLinux、組込みプログラミング(Python、C/C++言語)、マイコン、センサ、Raspberry Pi、画像処理、OpenCV、物体認識、システム統合/テスト、FPGA 実装、高位合成ツール、自動運転制御、テレマティクス、車載LAN、CAN、ECU |
科目一覧
画像処理を用いた自律走行と、脆弱性を最小化する高度な技術
自動車の自律走行とサイバーセキュリティラボ
- LAB
- 実習