LoginSignup
0
1

More than 5 years have passed since last update.

ROS_12:基本 roslaunch

Last updated at Posted at 2016-05-29

roslaunch

robotを動かす時には複数のノードが必要です。それをまとめて動かすみたいです。

$ roslaunch [package] [filename.launch]

作り方

ROS Wikiの例を参考に

rosのパッケージのフォルダに移動

$ roscd beginner_tutorials

launchというフォルダを作成して移動

$ mkdir launch
$ cd launch

turtlemimic.launch というファイルを作成

<launch>

  <group ns="turtlesim1">
    <node pkg="turtlesim" name="sim" type="turtlesim_node"/>
  </group>

  <group ns="turtlesim2">
    <node pkg="turtlesim" name="sim" type="turtlesim_node"/>
  </group>

  <node pkg="turtlesim" name="mimic" type="mimic">
    <remap from="input" to="turtlesim1/turtle1"/>
    <remap from="output" to="turtlesim2/turtle1"/>
  </node>

</launch>

で、他の端末からturlesim1にTopicを送る

$ rostopic pub /turtlesim1/turtle1/cmd_vel geometry_msgs/Twist -r 1 -- '[2.0, 0.0, 0.0]' '[0.0, 0.0, -1.8]'

とturtlesimに送ったにも関わらず、両方のカメが動きます。

<group>タグは、グループを作る。
<node>タグは、ノードを動かす。 pkg属性でパッケージを指定。name属性で名前を指定(__name:=と同じ?)。type属性がノード名
<remap>タグはリマップですね。。
バックグラウンドで動いているみたいだからrosrun turtlesim turtle_teleop_keyは無理かなあ
<turtle1>と同じグループでよいと思うので、

  <group ns="turtlesim1">
    <node pkg="turtlesim" name="sim" type="turtlesim_node"/>
  </group>

  <group ns="turtlesim1">
    <node pkg="turtlesim" name="sim" type="turtlesim_node"/>
    <node pkg="turtlesim" name="key" type="turtle_teleop_key"/>
  </group>

にしてみる。。カメが1匹表示されないし動かない。。。やっぱり駄目っぽい。

ちなみに別で動かす時は、名前空間が追加されているのでリマップでPubliserの名前を変更する必要があるので、

$ rosrun turtlesim turtle_teleop_key /turtule/cmd_vel:=/turtlesim1/turtle1/cmd_vel

とする。

0
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
0
1