11
4

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講座33 車輪ロボットを作る1(rvizで表示)

Last updated at Posted at 2018-07-29
項目
CPU Core i5-8250U
Ubuntu 20.04
ROS Noetic
Gazebo 11.9.0

インストールについてはROS講座02 インストールを参照してください。
またこの記事のプログラムはgithubにアップロードされています。ROS講座11 gitリポジトリを参照してください。

概要

Gazeboでシミュレーションした車輪ロボットをRvizで表示してみます。まずは第1弾としてロボットの形をurdfで記述して表示します。

ソースコード

gazebo1_lecture/urdf/wheel_robot_simple.urdf
<?xml version="1.0"?>
<robot name="dtw_robot">
  <material name="gray">
    <color rgba="0.5 0.5 0.5 1.0"/>
  </material>
  <material name="red">
    <color rgba="1.0 0.0 0.0 1.0"/>
  </material>

  <link name="base_link"/>

  <joint name="body_joint" type="fixed">
    <origin xyz="0 0 0.1" rpy="0 0 0" />
    <parent link="base_link"/>
    <child  link="body_link"/>
  </joint>
  <link name="body_link">
    <visual>
      <origin xyz="-0.1 0 0" rpy="0 0 0" />
      <geometry>
        <box size="0.4 0.3 0.1" />
      </geometry>
      <material name="gray" />
    </visual>
  </link>

  <joint name="back_ball_joint" type="fixed">
    <origin xyz="-0.23 0 -0.05" rpy="0 0 0" />
    <parent link="body_link"/>
    <child  link="back_ball_link"/>
  </joint>
  <link name="back_ball_link">
    <visual>
      <geometry>
        <sphere radius="0.05" />
      </geometry>
      <material name="gray" />
    </visual>
  </link>

  <joint name="left_wheel_joint" type="fixed">
    <origin xyz="0 0.18 0" rpy="-1.5707 0 0" />
    <parent link="body_link"/>
    <child  link="left_wheel_link"/>
  </joint>
  <link name="left_wheel_link">
    <visual>
      <geometry>
        <cylinder length="0.04" radius="0.072" />
      </geometry>
      <material name="red" />
    </visual>
  </link>

  <joint name="right_wheel_joint" type="fixed">
    <origin xyz="0 -0.18 0" rpy="-1.5707 0 0" />
    <parent link="body_link"/>
    <child  link="right_wheel_link"/>
  </joint>
  <link name="right_wheel_link">
    <visual>
      <geometry>
        <cylinder length="0.04" radius="0.072" />
      </geometry>
      <material name="red" />
    </visual>
  </link>
</robot>
  • Gazeboで使用するSDFモデルを同様のリンクの構成にします。
  • 物理演算に必要な重さなどの要素は必要ありません。
  • タイヤのlinkとつながるjointは本来は回転するジョイントですが、ROSのレイヤーではこの回転は扱わないので、urdfではfixedで記述します。
gazebo1_lecture/launch/wheel_robot_simple_rviz_only.launch
<?xml version="1.0" encoding="UTF-8"?>
<launch>
  <arg name="model" default="$(find gazebo1_lecture)/urdf/wheel_robot_simple.urdf"/>   
  <arg name="rvizconfig" default="$(find gazebo1_lecture)/rviz/wheel_robot_simple.rviz" />
  <param name="robot_description" command="$(find xacro)/xacro $(arg model)"/>

  <node name="robot_state_publisher" pkg="robot_state_publisher" type="robot_state_publisher" />
  <node name="rviz" pkg="rviz" type="rviz" args="-d $(arg rvizconfig)" required="true" />
</launch>

実行

上記のurdfをRvizで表示します。
各ターミナルごとに実行前にsource ~/catkin_ws/devel/setup.bashを実行する必要があります。

実行
roslaunch gazebo1_lecture wheel_robot_simple_rviz_only.launch 

gazebo1_wheel4.png

参考

urdfの書き方

目次ページへのリンク

ROS講座の目次へのリンク

11
4
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
11
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?