# RobotCar プロジェクト

カメラ搭載ロボットカーの自律走行ライントレースシステム。
Raspberry Pi + PC 構成で、黒線コースをできるだけ速くコースアウトせずに完走することが目標。

## ドキュメント

作業前に必ず関連するドキュメントを参照し、内容に従うこと。
docs/ にファイルを追加した際、CLAUDE.md に記載すべき参照があればこのリストに追加すること。

### ガイドライン（常に従う）
- `docs/01_GUIDE/GUIDE_01_ドキュメント作成ガイド.txt` — 句読点は「，」「．」、見出し書式等
- `docs/01_GUIDE/GUIDE_02_ドキュメント命名規則.txt` — `[カテゴリ]_[連番]_[ファイル名].txt`
- `docs/01_GUIDE/GUIDE_03_Git運用ルール.txt` — ブランチ命名、コミットメッセージ `[タグ] 内容`
- `docs/01_GUIDE/GUIDE_04_コーディング規則.txt` — PEP 8 ベース、snake_case、型ヒント必須
- `docs/01_GUIDE/GUIDE_05_コードコメント規則.txt` — docstring は日本語、句点なし、Google スタイル

### プロジェクト仕様（実装時に参照）
- `docs/02_PLAN/PLAN_01_プロジェクト概要.txt` — 目的・目標・ハードウェア構成
- `docs/03_TECH/TECH_01_操舵量計算仕様.txt` — PD 制御、2領域偏差、速度制御
- `docs/03_TECH/TECH_02_システム構成仕様.txt` — Pi/PC の役割分担、通信フロー、設計方針
- `docs/03_TECH/TECH_03_デバッグオーバーレイ仕様.txt` — オーバーレイ表示項目、描画色、GUI 操作
- `docs/03_TECH/TECH_04_線検出精度向上方針.txt` — 線検出が最重要ファクターである理由、照明・影の課題、改善の方向性

### 環境（セットアップ時に参照）
- `docs/04_ENV/ENV_01_技術スタック選定.txt` — ZMQ, PySide6, OpenCV, Picamera2, RPi.GPIO, python-dotenv
- `docs/04_ENV/ENV_02_PC環境構築手順.txt` — venv 作成、ライブラリインストール
- `docs/04_ENV/ENV_03_RaspPi環境構築手順.txt` — SSH 接続、deploy.sh による転送、venv 構築、動作確認
- `docs/04_ENV/ENV_04_ディレクトリ構成.txt` — src/ の構成と実装状態

## コーディング規則（要点）

- 言語: Python（Pi・PC 共通）
- スタイル: PEP 8 準拠、インデント 4 スペース、1行 79 文字以内
- 命名: 変数・関数は snake_case、クラスは PascalCase、定数は UPPER_SNAKE_CASE
- 文字列: ダブルクォート `"` 統一、f-string 使用
- 型ヒント: 関数の引数・返り値に必須
- docstring: 日本語、Google スタイル、句点なし
- コメント: 日本語、句読点は「，」、句点なし

## ドキュメント作成規則（要点）

- 句読点: 「，」「．」を使用（「、」「。」は使用しない）
- ファイル命名: `[カテゴリ]_[連番]_[ファイル名].txt`
- 見出し: レベル1 は数字+ハイフン装飾、レベル2 は数字-数字、レベル3 は「■」

## コミットメッセージ

- 書式: `[タグ] 内容`（日本語、末尾句点なし）
- タグ: [add], [update], [fix], [remove], [clean]

## 作業フロー

- 実装やドキュメント作成の作業が一段落したタイミングで、関連するドキュメントに変更・追記すべき箇所がないかを確認すること
- 確認が済んだら、ユーザにコミットするかを尋ねること
