[Documentation] [TitleIndex] [WordIndex

Planet ROS

Planet ROS - http://planet.ros.org

Planet ROS - http://planet.ros.org[WWW] http://planet.ros.org


ROS Discourse General: How do I open the connector cap on an Ouster OS0-128 to inspect the internal ethernet connector? (fastener type unknown)

I have an Ouster OS0-128 with an ethernet connectivity fault, and I want to remove the connector cap on the base to inspect the sensor-side connector pins and internal ethernet wiring.

  1. Symptom and what I’ve ruled out:

This points to the sensor-side connector, hence wanting to open the connector cap.

Questions:

  1. For anyone who has opened an OS0/OS1 connector cap: what is the exact fastener type and size?
  2. Is the connector behind the cap a standard panel-mount part or Ouster-proprietary?
  3. Any precautions when refitting — gasket orientation, torque, pin alignment?

I’m aware this likely voids the warranty; Asking here first because Ouster doesn’t publish service documentation.

4 posts - 3 participants

Read full topic

[WWW] https://discourse.openrobotics.org/t/how-do-i-open-the-connector-cap-on-an-ouster-os0-128-to-inspect-the-internal-ethernet-connector-fastener-type-unknown/57596

ROS Discourse General: Should robot software have execution authorization separate from deployment?

I built RLSOK, an open-source execution-authorization layer for robots.

The problem I’m trying to separate is simple:

software deployed ≠ software still authorized to cause physical action

A release can still be installed and running even after its approval has been revoked, its robot/controller configuration has changed, or the current execution state no longer matches what was approved.

RLSOK checks those conditions again immediately before robot command dispatch. If the approved release, robot, controller/configuration, or authorization state no longer matches, the command is not sent.

The current implementation includes:

RLSOK does not replace functional safety, E-stops, safety PLCs, motion planning, or robot controllers.

There is already a working open-source implementation and ROS 2 reference path. I’m especially interested in feedback from people who operate or deploy real ROS 2 robots:

Do you already have a separate execution-authority layer between deployment/fleet management and physical command dispatch, or is permission to execute currently handled implicitly by the deployment/controller stack?

Website: https://rlsok.com/

GitHub: GitHub - realitywarden/rlsok: The audited gate between AI and the physical world. Every actuator command: allowed, blocked, logged — never silent. · GitHub

3 posts - 3 participants

Read full topic

[WWW] https://discourse.openrobotics.org/t/should-robot-software-have-execution-authorization-separate-from-deployment/57585

ROS Discourse General: Announcing FastSwarmSim: Lightweight Multi-UAV ROS 2 Simulation with Lock-Step Time

Hello ROS 2 and robotics simulation community,

I would like to introduce FastSwarmSim, an open-source, lightweight multi-UAV simulator for PX4-compatible vehicles:

FastSwarmSim is designed for multi-robot algorithm development and repeatable simulation-time experiments. It combines a trimmed PX4 runtime, MAVROS-compatible ROS interfaces, RViz visualization, local LiDAR point-cloud rendering, and a conservative lock-step simulation clock.


A key feature: lock-step simulation time

FastSwarmSim publishes simulation time through ROS 2 /clock and advances the simulation in lock-step. This makes simulation progress explicit and reproducible instead of being tied directly to wall-clock speed.

With a small adaptation, a ROS node can participate in this timing model: use ROS time, respond to /clock, and advance its algorithm or publish outputs according to the simulation-time cycle. This allows existing ROS nodes to be integrated into lock-step experiments without redesigning the whole system. Nodes that are not adapted can still run normally, but they will not provide the same deterministic lock-step behavior.

The practical result is that the same experiment can be run faster than real time when the workload allows it, while retaining a consistent simulation-time reference across PX4, ROS 2 nodes, sensors, and controllers. This is useful for high-volume algorithm testing, repeatable multi-UAV experiments, accelerated parameter sweeps, and timing-sensitive coordination studies.

Current capabilities

On a desktop-class computer, the documentation reports operation up to approximately 100x real time for a single vehicle with LiDAR simulation disabled, with lower but still accelerated rates as the vehicle count increases.

The project is still evolving, and feedback, use cases, and contributions are welcome.

Best regards,
Peixuan Shu, Beihang University, China

Email: shupeixuan@qq.com

1 post - 1 participant

Read full topic

[WWW] https://discourse.openrobotics.org/t/announcing-fastswarmsim-lightweight-multi-uav-ros-2-simulation-with-lock-step-time/57578

ROS Discourse General: Now Open Source! HM-LD1 dToF Lidar Officially Supports ROS1 & ROS2

:rocket: Now Open Source! HM-LD1 3D dToF Lidar Officially Supports ROS1 & ROS2

Robot developers, this one’s for you — we’ve released the official ROS1 Noetic + ROS2 Humble/Lyrical dual driver for the HM-LD1 depth camera. The open-source repository is now live:

:backhand_index_pointing_right: myrobotproject/HM-LD1-ROS1-ROS2-driver: ROS1 Noetic & ROS2 Humble/Lyrical driver for HM-LD1 dToF Lidar depth sensor module. Serial / UDP / UVC transports, depth + point cloud , auto-reconnect.

Why choose HM-LD1?

:white_check_mark: Outstanding outdoor performance under strong light
Still reaches a stable 8 meters even under 80 klux sunlight — something many dToF sensors struggle with.

:white_check_mark: Wide ranging distance
Indoor: 0.2 – 25 m
Outdoor (strong light): up to 8 m

:white_check_mark: Flexible interfaces
Supports UVC / UDP / UART, making it easy to connect with different controllers.

:white_check_mark: Excellent platform compatibility
Verified on Raspberry Pi and Jetson Nano, and supports Windows / Linux / ARM.

Robot developers can now quickly integrate depth images, point clouds, and diagnostics via ROS, significantly lowering the development barrier.

Feel free to star, fork, or open issues — we’ll keep maintaining and improving it!

Interested in the product or potential collaboration? Drop a comment or send a DM!

2 posts - 1 participant

Read full topic

[WWW] https://discourse.openrobotics.org/t/now-open-source-hm-ld1-dtof-lidar-officially-supports-ros1-ros2/57563

ROS Discourse General: What VPN / networking solution do you use for ROS robots?

For anyone running ROS across more than a single machine or LAN, how are you handling networking today?

I’m particularly curious about setups where you need remote access to robots, ROS 1/ROS 2 communication across sites or subnets, or connectivity between robots and backend/fleet systems.

What do you use?

Click to view the poll.

Would be great to hear in the comments what your setup looks like, especially for ROS 2/DDS discovery and multi-machine communication, and whether networking constraints influenced your choice.

2 posts - 2 participants

Read full topic

[WWW] https://discourse.openrobotics.org/t/what-vpn-networking-solution-do-you-use-for-ros-robots/57544

ROS Discourse General: A runtime that sits between an LLM and physical actuation - Does this fit your use case?

Hello all,

I’ve built a working runtime (I call it xZane) that sits between an AI model and physical actuation. The model proposes intents; a deterministic layer validates each one against the device’s declared capabilities before anything reaches the hardware, and the device’s own safety function runs underneath, independent of the model.

I’ve been running it across three quite different devices with the same four to five models (Claude, GPT and Gemini in the cloud; Mistral and Qwen locally): a ROS 2 mobile robot (Yahboom Rosmaster M1, Jetson Orin Nano), an LG webOS TV, and a robot vacuum. Same runtime, same models, one validation gate… the per-device specifics come from a schema rather than a code change.

A few short clips, because they show it better than I can describe it:

On where this sits: I’m aware of the recent related work: ROSClaw and URML both put a validation layer between a model and a robot, and both validate the command or program before execution. xZane differs in that it isn’t only a pre-execution check. The safety enforcement runs as an independent layer alongside execution, and it’s built to integrate a device’s existing safety function (the certified e-stop or safety-rated behavior) beneath the AI rather than replace it (or you can author your own), so the model is never in the safety-critical path. I mention them to place this clearly, not to relitigate their designs.

What I’d like to find out from people running real robots, industrial cells, or other machine-control setups: does this approach fit a use case you actually have? I’ve validated it on my own hardware and the useful next step is other people’s different devices, different transports. If that’s interesting to you, or if it looks worth collaborating on, I’d like to hear from you! And I’m equally interested in where you think this breaks.

Happy to go deeper on how the schema and the runtime are structured.

Thanks for your time and support!

Julio.

1 post - 1 participant

Read full topic

[WWW] https://discourse.openrobotics.org/t/a-runtime-that-sits-between-an-llm-and-physical-actuation-does-this-fit-your-use-case/57536

ROS Discourse General: ROSCon Global: regular price ticket sales end Monday + official after-hours events!

Quick reminder that regular price ROSCon Global ticket sales end Monday, Mon, Aug 24, 2026 12:00 AM UTC!

Later next week, we are planning to release a complete list of after-hours ROSCon Global events. This includes an OSRF hackathon at the fancy new Google office in Toronto, a bus tour of the Waterloo robotics ecosystem with stops at Otto Motors, Clearpath Robotics, and the University of Waterloo’s Robohub, multiple after-parties sponsored by friends and colleagues at Autoware and Rootly, and ROSCon reception details.

You will need to be registered for ROSCon Global to sign up for the events, and space will be limited, so please do not delay!

1 post - 1 participant

Read full topic

[WWW] https://discourse.openrobotics.org/t/roscon-global-regular-price-ticket-sales-end-monday-official-after-hours-events/57531

ROS Discourse General: VirtuLayer - A GUI for Nav2 Virtual Layer Plugin

I’d like to share VirtuLayer, a web-based GUI I developed to simplify the configuration and usage of my Virtual Layer Plugin for Nav2.

The Virtual Layer Plugin can be used to add virtual geometries to the Nav2 costmap. VirtuLayer provides a visual interface for creating these geometries on a map and generating the configuration required by the plugin.

The idea is to avoid manually defining the geometries and configuration, and instead provide a simple visual workflow for creating and experimenting with virtual layers.

:link: GitHub:

:globe_with_meridians: Live Demo:

:books: The Virtual Layer Plugin is available in the Nav2 Plugins documentation under Virtual Layer:

I’d be interested to hear feedback .

3 posts - 2 participants

Read full topic

[WWW] https://discourse.openrobotics.org/t/virtulayer-a-gui-for-nav2-virtual-layer-plugin/57524

ROS Discourse General: ROS 2 Inspector — Static Architecture Analysis and Visualization for ROS 2 Workspaces

Hi everyone,

I’ve been working on an open-source project called ROS 2 Inspector, aimed at making it easier to understand the architecture of an unfamiliar or large ROS 2 workspace before running it.

The idea came from a problem I’ve repeatedly found interesting in ROS 2 projects:

When documentation is incomplete or outdated, understanding a workspace often means combining source-code inspection, launch-file analysis, grep/search, runtime tools such as rqt_graph, and a lot of manual exploration.

ROS 2 Inspector tries to automate part of that first architectural pass.

For example:

ros2inspector scan .

This scans the workspace from source and produces a compact summary of the discovered ROS 2 packages together with health signals that can help identify areas worth reviewing more closely.

The output can be exported as:

For a more visual exploration:

ros2inspector viz

This generates a self-contained interactive visualization of the discovered ROS 2 architecture, allowing you to explore nodes, topics, services, actions, and their relationships.

There are also commands for inspecting nodes and connections, generating dependency and communication graphs, auditing connectivity, and validating architectural policies.

Some examples:

ros2inspector nodes --show-connections

ros2inspector graph comms --format mermaid

ros2inspector audit

ros2inspector validate --policy ros2inspector_policy.yaml

The analyzer currently handles supported patterns in Python, C++, ROS interfaces, and launch files.

One important point: ROS 2 Inspector is based on static analysis.

It is not intended to replace runtime tools.

Dynamic names, plugins, conditional behavior, runtime remappings, DDS/network behavior, and other aspects of the effective ROS 2 topology can only be fully understood with runtime evidence.

I see the two approaches as complementary:

Static analysis:
What architecture can we infer from the workspace before launching it?

Runtime inspection:
What architecture actually exists when the system is running?

The project is still in its early releases, so there is a lot of room for improvement, optimization, and broader ROS 2 pattern support.

That is also why I’d really like feedback from people working with real ROS 2 systems.

In particular:

What information would you want to see when opening an unfamiliar ROS 2 workspace for the first time?

And for the visualization:

What would make an architecture graph genuinely useful on a large ROS 2 system rather than just becoming another unreadable graph?

If you have a non-confidential ROS 2 workspace, I’d also be very interested in cases where the analyzer misses something, interprets something incorrectly, or where you think runtime/static information should be connected differently.

GitHub:

Website / documentation:

LinkedIn post:

Thanks, and I’d be very interested to hear how others approach this problem.

5 posts - 3 participants

Read full topic

[WWW] https://discourse.openrobotics.org/t/ros-2-inspector-static-architecture-analysis-and-visualization-for-ros-2-workspaces/57523

ROS Discourse General: Foxglove has agents now

Hi!

At Foxglove, we announced quite a few new features today and wanted to share them with the community. Here is what we’ve been cooking:

Search Experience

You can query all your recordings in Foxglove and quickly get to the data you need. The example query I always demo is: `/mti/imu/linear_acceleration.x > 11`. It gets more exciting as of Today, because you can combine the topic search with semantic search, and for example run the following query: `visual("stairs") AND (/anymal/imu/linear_acceleration.x > 4 OR /anymal/imu/linear_acceleration.x < -4)` gets me a good set of instances of my robot walking on stairs to work with:

And, of course, if you click any of these results, you’ll see the exact moment and can start working with the data immediately.

Learn more

A/B Comparison

You can now easily compare two or more runs in Foxglove. Load the bag files, align the time offsets, and visualize the two runs on the same timeline. Here is one example of running a UMBMark test and visualizing odometry before and after calibration:

Video of the example above: https://youtu.be/wdSkFHLtZwU

Learn more

Agent Sidebar

We have an agent sidebar now. You can ask the agent to create layouts for you, help you triage issues, write userscripts, create events, and more.

We also have an MCP in the desktop app, so you can connect your agent of choice to Foxglove and ask it to do things for you. My favorite prompt so far was asking it to triage an issue and create a PDF report for my boss.

Learn more

Remote Access and BYOS

This and the next feature are not agent-related, but I thought I would mention them since I have your attention. With Bring Your Own Server (BYOS), you use your own storage bucket with Foxglove (no longer need to keep two separate copies of your data).

Remote Access enables a connection to your robot through an optimized WebRTC stream, where we optimize stream quality based on the available bandwidth.
Read more:

If you have any questions or feedback, don’t hesitate to let me know! If you happen to be at Actuate today or tomorrow, let me know, and let’s try to catch up!

4 posts - 3 participants

Read full topic

[WWW] https://discourse.openrobotics.org/t/foxglove-has-agents-now/57496

ROS Discourse General: ROS Keeps Evolving via Physical AI SIG

The OSRA, in collaboration with our new Special Interest Group on Physical AI (SIG PAI), just published a blog post that details their recent efforts, thought processes, and roadmap for the future of Physical AI and ROS. We would love it if you took a look and shared it with your friends and colleagues!

As AI rapidly reshapes robotics, software tools specialized for Physical AI are appearing at a rapid pace. This has led the community to ask questions about the future of existing tools designed for more traditional robotics applications, including ROS.

In the post, we discuss why we believe the most effective path forward is to leverage the strengths of ROS along with those of complementary tools designed for Physical AI. The SIG PAI present their findings, ongoing work, and long-term roadmap to achieve this. They also share ways for you to get involved in these efforts.

Feel free to share your thoughts below!

1 post - 1 participant

Read full topic

[WWW] https://discourse.openrobotics.org/t/ros-keeps-evolving-via-physical-ai-sig/57495

ROS Discourse General: Bagel 2.0: ask your rosbags questions in plain English, reduce them to the seconds that matter (open source)

A little over a year ago @shouheng and I launched Bagel here.

We’ll we’re back with Bagel 2.0 :bagel:! And we’d love this community’s eyes on it.

For those of you that are unfamilar:

Bagel lets you talk to your robotics data instead of writing one-off scripts. Point Claude (or any MCP client, including fully local models via Ollama) at a bag and ask: “what was the peak z-deceleration?”, “summarize this bag”, "find every hard brake and cut ±10s snippets.

Answers are not LLM guesses. Bagel writes your topic messages to Arrow and runs DuckDB SQL over them, and it shows you the query so you can audit it. In testing we tried to bait it into confirming a pothole that wasn’t in the data. It checked the z-axis, told us the data was flat, and explained why. A tool that says no when the answer is no was a hard requirement for us.

As for what’s new:

The part I’m most excited about is the data reduction pipeline. One sentence (“keep 10 seconds around every deceleration below −10 m/s²”) becomes a detector. It previews exactly what it would keep before writing a byte, then runs on one bag, across a fleet, or standing on the robot so only event windows are ever written. Verified down to the message level: kept windows are byte-identical to the source, nothing outside them survives.

We also made it a point to integrate with tools in the ecosystem in this release and will make this an ongoing focus

Formats: ROS 1/2 bags, MCAP (any profile), ROS text logs, PX4, ArduPilot, Betaflight, CAN/MF4, live MQTT, and Copper (copper-rs) logs via their MCAP export. Exports to Rerun, Lichtblick, PlotJuggler, and LeRobot datasets.

Everything runs in Docker locally. No cloud, no telemetry. Apache-2.0.

Give us a star, file an issue, or fork it and go on your own journey and we’ll support you the best we can.

Repo: GitHub - Extelligence-ai/bagel: Query robotics, drone, and IoT data in plain English through an MCP server, with an intelligent edge data reduction pipeline that keeps only the data that matters. · GitHub

Would love feedback, especially on what formats or workflows you’d want next. As always we appreciate your support and feedback!

1 post - 1 participant

Read full topic

[WWW] https://discourse.openrobotics.org/t/bagel-2-0-ask-your-rosbags-questions-in-plain-english-reduce-them-to-the-seconds-that-matter-open-source/57482

ROS Discourse General: Never miss a backport again — automatic ABI checking for ROS 2 core repos (prototype ready)

Hi ROS community! :waving_hand:

Have you ever debugged a problem on Humble or Jazzy for hours… only to discover the fix already existed on rolling, but was never backported? :weary_face: You’re not alone — and I’d like to fix this systematically.

:confounded_face: The pain

In principle, all bug fixes should be backported to the supported downstream distributions — precisely because they are fixes. Today, however, this depends entirely on the maintainer’s manual effort and judgment, so backports happen on a need-to-do or requested basis rather than automatically and systematically.
One of the key blockers: it’s not always easy to tell whether a fix is ABI compatible with released distributions just by looking at the source code. This depends on developer skill and experience.
And too often, community developers hit a bug on a released distro, dig all the way down to the root cause, and only then find the fix was already merged to rolling — so they have to request the backport themselves. That’s wasted effort for everyone. :hourglass_not_done:

Making this automatic would save significant time for maintainers, developers, and users alike. Original discussion: ros2/rclcpp#2555

:sparkles: The prototype (working today!)

I built this as two GitHub Actions:

:wrench: libabigail-action — generic, repo-agnostic. Diffs two shared libraries with libabigail’s abidiff. Useful for any C/C++ project, not just ROS!

:robot: ros2-abi-action — the ROS-aware layer. For every PR it:

Maintainers can decide on backports at a glance. And the per-repo integration is a ~10-line workflow file, so rclcpp, rcl, rcutils, rmw and friends can all share the same setup. :tada:

:warning: Small print: an ABI compatible label is information, not an obligation to backport — behavioral changes can still surprise users even when ABI is intact. And this is binary ABI only; header templates/inlines still need human eyes. :eyes:

:folded_hands: I’d love your feedback

  1. Does this approach make sense for ROS 2 core repos? Concerns about CI cost or noise? :money_with_wings:
  2. Tooling: libabigail vs. the older abi-compliance-checker (used by industrial_ci / auto-abi-checker) — experiences? :hammer_and_wrench:
  3. Should we go further and wire the ABI compatible label into the Mergify backport flow? :repeat_button:
  4. Would community packages benefit from this as a shared reusable workflow too? :globe_showing_europe_africa:

Comments, use cases, and contributions all very welcome! :rocket:

Tomoya

8 posts - 5 participants

Read full topic

[WWW] https://discourse.openrobotics.org/t/never-miss-a-backport-again-automatic-abi-checking-for-ros-2-core-repos-prototype-ready/57477

ROS Discourse General: Roboto Agents: agentic triage, root cause analysis, and data curation for rosbags and MCAP

Hi ROS Community,

Benji from Roboto here. At ROSCon in October last year, we previewed an early experiment: could an AI agent investigate robotics data and help find the cause of a failure? As it turns out, the answer was yes.

After extensive testing with several robotics teams, last month we released Roboto Agents. Describe what you need in plain language, and Agents can now work across bags, video, and source code to help with tasks like:

Most bags are write-once, read-never. They sit in storage (or get deleted) until something breaks in the field, and then teams go digging. With Roboto Agents, every log gets triaged, your questions get answered with clear evidence, failures get traced into code fixes, and the moments worth learning from become training data. Every robot run improves the next one.

Any feedback is welcome! We’ll be at ROSCon in Toronto next month - sponsoring for our 4th year in a row! Hope to see you there.

2 posts - 2 participants

Read full topic

[WWW] https://discourse.openrobotics.org/t/roboto-agents-agentic-triage-root-cause-analysis-and-data-curation-for-rosbags-and-mcap/57438

ROS Discourse General: Launching the VLAs on the Humanoid robot(G1, T800) for continues tasks

So, current issue of the launching VLAs on the Humanoids, like G1 Unitree\EngineAI T800\another,

is the realsense pack of cams. F.e., for the unifolm vla (GitHub - unitreerobotics/unifolm-vla · GitHub), you need 2 on wrists + 2 on shoulders, so its kinda there is no another way without realsense?

Currently kinda stuck on this type of the issue, maybe someone know the solution?

1 post - 1 participant

Read full topic

[WWW] https://discourse.openrobotics.org/t/launching-the-vlas-on-the-humanoid-robot-g1-t800-for-continues-tasks/57375

ROS Discourse General: Want to get involved with ROS 2? Come to Waffle

One of the most common questions we get is some version of “how do I start contributing?”
Here is a concrete answer: join us for Waffle, Thursdays, 30 minutes.

What it is

Waffle is a weekly triage meeting. We go through the issues and pull requests coming into the ROS 2 repositories that nobody has picked up yet, and we quickly discuss, triage, and assign them.

It moves fast. Most items get a minute or two: what is this, is it valid, who should look at it. We assign things live in the meeting rather than writing them down for later. In half an hour we get through a lot.

Why it’s a good on-ramp

(via easily digestible bullets!)

If you already know one corner of the stack well, you are especially useful. Being able to glance at an incoming PR and say “this looks fine” or “this will break X” is exactly the thing we never have enough of.

One thing it isn’t

Waffle is not the place to bring your own issue or pull request. We work through the queue in order, and carving out time for individual requests is what turns a 30 minute meeting into a 90 minute one. If you need eyes on something specific, Discourse or Zulip is the right venue.

Details

Just turn up. We’re glad to have you.

Why “Waffle”? The meeting is named after waffle.io, the GitHub-backed kanban board we used to run triage on years ago. The service is long dead, the name stuck. The board we use now is generated by Baffle Maker, built by @andrew_symington, which is a Bazel waffle board, and also a baffle is the partition you put in a duct to control the flow of what’s coming through it. Make of that what you will. It is a large part of why this meeting runs as well as it does now.

3 posts - 2 participants

Read full topic

[WWW] https://discourse.openrobotics.org/t/want-to-get-involved-with-ros-2-come-to-waffle/57362

ROS Discourse General: Analyzing rosbags with LLMs and SQL + queryable Nav2 behavior trees

A few weeks ago @jopequ shared mcp-rosbags + mcp-lab ( Another MCP Server to analyze your rosbags with LLMs + a UI to benchmark it against different LLM providers ) — an MCP server with purpose-built analysis tools (trajectories, laser scans, tf, plotting) and a neat UI for benchmarking providers on it. We’ve been working on the same problem at Pixel Robotics (AMRs for pallet transport) and just wrote up our approach, which lands on a different point in the design space, so I thought a comparison might be useful to the community:

More details, an example walk through and a video in the blog post! How we analyze robot behavior with LLMs — rosbags as SQL

1 post - 1 participant

Read full topic

[WWW] https://discourse.openrobotics.org/t/analyzing-rosbags-with-llms-and-sql-queryable-nav2-behavior-trees/57339

ROS Discourse General: Properly close windows processes, discussion about implementation

So I went into a bit of a rabbit whole last week! CI on windows kept on getting this particular error:

2: [WARNING] [python.exe-2]: 'SIGINT' sent to process[python.exe-2] not supported on Windows, escalating to 'SIGTERM'

Apparently, windows does not have a proper way to handle SIGINT, which means that it always straight goes to the ungraceful shutdown of SIGTERM.

So I thought “oh! is that perhaps the reason why we keep getting all of the unhandy access violation ( 3221225477) that we see ever since we went switched ci to server-2025?”

The answer is… it’s not that simple…

I tried these two repositories on CI where I tried to have the testing use the proper CTRL_C_EVENT, CTRL_BREAK_EVENT signals and such:

… which resulted in this CI run with even more failures than before: https://ci.ros2.org/job/ci_windows/28952/

So this went a little too deep then I was comfortable with, but I at least tried to implement some of the suggestions given in these issues and old and closed PR

Anyway! I failed in this but perhaps someone interested to give more ideas and thoughts, and perhaps want to have a go? It would be nice to actually terminate windows nodes properly this time, and might also fix some other things in the process as well. In general there have been many complaints of ghost processes still hanging after termination, not only on Windows.

This is a list of intersting issues and PRs I saw open during my research, as it might be handy for others as well:

Love to hear your thoughts!

3 posts - 2 participants

Read full topic

[WWW] https://discourse.openrobotics.org/t/properly-close-windows-processes-discussion-about-implementation/57308

ROS Discourse General: Exploring a human-reviewed ROS 2 agentic pipeline generator

I am prototyping **EdgeAI Forge**, a local-first engineering architecture intended to help generate, test, benchmark, and document ROS 2 and machine-vision pipelines.

The initial target workflow is a ROS 2 vision pipeline generator. Given a requirement such as:

> Read frames from a USB camera, run object detection, publish detections, expose health status, benchmark performance, and prepare deployment to Jetson.

the system should eventually produce reviewed artifacts including:

- package manifests and directory structure;

- Python or C++ nodes;

- topics, messages, services, and actions;

- parameters and launch files;

- unit, integration, and launch tests;

- simulation or recorded-data validation;

- Docker/Jetson packaging;

- FPS and latency benchmarks; and

- assumptions, limitations, and operating documentation.

The current proof of concept contains Planner, Vision, and ROS prompt agents backed by a local Ollama endpoint. It generates design output, not production-ready ROS packages. A broader scaffold contains API, dashboard, infrastructure, and observability components.

The safety boundary is important: generated robot-motion or production-deployment artifacts should never run automatically. The intended sequence includes simulation, test evidence, human review, explicit approval, logging, and rollback.

I would appreciate feedback from the ROS community on:

1. Which package archetype would make the best first supported template?

2. How should generated packages be evaluated beyond compilation and linting?

3. Which launch_testing, rosbag, Gazebo, or other simulation patterns should be mandatory?

4. How should the generator encode QoS, lifecycle nodes, diagnostics, and hardware assumptions?

5. What safeguards would make this useful without encouraging unsafe deployment practices?

Project: GitHub - afridali123/EdgeAI_Forge · GitHub

Background: EdgeAI Forge: My Journey Toward a Local Agentic AI Platform for Industrial Automation

The project is early, and I am sharing it to collect design criticism before implementing the deeper ROS workflow.

1 post - 1 participant

Read full topic

[WWW] https://discourse.openrobotics.org/t/exploring-a-human-reviewed-ros-2-agentic-pipeline-generator/57268

ROS Discourse General: Some Knowledge about ros

Hi everyone!

I’m a 2nd-year Mechanical Engineering student at NIT Jalandhar, currently exploring Robotics and Automation.

I’m starting my journey with C++/Python, electronics, CAD and eventually ROS 2. My long-term goal is to work on real robotics projects and eventually pursue research/internship opportunities in robotics.

I’m looking to connect with:
• Students who are also learning Robotics/ROS 2
• People working on interesting robotics projects
• Researchers/engineers who are open to collaboration or guidance
• Students who have previously pursued robotics research internships

If you’re on a similar journey, I’d love to connect and learn together.

Also, if there are any beginner-friendly open-source robotics projects where a student can contribute, I’d really appreciate suggestions.

Thanks!

1 post - 1 participant

Read full topic

[WWW] https://discourse.openrobotics.org/t/some-knowledge-about-ros/57267

ROS Discourse General: Robotics Student - Perception Systems Question

Hi all, I’m an MEng Robotics & AI student at UCL working on perception/tracking pipelines (recently built a person re-ID and tracking evaluation pipeline, and a Gaussian-splat reconstruction quality evaluator). I’m trying to understand a specific problem better: how do teams currently notice when a perception or sensor-fusion stack has silently degraded in production, before it causes a visible failure? Do you rely on manual spot-checks, logging + alerts, a formal calibration schedule, or something else? Genuinely trying to learn what’s actually painful here vs. what’s already a solved problem, not selling anything. Would appreciate any war stories, even short ones.

2 posts - 2 participants

Read full topic

[WWW] https://discourse.openrobotics.org/t/robotics-student-perception-systems-question/57266

ROS Discourse General: Advice on breaking into US robotics/embedded industry as a US citizen with no US history

I’m a 4th-year Computer Engineering student in Palestine (Birzeit University, graduating 2027). I focus on embedded systems and robotics. I have US citizenship, but I never lived or worked in the US. There’s no embedded or robotics industry here at all, so I can’t really build experience or a network locally. I’m trying to move to the US, but I’m not sure where to start.

My background: ROS2 control software for a multi-agent robotics platform, FreeRTOS firmware on custom boards, and a competition robot (WRO Future Engineers) that I built from the PCB up to the low level firmware. I’m fine with relocating, that’s not a problem for me.

I’m not sure what the right next step is. Should I look for a job directly, try to get into a US grad program first, or something else? If you work in robotics or made a similar move yourself, what would you do in my place?

2 posts - 2 participants

Read full topic

[WWW] https://discourse.openrobotics.org/t/advice-on-breaking-into-us-robotics-embedded-industry-as-a-us-citizen-with-no-us-history/57265

ROS Discourse General: ROS2 Dev Container Feature + Workspace Update

I’ve been working on a ROS2 Dev Container Feature and just updated my VSCode ROS2 Workspace Template to use it instead of my pre-built ROS Docker images.

The feature is here:

Source:

The main thing I wanted was to select the ROS distro once in devcontainer.json and have both local development and CI use that same configuration.

" Package devcontainers/ros2 · GitHub ": {

“distro”: “lyrical”,

“package”: “desktop”

}

I also cleaned up a bunch of the old X11/WSLg configuration. WSL2 GUI support now works through the normal VS Code Dev Container setup, and native Linux X11 support is available as a separate opt-in feature.

If you’re using ROS2 with Dev Containers, I’d be interested to hear how it works for your setup!

1 post - 1 participant

Read full topic

[WWW] https://discourse.openrobotics.org/t/ros2-dev-container-feature-workspace-update/57243

ROS Discourse General: Has a CPU shared-memory backend for rosidl::Buffer been explored?

I have been looking into rosidl::Buffer and the current buffer backend support, particularly for large variable-length payloads such as images and point clouds.

One idea I am interested in is a CPU shared-memory backend for rosidl::Buffer.

I realize that this overlaps to some extent with functionality that already exists at lower layers. For example, some middleware / RMW implementations already provide shared-memory transport or other zero-copy optimizations. Depending on the implementation, moving data through shared memory may therefore already be possible without introducing a dedicated Buffer backend.

What I am trying to understand is whether there is still a useful role for shared memory at the rosidl::Buffer layer.

My interest is specifically in large variable-length fields where avoiding copies of the payload itself is useful. Rather than treating shared memory only as a transport optimization for a serialized message, a Buffer backend could potentially make the payload storage itself shared and let a buffer-aware RMW transport a descriptor or reference when appropriate.

Conceptually:

ROS message
  metadata
  rosidl::Buffer<uint8_t>
          |
          +-- CPU shared-memory backend
                  |
                  +-- shared payload storage

This seems potentially complementary to transport-level shared memory rather than necessarily a replacement for it. On the other hand, I can also imagine that the overlap with middleware-native SHM mechanisms may be a reason why such a backend has not been pursued.

In particular, I would be interested in hearing:

Before prototyping something in this direction, I wanted to check whether there is already related work or design discussion that I have missed. I previously explored a similar problem for CUDA IPC in this discussion, so I would especially like to avoid independently reimplementing something that is already being worked on elsewhere.

Related links

10 posts - 4 participants

Read full topic

[WWW] https://discourse.openrobotics.org/t/has-a-cpu-shared-memory-backend-for-rosidl-buffer-been-explored/57240

ROS Discourse General: Experimental order-sensitive consistency residual for Odometry/TF streams — minimal C++ reproducer

I briefly mentioned an order-sensitive state diagnostic in another thread, but that was the wrong place for it. Posting it separately here with an executable reproducer.

The idea is simple: three consecutive pose samples in, one scalar residual out. It quantifies how much the result shifts when you change the nesting order of state composition.

Synthetic test results:

This is absolutely not a validated anomaly detector yet. Normalization, frame conventions and real-world thresholds all need work.

No ROS, Eigen, or external dependencies required to run the reproducer.

#include <cmath>
#include <iostream>

struct Q { double w,x,y,z; };
Q qc(Q q){ return {q.w,-q.x,-q.y,-q.z}; }
Q qm(Q a,Q b){ return {
  a.w*b.w-a.x*b.x-a.y*b.y-a.z*b.z,
  a.w*b.x+a.x*b.w+a.y*b.z-a.z*b.y,
  a.w*b.y-a.x*b.z+a.y*b.w+a.z*b.x,
  a.w*b.z+a.x*b.y-a.y*b.x+a.z*b.w}; }
Q add(Q a,Q b){ return {a.w+b.w,a.x+b.x,a.y+b.y,a.z+b.z}; }
Q sub(Q a,Q b){ return {a.w-b.w,a.x-b.x,a.y-b.y,a.z-b.z}; }

struct State8 { Q a,b; };
State8 compose(State8 x, State8 y) {
  return {sub(qm(x.a,y.a), qm(qc(y.b),x.b)),
          add(qm(y.b,x.a), qm(x.b,qc(y.a)))};
}

struct Pose { double x,y,z,qw,qx,qy,qz; };
State8 encode(Pose p) {
  return {{p.qw,p.qx,p.qy,p.qz},{p.x,p.y,p.z,0.0}};
}

double order_sensitive_residual(Pose A,Pose B,Pose C) {
  State8 x=compose(compose(encode(A),encode(B)),encode(C));
  State8 y=compose(encode(A),compose(encode(B),encode(C)));
  double d[8]={x.a.w-y.a.w,x.a.x-y.a.x,x.a.y-y.a.y,x.a.z-y.a.z,
               x.b.w-y.b.w,x.b.x-y.b.x,x.b.y-y.b.y,x.b.z-y.b.z};
  double s=0; for(double v:d) s+=v*v;
  return std::sqrt(s);
}

int main() {
  Pose a{.1,.001,0,.99875026,0,0,.04997917};
  Pose b{.2,.004,0,.99500417,0,0,.09983342};
  Pose c{.3,.009,0,.98877108,0,0,.14943813};

  std::cout << "smooth: " << order_sensitive_residual(a,b,c) << '\n';

  c.z=2.0; c.qw=.92106099; c.qx=.38941834; c.qy=c.qz=0;
  std::cout << "jump:   " << order_sensitive_residual(a,b,c) << '\n';
}

1 post - 1 participant

Read full topic

[WWW] https://discourse.openrobotics.org/t/experimental-order-sensitive-consistency-residual-for-odometry-tf-streams-minimal-c-reproducer/57232


2026-08-22 12:18