Hi,
I know that launch order has been proposed before. But I also believe
that this feature is not necessary and should be kept out of
roslaunch. Topics are defined to not require a specific startup order,
you can start publishing or subscribe at any time you want. For
actions and services there are functions to wait for them to come up
if necessary and latched topics can be used to make sure that a node
receives the most recent data as soon as possible.
Adding startup dependencies will not only make the whole
implementation more complex. It's also not clear to me how to handle
for instance nodes that died. Should all nodes that depend on a dead
node also be shutdown? How to handle respawn then? How to actually
know when a node completed its startup procedure? I don't think that
extending the middleware to provide sort of a live-cycle state machine
is a good option here.
I think there were good reasons for not adding startup order and we
shouldn't change that. In particular because the design of the ros
middleware already provides means for startup synchronization if
really necessary on a node implementation level. Implementing nodes to
not require any startup order is not hard, so why complicating the
whole system?
Lorenz
> --
>
>
--
Lorenz Mösenlechner |
moes...@in.tum.de
Technische Universität München | Karlstraße 45
80335 München | Germany
http://ias.cs.tum.edu/ | Tel:
+49 (89) 289-26910