Newer
Older
RobotCar / docs / 02_PLAN / PLAN_01_プロジェクト概要.txt
========================================================================
プロジェクト概要 (Project Overview)
========================================================================


1. プロジェクト概要 (Project Overview)
------------------------------------------------------------------------

    1-0. 目的

    カメラを搭載したロボットカーを自律走行させることを目的とする.
    人間が操作することなく,カメラ画像のみを用いてコース上の黒線を
    認識し,コースアウトせずに走り切るシステムを構築する.


    1-1. 最終目標

    ・走行目標: 黒い1本線が描かれたコースを,コースアウトせずに完走する.
    ・速度目標: コースアウトしない範囲で,できるだけ速く1周を完走する.
    ・制御方式: カメラ画像を用いた画像処理によるライントレース走行.
    ・操作: 人間による操作は不要(完全自律走行).


    1-2. コース条件

    ・ライン色: 黒(周囲は白)
    ・ライン形状: 1本線


2. ハードウェア構成 (Hardware Configuration)
------------------------------------------------------------------------

    2-1. 使用機器

    ・メインコンピュータ: Raspberry Pi
    ・カメラ: Raspberry Pi カメラモジュール
    ・モータードライバ: TB6612FNG
    ・モーター: 左右各1基(計2基)
    ・センサー: カメラのみ(ラインセンサー等は使用しない)

    2-2. 機器構成

    ・カメラ取り付け位置: 車体前方
    ・カメラ向き: 真下(路面の黒線を真上から撮影)
    ・駆動方式: 差動2輪駆動
        - 左右モーターの回転速度差によって直進・旋回を制御する.


3. システム概要 (System Overview)
------------------------------------------------------------------------

    3-1. 処理の大まかな流れ

    1. カメラで路面を撮影する.
    2. 画像処理により,黒線の位置・向きを認識する.
    3. 認識結果をもとに,操舵量(throttle / steer)を計算する.
    4. 計算結果を左右モーターへ出力し,車体を制御する.
    5. 上記を繰り返すことで,ライン上を継続走行する.

    3-2. 操舵量計算の方針

    ・制御方式: PD 制御,2点パシュート制御,Theil-Sen PD 制御の
        3手法を切り替えて使用する(デフォルトは Theil-Sen PD).
    ・偏差の算出: カメラ画像から黒線の位置を検出し,
        画像中心からのずれを偏差として用いる.
    ・操舵: 偏差に基づく制御で操舵量を決定する.
    ・速度: カーブの度合いに応じて動的に調整する(カーブ減速,直線加速).
        ※ 詳細な計算方法・パラメータは別ドキュメントにて定義する.


    3-3. 実行環境

    ・Raspberry Pi を使用する.
    ・制御ループ(カメラ取得→画像処理→操舵計算→モーター制御)は
        Pi 内で完結させ,通信遅延の影響を排除する.
    ・PC はモニタリング GUI・パラメータ調整・手動操作を担当する.