Sha256: 70a43f58f293da1da9f48fb8811894b8608f68f04cebe48d1d97ee9ab73635f5

Contents?: true

Size: 1.89 KB

Versions: 6

Compression:

Stored size: 1.89 KB

Contents

{Previous tutorial}[link:files/doc/tutorials/05-ErrorHandling_rdoc.html]
= Overview of other Roby features

=== Transactions

Transactions are a central tool for plan modification in Roby. They are a
representation of a plan _modification_, i.e. of the changes that are necessary
to bring the plan which is being executed in a new, desired state. It is
therefore a safe tool for asynchronous plan modification and execution:

* the decision tools can build a new plan without taking into account the
  changes brought by execution
* the plan execution can safely assess if the new plans are still compatible
  with the built transactions, and refuse applying a transaction if it is not
  safe.

Ideally, a cooperation protocol should be implemented to properly handle
conflicting situations (where the transaction cannot be applied). For now, only
very crude means are used. This is one of the future evolutions of Roby.

Please refer to my PhD thesis for a more extensive presentation of this feature.

=== Multi-robot execution

All models presented here are valid in multi-robot systems. In particular, the
transactions tool allow to build cooperatively a new plan (something which may
take time) and apply the plan when a common ground has been found by all the
present systems.

The communication layer, as it is implemented for now, is only valid for
bi-robot systems. One of its most interesting features is that it does not take
the presence of a communication link for granted. It is possible for the two
robots to execute the parts of the plan that do not need communication, and to
diagnose the loss of communication (for instance, deciding that the joint plan
is not valid anymore after a given timeout). 

The communication layer extension to a true multi-robot setup is also for a
future evolution of Roby. It can be easily be done to a certain extent.
Reaching a full multi-robot plan execution would take more time.

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
roby-3.0.0 doc/tutorials/06-Overview.rdoc
roby-0.8.0 doc/tutorials/06-Overview.rdoc
roby-0.7.1 doc/tutorials/06-Overview.rdoc
roby-0.7.2 doc/tutorials/06-Overview.rdoc
roby-0.7 doc/tutorials/06-Overview.rdoc
roby-0.7.3 doc/tutorials/06-Overview.rdoc