Stereo Cameraの最近のブログ記事

Single USB Stereo Camera を試す。

Single USB Stereo Camera を試す。

OAK-D-Lite が、rtabmap_ros with Depth Camera で、役立たないので、
最近購入した、HBV-1780-2 S2.0 を 使ってみました。
当初、使い方が判らなかったので、困りました。

Web で検索して、画像サイズの指定のしかたで、
1画像に、Stereo 画像の、左右を一緒に Capture して送って来るみたいです。
640x240 -> 320x240 Stereo

下記に、記述がありました。
https://www.programmersought.com/article/17263978832/

Python のサンプルも、下記にありました。

ROS rtabmap_ros 自作 Stereo Camera #2

ROS rtabmap_ros 自作 Stereo Camera #2.

ROS rtabmap_ros 自作 Stereo Camera に続いて、
今回は、rtabmap_ros/Tutorilas/SetupOnYourRobot 2.9 Stereo Bを、
自作 Stereo カメラ向けに、アレンジして、試してみます。
と言うのも、 rtabmap_ros/Tutorials/StereoOutdoorMapping で使われている構成のようなので。

開発環境
PC: Ubuntu Mate 18.04
ROS : Melodic
USB Camera: Logi Cool C270 x 2

1. 自作 USB ステレオカメラ のセットは、ROS rtabmap_ros 自作 Stereo Camera をご覧下さい。

ROS rtabmap_ros 自作 Stereo Camera

ROS rtabmap_ros 自作 Stereo Camera.

rtabmap_ros Tutorial で、Stereo カメラが使える とあるので、自作の Stereo Camera でも大丈夫なのか試してみました。

手元に、Logi Cool の USB カメラ C270 が1個あったので、急遽、もう一本買ってきてためしてみます。
始める前に、rtabmap_ros のパラメータで、
Kp/DetectorStrategy=6 (GFTT/BRIEF)
Vis/FeatureType=6 (GFTT/BRIEF)
がデフォルト設定になっています。これは、OpenCV に contrib を組み込まないと使えない事のようです。
introlab/rtabmap_ros
Kp/DetectorStrategy=8 (GFTT/ORB)
Vis/FeatureType=8 (GFTT/ORB)
だと、contrib は、必要ないです。
後述のドリフトの件は、デフォルトの 6(GFTT/BRIEF) を使っていた所為かもしれません。by nishi 2021.12.11

注1) 後日、改めて、新品を追加購入して、新品の C270n X 2 にしました。
古い C270 と新しい、C270n とでは、色の具合ちょっと異なりました。新しい C270n で揃えると、左右の色が同じになりました。
この違いが、後の、StereoCamera のキャリブレーションと、stereo_image_proc の結果に大きく影響してきます。
自作 StereoCamera を試す時は、必ず同じロットの C270n を2個揃えて下さい。
Rviz の strereo_camera/point2/PointCloud2 の表示で驚く程違いがでます。by nishi 2021.10.24

注2) 左右USBカメラの間隔は、空けないで、隣合わせで取り付けて下さい。by nishi 2021.10.26
間隔 無し=2[mm] で、レンズ間隔=7.3[cm] となって、Rviz の Stereo_camera/PointCloud2 の映像で最短焦点距離は、
57[cm] になりました。
以前は、レンズ間隔が、9.2[cm] でした、その時の最短焦点距離 70[cm] でした。
最短焦点距離 70[cm] で、rtabmap_ros でロボットカーを部屋の中で動かすと、近くの物体が認識出来なくて、
動作が不完全でした。
最短焦点距離を、57[cm] にして、なんとか、部屋の中で、rtabmap_ros でロボットカーを動かせるようになりました。
しかし欲を言えば、もっと短い方が良いです。できれば、最短焦点距離 35[cm] 程が良い様です。

注3) カメラの取り付けは、とにかく正確に!!
cameracalibrator.py で、左右のカメラ映像を見比べて、上下のズレ、傾きを限りなく Zero にしてください。

注4) 上記設定とStereoCamera キャリブレーションがうまく行けば、Rviz で StereoCamera/PointCloud2 を表示して、
カメラの後方からみてみると、結構きれいに表示されます。

注5) 結論を言えば、C270 は、カメラ間隔を狭められなくて、画角も狭い(55度) なので、stereo_image_proc を通した、最短焦点距離が、57[cm] 迄しか短くできない。
なので、部屋の中で、自作 Stereo_camera & rtabmap_ros を試すには、適切ではありません。
部屋の中で試すなら、最短焦点距離を短くできる、もっと画角が広くて、カメラの間隔を狭められるカメラをお勧めします。
Jetson Nano 4G、Raspberry pi 4 であれば、CSI カメラを2個繋げられるので、そちらの方が、簡単に、最短焦点距離の短い Stereo Camera を作れると思います。
画角は、80度以上が必要です。

注6) やはり、ロボットに乗せて、rtabmap_ros で使うのであれば、市販のStereo Camera、Depth Camera
を購入したほうが賢明です。

開発環境
PC: Ubuntu Mate 18.04
ROS : Melodic
USB Camera: Logi Cool C270 x 2

1. USBカメラの動作確認。
1個の場合。
PC に USB カメラを挿して、
$ lsusb
...
Bus 003 Device 009: ID 046d:0825 Logitech, Inc. Webcam C270
...
を、確認します。表示されなければ、
$ sudo update-usbids
行います。
OK であれば、

このアーカイブについて

このページには、過去に書かれたブログ記事のうちStereo Cameraカテゴリに属しているものが含まれています。

前のカテゴリはSipeed MAixです。

次のカテゴリはTensorFlowです。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

カテゴリ

ウェブページ

サイトナビ