プロジェクト記録 / 第21回全国大学生スマートカー競技会・全国大会 二等奖
CongCar スマートカー・プロジェクト経験
チームによるスマートカー開発。RK3588 上のリアルタイム認識、経路追従、シーン判断について、設計議論、ロジック調整、実車デバッグ、検証に継続して参加した。
- スマートカー
- RK3588
- コンピュータビジョン
- リアルタイムシステム
- 制御
CongCar は、閉鎖コースでの自律走行を対象としたチーム開発プロジェクトである。RK3588 上位機で画像取得、セマンティックセグメンテーション、物体検出、鳥瞰座標での経路処理、シーン判断、車体制御を連続実行し、シリアル通信で下位機と接続する。
チームは第21回全国大学生スマートカー競技会の全国大会で二等奖を受賞した。本ページでは、チーム成果を個人作業として扱わず、私の参加範囲、チームと共に扱った工学的課題、そして現時点での検証上の限界を記録する。
担当範囲と協働の前提
後期のコード変更の多くはチームメイトのPCとリポジトリからコミットされている。そのため Git の著者情報だけでは、設計議論、デバッグ、実車検証への参加を完全には表せない。私は上位機の構成とシーンロジックの議論に継続して参加し、コース上の車両挙動を分析しながら、ロジック・パラメータの調整と実車での確認を行った。
特に、歩行者シーンの危険判定とパラメータに関わった。物体を検出したことと車両の危険領域へ入ったことを分け、車体中心のオフセット、検出の継続性、停止条件、再発進条件を検討した。巡線、分岐、交通標識シーンについても、動作方針の議論と現場デバッグに参加した。マルチスレッド基盤、モデル配置、各シーン実装、制御モジュールはチームで維持しており、私一人の実装とは記述しない。
システム構成
上位機ソフトウェアは主に C++、OpenCV、RKNN を用いる。処理経路は、カメラ取得、セマンティックセグメンテーション、物体検出、鳥瞰座標での経路抽出、共通 PathFollower による制御、シーンごとの制約、STM32 下位機へのシリアル送信から成る。
各処理は分離し、最新状態を共有する。走行中の車両ではモデル単体の FPS だけでは不十分であり、制御が使う情報の新しさ、シーン遷移時の連続性、異常状態から安全に戻れることを同時に確認する必要がある。

実車デバッグ画面では、前方認識、鳥瞰経路、速度、モデル状態を同時に確認する。局所的な推論 FPS だけでシステム全体を評価しないための観測面である。
主な工学的判断
経路追従の共通化
巡線、障害物、歩行者、分岐の各シーンが個別に中線抽出と操舵ロジックを持つと、パラメータと座標系が分岐する。チームは鳥瞰経路、前方参照、制御計算を PathFollower に集約し、各シーンはマスク、追従境界、停止・再開などの制約だけを与える構成にした。これにより重複を減らし、シーン遷移時に制御状態を引き継げる一方、共通モジュールの変更は影響する全シーンで実車確認が必要になる。
交通標識の判断を状態機械に収める
交通標識の処理は文字認識だけではない。接近、後退、視覚言語モデルの判断待ち、再走行という段階を状態機械として明示し、一周で一度だけ必要な方向判断は保存して後続の場面で再利用する。右折が確定した場合は、有限フレーム、固定速度、固定操舵の盲開でコースを再捕捉し、通常の経路追従へ戻る。
歩行者検出を危険状態へ変換する
一フレームの人物検出ごとに停止すると、遠方・経路外の対象や短い誤検出に影響される。歩行者シーンでは検出枠下端の鳥瞰投影、計画経路、危険領域、追従境界、状態の継続時間を合わせて扱う。私は車体中心オフセット、危険領域、再発進条件の分析と調整に参加した。停止条件と再発進条件を意図的に非対称にし、潜在的な危険は保守的に保持し、再発進にはより安定した根拠を求める。誤停止率や再発進時間分布の標準化した測定は今後の課題である。
検証と現在の限界
主な検証環境は実車とコースであった。認識結果、鳥瞰経路、参照点、制御状態を同時に表示し、問題が認識、経路、シーン遷移、制御のどこにあるかを分けて確認した。観測、仮説、ロジックまたはパラメータの調整、実車での再試験という流れで進めた。
全国大会の二等奖は、認識・判断・制御を統合したループが競技条件でタスクを完了したことを示す。ただし、あらゆる条件での安定性を証明するものではない。今後は端から端までの時刻記録、失敗動画と設定の再生、速度・シーン別の繰り返し指標、ソフトウェア停止・能動制動・ハードウェア非常停止の境界を整備する必要がある。