メインコンテンツまでスキップ

システム構成の検討

背景・課題認識

搭載予定タスク:

  • 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 白線)。