Skip to content

Latest commit

 

History

History
110 lines (76 loc) · 3.54 KB

File metadata and controls

110 lines (76 loc) · 3.54 KB

Jetson Nano を用いた自律走行 RC カープロジェクト

本プロジェクトは、NVIDIA Jetson Nano を用いて
カメラ入力のみで走行を行う自律走行 RC カーシステムを実装したものです。

走行ラインを認識するコンピュータビジョン処理から、
CNN を用いた End-to-End 深層学習モデルの学習、
リアルタイム推論結果を用いたモーター制御まで、
組み込み環境における自律走行システムの全体パイプラインを一貫して実装しました。


プロジェクト概要

  • プラットフォーム:NVIDIA Jetson Nano
  • 走行方式:カメラベースのライン追従
  • 制御方式:CNN を用いた End-to-End 学習
  • 開発目的:組み込み AI 自律走行システムの全体フロー実装
    (センシング → 認識 → 判断 → 制御)

走行デモ(Driving Demo)

以下は、Jetson Nano 環境において
CNN ベースの End-to-End モデルを用い、
カメラ入力のみでステアリング角と速度を制御した実際の走行デモ映像です。

Driving 1 Driving 2

※ クリックすると YouTube(限定公開)で再生されます。


システム構成

ハードウェア

  • NVIDIA Jetson Nano
  • カメラモジュール
  • DC モーター
  • サーボモーター
  • DC-DC コンバータ
  • RC カーシャーシ

ソフトウェア

  • Python
  • PyTorch
  • OpenCV
  • CNN ベースの深層学習モデル
  • Jetson Nano GPIO 制御

主な機能

  • カメラ映像を用いた走行ライン認識
  • 走行画像データの収集および管理
  • 画像前処理および学習用データセット構築
  • CNN モデルによるステアリング角予測
  • 推論結果を用いたリアルタイム走行制御
  • Jetson Nano 環境でのリアルタイム推論実行

開発時の工夫点・考慮点

  • 照明変化への対応
    さまざまな環境下でも安定した走行を実現するため、
    画像前処理パイプラインを工夫しました。

  • End-to-End 学習の採用
    ルールベース制御ではなく、
    入力から出力までを一貫して学習する End-to-End 構成を採用しました。

  • 組み込み環境への最適化
    Jetson Nano の限られた計算資源を考慮し、
    入力解像度およびモデル構造を調整しました。

  • リアルタイム性の確保
    推論速度と走行安定性のバランスを重視して設計しました。


既知の課題(Known Issues)

  • Jetson Nano 環境において GPIO ピン認識が不安定になる場合がある
  • バッテリー状態によって DC モーター出力が不安定になる現象
  • 学習および推論速度が遅い問題
    • 今後、CUDA・TensorRT を用いた最適化を予定

今後の改善予定

  • TensorRT を用いた推論速度の高速化
  • 多様な走行環境データの追加収集
  • 障害物認識機能の追加
  • 走行ログの保存および可視化機能の実装

補足

本プロジェクトは、
組み込み環境における自律走行システムの中核となる
センシング・認識・判断・制御の各工程を、
実装レベルで理解・構築することを目的として取り組みました。