Yet Another Robot Platform communication library
YARP stands for Yet Another Robot Platform. It can be used more broadly as a flexible communication medium between processes and devices spread across a local network. Especially useful for inhomogeneous networks with a mixture of operating systems and compilers. Originally developed for large-scale humanoid robot projects such as COG, Kismet, and RobotCub, where many idiosyncratic devices need to be integrated into a single control system without there being any one OS that supports them all. The network-oriented approach fits modular robotics too, in project like Replicator, Symbrion, by the ability of YARP to reconfigure communication channels on-the-fly. YARP uses well-specified protocols across TCP, UDP, shared-memory, and multicast.