実行時(私がroslaunchを呼び出すとき)、既知のディレクトリに新しいサブディレクトリを作成し、そのパスを2つの異なるノードにrosparam 。ros launchを使用してディレクトリを作成し、そのパスを別のノードに渡します。
.launchファイルを編集するにはどうすればよいですか?
たとえば、私は~/datacapture
というフォルダを持っています。 roslaunchを使用するたびに、現在の時刻(つまり~/datacacpture/20161129_1352/
)に基づいてサブディレクトリを作成し、それをrosparamsを使用していくつかのノードに渡したいとします。
さらに、私が何をしたいのか、ここでは一例roslaunchファイルで説明するために:私はそれが見えるようにしたいどのような
<launch>
<node
name="node_A"
pkg="pkg_A"
type="A"
output="screen"
>
<param name="dataDumpFolder" value="???" />
</node>
<node
name="node_B"
pkg="pkg_B"
type="B"
output="screen"
>
<param name="dataDumpFolder" value="???" />
</node>
</launch>
はこれです:これは、任意のは不可能である
<launch>
#1) create a new folder using current date.
#2) pass it's filepath into a variable. let's call the variable, NEW_FOLDER_FILE_PATH
<node
name="node_A"
pkg="pkg_A"
type="A"
output="screen"
>
<param name="dataDumpFolder" value="NEW_FOLDER_FILE_PATH" />
</node>
<node
name="node_B"
pkg="pkg_B"
type="B"
output="screen"
>
<param name="dataDumpFolder" value="NEW_FOLDER_FILE_PATH" />
</node>
</launch>
適切な名前のフォルダを作成し、[パラメータ化された起動ファイル]で 'roslaunch'を呼び出すシェルスクリプトを書く方が簡単です(http://wiki.ros.org/roslaunch/XML/arg)。 – mikkola