HumansXドキュメントセンター 公式サイトへ ↗

システムアーキテクチャ設計

概要

インテリジェントビジョン ロボットアーム制御システムは統合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)

拡張性

本システムはモジュール化設計を採用しており、以下の拡張に対応しています。

  1. 検出モデル: 他のYOLOバージョンやカスタムモデルに置き換え可能
  2. ロボットアームの種類: 自由度の異なるロボットアームに対応
  3. 通信プロトコル: 他の通信方式を追加可能
  4. センサーの統合: 追加センサー用のインターフェースを確保

お問い合わせ

資料のダウンロード・技術サポートについては、HumansX株式会社までお問い合わせください。