Newer
Older
RobotCar / docs / 04_ENV / ENV_04_ディレクトリ構成.txt
========================================================================
ディレクトリ構成 (Directory Structure)
========================================================================


1. 概要 (Overview)
------------------------------------------------------------------------

    1-0. 目的

    自律走行システムのソースコードのディレクトリ構成を定義する.
    ディレクトリ構成を変更した場合は本ドキュメントも更新すること.

    1-1. 状態の表記

    ・(未実装): 今後作成予定のファイル.
    ・表記なし: 実装済み,またはディレクトリ.


2. ディレクトリ構成 (Directory Structure)
------------------------------------------------------------------------

    2-1. 全体構成

        RobotCar/
        ├── CLAUDE.md
        ├── requirements_pc.txt
        ├── requirements_pi.txt
        ├── deploy.sh                      Pi への転送スクリプト
        ├── .env.example                   環境変数テンプレート
        ├── pd_params.json                 パラメータ保存ファイル(.gitignore)
        ├── docs/                          ドキュメント
        ├── src/                           自律走行用ソースコード
        │   ├── common/                    共通設定(PC・Pi 両方で使用)
        │   ├── pc/                        PC 側
        │   └── pi/                        Pi 側
        └── src_old/                       旧コード(参照用)

    2-2. src/common/

        common/
        ├── config.py
        └── json_utils.py                  JSON 読み書き共通ユーティリティ

    ・PC・Pi 間で共有する設定値・ユーティリティを定義する.
    ・config.py: ネットワーク設定,画像フォーマット,通信設定等.
    ・json_utils.py: JSON ファイル読み書きとパラメータディレクトリの定義.

    2-3. src/pc/

        pc/
        ├── main.py                        エントリーポイント
        ├── gui/                           GUI 関連
        │   └── main_window.py             メインウィンドウ
        ├── comm/                          通信関連
        │   └── zmq_client.py              ZMQ 送受信
        ├── steering/                      操舵量計算(独立モジュール)
        │   ├── base.py                    共通インターフェース
        │   ├── pd_control.py              PD 制御の実装
        │   ├── pursuit_control.py         2点パシュート制御の実装
        │   ├── param_store.py             プリセット保存・読み込み
        │   └── auto_params.py             パラメータ自動保存・復元
        └── vision/                        画像処理
            ├── line_detector.py           線検出(多項式フィッティング)
            ├── fitting.py                 直線・曲線近似の共通ユーティリティ
            └── overlay.py                 デバッグオーバーレイ描画

    2-4. src/pi/

        pi/
        ├── main.py                        エントリーポイント
        ├── comm/                          通信関連
        │   └── zmq_client.py              ZMQ 送受信
        ├── camera/                        カメラ関連
        │   └── capture.py                 フレーム取得
        └── motor/                         モーター関連
            └── driver.py                  TB6612FNG 制御