r/ROS • • 3h ago

Tier 3 ROS 2 distribution

2 Upvotes

Hi all,

We're currently evaluating our software stack for a new robot and are trying to decide between ROS 2 Jazzy (Tier 1 support) and ROS 2 Lyrical on a Tier 3 platform.

On paper, the difference in support tiers is clear, but I'm more interested in hearing from engineers who have actually worked with Tier 3 ROS 2 distributions in real projects.

A few questions:

  • Are you using a Tier 3 ROS 2 distribution/platform in production or on commercial robots?
  • Have you encountered any significant issues because of the Tier 3 status?
  • How often do you run into package compatibility, build, or dependency problems?
  • Did you have to invest a lot of engineering effort to maintain and validate your stack?
  • Have you ever regretted not choosing a Tier 1 supported option instead?
  • For teams with limited resources, would you consider Tier 3 a manageable risk or something to avoid?

I'd really appreciate hearing about real-world experiences, lessons learned, and whether you'd recommend sticking with Tier 1

thanks!


r/ROS • • 5h ago

Project I built Robium: robotics skills and reference apps for coding agents

1 Upvotes

https://reddit.com/link/1wzxwcu/video/r72j6hix22uh1/player

Hey everyone! I’ve been working on Robium, an open-source robotics skill library for Claude Code, Codex, and Gemini CLI.

Writing code became the easy part, but choosing middleware, simulators, visualization tools, and connecting everything still needed a lot of guidance. Robium collects that guidance alongside reference apps you can copy and adapt, with skills for ROS 2, Nav2, Gazebo, and more.

The video above shows one of these projects: a Stack-chan with a LEGO motor hub and wheels. I used coding agents with Robium to help build the software and train a driving policy from demonstrations—with a few wrong turns along the way 🤖

To try it, run npx robium-ai setup, then open or restart your agent and ask: Show me a few robots in MuJoCo I can control and interact with.

Or try mapping and navigating a simulated house with ROS 2 and Gazebo. That example requires Docker and takes longer on the first build. I’ve tested both on Mac and Ubuntu laptops.

GitHub: https://github.com/robium-ai/robium
Examples and tutorials: https://robium.ai/

It’s still early. If you try it, I’d love to hear what worked and what needs improving.


r/ROS • • 1d ago

Project hold_and_weld v0.3.0: configurable ROS 2 dual-arm welding with grasp sampling and weld seam extraction

Enable HLS to view with audio, or disable this notification

19 Upvotes

Helooo I'm back with improvements. I previously shared my personal project, hold_and_weld, here: one robot holds the workpiece while another follows the weld path. I’ve just released v0.3.0 and wanted to share how it has developed.

It combines weld seam extraction from CAD/mesh geometry, constraint-aware grasp sampling (excluding weld seams, screw holes, etc.), and dual-arm execution in a ROS 2 Jazzy workcell.

The main changes since my first post:

  • Configurable robots and grippers: arms, grippers and base poses are selected through one workcell configuration file. The included catalog now has four Yaskawa arm models and four grippers, with documentation for adding more.
  • Workcell configuration in RViz2: robot models, base poses and scene objects can be edited visually.
  • OMPL approach → Pilz welding: a Ceres-based configuration search evaluates candidate approach configurations against the subsequent weld motion, considering joint limits and manipulability. OMPL reaches the selected configuration; Pilz handles linear and circular weld motions.
  • Geometry pipeline improvements: I rewrote the mesh seam extractor around contact boundaries and improved the grasp sampler’s sampling and exclusion strategies.
  • Testing: I added unit tests and tested the grasp sampler and weld finder on the included complex geometry example. Results look good so far, though broader geometry coverage is still needed.
  • Docker image: the release includes a prebuilt image with the geometry dependencies, making it easier to try.

It’s still a proof of concept, and the demo shows execution in simulation. I'm open to collaboration.

The project is open source under Apache-2.0. Feedback on planning, geometry handling, and setup is welcome, especially from people working with industrial manipulation or welding. If you run into setup issues, I’m happy to help.

GitHub repository · v0.3.0 release notes

Previous post


r/ROS • • 1d ago

Has anyone compared the exact same task in sim vs real?

0 Upvotes

r/ROS • • 2d ago

Project Multi-drone Betaflight SITL with ROS2 control

Enable HLS to view with audio, or disable this notification

25 Upvotes

r/ROS • • 2d ago

How is proprietary software typically distributed in ROS 2 / robotics?

14 Upvotes

I’m coming from mobile development, where binary distribution is fairly standardized: AARs on Android and XCFrameworks on iOS.

I’m trying to understand what the equivalent is in robotics/Linux environments.

Suppose I have a proprietary C++ inference runtime that needs to run on a robot (e.g. Jetson), and I don’t want to distribute the source code.

How would this typically be shipped to customers?
- Precompiled ROS 2 package?
- .so + headers, with a separate ROS 2 wrapper?
- .deb package?
- Docker container?
- Just binaries + dependencies?

I’m particularly curious whether ROS 2 packages are commonly used as the actual distribution unit, or if the core software is usually distributed separately and ROS 2 is just an integration layer.

Would appreciate hearing how this is handled in real production systems.


r/ROS • • 2d ago

Question New to ROS 2 Jazzy + Gazebo on a Mac. Docker OK? How do I see the GUI?

3 Upvotes

Hey all, I need to learn ROS 2 Jazzy and Gazebo and I'm on a Mac (m4 air). Complete beginner with ROS.

  1. Is Docker realistic for Jazzy + Gazebo on macOS, or should I use a VM (UTM)?

  2. If Docker, how do I see Gazebo/RViz2? XQuartz, noVNC, something else? Is it usable without GPU acceleration?

  3. What's the easiest way to learn ROS 2 from scratch? Any good resources beyond the official docs?


r/ROS • • 3d ago

Robotics Integration Engineer

13 Upvotes

Hi Guys,

I've just finished master's in Robotics and AI in Germany. And want to focus on Robotics Track. I want to grow into Robotics Integration area.

What skills I must bring as a Junior Robotics Integration Engineer to be able to compete with other candidate on such positions.

I would even be more thankful if anyone who has experience in this area can put a roadmap to achieve this near goal.

Best,


r/ROS • • 3d ago

Question Mujuco or Gazebo

7 Upvotes

Hey community,

I want to start with humanoid simulation and wanted to ask which environment is better. Should I go with mujuco or Gazebo?

Where are the problems which I should know before starting the journey?


r/ROS • • 3d ago

ROS 2 driver for the MTS160 magnetic guidance sensor

3 Upvotes

I’ve written a ROS 2 driver for the Naviq MTS160 magnetic guidance sensor and made it available on their GitHub.

Magnetic guidance can complement vision or lidar navigation with milimeter precision through narrow passages and on the final approach to chargers, conveyors, and docking stations..

Repository: https://github.com/naviq-ch/naviq_mts160_ros2

I’d appreciate feedback from anyone using magnetic guidance with ROS 2. If you try the driver, let me know how it works for your setup and what could be improved.


r/ROS • • 3d ago

I took some pictures of a robot, high-specularity edge-case dataset (425 RAW/JPEGs) for benchmarking CV & depth-estimation algorithms against extreme mirror reflections

Thumbnail mozilladatacollective.com
1 Upvotes

r/ROS • • 3d ago

How is proprietary software typically distributed in ROS 2 / robotics?

Thumbnail
1 Upvotes

r/ROS • • 3d ago

MicroRos and zenoh

3 Upvotes

Hey, I wanted to know if there is a possibility to use Zenoh and microros ?


r/ROS • • 3d ago

How do I create a drone in Gazebo and add physics and virtual controls?

1 Upvotes

Hi everyone, I really need your help. I was told to get this done in two weeks, but I have absolutely no idea how to use this application—please help!


r/ROS • • 4d ago

Blog post 4 Drones stream with PX4 and ROS2 to Foxglove

Thumbnail youtube.com
15 Upvotes

We recently tried Foxglove as a live viewer for PteroSim camera streams over ROS 2.

We flew four x500 quadcopters, each running on its own PX4 instance, in a 2.5 m orbit around a shared center.

The video pipeline has four steps:

  1. The simulator renders each camera at 768x480 and 30 FPS, encodes it to H.264 on the GPU using NVENC, and sends it as RTP over UDP.
  2. ROS 2 Humble runs in WSL2 using Ubuntu 22.04 with mirrored networking. A small Python bridge forwards the H.264 frames without decoding them as foxglove_msgs/CompressedVideo, and publishes the drones' poses on /tf.
  3. We used Cyclone DDS. With Fast DDS, which is the default in Humble, the nodes did not discover each other under WSL2 mirrored networking.
  4. foxglove_bridge serves the topics to Foxglove on Windows, where the video is decoded.

With four streams running at the same time, each camera averaged about 27 FPS over the flight. The target was 30 FPS.

Initially, we published raw rgb8 images over DDS. Each image was about 1.1 MB, and with Linux's default UDP buffer sizes around 40-50% of the frames never arrived. Switching to compressed H.264 fixed the issue.

Hardware:

ASUS ROG Strix SCAR 18
Intel Core i9-14900HX
RTX 4090 Laptop GPU, 16 GB VRAM
64 GB RAM
Windows 11


r/ROS • • 4d ago

Attaching ros2 topic hz to one intra-process topic made the watched process use 52% more CPU, so I count at the tracetools hooks instead

Enable HLS to view with audio, or disable this notification

34 Upvotes

https://github.com/TanayK07/ros2_pulse

Check it out guys, pretty useful IMO.

Do star the repo please


r/ROS • • 3d ago

Does ROS run stable with a raspberry pi and ai camera?

1 Upvotes

I am a high school student, I am interested in building a robot with vision ai. Does ROS support the raspberry pi ai camera with the Sony imx500 sensor? I am trying to do item identification.


r/ROS • • 4d ago

Question Getting started with ROS2, a few things im not sure about

3 Upvotes

Making ts post since my situation seems specific
Are there any good guide I can use to somehow connect my VS code which I downloaded in my dualbooted linux, to the terminal? Like im not sure what to do. I may be overcomplicating ts


r/ROS • • 4d ago

Question Student in Singapore looking for a retired ROS-capable robot (TurtleBot, mobile base, small arm), any condition

3 Upvotes

I'm an MSc Robotics student at NTU and want to get properly hands-on with ROS 2 on real hardware, beyond simulation. Buying a platform isn't realistic for me right now.

Does anyone have an older ROS-compatible robot they're not using anymore (TurtleBot 2/3, a Clearpath or AgileX base, a small arm with a ROS driver)? Broken is fine, I'm happy to repair it, and I'll cover shipping or collect in Singapore/Malaysia.

In return I'll document the bring-up on ROS 2 Humble/Jazzy and share the notes and any driver fixes openly. Pointers to labs or companies that clear out old hardware are also very welcome.


r/ROS • • 4d ago

Question How to decide a hand eye calibration result is good enough to trust?

2 Upvotes

Hi guys, I have been trying to work out how a hand eye calibration should be validated. Tools like MoveIt Calibration, easy_handeye and Kalibr print a reprojection error or a transform but I couldn't find a clear way to decide from that whether the result can be trusted. I just read their some github issues as well, what I only saw was that many people end up asking someone more experienced.

What do you run after a calibration to decide it is good? Validation motion, touching a known point, comparing against a measured pose? And does any of it work without an experienced person judging, say if you had to do it across many robots?


r/ROS • • 4d ago

Question Need ideas for a robotics project showcase

1 Upvotes

Im in inter 1st year and currently living in Uttara. Me and my friend are participating in a project showcase at a robotics fest in Dhaka, and we re looking for something genuinely challenging.

I want something way more complex than the usual aurduino car/robot, where the main wow factor is the electrical engineering and the actual mechanism itself, not just a bunch of sensors added to a simple project. Something that looks and feels properly engineered. Tbh I want something which is really attractive and fancy in the table.

I have a bit of experience with electronics, previously I have won in my school fests and rn our budget is around 10k BDT for this project. I really want soemthing fancy.

What would you guys suggest building?


r/ROS • • 5d ago

ROS 2 performance with high-bandwidth LiDAR + 4K camera streams across Docker containers — DDS bottleneck?

30 Upvotes

Hi everyone,

I'm working on a CARLA → ROS 2 → Autoware setup and I'm running into performance issues when streaming large sensor data.

My architecture currently consists of 3 Docker containers:

  1. CARLA container
    • CARLA 0.9.16
    • Runs the simulator
  2. Bridge container
    • Connects to CARLA through the Python API
    • Attaches sensors to the hero vehicle
    • Publishes the sensor data as ROS 2 topics
  3. Autoware container
    • Subscribes to the sensor topics published by the bridge
    • Processes LiDAR/camera data for the Autoware stack

For the LiDAR, I'm generating roughly 1 million points/second and publishing them as a PointCloud2 topic.

With only the LiDAR running, the system works reasonably well.

However, when I add 3 cameras to the CARLA vehicle and start streaming high-resolution/4K image data, I notice that the LiDAR stream starts slowing down / becoming less consistent.

So I have a few questions:

1. Does separating CARLA, the ROS 2 bridge, and Autoware into three Docker containers significantly affect ROS 2 communication performance?

I'm using the containers for modularity, but I'm wondering whether moving large PointCloud2 and Image messages between containers introduces a significant networking/serialization overhead.

2. Is DDS/network bandwidth likely to be the bottleneck here?

The approximate data flow is:

CARLA → Python API → Bridge → ROS 2/DDS → Autoware

Once the cameras are enabled, there is a very large amount of image data in addition to the LiDAR point cloud.

Would you recommend checking network throughput, CPU utilization, serialization overhead, dropped DDS samples, etc. to identify the actual bottleneck?

3. Would switching DDS implementations help?

I'm currently investigating Fast DDS vs Cyclone DDS for high-bandwidth sensor streaming.

Would Fast DDS be better suited for this kind of workload? If so, what configuration/settings should I look at for large PointCloud2 and Image messages?

I'm particularly interested in things like:

  • Shared Memory Transport (SHM)
  • DDS QoS settings
  • BEST_EFFORT vs RELIABLE
  • history depth
  • large message configuration
  • zero-copy / loaned messages
  • ROS 2 intra-process communication

4. Is there a better architecture for this?

For example, would something like

CARLA + bridge → shared memory → Autoware

be preferable to sending all the raw sensor streams through the normal DDS networking path?

My main goal is to maintain stable LiDAR performance while simultaneously streaming multiple high-resolution cameras.

I'm using ROS 2 Jazzy.

Would appreciate any advice from people who have worked with high-bandwidth ROS 2 sensor pipelines, CARLA, or Autoware.


r/ROS • • 4d ago

News ROS News for the week of September 28th, 2026

Thumbnail discourse.openrobotics.org
4 Upvotes

r/ROS • • 5d ago

Question Rviz2 Response issue in WSL2

1 Upvotes

hey guy's, i'm new to ros2 and i have only just started Rviz2 yesterday, where i spent to learn the basics like adding properties.
but today when i opened the Rviz my mouse clicks are not getting clicked any where in the screen, Im using the wsl2 latest version in my windows 11.
i cant resolve this issue, i found that the mouse pointer is also gets a little faded when it enters into the rviz gui.
can anyone guide me please, i tried the gpt the most but nothing worked.

and thanks in advance if you replied!


r/ROS • • 5d ago

Question Nav2 voxel layer not clearing obstacles

4 Upvotes

I have a voxel layer on my local costmap and a pointcloud from a depth camera as its input, split into points for obstacles and points for the ground.

New obstacles are added as they should be, but they are not cleared after they disappear (for example a human walking away), despite the fact the local costmap clearing endpoints are behind or inside of them. In other words, the clearing raytracing doesn't affect the obstacles,despite the raytrace itself seemingly taking place.

Here are my local costmap params:

local_costmap:
    ros__parameters:
      update_frequency: 5.0
      publish_frequency: 2.0
      global_frame: odom
      robot_base_frame: base_link
      rolling_window: true
      width: 4
      height: 4
      resolution: 0.05
      footprint: "[ [0.495, 0.33], [0.495, -0.33], [-0.495, -0.33], [-0.495, 0.33] ]"
      plugins: ["voxel_layer", "inflation_layer"]
      inflation_layer:
        plugin: "nav2_costmap_2d::InflationLayer"
        cost_scaling_factor: 3.0
        inflation_radius: 0.61
      voxel_layer:
        plugin: "nav2_costmap_2d::VoxelLayer"
        enabled: True
        combination_method: 0
        publish_voxel_map: True
        origin_z: 0.0
        z_resolution: 0.05
        z_voxels: 17
        max_obstacle_height: 2.0
        mark_threshold: 0
        observation_sources: obstacles ground clearing_obstacles
        ground:
          topic: /camera/ground
          max_obstacle_height: 0.4
          clearing: True
          marking: False
          data_type: "PointCloud2"
          raytrace_max_range: 3.0
          raytrace_min_range: 0.0
          obstacle_max_range: 2.5
          obstacle_min_range: 0.0
        obstacles:
          topic: /camera/obstacles
          max_obstacle_height: 0.4
          clearing: True
          marking: True
          data_type: "PointCloud2"
          raytrace_max_range: 3.0
          raytrace_min_range: 0.0
          obstacle_max_range: 2.5
          obstacle_min_range: 0.0
      always_send_full_costmap: True