We are building repositories of open-source products for robot manipulation. Help us build it! Use the Google form linked above to submit an open-source product or give us feedback on how it's organized by joining the COMPARE Slack workspace linked at the bottom of the page!
Relevant COMPARE Slack Channel: #software
Latest update: 11/24/25
Latest update: 5/14/25
Latest update: 10/14/25
Latest update: 9/23/25
The COMPARE Ecosystem aims to improve the accessibility, modularity, and benchmarking of open-source software components and pipelines, lower the barrier to integration, and enhance reproducibility, by standardizing with ROS 2. We are working to develop guidelines that specify modularization practices at the component-level for individual modules (e.g., perception, grasp planning, motion planning) and integrations of components that form robot manipulation capabilities at the pipeline-level. These guidelines are developed through a 5 step process:
Characterize open-source components: Define set of relevant parameters for each type of software component to determine commonalities (see the various repositories linked above for software components under development).
Investigate existing modular pipelines: e.g., SceneReplica has pipelines in ROS 1 for model-based and model-free grasping with modular perception and grasp planning.
Develop new modular pipelines: Develop ROS 2 wrappers for open-source components to make those components modular in a pipeline, implementing in ROS 2 Jazzy – or the latest long-term support (LTS) release.
Conduct side-by-side benchmarking: Benchmark pipelines of modular components – variable perception and grasp planning, fixed motion planning – following a picking in clutter protocol (e.g., ManipulationNet: Grasping in Clutter Task, SceneReplica)
Glean best practices and lessons learned: Draft proposed guidelines and iteratively share with COMPARE community.
COMPARE is standardizing on implementing open-source components in ROS 2 Jazzy to increase their accessibility and modularity such that they can function in a pipeline. Four methods of making components modular, in order of preference:
Using a ROS 2 wrapper, if underlying library is compatible with Ubuntu 24.04.
Using a ROS 2 wrapper + subprocess bridge, if underlying library is not compatible with Ubuntu 24.04.
Using a ros1_bridge, if a ROS 1 wrapper already exists and a dedicated machine for the ros1_bridge is available.
Updating the underlying library of the open-source component, then using a ROS 2 wrapper, if the other criteria isn't met and you are the original developer of the open-source component.
To wrap functionality in ROS 2, the following elements are required: custom message types, custom SRV file (i.e., service-message definition), and service server or node which wraps the underlying library for the component. Using the subprocess bridge method involves developing a lightweight ROS 2 node to provide a ROS 2 service that, upon receiving a request from a ROS 2 client, launches a Python subprocess to run one or more scripts inside a Docker container. The subprocess output (e.g., segmentation results, grasp poses) is returned as a Python file that is parsed by the ROS 2 server and returned to the client as SRV response. See below for examples of a perception component - Unseen Object Clustering (UOC) - and a grasp planner component - Contact-GraspNet (CGN):
Sample architectures for ROS 2 wrappers with subprocess bridge for a perception component (left) and grasp planner component (right).
There are many different options to integrate multiple components into a pipeline to execute a task for testing functionality or benchmarking, all of which can use the same core set of components with ROS 2 wrappers:
A core set of components in ROS 2 (e.g., perception, grasp planning, motion planning) able to be integrated using a variety of different pipelines.
Example pipeline methods include:
Script-driven: Running a series of scripts with arguments in a terminal window.
FlexBE: A high-level behavior engine for ROS that is designed to ease the development and execution of complex robotic behaviors through the use of Hierarchical Finite State Machines (HFSMs).
MoveIt Pro: PickNik's developer platform and SDK that includes advanced algorithms for robot arm motion planning, control, grasping, and computer vision.
OmniGraph: NVIDIA Omniverse's visual programming environment that provides a graph framework to connect functions from multiple systems.
Simulink: MathWorks' block diagram environment used to design systems, simulate before moving to hardware, and deploy without writing code.
While the current focus of COMPARE is on “traditional” pipelines - defining classes of components that can be used (e.g., perception, object selection, grasp planning, motion planning, and control) and their salient parameters relevant to integration - we are also considerate of pipelines driven by foundation models, including those that can have a level of modularity (VLM-based) and those that do not (VLAs), to ensure effective integration and comparison benchmarking:
Types of pipeline architectures with example components.
Updates on our activities to develop these guidelines will be posted here as progress is made. Some of our activities to date can be reviewed here:
Adam Norton, Kostas Bekris, Berk Calli, Aaron Dollar, Brian Flynn, Ricardo Digiovanni Frumento, Shambhuraj Mane, Daniel Nakhimovich, Vatsal Patel, Yu Sun, Holly Yanco, Huajing Zhao, and Yifan Zhu. Towards Developing Standards and Guidelines for Robot Grasping and Manipulation Pipelines in the COMPARE Ecosystem. 7th UK Robot Manipulation Workshop, Edinburgh, United Kingdom, January 2026.
Huajing Zhao, Brian Flynn, Adam Norton, and Holly Yanco. Towards Developing Standards and Guidelines for Robot Grasping and Manipulation Pipelines in the COMPARE Ecosystem. In Proceedings of the AAAI Fall Symposium 2025 on Unifying Representations for Robot Application Development (UR-RAD), Arlington, Virginia, November 2025. Best Paper Award.
Brian Flynn, Kostas Bekris, Berk Calli, Aaron Dollar, Adam Norton, Yu Sun, and Holly Yanco. Developing Modular Grasping and Manipulation Pipeline Infrastructure to Streamline Performance Benchmarking. IEEE ICRA 2025 Workshop on Robot Software Architectures (RSA25), Atlanta, GA, USA, May 2025.