Gazebo turtlebot3 burger stereo camera plugin

Gazebo Turtlebot3 Burger stereo camera plugin

Gazebo シュミレータの Turtlebot3 バーガーに、モノカメラ、マルチカメラ(ステレオカメラ)のプラグインを導入します。

参考にしたのは、下記ページです。
プラグインをマクロで記述するのは、下記ページが参考になります。
ROS講座67 車輪ロボットを作る7(カメラのシミュレーション)

開発環境
OS: Ubuntu Mate 18.04
ROS: melodic
開発ツール: Visual Studio Code

1. プラグイン作成の手順は、最近覚えたのですが、
1) urdf(xacro) で、 Rviz の表示で、プラグインの筐体とする、<link></link> と、
それを親link に接続する、<joint></joint> を作ります。
ここで、例えば、
カメラの筐体となる、ボックス型の link を定義します。
  box のサイズ、向き、色 の定義
joint タグで、その筐体ボックスを、親の筐体(リンク) のどこに配置するかを、
記述します。

2)  1) で作った<link name="xxxx"> の xxxx名 を指定して、<gazebo></gazebo> タグの中で、
<plugin name="xxxx" filename="yyyyy.so"></plugin> と言う様に、名前を一致させて、
filename="yyyyy.so" で、公開されているプラグインを指定して使います。

なおかつ、前述のサンプル、sim2_lecture/xacro/camera_macro.xacro は、
<xacro:macro name="camera_macro" params="parent prefix xyz"> は、マクロを
定義して、その中で、urdf の部分と gazeb の部分を同時に記述しています。

2. マルチカメラのプラグインのサンプルは、下記にあります。
No.6-6:GazeboをROSに繋ぐ (ROSにおけるGazeboのプラグイン 編)
>マルチカメラ
このページにも、プラグインの作り方があるので、参考になります。
この、ページの、サンプルコードを、
camera_macro.xacro に取り込んで、モノカメラ用とステレオカメラ用の2つのマクロを
作れば、便利です。

早速取り込んで作ってみます。
camera_macro.xacro

注1) カメラが少し下向きなので、上に向けました。by nishi 2022.7.10
<origin xyz="${xyz}" rpy="0 -0.02967 0"/> <!-- -1.7[deg] -->

3. gazebo/turtlebot3 burger への取り込み。
ここで、gazebo turtlebot3 のファイル構成をみてみます。
起動の流れ
$ roslaunch turtlebot3_gazebo turtlebot3_wolrd.launch

turtlebot3_simulation/turtlebot3_gazebo/launch/
  turtlebot3_world.launch が起動 launch で、
    |
turtlebot3/turtlebot3_description/urdf/
 turtlebot3_$(arg model).urdf.xacro が launchファイルからスポーンされます。
注) $(arg model) は、 burger, waffle, waffle_pi になる。

なので、今回の目標は、burger へのステレオカメラの導入なので、
turtlebot3_burger.urdf.xacro へ今回作成した、 camera_macro.xacro を
インクルードして、マクロコールしてあげれば、OK となります。

3.1 camera_macro.xacro ファイルを
~/catkin_ws/src/turtlebot3/turtlebot3_description/urdf/ へセット。

3.2 turtlebot3_burger.urdf.xacro の修正。
( ~/catkin_ws/src/turtlebot3/turtlebot3_description/urdf/turtlebot3_burger.urdf.xacro )
上記ファイルに、camera_macro.xacro をインクルードして、
<xacro:stereo_camera_macro...../>
を記述すれば、OKです。

4. 動作確認。
$ roscore

$ export TURTLEBOT3_MODEL=burger
$ roslaunch turtlebot3_gazebo turtlebot3_house.launch

$ rqt_image_view で確認
 /stereo_camera/left/image_raw
 /stereo_camera/right/image_raw

または、rviz で
$ rviz
add > by Topic > /streo_camera > lefft > image_raw - Image
add > by Topic > /streo_camera > right > image_raw - Image

どうぞね、上手くいったかね!

このブログ記事について

このページは、おんちゃんが2020年10月30日 16:36に書いたブログ記事です。

ひとつ前のブログ記事は「ubuntu mate 18.04 ros melodic で orb_slam_2_ros を試してみました。#2」です。

次のブログ記事は「Gazebo turtlebot3 burger Depth Camera plugin」です。

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

カテゴリ

ウェブページ

サイトナビ