📊 第07章:PoCログ記録とモニタリング設計

本章では、AITL-H PoCにおけるセンサ値・FSM状態・PID出力などのログ記録と可視化戦略について解説します。
動作中のデータを蓄積・解析・グラフ表示することで、制御挙動の評価と改善が可能になります。


1. 🗂 ログ記録の目的


2. 🧩 ログ保存構造(例)

PoCでは data/ ディレクトリにCSV形式で保存:

PoC/data/
├── fsm_log.csv         # 状態遷移ログ
├── sensor_log.csv      # 距離・角度のセンサ値履歴
└── pid_log.csv         # 目標値・実測値・出力PWM

3. 📝 ログ記録のコード例

# ログファイル初期化
with open("data/pid_log.csv", "w") as f:
    f.write("time,target,measured,pwm\n")

# 制御ループ内で追記
timestamp = time.time()
with open("data/pid_log.csv", "a") as f:
    f.write(f"{timestamp},{target},{measured},{pwm}\n")

4. 📈 可視化例(Python + matplotlib)

import pandas as pd
import matplotlib.pyplot as plt

df = pd.read_csv("data/pid_log.csv")
plt.plot(df["time"], df["target"], label="Target")
plt.plot(df["time"], df["measured"], label="Measured")
plt.plot(df["time"], df["pwm"], label="PWM")
plt.legend()
plt.show()

5. 📡 FSM状態の可視化アイデア


🔚 まとめ

ログ記録と可視化は、PoC制御の挙動検証・最適化・トラブルシュートに不可欠な要素です。
FSM・PID・センサの出力を統合記録し、PoC設計の品質を客観的に評価するための土台となります。


図7-1:ログ出力構成図(Mermaid)

flowchart LR
    subgraph Modules
        FSM["FSM Engine\n(状態制御)"]
        Sensor["Sensor Interface\n(センサ取得)"]
        PID["PID Controller\n(制御演算)"]
    end

    subgraph Logs
        FSMLog["fsm_log.csv"]
        SensorLog["sensor_log.csv"]
        PIDLog["pid_log.csv"]
    end

    FSM --> FSMLog
    Sensor --> SensorLog
    PID --> PIDLog

    FSMLog -.-> Visualization["可視化/解析"]
    SensorLog -.-> Visualization
    PIDLog -.-> Visualization

この構成により、制御挙動を時系列でトレースでき、システム全体の評価とデバッグが容易になります。


📝 ライセンス / License


🔗 ナビゲーション / Navigation

📄 READMEに戻る / Back to README
🏠 AITL-Hトップ / AITL-H Top