マシンビジョンシステムの概要
リンク Raspberry Piハードウェアプラットフォームをベースとしたマシンビジョンアプリケーションです。ROSとOpenCVを統合し、画像取得と視覚による色追跡を行います。
システム要件
- ハードウェア:Raspberry Pi ZERO
- オペレーティングシステム:Ubuntu 20.04
- 通信フレームワーク:ROS Noetic
- Python:3.8以上
- ライブラリ:OpenCV 4.x
- 周辺機器:USBカメラ
- メモリ:RAM 2GB以上
- ストレージ:空き容量3GB以上
ディレクトリ構成
分散アーキテクチャを採用しており、Raspberry Pi搭載車体側のプログラムと、PCの仮想マシン上で実行するプログラムで構成されます。
Raspberry Pi車体側プログラムのディレクトリ
vision_ws/ # ROSワークスペース
├── build/ # Catkinビルドディレクトリ(自動生成)
├── devel/ # Catkin開発ファイルディレクトリ(自動生成)
├── .catkin_workspace # Catkinワークスペース識別ファイル
└── src/ # ソースコードディレクトリ
├── camera_test/ # カメラテスト用パッケージ
│ ├── include/ # C++ヘッダファイルディレクトリ
│ ├── launch/ # launchファイルディレクトリ
│ │ └── pub_imglaunch # 画像配信用launchファイル
│ ├── scripts/ # Pythonスクリプトディレクトリ
│ │ ├── captured_image.jpg # 撮影画像サンプル
│ │ ├── get_csi_camera.py # CSIカメラ取得スクリプト
│ │ ├── image_pub.py # 画像配信ノード
│ │ ├── image_pub.py.save # 画像配信スクリプトのバックアップ
│ │ └── take_picture.py # 撮影スクリプト
│ ├── src/ # C++ソースコードディレクトリ
│ ├── CMakeLists.txt # パッケージのビルド設定
│ └── package.xml # パッケージのメタデータと依存関係
└── color_tracking/ # 色追跡パッケージ
├── CMakeLists.txt # パッケージのビルド設定
└── read.md # 説明ドキュメント
仮想マシン側プログラムのディレクトリ
unl_robot/ # ROSワークスペースのルートディレクトリ
├── .vscode/ # VSCode設定ディレクトリ
├── build/ # Catkinビルドディレクトリ
├── devel/ # Catkin開発ファイルディレクトリ
├── .catkin_workspace # Catkinワークスペース識別ファイル
└── src/ # ソースコードディレクトリ
├── navi/ # ナビゲーションパッケージ
├── nviz.show/ # RViz表示設定(と思われる)
├── slam/ # SLAMパッケージ
├── video/ # 映像処理パッケージ
├── vision_test/ # ビジョンテストパッケージ(主な開発パッケージ)
│ ├── include/ # C++ヘッダファイルディレクトリ
│ ├── launch/ # launchファイルディレクトリ
│ │ ├── color_trackinglaunch # 色追跡用launchファイル
│ │ └── sub_imglaunch # 画像購読用launchファイル
│ ├── nviz/ # RViz設定ディレクトリ
│ ├── scripts/ # Pythonスクリプトディレクトリ
│ │ ├── color_detect.py # 色検出スクリプト
│ │ ├── get_sth_hsv.py # HSV値取得スクリプト
│ │ └── image_sub.py # 画像購読スクリプト
│ ├── src_20250920_143626/ # ソースのバックアップディレクトリ(タイムスタンプ付き)
│ ├── CMakeLists.txt # パッケージのビルド設定
│ ├── package.xml # パッケージのメタデータと依存関係
│ └── readme.md # 説明ドキュメント
プロジェクト事例
- ビジョン画像トピックの設計
- ビジョン画像トピックの購読
- 視覚による色追跡の設計
- 視覚による色追跡の実験
情報交換の場
資料のダウンロード・技術サポートについては、HumansX株式会社までお問い合わせください。
ドキュメント