YARP and ROS 2 GenICam middleware for visual servoing applications
Abstract
Service and humanoid robots rely on dependable visual perception systems, commonly built around industrial cameras that expose heterogeneous connectivity protocols such as USB3 Vision and GigE Vision. This work presents an acquisition middleware for cameras compliant with the GenICam standard, implemented as a YARP device written in C++ on top of the Aravis library. The device exports the standardized YARP interfaces for image acquisition and parameter control, such as exposure or gain, publishing them simultaneously over the YARP and ROS 2 networks through the corresponding network wrappers. This dual exposure allows the same hardware abstraction to be reused on two platforms with distinct ecosystems; the TEO humanoid robot, natively integrated in YARP, and the TIAGo mobile manipulator, based on ROS 2. This was accompanied by a graphical control interface and a demonstration of visual servoing guided by ArUco markers.