This is the Intel RealSense SDK 2.0 (librealsense), a cross-platform C++ library for controlling and streaming data from Intel RealSense depth cameras (D400, D500 series). It provides a unified API for depth, color, infrared, and IMU streams, with hardware abstraction layers for USB (libusb, WinUSB, USBHost), UVC, HID, MIPI, and DDS (Data Distribution Service) network transport. The SDK includes a rich processing pipeline with composable filters (alignment, point cloud generation, decimation, temporal/spatial filtering, HDR merge, colorization) and supports GPU acceleration via CUDA, HIP, OpenGL, and NEON SIMD. It is not a single application but a library with multiple end-user tools (RealSense Viewer, firmware updater, ROS bag converter, DDS adapter, REST API server) and extensive language wrappers for Python, C#, Java/Android, Unity, Unreal Engine, MATLAB, OpenCV, and OpenNI2. The codebase is well-engineered with a modular architecture, extensive unit/integration tests (including live hardware tests), and a comprehensive build system (CMake with vendored third-party dependencies). While the core is actively maintained and demonstrates strong craftsmanship, the large surface area of wrappers and vendored dependencies introduces some technical drift (e.g., outdated ROS Kinetic generated headers, old Unity project version).
This repository provides the ROS 2 Middleware (RMW) implementation for eProsima Fast DDS, a high-performance DDS (Data Distribution Service) implementation. It translates the standard ROS 2 RMW API (publish, subscribe, services, clients, events) into Fast DDS operations, enabling ROS 2 nodes to communicate over DDS. The codebase is structured into three packages: `rmw_fastrtps_cpp` (static typesupport using compile-time code generation), `rmw_fastrtps_dynamic_cpp` (runtime introspection-based typesupport), and `rmw_fastrtps_shared_cpp` (shared logic for both variants). It supports advanced features such as content-filtered subscriptions, loaned messages, zero-copy data sharing via buffer backends (including GPU offloading), DDS security (PKI-DH, AES-GCM, access control), and comprehensive QoS mapping. The architecture follows a layered design where the shared package contains the core RMW implementations, and the two variant packages provide thin wrappers that differ only in how type support is resolved. This is a foundational infrastructure package for ROS 2, not an end-user application; it is selected at runtime via the `RMW_IMPLEMENTATION` environment variable.