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