システム構成の検討
背景・課題認識
搭載予定タスク:
- ToF×5 の読み取り(壁沿い走行・コーナー検知)
- カメラによる矢印信号の検知
- 白線(ゴールライン)検知 ※別センサ or カメラ
- ブラシレスモータ制御(+操舵サーボ)
- スタック検知・自動復帰、周回カウント、ゾーン管理
1つのマイコンに集約した場合の懸念: CPUリソースの枯渇、画像処理による制御ループの ブロッキングでリアルタイム性が崩壊(処理遅延による脱輪・制御失敗)。
方針: 「画像処理・高位判断」と「リアルタイム制御」の分離
┌─────────────────────┐ ┌──────────────────────┐
│ 高位判断系(非リアルタイム) │ UART/I2C │ 制御系(リアルタイム) │
│ ・カメラ: 矢印信号認識 │ ────────▶ │ ・ToF×5 読み取り(〜30-50Hz) │
│ ・ゾーン判断/走行モード指示 │ イベント/ │ ・壁沿いPID・操舵制御 │
│ ・(白線検知をカメラでやる場合) │ コマンド │ ・モータ速度制御(ブラシレス) │
│ │ │ ・スタック検知/自動復帰 │
└─────────────────────┘ └──────────────────────┘
設計原則(提案):
- 制御系は高位判断系が死んでも周回を続けられること(矢印・駐車は「加点機能」であり生存に不要)。
- マイコン間はシンプルなイベント通知(例:「矢印=左」「白線通過」)に限定し、密結合にしない。
- 各機能は単体で電源投入からテストできること(結合前にベンチで完結検証)。
構成候補
案A: 制御マイコン + カメラ一体型AIカメラモジュール
制御系(例: ESP32 / RP2350 / STM32)+ 矢印認識は OpenMV / HuskyLens / M5 UnitV 等の カメラ一体型モジュールに任せ、結果だけUARTで受け取る。
- 長所: 画像処理を完全に分離。制御系の設計が単純。開発が並列化できる(2人分担と相性◎)
- 短所: モジュール代(数千〜1.5万円)。認識アルゴリズムの自由度はモジュール依存
案B: ESP32-S3(カメラ付き)+ 制御マイコンの2枚構成
ESP32-S3のカメラ入力+簡易画像処理(色抽出・blob検出)を自前実装し、制御は別マイコン。
- 長所: 安価(S3ボード2千円前後)。アルゴリズム自由度が高い
- 短所: 画像処理の自前実装コスト。フレームレート・照明変動との戦い
案C: 1チップ高性能マイコン + RTOSでタスク分離(単板)
RP2350(デュアルコア)やESP32-S3単板で、コア0=制御 / コア1=画像のようにコア分離。
- 長所: 配線・電源が単純。基板1枚
- 短所: リソース共有(メモリ・バス)の干渉リスクが残る。「1つが死ぬと全部死ぬ」
キックオフでの論点: まず案A(分離最大・リスク最小)をベースラインにし、 コスト・学習目的に応じて案Bへ寄せるか、を決めたい。
マイコン間通信の設計案
| 項目 | 案 |
|---|---|
| 物理層 | UART(115200bps、3.3V直結)。シンプルで十分 |
| プロトコル | 1行テキスト or 固定長バイナリのイベント通知(ARROW,L / LINE,1 など)+チェックサム |
| 方向 | 基本は高位→制御の単方向。デバッグ用に制御→高位のテレメトリを追加 |
| 故障時 | 一定時間無通信でも制御系は周回継続(加点機能のみ停止) |
駆動系(ブラシレス化)の検討
- 目的: 低速域の速度制御性向上(DCブラシ+単純PWMでは低速トルク・応答が不足)。
- 論点: センサ付き(ホール)ESCか、エンコーダ追加か、FOC(SimpleFOC等)まで踏み込むか。
- 撤退基準を決める: ベンチで低速制御が期限までに安定しなければDCブラシ+エンコーダにフォールバック。
詳細な部品候補は 技術調査 を参照。
白線検知の候補
- フォトリフレクタ(反射型IRセンサ)を車体底面に配置 — 安価・高速・処理負荷ほぼゼロ
- カラーセンサ(TCS34725等) — 色判定可能だが応答速度に注意
- カメラ兼用 — 高位系に負荷が寄るため、方針(制御系の自立)と相性が悪い
提案: 底面フォトリフレクタ(2〜3個)を第一候補としてベンチ検証(グレーのカーペット vs 白線)。