The PIM object stands for the “global system view” that makes centralized approaches more straightforward with respect to distributed ones. It realizes the idea of the robot team as a unique “robot system” with many degrees of freedom. For this reason, the PIM object provides the CP with
- A unified logical view of nodes, their number and types;
- Ubiquitous access to the state of each node: each logical node contains the “latest copy” of the physical node state (e.g. position, velocity). Such state is updated each time the CP visits the physical robot. Provided that the CP visits each node frequently enough, the outcome is that the coordination algorithm can reason on the most recent global view of the system. Such an abstraction is possible thanks to a purpose-built caching mechanism, which allows deferred read and write operations transparently to the CP and minimizes the amount of state that the CP has to carry with itself at each migration.
Caching mechanism proposal
The purpose of the cache mechanism is derived from CPU cache memories in computer systems. In order to realize the illusion of the CP being everywhere anytime, any operation performed on a Node object must pass through the caching mechanism.
Node objects in the PIM are cached copies of the real robot/node state, refreshed each time the CP visits that node. However, not all parts of a physical node state can be carried along at each migration, because this would imply an arbitrarily big state size and thus a penalizing overhead on the overall performance of the team.