YARP stands for Yet Another Robot Platform. What is it? If data is the bloodstream of your robot, then YARP is the circulatory system.
More specifically, YARP supports building a robot control system as a collection of programs communicating in a peer-to-peer way, with a family of connection types (tcp, udp, multicast, local, MPI, mjpg-over-http, XML/RPC, tcpros, ...) that can be swapped in and out to match your needs. We also support similarly flexible interfacing with hardware devices. Our strategic goal is to increase the longevity of robot software projects [1].
YARP is not an operating system for your robot. We figure you already have an operating system, or perhaps several. Nor does it do package management (we like the package managers we have). We're not out for world domination. It is easy to interoperate with YARP-using programs without yourself necessarily having to use YARP -- see the YARP without YARP tutorial. YARP is written in C++, with a core that uses no external libraries, not even the standard template libraries, with the exception of a small portion of ACE for portability (and this portion can easily be embedded). YARP is free and open, under the LGPL (*).
Getting set up:
Programming:
Highlights:
More information:
YARP resources:
Related links:
[1] Towards Long-Lived Robot Genes. Paul Fitzpatrick, Giorgio Metta, and Lorenzo Natale. Robotics and Autonomous Systems, 56(1):29-45. Online at http://eris.liralab.it/yarp/media/humantech07towards.pdf
(*) Certain optional plugin devices, carriers, or libraries are under the GPL.
1.7.1