システムアーキテクチャ設計
概要
インテリジェントビジョン ロボットアーム制御システムは統合MCPサーバーアーキテクチャ v2.0.0を採用し、ビジョン検出とロボットアーム制御の機能を1つのモジュール化されたシステムに統合しています。
アーキテクチャの特長
- ⚡ 統合サーバー: 単一のエントリーポイントですべてのサービスを管理
- 🏗️ 階層設計: コアロジック層・サービス層・API層を明確に分離
- ⚙️ 設定管理: YAML設定ファイルで複数環境に対応
- 🔒 型安全: Pydanticによるデータ検証
- 🔄 非同期協調: スマートなサービスライフサイクル管理
ディレクトリ構成
Proj_Intelligent-Vision-Arm-Control/
├── vision_arm_mcp/ # 主要源代码目录
│ ├── main.py # 统一入口点
│ ├── config/ # 配置管理
│ │ ├── settings.py # 配置数据模型
│ │ └── config_loader.py # 配置加载器
│ ├── core/ # 核心业务逻辑
│ │ ├── detection/ # 物体检测模块
│ │ │ ├── base_model.py
│ │ │ └── yolo_detect.py
│ │ ├── arm_control/ # 机械臂控制模块
│ │ │ ├── arm_move.py
│ │ │ ├── user_arm.py
│ │ │ ├── serial_section.py
│ │ │ └── servo_section.py
│ │ └── utils/ # 工具模块
│ │ ├── measurement.py
│ │ └── visualization.py
│ ├── services/ # 服务层
│ │ ├── web_service.py # Web服务
│ │ ├── mcp_service.py # MCP服务
│ │ └── video_service.py # 视频流服务
│ └── api/ # API层
│ ├── routes.py # 路由定义
│ └── schemas.py # 数据模型
├── config/ # 配置文件
│ └── default.yaml # 默认配置
├── bin/ # 脚本目录
├── tests/ # 测试代码
├── docs/ # 文档目录
├── logs/ # 日志目录
└── models/ # 模型文件目录
主要コンポーネント
1. 検出モジュール (Detection)
YOLO11検出器 (vision_arm_mcp/core/detection/yolo_detect.py)
- BPUアクセラレーションに対応したYOLO11モデル
- 3クラス検出に対応:オレンジ色・緑色・赤色の形状
- マルチスケール特徴マップの処理(小/中/大の特徴マップ)
- 信頼度とIoUしきい値のリアルタイム調整
2. ロボットアーム制御モジュール (Arm Control)
4自由度逆運動学制御 (vision_arm_mcp/core/arm_control/)
arm_move.py: メインコントローラー、運動計画とリミット保護user_arm.py: 逆運動学アルゴリズムの実装serial_section.py: シリアル通信の管理servo_section.py: サーボプロトコルの処理
制御の特長:
- 作業空間の制限: X[50-180mm], Y[-80-80mm], Z[-50-140mm]
- 直線補間による運動計画
- 厳密な安全リミットチェック
- シリアル通信: /dev/ttyS1, 115200ボーレート
3. サービス層 (Services)
Webサービス (vision_arm_mcp/services/web_service.py)
- Flaskアプリケーション、ポート5002
- リアルタイムMJPEG映像ストリーム
- RESTful APIインターフェース
- システム状態の監視
MCPサービス (vision_arm_mcp/services/mcp_service.py)
- FastMCPプロトコルサーバー、ポート8002
- 18個のツール関数インターフェース
- 非同期HTTPクライアント
- AIアシスタントとの統合に対応
4. 設定システム
階層的な設定管理:
config/default.yaml: デフォルト設定ファイル- 環境変数による上書き(プレフィックス
VISION_ARM_) - Pydanticによるデータ検証
- 実行時の設定ホットリロード
データフロー
通信プロトコル
1. MCPプロトコル
- JSON-RPC 2.0ベース
- ツール関数の呼び出しに対応
- 非同期メッセージ処理
- AIアシスタントとの統合
2. シリアルプロトコル
- ボーレート: 115200
- データビット: 8
- ストップビット: 1
- パリティ: なし
3. HTTPインターフェース
- RESTful API設計
- JSONデータ形式
- CORS対応
- エラーコードの標準化
性能の特長
- 検出速度: 約30fps(320x320入力)
- 動作応答: 遅延<100ms
- メモリ使用量: <500MB
- CPU使用率: 約15% (RDK X5)
拡張性
本システムはモジュール化設計を採用しており、以下の拡張に対応しています。
- 検出モデル: 他のYOLOバージョンやカスタムモデルに置き換え可能
- ロボットアームの種類: 自由度の異なるロボットアームに対応
- 通信プロトコル: 他の通信方式を追加可能
- センサーの統合: 追加センサー用のインターフェースを確保
お問い合わせ
資料のダウンロード・技術サポートについては、HumansX株式会社までお問い合わせください。
ドキュメント