Skip to content

つくばチャレンジ選択課題C 3次元点群データのみを使用した経路封鎖看板の検出アルゴリズム

License

Notifications You must be signed in to change notification settings

Yutarop/sign_detection

Repository files navigation

ROS2-humble Industrial CI README in English

つくばチャレンジ選択課題C

つくばチャレンジ選択課題Cで使用される経路封鎖看板を検出するアルゴリズムのROS2パッケージです。このアルゴリズムは、3D LiDARから得られるポイントクラウドデータと反射強度のデータのみを使用します。まず、入力されるPointCloud2メッセージを処理し、距離と角度に基づいてポイントをフィルタリングします。その後、DBSCANを使用してクラスタリングを行い、初期位置合わせとICPアルゴリズムを用いて、テンプレートポイントクラウドとクラスタをマッチングします。

機能

  • pcd_segment_obsトピックからPointCloud2メッセージをサブスクライブします。
  • ポイントを距離(0.5m〜4m)、角度(10°〜170°)、および輝度(>= 130)でフィルタリングします。
  • DBSCANを使用してポイントクラウドデータをクラスタリングします。
  • クラスタを事前に定義されたテンプレートポイントクラウドとICPでマッチングします。
  • フィルタリングされたポイントクラウドデータをfiltered_pointcloud2トピックにパブリッシュします。
  • マッチングのフィットネススコアが0.8を超える場合に検出イベントをターミナルに記録します。

パラメータ

トピック名:

  • 入力:pcd_segment_obs
  • 出力:filtered_pointcloud2

フィルタリングパラメータ:

  • min_distance:0.5メートル
  • max_distance:4メートル
  • min_angle:10度
  • max_angle:170度
  • min_intensity:130

DBSCANパラメータ:

  • eps:0.7(クラスタリング半径)
  • min_samples:3(クラスタごとの最小ポイント数)

ICPマッチング:

  • フィットネス閾値:0.8(検出成功の基準)

使用方法

リポジトリをクローンする

cd ~/ros2_ws/src
git clone git@github.com:Yutarop/sign_detection.git

依存関係のインストール

cd ~/ros2_ws/src/sign_detection
pip install -r requirements.txt

ワークスペースのビルド

cd ~/ros2_ws
colcon build --packages-select sign_detection

ノードの実行

source ~/ros2_ws/install/setup.bash
ros2 run sign_detection sign_detection

bagファイルで実験

依存リポジトリのクローン

cd ~/ros2_ws
vcs import src < sign_detection.repos

bagファイルの実行

cd ~/ros2_ws/src/sign_detection/bag
ros2 bag play example.bag

launchファイルの実行

ros2 launch sign_detection sign_detec.launch.xml

ノードの実行

ros2 run sign_detection sign_detection

デモ

example

About

つくばチャレンジ選択課題C 3次元点群データのみを使用した経路封鎖看板の検出アルゴリズム

Topics

Resources

License

Stars

Watchers

Forks

Languages