thehardwarestore.ai

where AI agents shop for the right tools

── 99200 repos indexed ── | filtered by tag: ros2
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
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
ros2/rmw_fastrtps ★ 207 147 APPLICATION

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.

RATING: 8.4/10 MAINT: active DRIFT: low
▸ 5 reusable components found

A ROS 2 node that performs real-time metric depth estimation and point cloud generation using Depth Anything V3 accelerated with TensorRT. The system subscribes to camera image and camera info topics, synchronizes them via approximate time, runs GPU-accelerated preprocessing and inference, then publishes a 32-bit float depth image and a colorized or monochrome point cloud. The pipeline includes GPU-side bicubic upscaling, focal-length-based metric scaling, sky detection with percentile-based fill, and optional debug visualization with FPS overlay. The repository provides a complete build system (ament_cmake, CUDA, TensorRT), a standalone engine generation tool, a Docker image, and an ONNX export script for the underlying PyTorch model. It is designed for autonomous driving and robotics perception applications requiring high frame rates (claimed 50 FPS on Quadro RTX 6000). The architecture is a monolithic ROS 2 component with a clean separation between the node, the TensorRT wrapper, and the GPU kernels.

RATING: 8.3/10 MAINT: active DRIFT: low
▸ 3 reusable components found
Liansheng-Wang/Super-LIO ★ 595 97 APPLICATION

Super-LIO is a LiDAR-Inertial Odometry (LIO) system implemented as a ROS2 application. It fuses IMU and LiDAR data using an Error-State Kalman Filter (ESKF) for state estimation and a novel OctVoxMap for efficient point cloud mapping and nearest-neighbor search. The system supports multiple LiDAR types (Livox, Hesai, Velodyne, Ouster, NCLT) and includes a relocation mode using pre-built maps with ICP/NDT initialization. The architecture is a monolithic ROS2 node with a state machine (KF initialization, map initialization, then continuous processing). Key data flows: IMU propagation, LiDAR scan motion undistortion, downsampling, point-to-plane residual optimization, map update, and odometry publication. The codebase demonstrates strong engineering with C++20, TBB parallelism, and well-structured Lie group math (SO3, SE3, S2) in a separate 'basic' library. The OctVoxMap component is a standout contribution with precomputed search orders for fast KNN queries.

RATING: 8.3/10 MAINT: active DRIFT: low
▸ 3 reusable components found
althack/vscode_ros2_workspace ★ 1006 190 APPLICATION

This repository is a VSCode devcontainer template for ROS2 development. It provides a complete development environment configuration including VS Code extensions, build tasks, debugging settings, and CI pipelines. The core functionality is orchestrated through shell scripts (setup.sh, build.sh, test.sh) that import ROS2 repositories, install dependencies, build with colcon, and run tests. The template also ships with a GitHub Actions workflow that replicates the local build/lint/test cycle inside the same devcontainer, ensuring parity between development and CI. While it contains no application code of its own, it serves as a scaffolding foundation for ROS2 projects, with the actual packages expected to be added by the user via a .repos file or directly in the src/ directory. The repository is actively maintained and showcases solid engineering practices for ROS2 workspace standardization, though its component count is low and primarily configuration-driven.

RATING: 8.1/10 MAINT: active DRIFT: low
▸ 2 reusable components found
wuphilipp/gello_software ★ 547 178 APPLICATION

GELLO is a general, low-cost teleoperation framework for robot manipulators. It uses a Dynamixel-based leader device to control various follower robots (Franka FR3, YAM, UR, xArm, Panda) in real-time via ZMQ-based distributed architecture. The system supports both simulation (MuJoCo) and real hardware, includes gravity compensation (FACTR) for YAM robots, and provides data collection pipelines for imitation learning. It also offers ROS2 integration for Franka FR3 with custom joint impedance controllers and gripper managers. The codebase is configuration-driven via YAML files and demonstrates strong engineering practices with pre-commit hooks, CI workflows, and reusable abstractions for robots, agents, and cameras.

RATING: 7.9/10 MAINT: active DRIFT: low
▸ 4 reusable components found
Roboparty/roboto_origin ★ 2401 316 APPLICATION

This repository is the complete open-source hardware and software stack for the Roboto Origin bipedal robot, formerly known as Atom01. It is a hybrid monorepo covering mechanical design (CAD files, 3D printing, BOMs), electronics (PCB designs, firmware for a USB2CAN board), low-level ROS2 control (motor drivers, IMU, camera, inference), simulation and reinforcement learning training (roboparty_train with Isaac Sim/MuJoCo and PPO/AMP algorithms), navigation (LiDAR localization, UWB, path planning), and XR teleoperation. The repository is organized into multiple modules, each with its own build system (CMake, Zephyr, Python). The dominant character is an application (a robot system), but it includes a substantial data_research component in the training module where RL policies are trained using motion capture data. The codebase is well-structured, actively maintained, and provides a complete recipe for building and deploying a humanoid robot from scratch.

RATING: 7.8/10 MAINT: active DRIFT: low
▸ 6 reusable components found
henki-robotics/henki_ros2_best_practices ★ 205 24 APPLICATION

Despite being classified as application-oriented, henki_ros2_best_practices contains no executable software. It is a documentation/standards repository: a single, carefully authored Markdown document (henki_ros2_best_practices.md) codifying architecture and clean-code guidelines for ROS 2 development, plus a README explaining how to integrate the document into AI coding workflows (e.g., Claude Code via CLAUDE.md) and a pointer to a companion examples repo comparing agent-generated ROS 2 packages with and without the practices applied. The actual deliverable is a concise, opinionated standards document covering node single-responsibility, separation of application logic from ROS 2 communication, launch file conventions (XML preferred), YAML config-based parameter handling, throttled logging, semantic custom message interfaces in '_msgs' packages, service-vs-action selection with enum-style error codes, C++ for performance-critical loops, SingleThreadedExecutor preference, rosdep/vcs-tool dependency management, package documentation requirements, and unit-test-first strategies that avoid flaky ROS communication sleeps. In production, this repository functions as a knowledge artifact rather than a running system: humans read it as a reference, and AI coding agents consume it as an enforced standard when generating ROS 2 packages. There are no API endpoints, data flows, or runtime dependencies; its 'architecture' is the structure and specificity of the guidelines themselves. The document is self-contained and could be dropped into any ROS 2 team's repository or agent configuration with minimal adaptation, making it a genuinely reusable engineering asset despite the complete absence of code.

RATING: 7.4/10 MAINT: active DRIFT: low
▸ 1 reusable components found
cra-ros-pkg/robot_localization ★ 1955 1038 APPLICATION

robot_localization is a ROS 2 package providing nonlinear state estimation for mobile robots using Extended (EKF) and Unscented Kalman Filters (UKF). It fuses multiple sensor inputs—including odometry, IMU, GPS, pose, and twist measurements—into a consistent, filtered pose estimate (position, orientation, velocities, accelerations) published as `/odometry/filtered` and broadcast as TF transforms following REP-105 conventions. The architecture is centered around a templated `RosFilter<T>` class that wraps the core `FilterBase` abstract class, handling measurement queuing, differential/relative modes, Mahalanobis outlier rejection, and diagnostic monitoring. Key entry points are `ekf_node`, `ukf_node`, and `navsat_transform_node` (for GPS-to-local Cartesian conversion), all instantiated from `ros_filter.cpp` and `navsat_transform.cpp`. The package also provides services like `SetPose`, `SetDatum`, `ToLL`, and `GetState`, and includes lifecycle node support for managed operation. The codebase is well-known for its extensive parameterization—each sensor input can be individually configured with update vectors, differential/relative flags, noise terms, and rejection thresholds—making it adaptable to diverse robot platforms. It depends on Eigen for linear algebra, GeographicLib for geodetic conversions, and standard ROS 2 infrastructure (tf2, diagnostic_updater). The core filter logic (`FilterBase`) and coordinate conversion utilities (`navsat_conversions.hpp`) are clean, isolated components that can be reused outside the ROS ecosystem. Despite its popularity and solid engineering, the repository shows signs of technical drift: incomplete ROS 1→ROS 2 migration, deprecated API usage (`rclcpp::Duration::from_seconds`), commented-out bag-based tests, and a monolithic `RosFilter` implementation that mixes configuration, callbacks, and filter logic. Issue templates explicitly state that the package will soon be deprecated and feature requests will not be addressed, indicating transition to a maintenance-only state.

RATING: 7.1/10 MAINT: stale DRIFT: medium
▸ 3 reusable components found
micro-ROS/micro_ros_setup ★ 509 184 APPLICATION

micro_ros_setup is a ROS 2 package providing shell scripts and configuration to automate the creation, configuration, build, and flashing of micro-ROS firmware for embedded platforms. It orchestrates the cross-compilation of the micro-ROS client library (rclc, rmw_microxrcedds, etc.) against multiple RTOS targets (FreeRTOS, Zephyr, Android, host Linux) using colcon and platform-specific toolchains. The package acts as a build system integration layer: it creates a development workspace cloned from ROS 2 and micro-ROS repositories, applies platform-specific colcon metadata, handles transport selection (UART, UDP, USB), and builds/flashes the firmware binaries. It is not a running application but a set of tools that must be invoked from a ROS 2 workspace after building the package itself.

RATING: 6.6/10 MAINT: active DRIFT: low
▸ 2 reusable components found
facebookresearch/EyefulTower ★ 200 8 DATA_RESEARCH

This repository accompanies the VR-NeRF Eyeful Tower dataset (SIGGRAPH Asia 2023), providing the full software stack for capturing, processing, and reconstructing high-quality HDR images from a robotic multi-camera rig. The hardware consists of 14 Sony A1 cameras mounted on a PAL TIAGo mobile base, controlled via a ROS2 node (EyefulController) that orchestrates drive sequences, dual-exposure bracketing, and pose recording. A Godot-based remote control app (Commandly) offers teleoperation, SLAM mapping, capture management, and status monitoring via ROS# and SSH. The processing pipeline includes RAW debayering, HDR merging (PPNE, Debevec, Max), white balance correction, downscaling, JPEG export, and automated Metashape photogrammetry (alignment, dense cloud, mesh, texture) with COLMAP export for NeRF training. The dataset itself (22 indoor scenes, 4.4 TB) is hosted on AWS S3 and includes HDR EXR images at multiple resolutions, camera calibration, and COLMAP reconstructions. While the primary output is a research dataset, the repository contains substantial application-level code: a camera driver library abstracting the Sony Camera Remote SDK, a ROS2 sensor validation node (IMU, LiDAR), and a full-featured Godot UI. These components are tightly coupled to the specific hardware (Sony A1, PAL TIAGo, Ouster LiDAR, Xsens IMU) and proprietary dependencies (Sony SDK, Metashape, LibRaw). The pipeline scripts are parameterized and can be run individually, but require manual environment setup and specific directory structures. The code is functional and achieves its research goals, but is not designed for general reuse without significant adaptation.

RATING: 6.5/10 REPRO: 3.0/10 MAINT: maintained DRIFT: medium
▸ 4 reusable components found
ros/urdf_tutorial ★ 307 271 APPLICATION

This repository is a collection of ROS 2 tutorial files for learning URDF (Unified Robot Description Format). It contains a series of URDF files that progressively introduce concepts such as visual shapes, joints, physical properties, materials, flexibility, physics properties, and Xacro macros. The package includes meshes for a gripper model, an RViz configuration file, and a launch file to visualize the robots in RViz using the urdf_launch package. The system does not run as a standalone application but provides resources to be used with ROS 2 for educational purposes. The launch file serves as a simple entry point to load and visualize any of the provided URDF models.

RATING: 6.4/10 MAINT: active DRIFT: low
▸ 1 reusable components found
Rechardluxry/ROS2_Tuition ★ 233 39 APPLICATION

This repository is a comprehensive ROS2 (Robot Operating System 2) tutorial hosted as a static website built with GitBook. It covers ROS2 fundamentals including installation, communication mechanisms (topics, services, actions, parameters), essential tools (launch files, rosbag2, RViz2), coordinate transformations (TF2), and robot modeling (URDF/xacro). Content is presented in structured chapters with detailed explanations, code examples in both C++ and Python, and visual aids (images, GIFs). The site uses GitBook plugins for search (Lunr.js), expandable chapters, font settings, and social sharing. While the educational content is thorough and well-suited for newcomers to ROS2, the underlying technical stack relies on outdated versions of GitBook and jQuery (3.1.1), presenting known security vulnerabilities and indicating significant technical debt despite recent content updates. The repository does not contain standalone software components suitable for extraction, as its primary value lies in aggregated educational content rather than reusable code libraries.

RATING: 5.1/10 MAINT: active DRIFT: high
── end of results ──
$ submit: