LLMpediaThe first transparent, open encyclopedia generated by LLMs

YARP

Generated by GPT-5-mini
Note: This article was automatically generated by a large language model (LLM) from purely parametric knowledge (no retrieval). It may contain inaccuracies or hallucinations. This encyclopedia is part of a research project currently under review.
Article Genealogy
Parent: Robot Operating System Hop 5
Expansion Funnel Raw 98 → Dedup 0 → NER 0 → Enqueued 0
1. Extracted98
2. After dedup0 (None)
3. After NER0 ()
4. Enqueued0 ()
YARP
NameYARP
DeveloperMicrosoft Research
Initial release2009
Programming languageC++
Operating systemWindows, Linux
LicenseMIT

YARP is an open-source middleware framework designed for modular, robot-centric interprocess communication and device integration. It provides a flexible set of libraries and tools to interconnect sensors, actuators, algorithms, and interfaces in distributed robotic systems. Influenced by trends in component-based architecture and robotics research, it emphasizes portability, real-time control, and interoperability across platforms and projects.

History

YARP emerged from research at Microsoft Research in the late 2000s, following advances in distributed systems from groups associated with Carnegie Mellon University, Massachusetts Institute of Technology, and Stanford University. Early adopters in robotics labs at Istituto Italiano di Tecnologia, University of Cambridge, and California Institute of Technology integrated YARP with projects inspired by work at NASA Jet Propulsion Laboratory, ETH Zurich, and Tokyo Institute of Technology. The framework evolved alongside initiatives such as Robot Operating System development, dialogues at the IEEE International Conference on Robotics and Automation, collaborations with Willow Garage, and experimental deployments in consortia including European Space Agency partners and the Defense Advanced Research Projects Agency. Subsequent releases incorporated lessons from middleware like CORBA, DDS, and ZeroMQ while aligning with standards from ISO and IEEE technical committees.

Architecture and Components

YARP's architecture centers on modular ports and carriers that enable message passing between processes, drawing conceptual parallels with systems developed at Bell Labs, Xerox PARC, and research from University of Oxford. Core libraries implement transport abstractions, threading models, and serialization utilities compatible with toolchains from Microsoft Visual Studio, GNU Compiler Collection, and Clang. Components include the port registry, name server, device drivers, and utilities for configuration management similar to patterns used in ROS 1, ROS 2, and L4Linux ecosystems. The design integrates with continuous integration and testing tools such as Jenkins, Travis CI, and GitHub Actions, and supports interoperability with messaging middleware like MQTT, AMQP, and gRPC through adapter modules.

Features and Functionality

YARP offers transparent interprocess communication, device abstraction, and dynamic discovery features comparable to capabilities demonstrated in projects from NASA, European Organization for Nuclear Research, and Siemens. It supports multiple transport protocols including TCP/IP, UDP multicast, shared memory, and in-process messaging, leveraging libraries from Boost, Poco, and OpenSSL for security. Real-time extensions permit integration with real-time kernels such as PREEMPT_RT, Xenomai, and QNX Neutrino, while logging and diagnostics follow practices from The Linux Foundation initiatives and tools like syslog, Prometheus, and Grafana. YARP includes device interfaces for cameras, inertial measurement units, and manipulators interoperable with stacks from Intel RealSense, NVIDIA Isaac, OpenCV, and drivers modeled after work at ABB Robotics and KUKA.

Implementations and Platforms

Implementations of YARP span operating systems and hardware architectures from desktop servers at Dell Technologies and HP Inc. to embedded platforms such as Raspberry Pi, NVIDIA Jetson, and industrial controllers from Siemens PLM and Beckhoff. It compiles with toolchains provided by Microsoft Visual Studio, MinGW, and Yocto Project build systems, and integrates with virtualization and container platforms including Docker, Kubernetes, and VMware ESXi. Research deployments have paired YARP with humanoid platforms like iCub, wheeled robots from Clearpath Robotics, aerial systems from DJI, and custom manipulators inspired by work at MIT CSAIL and Carnegie Mellon University Robotics Institute.

Use Cases and Applications

YARP is used in human-robot interaction, sensor fusion, teleoperation, and swarm coordination projects associated with labs at Imperial College London, EPFL, and University of Tokyo. Applications include assistive robotics for healthcare trials linked to Johns Hopkins University studies, industrial automation research with partners like General Electric, and field robotics experiments conducted with teams from University of Oxford and University of California, Berkeley. It supports prototyping for academic competitions such as the DARPA Robotics Challenge, the RoboCup consortium, and collaborative projects funded by the European Commission Horizon programs.

Community and Development

The YARP community comprises researchers, engineers, and contributors from institutions including Istituto Italiano di Tecnologia, University of Palermo, University of Manchester, and companies such as Microsoft and Sony Research. Development occurs on platforms like GitHub, with issue tracking, pull requests, and discussions mirrored in channels on GitLab and community forums used by members of IEEE Robotics and Automation Society. Contributors integrate YARP with ecosystems promoted at conferences like ICRA, IROS, and workshops organized by RSS and NeurIPS for cross-disciplinary collaboration. Educational use includes coursework at Politecnico di Milano, Scuola Superiore Sant'Anna, and summer schools sponsored by ERC grants.

Licensing and Governance

YARP is distributed under permissive licensing compatible with open-source projects from organizations such as Apache Software Foundation and Open Source Initiative guidelines, facilitating commercial and academic adoption across entities like Siemens, Schneider Electric, and startups incubated in accelerators associated with Y Combinator. Governance follows community-driven models seen in projects under The Linux Foundation and steering committee practices established at Apache Software Foundation, with contribution and code-of-conduct policies maintained in repositories hosted on GitHub and mirrored via SourceForge archives.

Category:Robotics middleware