はじめに
こんにちは、しがない高校生をしているbasalteと申します
今回はRealSenseでARタグを読み込むサンプルを作ってみたという記事になります。
動機
最近ロボットのためのコーディングをしていてARタグが必要になるタイミングがあったのですが、現在有名なArUcoというライブラリが使えず、困っていました。
というのも、ArUcoは依存しているOpenCVのバージョンが少し古く、環境のNumpyやその他Pythonパッケージとバッティングしてしまい、ArUcoを一筋縄では使えない状況に陥ってしまいました。
これはROS2 ユーザーや最新に近いバージョンを利用しているROSユーザーなどにとってだいぶ問題で、自分以外の人も困っているという話を聞きました。
そんな時に見つけたのがこちらの高橋さんのリポジトリです。
これをRealSense化とROS2化すればだいぶ楽になると思いサンプルを制作しました。
ROS2で動かしたときの画像です。(本来ならARマーカーはRealSenseなくても距離出せますが、まぁ愛嬌ということで...)
制作物
上のリポジトリを参考にRealSense向けに実装したものがこちらです。
https://github.com/basalte1199/terrainshare_new
自分が新たに書いたところはあまり多くないのですが、RealSenseで動作するサンプルと、ROS2で動作するサンプルが作れたと思います。
動作環境:
ar_tag_realsense.py - Windows11 Anaconda Python 3.11.1
ar_tag_realsense_ros2.py - Ubuntu22.04 ROS2 Humble
ROS2の方で使用しているRealSenseのRGBD topicについてはこちらに詳しい解説があります。(Ar-Rayさんの神記事です。)
ちなみに
terrainshare_new.py
というプログラムはこちらの記事で解説している作品になります。(同じリポジトリにあるということはつまり統合の計画が...お楽しみに。)
おわり
今回は特に解説することもなく、ただ制作したリポジトリを紹介しただけでした。
これでARタグの認識のためにOpenCV依存に悩まされることもなくなったかと思います。
見てくださりありがとうございます!