Skip to content

Commit d21b30c

Browse files
committed
Formatting fixes.
Distribution Statement A; OPSEC #2893 Signed-off-by: matthew.lanting <[email protected]>
1 parent 879e23e commit d21b30c

File tree

1 file changed

+9
-10
lines changed

1 file changed

+9
-10
lines changed

articles/152_roslaunch_multi_machine_launch.md

+9-10
Original file line numberDiff line numberDiff line change
@@ -93,21 +93,20 @@ The `LaunchServer` is responsible for things such as setting environment variabl
9393
Remote machines will need to be made aware of any environment changes that are in-scope for nodes that they will be executing, and events may need to be handled across machines.
9494

9595
One approach would be to add logic to the launch system allowing it to group `LaunchDescriptionEntities` containing the necessary actions and substitutions for successfully executing a node remotely, spawning a LaunchService on the remote machine, serializing the group of entities and sending them to the remote machine to be processed.
96-
This could turn out to be a recursive process depending on how a launch file creator has nested `LaunchDescriptionEntities` (which can themselves be `LaunchDescriptions`).
96+
This could turn out to be a recursive process depending on how `LaunchDescriptionEntity`'s are nested.
9797
Additional logic will be needed to detect cases where event emission and listener registration cross machine boundaries, and helper objects can be generated to forward events over the wire so handlers on other machines can react appropriately.
9898

99+
LaunchServers would be the components with which the command line tools interact and need to have channels exposing information about the processes they've started, and for receiving user commands.
100+
99101
### Define Remote Execution Mechanisms on a Per-Machine Basis
100102

101-
Historically, ROS1 launched nodes by using `ssh` to connect to a remote machine and execute processes
102-
on it. This is still a reasonable way of doing it and is the expected remote execution mechanism in most
103-
environments.
103+
Historically, ROS1 launched nodes by using `ssh` to connect to a remote machine and execute processes on it.
104+
This is still a reasonable way of doing it and is the expected remote execution mechanism in most environments.
104105

105-
Some hosts or environments may use a different mechanism, such as Windows Remote Shell on Windows hosts
106-
or `kubectl` for Kubernetes clusters. There will be an abstract interface for remote execution mechanisms;
107-
it will be possible to write custom implementations that use arbitrary mechanisms, and the launch system
108-
can be configured to decide which mechanism to use on a per-machine basis. When a launch system is run,
109-
information about all of the nodes assigned to a machine will be passed to the remote execution mechanism
110-
implementation so that it can execute them appropriately.
106+
Some hosts or environments may use a different mechanism, such as Windows Remote Shell on Windows hosts or `kubectl` for Kubernetes clusters.
107+
There will be an abstract interface for remote execution mechanisms;
108+
it will be possible to write custom implementations that use arbitrary mechanisms, and the launch system can be configured to decide which mechanism to use on a per-machine basis.
109+
When a launch system is run, information about all of the nodes assigned to a machine will be passed to the remote execution mechanism implementation so that it can execute them appropriately.
111110

112111
## Proposed Multi-Machine Launch Command Line Interface
113112

0 commit comments

Comments
 (0)