Zur Laufzeit (wenn ich Roslaunch aufrufen), ich möchte ein neues Unterverzeichnis in einem bekannten Verzeichnis erstellen, und diesen Pfad an zwei verschiedene Knoten als rosparam übergeben .Verwenden Sie ros Start, um ein Verzeichnis zu erstellen und dann den Pfad zu verschiedenen Knoten
Wie kann ich meine .launch-Datei bearbeiten, um dies zu tun?
Zum Beispiel habe ich den Ordner ~/datacapture
. Immer wenn ich roslaunch benutze, möchte ich ein Unterverzeichnis basierend auf der aktuellen Zeit erstellen (zB ~/datacacpture/20161129_1352/
) und dieses mit rosparams an ein paar Knoten übergeben.
Um zu erklären, was ich hier tun möchte, ist ein Beispiel roslaunch Datei:
<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>
Was ich will es wie dies aussehen:
<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>
Es scheint ein einfacherer Weg zu sein, ein Shell-Skript zu schreiben, das den Ordner mit einem passenden Namen erstellt, und dann 'roslaunch' auf einer [parametrisierten Startdatei] (http://wiki.ros.org/roslaunch) aufruft/XML/arg). – mikkola