LoginSignup
2
1

More than 3 years have passed since last update.

launchファイルからrostopic pubする

Posted at

launchファイルを起動するたびにロードしたいメッシュファイルなどのマーカがある場合,別のターミナルから rostopic pub を使ってpublishするのが面倒だったため,launchファイルに記述できないかを調査した.

環境

  • Ubuntu 18.04
  • ROS Melodic (rviz: 1.13.13-1bionic)

やりかた

pkg="rostopic", type="rostopic"args にJSONを指定すれば可能.このとき " で全体を括る必要がある.

launchファイルのサンプル

この例は, world 座標系に紐付けて球形(楕円体)のマーカをpublishする.見易さのためにインデントを付けているが,全て一行に記述しても問題はない.

なお,type の数字を変えることで別のジオメトリを表示することが可能.
http://wiki.ros.org/rviz/DisplayTypes/Marker

<?xml version="1.0"?>
<launch>
  <node name="rviz" pkg="rviz" type="rviz" />

  <node name="marker_publisher" pkg="rostopic" type="rostopic"
    args="pub -s /markers visualization_msgs/MarkerArray &quot;{
      'markers': [
        {
          'header': {
            'stamp': 'now',
            'frame_id': 'world',
            'seq': 0
          },
          'ns': 'sample',
          'id': 0,
          'type': 2,
          'action': 0,
          'pose': {
            'position': { 'x': 0.1, 'y': 0, 'z': 0.25 },
            'orientation': { 'x': 0, 'y': 0, 'z': 0, 'w': 1 }
          },
          'scale': { 'x': 1.5, 'y': 0.5, 'z': 0.5 },
          'color': {
            'r': 0.93, 'g': 0.67, 'b': 0.61, 'a': 0.75
          }
        }
      ]
    }&quot;" />
</launch>
2
1
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
2
1