まとめて起動するやり方
ROSチュートリアルの流れ
まとめて起動するやり方 ←今ここ
はじめに
独自のメッセージファイルの作り方では、作成したプログラムを起動するときにroscoreを立ち上げて、rosrun ros_tutorial time_pub2.py 、rosrun ros_tutorial timesub2.pyとそれぞれ起動していました。
しかし毎回これらのプログラムを立ち上げるのは手間です。 そこでROSにはまとめて起動することができるroslaunchというコマンドがあります。
この章では、roslaunchコマンドを使用して、まとめて複数のプログラムを起動するやり方について説明します。
詳しい説明や、他のROSコマンドについてはよく使用するROSコマンドを御覧ください。
launchファイルを書く
まずroslaunchコマンドで使用するlaunchファイルを書きましょう。 このlaunchファイルで起動するプログラムを指定することが出来ます。今回はtime_pub2.pyとtime_sub2.pyを指定します。
launchファイルはlaunchディレクトリの中に置きます。ない場合は作成しましょう。
roscd ros_tutorial
mkdir launchファイル名はdate.launchとします。
vim launch/date.launch<launch>
<node pkg="ros_tutorial" name="time_pub" type="time_pub2.py" />
<node pkg="ros_tutorial" name="time_sub" type="time_sub2.py" />
</launch>コード解説
<launch>
︙
</launch>起動するnodeはこの間に書きます。
<node pkg="ros_tutorial" name="time_pub" type="time_pub2.py" />
<node pkg="ros_tutorial" name="time_sub" type="time_sub2.py" />pkgは起動するパッケージ名、nameはノード名、typeはプログラム名を書きます。
実行
roslaunchコマンドで実行しましょう。
roslaunch ros_tutorial date.launch何もエラーを吐かなければ正常に立ち上がっています。
実行結果
roslaunchコマンドで立ち上げた場合、プログラム内のprintは表示されません。 そのためrostopicコマンドでトピックが動いているか確認しましょう。
rostopic list/Date_and_Time
/rosout
/rosout_aggrostopic echo /Date_and_Timedate: 20181120
time: 172953.60466
---
date: 20181120
time: 172953.7045
---
︙またプログラム内のprintで表示できる--screenという引数があります。
roslaunch ros_tutorial date.launch --screendate : 20181120 , time : 173715.503780
date : 20181120 , time : 173715.603760
date : 20181120 , time : 173715.701480
date : 20181120 , time : 173715.803500
date : 20181120 , time : 173715.902740
date : 20181120 , time : 173716.001930
date : 20181120 , time : 173716.101760
date : 20181120 , time : 173716.204750
︙Last updated
Was this helpful?