======================================================================== プロジェクト概要 (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 制御(ルールベース)を基本とする. ・偏差の算出: カメラ画像から黒線の位置を検出し, 画像中心からのずれを偏差として用いる. ・操舵: 偏差に基づく PD 制御で操舵量を決定する. ・速度: 操舵量が大きいほど減速し,直線では加速する. ※ 詳細な計算方法・パラメータは別ドキュメントにて定義する. 3-3. 実行環境 ・Raspberry Pi を使用する. ・Raspberry Pi 単体で完結させるか,PC と連携させるかは未定. ※ 現状は Raspberry Pi をメインの実行環境として想定する.