[ros-users] Current state of SMACH in ROS

Markus Klotzbuecher markus.klotzbuecher at mech.kuleuven.be
Fri Feb 17 09:47:37 UTC 2012


On Thu, Feb 16, 2012 at 06:40:01PM -0500, Dantam, Neil T wrote:
> Ingo Lütkebohle wrote:
> > I'd also be interested in what people expect in coordination
> > currently. My personal impression is that frameworks based on
> > state machines are a great start in formalizing this aspect,
> > but they have scalability limits. This is probably also the
> > limit for SMACH, as it currently stands. In other words, I
> > think the problem for SMACH is not so much that it is not
> > developed further, but that it is unclear in what direction to
> > develop it.
> >
> >  * Early on, state-machines of various forms were the dominant
> >  approach for realizing coordination, but, as mentioned above,
> >  that alone is not sufficient.
> 
> For a formal take, some other representations often used for
> concurrent systems are the Basic Process Algebra (BPA) and Petri
> Nets.  I think I've read the BPA is equivalent to Context-Free
> grammars (CFG) though more convenient for expressing concurrency,
> but I haven't thought through the transformation myself.  Petri
> nets are kind of a "sibling class" of CFGs in the hierarchy of
> formal languages.  Both are supersets of Regular models like
> finite state machines and both are subsets of the
> Context-Sensitive languages.

But it should be noted that these representations are typically
suitable to model concurrency assuming communication is reliable and
deterministic, but they fall short otherwise.␇For robust multi-robot
Coordination that has to satisfy real-time constraints it is necessary
to take into account the properties of communication (Hence rFSM let's
you choose the right communication)

> The chosen representation will limit the class of systems that one
> can describe and verify, though typically the more one can
> describe, the less one can verify.  Regular models like FSMs get
> a lot of use, probably because they are easy to understand, and
> the algorithms for working with them are simpler.  However, if

Indeed. A good Coordination model is not purely defined by its formal
expressivity, but also by its amenability for humans to understand.

> FSMs do run out of steam for a given application, there are some
> other existing formal representations which may be suitable.

Can you elaborate on this? How do you define "running out of steam"
and what formal representations can cope with these situations?

Best regards
Markus






More information about the ros-users mailing list