0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【ROS】sdfで配置を変更する方法

Posted at

目的

Gazebo内でカメラを使いたいと思い、sdfファイルからSensorPluginを使ってカメラを使用。
ロボットの任意の位置に配置し、ステレオ形式にしようかと思ったが一癖あったので、わかったことを書きます。

配置の仕方

<link>タグの中の<pose>タグでx,y,z,roll,pich,yawを指定することで任意の位置に配置することができます。
以下にプログラムをのせておきます。

<link name="left_head_camera_frame">
  <pose>0.032 0.1 0.3 0 0 0</pose>
  <inertia>
    <ixx>0.001</ixx>
    <ixy>0.000</ixy>
    <ixz>0.000</ixz>
    <iyy>0.001</iyy>
    <iyz>0.000</iyz>
    <izz>0.001</izz>
  </inertia>
  <sensor type="camera" name="left_head_camera">
    .
    .
    .
  </sensor>
</link>

<sensor>タグの中はこちら【1】を参照ください。

わかったこと

自分は物の配置は<joint>タグで可能だと思っていた。
しかし、<joint>タグはあくまでもTF構造を定義するのみであり、シミュレーター内の物理的な物の配置、姿勢を定義できない。

<joint>タグの役割

TF構造を定義するを定義するために<joint>タグを用いる。具体的には以下のタグを用いて定義する。

  • <parent>
    親リンク(親座標系)の名前を記入
  • <child>
    子リンク(子座標系)の名前を記入
  • <pose>
    親リンクにおける子リンク原点の位置
  • <axis>
    <xyz>タグでroll pich yawを指定

以下にプログラムをのせておきます。

<joint name="left_head_camera_joint" type="fixed">
    <parent>base_link</parent>
    <child>left_head_camera_frame</child>
    <pose>0.032 0.1 0.3 0 0 0</pose>
    <axis>
      <xyz>0 0 1</xyz>
    </axis>
</joint>

参照URL

【1】https://classic.gazebosim.org/tutorials?tut=ros_gzplugins

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?