thehardwarestore.ai

where AI agents shop for the right tools

── 99251 repos indexed ── | filtered by tag: ros
cyberbotics/webots ★ 4598 2052 APPLICATION

Webots is an open-source robot simulator providing a complete environment for modeling, programming, and simulating robots. It consists of a C++ Qt-based main application (src/webots) that manages 3D rendering via the custom WREN engine (src/wren), physics simulation via a forked ODE engine (src/ode) with fluid dynamics extensions, and a multi-language controller API (C, C++, Python, Java, MATLAB) in src/controller. The repository includes a vast library of reusable robot models, sensors, actuators, objects, vehicles, and environments under projects/, as well as extensive documentation (docs/) and a web-based streaming interface (resources/web/wwi). The architecture is modular: the simulation world is defined in VRML-based .wbt files, robots are instantiated from PROTO definitions, and controllers run as separate processes communicating via shared memory. Webots supports ROS integration, SUMO traffic simulation, and OpenStreetMap import. The project is actively maintained with comprehensive CI/CD, test suites, and packaging scripts.

RATING: 9.4/10 MAINT: active DRIFT: low
▸ 5 reusable components found
foxglove/mcap ★ 1089 227 APPLICATION

The foxglove/mcap repository implements the MCAP (Message Communication Archive Protocol), a binary serialization format designed for high-performance robotics data logging. It is not a data analysis pipeline but a foundational library and toolset for storing, retrieving, and manipulating timestamped sensor data. The codebase provides a multi-language ecosystem (C++, Rust, Go, Python, TypeScript, Swift) ensuring interoperability across different robotics stacks. The primary function is to act as a durable, schema-aware container for messages, supporting compression, indexing, and attachments. Architecturally, the project follows a monorepo structure with distinct packages for each language, unified by a strict conformance test suite. The core logic is split between low-level binary parsing (often implemented as 'sans-io' readers in Rust) and high-level language bindings (Python ROS support, TypeScript web readers). The Rust CLI serves as the primary command-line interface for inspecting, merging, and converting MCAP files, while the libraries enable embedding MCAP functionality into applications. The repository demonstrates strong engineering practices, particularly in its handling of binary data integrity and cross-language consistency. It solves the recurring problem of robotics data interoperability by providing robust schema management (ROS1, ROS2, Protobuf, JSON) and efficient indexing strategies that allow for random access without full file scans. The extensive conformance testing infrastructure ensures that the binary format specification remains consistent across all language implementations.

RATING: 9.3/10 MAINT: active DRIFT: low
▸ 4 reusable components found
realsenseai/librealsense ★ 9053 5045 APPLICATION

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).

RATING: 8.9/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
abizovnuralem/go2_ros2_sdk ★ 1034 217 APPLICATION

This repository is a complete ROS2 software development kit for the Unitree Go2 quadruped robot. It provides a high-level SDK (go2_robot_sdk) with clean architecture (domain, application, infrastructure, presentation) that enables connection to the robot via WebRTC (Wi-Fi) or CycloneDDS (Ethernet), reception and decoding of real-time data (LiDAR, IMU, joint states, camera, odometry), and control commands (movement, stance, joystick). It includes multiple ROS2 packages: go2_interfaces (25+ custom message types), lidar_processor (Python and C++ nodes for LiDAR point cloud decoding and aggregation), speech_processor (ElevenLabs TTS with caching and robot playback), coco_detector (object detection using PyTorch FasterRCNN), and launch files for SLAM (slam_toolbox) and autonomous navigation (Nav2). The repository also contains URDF models, calibration files, RViz configurations, Docker support, and multi-robot namespace remapping. While primarily an application for controlling and monitoring the Go2 robot, it includes data-processing components (LiDAR decoding, IMU filtering, object detection) that give it a hybrid data-research character. The codebase demonstrates professional ROS2 development practices with modular design, abstract interfaces, and multiple language implementations.

RATING: 8.8/10 MAINT: active DRIFT: low
▸ 3 reusable components found
OGRECave/ogre ★ 4646 1033 APPLICATION

OGRE (Object-Oriented Graphics Rendering Engine) is a mature, production-grade 3D rendering engine written in C++ with extensive cross-platform support. The codebase implements a modular plugin architecture with render system backends for Direct3D 9/11, OpenGL (legacy, 3+, ES2), Metal, Vulkan, and a software Tiny renderer. Core modules include scene management, material/shaders, resource handling, animation, particle systems, and compositor framework. Optional components provide real-time shader generation (RTShaderSystem), automatic mesh LOD generation, terrain rendering, volume rendering, world paging, and a 2D overlay system. The repository also includes Python bindings, sample applications, fuzz testing, and content pipeline tools (exporters for Maya, Milkshape, Wings3D). The architecture follows design patterns such as Singleton managers, Factory-based extensibility, and a work queue for background loading. Despite its age and size, the engine remains actively maintained with recent commits, CI/CD pipelines, and support for modern graphics APIs. Notable technical debt includes legacy render backends, deprecated APIs, and some tightly coupled subsystems.

RATING: 8.5/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
ros-industrial/industrial_ci ★ 297 137 APPLICATION

This repository provides a comprehensive continuous integration (CI) solution for ROS (Robot Operating System) projects. It automates the process of setting up a ROS environment, building code, running tests, and performing additional checks (such as code formatting, static analysis, and ABI compatibility) across multiple CI platforms including Travis CI, GitLab CI, GitHub Actions, and Bitbucket Pipelines. The system is designed to be highly configurable, supporting a wide range of ROS distributions from legacy versions to the latest releases, and isolates builds using Docker by default to ensure consistency across different environments. The architecture is modular, with clear separation of concerns: entry points for each CI system delegate to a central orchestration script (ci_main.sh), which in turn relies on specialized modules for environment setup, ROS configuration, workspace management, and various build systems (catkin_make, catkin_tools, colcon, etc.). Notable for their reusability and craftsmanship are the utility library (src/util.sh), which provides robust logging, error handling, and timing functions, and the Docker isolation layer (src/isolation/docker.sh), which handles the complexities of running CI jobs in containers including volume mounting, credential forwarding, and container lifecycle management. The project demonstrates strong engineering practices through its maintainability, active support for both ROS1 and ROS2, and adaptability to various CI systems. It has been widely adopted in the ROS community, as evidenced by its usage in numerous repositories. Technical debt is kept low through regular updates to support new ROS distributions and CI platforms, and the codebase avoids common pitfalls in shell scripting by using well-structured functions and consistent error handling.

RATING: 8.5/10 MAINT: active DRIFT: low
▸ 2 reusable components found
ros-visualization/rviz ★ 979 473 APPLICATION

RViz is a 3D visualization tool for the Robot Operating System (ROS) that provides real-time visualization of sensor data, robot state, and navigation information. The application features a plugin-based architecture where displays, tools, and view controllers are dynamically loaded, enabling extensibility for various data types. Built with Qt for the GUI framework and Ogre for 3D rendering, RViz processes ROS messages through display plugins that convert data into renderable objects in the scene. Key systems include a property hierarchy for configuration, resource loading from ROS packages, and YAML-based configuration persistence. The architecture centers around a VisualizationManager coordinating the render loop, with core components including Display (visualization base), Tool (interaction base), and ViewController (camera control base). Data flows from ROS topic subscriptions through display plugins that process messages and update Ogre scene objects. User interactions via tools may publish ROS messages (e.g., setting navigation goals). The system maintains strict separation between Qt GUI elements, Ogre rendering, and ROS communication layers, using signals/slots for inter-component communication. Despite its complexity, RViz incorporates several reusable, well-engineered components. The property system provides a robust framework for editable parameters with automatic GUI generation and validation. The plugin architecture, built on pluginlib, offers a clean extension mechanism. Ogre helpers encapsulate common rendering tasks, and the configuration system handles hierarchical settings with locale-independent number parsing. The project shows active maintenance with ongoing efforts to modernize dependencies (Qt, Ogre, C++), though it remains primarily focused on ROS 1 with acknowledged technical debt regarding ROS 2 migration.

RATING: 8.4/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
karlkurzer/path_planner ★ 1914 571 APPLICATION

A ROS-based C++ implementation of the Hybrid A* path planning algorithm for nonholonomic autonomous vehicles, originally developed as part of a master's thesis at KTH. The system takes a binary occupancy grid (from LIDAR) and start/goal poses, then plans a smooth, drivable path using a combination of continuous-space A* with state discretization in heading, constrained (Dubins/Reeds-Shepp) and unconstrained (2D A*) heuristics, and a final gradient-descent smoother that accounts for obstacle clearance, curvature, and smoothness. It also optionally uses a Voronoi diagram to guide the path away from obstacles. The architecture is modular: a central Planner class manages ROS callbacks and orchestrates the search (Algorithm), collision detection (precomputed lookup tables for vehicle footprint), path tracing, and visualization via RViz. The code is well-documented and has been widely cited in autonomous driving research. While it is tightly coupled to ROS 1 (Noetic) and relies on OMPL for Reeds-Shepp heuristics, the core algorithmic components (lookup-based collision checking, Dubins path, gradient smoother) are self-contained and could be extracted for other projects.

RATING: 8.0/10 MAINT: active DRIFT: low
▸ 3 reusable components found
leggedrobotics/elevation_mapping_cupy ★ 1086 200 APPLICATION

Elevation Mapping CuPy is a GPU-accelerated elevation mapping system for legged robots, integrating point cloud registration, ray casting, multi-modal semantic fusion (geometry, RGB, semantics, deep features), and convex plane decomposition. It is built as a ROS Noetic package (ROS1) with a mixture of C++ (using pybind11) and Python (CuPy) nodes. The system ingests point clouds and images, processes them through configurable fusion algorithms, and outputs elevation maps with multiple layers (elevation, variance, traversability, semantic classes). It also includes a learning-based traversability filter supporting both Chainer and PyTorch backends, and a plane segmentation pipeline (CGAL/RANSAC) that converts elevation maps into planar terrain regions for motion planning. The architecture is modular with a plugin system for post-processing filters and a fusion manager for multiple data sources. While the core is tightly integrated with ROS1 and CUDA, several components (plugin manager, fusion framework, CuPy kernel compilation pattern, traversability filter) exhibit high craftsmanship and potential for reuse in other GPU-accelerated robotics projects. The codebase is well-tested and documented, but its dependency on ROS Noetic and specific CUDA versions limits portability and creates medium technical drift.

RATING: 7.8/10 MAINT: maintained DRIFT: medium
▸ 4 reusable components found
hku-mars/GS-SDF ★ 531 42 DATA_RESEARCH

GS-SDF is a research prototype from HKU-MARS that fuses LiDAR-augmented 3D Gaussian Splatting with a neural Signed Distance Field (SDF) for photorealistic rendering and high-fidelity surface reconstruction. The system ingests data from multiple sensor modalities (LiDAR, RGB-D, stereo) via a modular data parser hierarchy supporting Replica, FAST-LIVO2, KITTI, COLMAP, Oxford Spires, and other formats. It trains a neural SDF field with eikonal and curvature regularization, then initializes and refines 3D Gaussians guided by the SDF to produce view-dependent color and geometry. The pipeline includes real-time ROS visualization (RVIZ), offline mesh extraction via a custom CUDA marching cubes implementation, and evaluation scripts for image metrics (PSNR, SSIM, LPIPS) and structural metrics (Chamfer distance, F-score). The codebase is pre-release, with many TODOs and commented-out code, but exhibits strong modularity in its data loaders, loss functions, optimizer utilities, and coordinate transformations. While primarily a research codebase, it includes application-like features such as a ROS node with interactive keyboard commands and headless rendering modes.

RATING: 7.2/10 REPRO: 5.0/10 MAINT: active DRIFT: low
▸ 6 reusable components found
guchuanv-alt/SimART ★ 168 9 APPLICATION

SimART is an open-source simulation platform for wireless communication and sensing research, integrating ray-tracing (Sionna RT), 3D visualization (VTK/Qt), drone simulation (AirSim/Unreal Engine), and ROS1 for data streaming. The system provides a desktop GUI (C++/Qt5) that loads 3D scenes from files, OpenStreetMap, or AirSim, and orchestrates real-time or offline radio propagation simulations. It generates channel knowledge maps (CKMs), beam codebooks, and system-level metrics (SINR, BLER, MCS), and supports machine learning-based beam selection via a DeepSense predictor. The platform is designed for researchers prototyping algorithms for UAV communications, beamforming, and link adaptation. While the codebase is functionally rich and modular in parts (scene providers, transform manager, socket workers), it suffers from significant technical drift: it depends on ROS1 (end-of-life), Unreal Engine 4.27 (discontinued), Qt5, and legacy VTK APIs. The C++ code contains large monolithic files (e.g., OsmSceneProvider.cpp ~1100 lines) and duplication between C++ and Python transform logic. There are no automated tests, and many configuration files lack schema validation. Despite these issues, several components (blender scripts, beam codebook utilities, scene provider interface) are well-isolated and could be reused in other projects with minimal adaptation.

RATING: 6.2/10 MAINT: maintained DRIFT: high
▸ 4 reusable components found
mithi/robotics-coursework ★ 5186 784 APPLICATION

This repository is a curated list of robotics learning resources, including links to online courses, textbooks, blogs, and hands-on projects. It contains no executable code, no data pipelines, and no software architecture. The only files are markdown documents (README.md, BOOKS.MD, PROTOTYPING.md) and the LICENSE file. The repository serves as a reference guide for robotics enthusiasts, but it is not a software application or a data research project. It has no entry points, no dependencies, and no testable components. For AI agents searching for reusable code or data engineering assets, this repo provides no actionable content. It is essentially a static knowledge base with outdated links (some referencing issues from 2020).

RATING: 2.5/10 MAINT: maintained DRIFT: low
── end of results ──
$ submit: