If you are a ROS developer/user and you blog about it, ROS wants those contributions on this page ! All you need for that to happen is:
have an RSS/Atom blog (no Tweeter/Facebook/Google+ posts)
open a pull request on planet.ros tracker indicating your name and your RSS feed/ATOM url. (You can just edit the file and click "Propose File Change" to open a pull request.)
make your ROS related posts tagged with any of the following categories: "ROS", "R.O.S.", "ros", "r.o.s."
Warnings
For security reasons, html iframe, embed, object, javascript will be stripped out. Only Youtube videos in object and embed will be kept.
Guidelines
Planet ROS is one of the public faces of ROS and is read by users and potential contributors. The content remains the opinion of the bloggers but Planet ROS reserves the right to remove offensive posts.
Blogs should be related to ROS but that does not mean they should be devoid of personal subjects and opinions : those are encouraged since Planet ROS is a chance to know more about ROS developers.
Posts can be positive and promote ROS, or constructive and describe issues but should not contain useless flaming opinions. We want to keep ROS welcoming :)
ROS covers a wide variety of people and cultures. Profanities, prejudice, lewd comments and content likely to offend are to be avoided. Do not make personal attacks or attacks against other projects on your blog.
Suggestions ?
If you find any bug or have any suggestion, please file a bug on the planet.ros tracker.
Please come and join us for this coming meeting at Wed, Dec 17, 2025 4:00 PM UTC→Wed, Dec 17, 2025 5:00 PM UTC, where we plan to dive deeper into the ROSCon talks collected together during the last session. By examining more details about the talks, we can highlight any that would be relevant to Logging & Observability, the current focus of the group. We can also pull out interesting tips to release as part of a blog post.
Last meeting we looked at the talks listed for ROSCon, examining the description of each for any that would be relevant to Logging & Observability. If you’re interested to see the meeting, it is available on YouTube.
ROS 2 Kilted running natively on macOS Apple Silicon — MoveIt 2 Planning Demo
After getting Gazebo Ionic and the ros_gz_bridge running smoothly on macOS Apple Silicon, I’m excited to share the next big milestone: MoveIt 2 motion planning is now working natively on the ROS 2 Kilted build for macOS.
Using modified MoveIt 2 tutorials adapted for the Kilted branch, I’ve been testing multiple planners:
OMPL
CHOMP
pilz_industrial_motion_planner
The results are surprisingly stable — even when pushing the robot into unusual joint configurations, MoveIt 2 consistently recovers, replans, and stays responsive.
Highlights:
No crashes on failed planning requests — MoveIt 2 cleanly handles errors and retries.
ros2_control runtime controller switching works reliably.
More stable than Humble on macOS — Kilted is closer to upstream, with smoother behavior and less patching.
Resources:
MoveIt 2 tutorials Kilted branch update: Commit link
Ditto. There are plenty of options out there these days, and perhaps that (partially?) explains why the choice isn’t as clear cut as it was back when robot_pose_ekf, amcl, and karto or cartographer were as much as you could get, at least for mobile robots. GitHub insights and packages.ros.org stats do not tell the whole story, so I come to you for the wisdom of the crowds.
What are you using? Why? Not looking for theoretical justifications (+1 if you have them though), some account of a package or library that you fall back often because it’s proven useful is enough.
And I must confess this isn’t pure intellectual curiosity. At Ekumen we’ve been working on Ekumen-OS/beluga for some time now, and we’ve crossed paths with unexpected users more than once. Often by chance. So if you are using it we definitely want to hear from you too.
Thanks in advance!
PS: it sounds like work but it’d be cool to have something like a community tech radar for stuff like this.
ROSCon 2025 took place from October 27–29 in Singapore, drawing approximately 1,000 attendees from 52 countries. It was followed by the ROS-I Asia-Pacific Annual Summit on October 30, which featured speakers, panels, lab tours, and a networking dinner with about 150 participants. This year’s ROSCon showcased an array of sessions, workshops, and discussions designed to share advancements and inspire innovation in the ROS ecosystem.
The event kicked off with Day 0 workshops, showcasing highlights such as Picknik's MoveIt Pro performance demonstrations, ROS-Industrial's Scan-N-Plan approach, and a session on deploying ros2_control on ESP32 microcontrollers, alongside an engaging underwater robotics workshop. The main conference centered on emerging robotics trends, including AI integration with ROS, advanced motion planning, and the use of physics simulators like Mujoco. Key discussions covered multi-fleet coordination with OpenRMF, improved ROS workflows, Rust-based development with the feature-complete rclrs, and identified challenges like scaling AI with multi-modal sensors and improving policy execution pipelines.
Attendees left with actionable insights, including the importance of building familiarity with RMW Zenoh, exploring AI-driven solutions like imitation and reinforcement learning, and optimizing ROS2’s capabilities for industrial robotics applications. The conference concluded with significant community enthusiasm and a look ahead to ROSCon 2026, which will take place in Toronto. While participants were encouraged to engage and share their work, in particular submitting abstracts for talks for ROSCon 2026, there is opportunity for industry to engage and drive improvement and awareness for what makes a sustainable ROS 2 leverage possible on shop floors.
Stay tuned and we look forward to hearing more around industry needs and opportunities for industrial leverage of ROS 2.
Before anything else: my intention here is not to turn this thread into a complaint fest.
DDS and ROS 2 are topics that periodically raise questions for me - and for others as well - so I’d like to collect and consolidate existing insights. Positive experiences, success stories, and best-case user datapoints about DDS are especially welcome!
My goal is to gather constructive feedback or identify where such information has already been summarized. I noticed several ROSCon DE 2024 talks in Strasbourg touched on related challenges, which inspired me to start this thread.
My question: What solid resources already exist - talks, guides (e.g., Clearpath’s ROS 2 networking material), previous discourse threads, etc. - that I could collect into one place?
I’d really appreciate neutral or positive, technically grounded feedback.
Thanks in advance for your help!
After months of debugging, patching, and testing, I’m excited to share a first working demo of ROS 2 Kilted running natively on macOS Apple Silicon. This includes support for major robotics frameworks:
The demo showcases ros_gz_bridge in action, with real-time sensor and image data flowing between ROS 2 and Gazebo Ionic. Even ros2_control is running reliably — I’m still verifying some edge cases, but the core functionality is stable.
Most of the related pull requests have been merged upstream, so macOS support should soon be visible in the community.
I haven’t published the full kilted branch yet — planning to release it once I have solid demos for MoveIt 2 and Navigation2. Meanwhile, the Humble branch is already functional: Humble Branch on GitHub
I’d love to hear feedback, suggestions, or experiences from anyone trying ROS 2 on macOS Apple Silicon!
We’re excited to announce the release of synchros2 for ROS 2!
synchros2 is our open source package designed to make synchronization in ROS 2 easier, faster, and more reliable.synchros2 simplifies the challenge of synchronous programming in ROS 2 by providing a clean, modern Python API and flexible synchronization policies. We hope this helps developers and researchers to more easily use ROS 2 through features such as:
Blocking in callbacks (subscribers, services, actions, etc) without creating deadlocks
Single-node-per-process semantics similar to ROS 1 (optional)
Wrapper APIs for subscribers with features like looping through messages in realtime and waiting for the next message.
We recommend starting with the Getting Started Guide:
synchros2 has been released into Humble and is in staging for Jazzy.
A big thank you to everyone who provided feedback, tested early versions, and helped get synchros2 to this milestone! And an extra big thank you to @hidmic, @khughes1, and @jbarry!
As always, contributions and issues are welcome on our repository!
I would like to have your recommendations on ROS2-compatible drones suitable for educational and research purposes. I’ve been through several options but haven’t found the ideal solution yet.
My Requirements:
ROS2 native support or well-maintained ROS2 integration
Onboard sensors capable of SLAM (3D LiDAR, RGBD camera, or stereo camera)
Ability to operate indoors without external positioning infrastructure
Budget: approximately $6,000 USD
What I’ve Tried/Considered:
I came across this helpful discussion: https://discourse.openrobotics.org/t/trying-to-find-pre-built-drones/44168, which recommends the Crazyflie platform. While Crazyflie is excellent for swarm research and basic control, it requires external infrastructure such as motion capture systems or marker-based localisation (e.g., Lighthouse or Loco Positioning), which isn’t practical for my use case.
Similarly, I’ve used DJI Tello drones, but they share the same limitation—reliance on external environmental setup for accurate localisation and mapping.
What I’m Currently Considering:
I’ve been looking at the ModalAI Starling 2 Max (https://www.modalai.com/products/starling-2-max?variant=48172375900484), which appears promising with its VOXL 2 flight computer, stereo cameras, and PX4/ROS2 support. However, I’d appreciate feedback from anyone who has hands-on experience with this platform, particularly regarding:
Ease of integration with ROS2
Reliability of onboard VIO/SLAM for indoor navigation
Suitability for student projects and coursework
Documentation quality and community support
Use Case:
The drones will be used for teaching autonomous navigation, path planning, and SLAM concepts to postgraduate students. Ideally, students should be able to develop and test algorithms in simulation (Gazebo/Webots/PyBullet) and deploy them on real hardware with minimal friction.
I’d greatly appreciate any recommendations, alternatives, or insights from those with experience in this area. If there are other platforms I should consider within this budget range, please do share.
I have created an awesome list of ROS2 packages on my github. It covers a wide range of topics, like motion and planning, localization (SLAM algorithms), logging, monitoring, client libraries for different languages, useful tools for development, AI based tools etc.
It’s regularly updated with new intreresting packages. Hope it will be useful for everyone in the community.
At ROSCon Spain 2025 we ran a hands-on workshop about ROS 2 testing as part of our work at Ekumen, covering everything from basic linters and unit tests to integration testing and CI. Several people asked if the materials would be shared publicly, so here they are in case they’re useful to others as well:
Everything is built around small C++ examples and simple exercises. Nothing fancy, just practical patterns we’ve found helpful when trying to make ROS 2 codebases more reliable and easier to maintain.
If you end up going through it or applying parts of it in your projects, we’re more than happy to get feedback, questions, or suggestions. Feel free to open issues or comment here in the thread.
Thanks to everyone who joined at the workshop, and to the ROSConES organizers for a great event. Hope this can help more people working on testing in ROS 2.
Today, I am excited to introduce Genesys, a new framework I built, designed to make ROS 2 development faster, cleaner, and more intuitive for everyone.
We’ve all faced the boilerplate, complex build systems, and fragmented tooling that can slow down robotics projects. Genesys is our solution. It’s an opinionated framework that simplifies common workflows and provides a single, unified CLI (genesys) to manage your entire project lifecycle, from scaffolding to simulation.
What makes Genesys different?
Zero Boilerplate: Use elegant Python decorators (@node, @publisher, @subcriber, @service,@timer, etc) and C++ Macros (ROS_PUBLISHING_NODE, ROS_UNIVERSAL_NODE) to define your components without writing repetitive code. The framework auto-generates your build and launch files for you.
Unified CLI: Say goodbye to juggling multiple commands. A single genesys entry point handles everything from “genesys new” for project setup to “genesys build” and “genesys run” for execution the genesys build command also comes with a “- -persist” flag that allows you build once and run on any terminal, this flag will add a command to source your workspace’s install/setup.bash file to your shell’s startup script, “genesys sim create” creates a new *_gazebo package in the sim/ directory, fully configured for a specific robot. “genesys sim run” launches a Gazebo simulation from one of the *_gazebo packages.
100% ROS 2 Compatible: Genesys isn’t a replacement for ROS 2, it’s an enhancement. Every Genesys project is a valid ROS 2 project, meaning you can always fall back to the standard colcon and ros2 commands whenever you need to.
Genesys is about getting you back to what you love: building amazing robots. We’re on a mission to create a “happy path” for robotics development, and this is just the beginning.
Ready to streamline your workflow? Learn more about Genesys and get started today!
I recently had the following warning when loading a node inside an rclcpp_component manager.
[rcl.logging_rosout]: Publisher already registered for node name: ‘my_manager’. If this is due to multiple nodes with the same name then all logs for the logger named ‘my_manager’ will go out over the existing publisher. As soon as any node with that name is destructed it will unregister the publisher, preventing any further logs for that name from being published on the rosout topic.
It also showed two nodes named “my_manager” in the node list, with each their own parameter’s related services.
After digging, it appears that MoveIt’s RobotModelLoader calls moveit::getLogger, which itself creates a new node. However, because the component manager was started with -r __node:=foobar, all subsequent nodes created inside the same process would inherit the same name.
The same problem can appears without rclcpp_component, with this example:
#include <moveit/robot_model_loader/robot_model_loader.hpp>
#include <rclcpp/rclcpp.hpp>
// Try to run it with and without --ros-args -r __node:=foobar
int main(int argc, char** argv)
{
rclcpp::init(argc, argv);
rclcpp::Node::SharedPtr myNode = rclcpp::Node::make_shared("my_node");
myNode->declare_parameter("my_param", 42.0);
robot_model_loader::RobotModelLoader rml {myNode, "robot_description", false};
rclcpp::spin(myNode);
rclcpp::shutdown();
}
Now, this didn’t cause any problem as far as I could tell, but I don’t like warnings and I really don’t like multiple nodes sharing the same name.
I see multiple solutions:
Rename the node using its orignal name, e.g. -r my_node:__node:=foobar. This requires knowing the original node name, and it doesn’t work with launch_ros, namely ComposableNodeContainer which crafts the renaming argument itself and needs to know the manager’s name to load the components inside. Maybe modify launch_ros in consequence.
Ask MoveIt not to create a new node, or at least accept a custom logger argument for the RobotModelLoader
Modify rcl to only apply the __node renaming to the first created node.
Ignore the warning, maybe disable the parameters services from the node created by moveit::getLogger.
What do you think? Is there a guideline on how to use __node:= and creating multiple nodes in the same process?
(we have been working on this with CNCF for a long time) we recently added the new feature in KubeEdge, called “Resource Upgrade Control at Edge”. i understand that this is not only for ROS 2 but other IoT workloads controlled by Kuberentes and KubeEdge, this is one of the differentiating feature developed for ROS 2 application workloads.
This feature lets you control when and how resources are upgraded on each edge node, giving full flexibility over deployment timing under Kubernetes Cluster. That means for edge AI, robots, drones and EVs, you can now coordinate updates safely and precisely — no more unintentional service interruptions or synchronization issues.
Each edge node can control the upgrade timing at edge with Kubernetes even with rolling upgrade policy !
Please take a look how this feature works before and after:
we also work on other projects to un-gap the boundary between cloud and edge, that are really related to robot and robotics application.
i will allocate some time to summarize our activity and share the update including all the development some time later.
These packages provide the features such as hardware acceleration, zero copy and AI inference, most of them are supported on Ubuntu, can be simply installed by “apt install xxx“.
I’m working on SeekSense AI, a training-free semantic search layer for indoor mobile robots – basically letting robots handle “find-by-name” tasks (e.g. “find the missing trolley in aisle 3”, “locate pallet 18B”) on top of ROS2/Nav without per-site detectors or tons of waypoint scripts.
I’ve put together a quick 3–4 minute survey for people who deploy or plan to deploy mobile robots in warehouses, industrial sites, campuses or labs. It focuses on pain points like:
handling “find this asset/location” requests today,
retraining / retuning perception per site,
dealing with layout changes and manual recovery runs.
At the end there’s an optional field if you’d like to be considered for early alpha testing later on – no obligation, just permission to reach out when there’s something concrete.
If you’re working with AMRs / AGVs / research platforms indoors, your input would really help me shape this properly
A ROS 2 compatible Java library for publish-subscribe. I dare say it’s the easiest way possible to talk to other ROS 2 nodes; no local ROS 2 installation is required. All you need to do is depend on the library in your Java project (works best with Maven or Gradle).
Works on: Windows, Linux (including NVIDIA Jetson & RPi), and macOS! Android support is planned.
jros2 loosely follows rclcpp regarding API design and usage. Includes the following features:
Publish and subscribe to ROS 2 topic
Supports custom message types
Generate Java classes from ROS 2 .msg files
Fast-DDS backend
Minimal and fast implementation
Fully thread-safe
Async and allocation-free API
Full QoS configuration
(soon) ROS 2 services
(soon) ROS 2 actions
(soon) ROS 2 parameters
jros2 is recommended with javacpp-presets packages such as opencv, librealsense2, cuda! Check out javacpp-presets; they make developing robotics & computer vision software very easy in Java!
This project was developed to fill a requirement at IHMC Robotics, we write a lot of our robotics software in Java. If there’s something you’d like to see in jros2, please make an issue on GitHub!
From 27–30 October 2025, Singapore became the beating heart of the global ROS ecosystem.
Over three days, **ROSCon 2025 (27–29 Oct) ** convened more than 1,000 participants from 52 countries maintainers, developers, startups, MNCs, public agencies and researchers—united by a shared belief in open-source as the fastest path to real-world robotics at scale.
This was more than a conference week. It was a signal: open, interoperable robotics—anchored in Singapore, built with the world - is here to stay.
Where Code Meets Collaboration: Reflections from ROSCon 2025 Singapore
Hosted in Singapore for the first time, ROSCon 2025 brought the global ROS community to Marina Bay with three intense days of technical talks, tutorials, demos and hallway architecture debates.
The event was honoured by the presence of Prof Tan Chor Chuan, Chairman of A*STAR
In his remarks, Prof Tan highlighted how open-source innovation, collaborative standards, and talent development are becoming the cornerstones of Singapore’s advanced manufacturing and robotics strategy. He commended the Open Source Robotics Foundation (OSRF) and A*STAR’s Advanced Remanufacturing and Technology Centre (ARTC) for their leadership in cultivating an ecosystem that bridges research and industry, noting that:
“Open-source robotics represents not only technological advancement but also a new model of global cooperation. By enabling interoperability and collective innovation, we can accelerate deployment across sectors — from manufacturing to healthcare — while nurturing the next generation of deep-tech talent in Singapore.”
Prof Tan’s message set the tone for the conference — underscoring Singapore’s commitment to being a neutral and collaborative hub for open-source robotics, embodied AI, and digital transformation.
Beyond the energy on stage and in the expo hall, several milestones framed the week:
1.OSRF–ARTC Collaboration on Open-RMF
At ROSCon, the Open Source Robotics Foundation (OSRF) and A*STAR’s Advanced Remanufacturing and Technology Centre (ARTC) announced a strategic collaboration to:
Co-develop best practices, guidelines and testing plans for Open-RMF as a foundation for global robot interoperability.
Use Singapore’s new national sandbox at BCA Braddell Campus as a reference site for validation and certification of RMF-based deployments.
Strengthen community engagement so that Open-RMF continues to evolve as a truly open, production-grade standard.
This partnership cements Singapore’s role not just as a user of open-source robotics, but as a shaper of global interoperability standards
2. National Standards & Testbeds for Interoperability
Announcements around SS 713 (data exchange between robots, lifts and automated doorways) and TR 130 (interoperability between robots and central command systems) showcased how regulation, infrastructure and open-source can move in lockstep to make multi-vendor robot fleets safe and scalable.
3. Singapore as Neutral, Open Hub
With delegates and contributors from across the US, Europe, China, India, and the broader Asia Pacific, ROSCon 2025 reinforced Singapore’s unique role as:
A neutral ground for collaboration amid a more fragmented geopolitical landscape.
A trusted environment to host shared infrastructure, reference implementations and standards for open-source robotics, embodied AI and Open-RMF-driven ecosystems.
As the curtains close on ROSCon 2025 in Singapore, we are deeply honoured and inspired to have hosted this extraordinary gathering of over a thousand innovators, engineers, and visionaries from across 52 countries. The energy, ideas, and partnerships sparked over these few days reaffirm the strength of the open-source robotics community — one that thrives on collaboration, inclusivity, and shared purpose.
At A*STAR’s Advanced Remanufacturing and Technology Centre (ARTC) and ROS-Industrial Consortium Asia Pacifi, we are excited to continue nurturing these collaborations — strengthening our ties with OSRF and the global ROS community, advancing Open-RMF, and building pathways that connect research to real-world adoption.
As we look ahead, we can’t wait to see how the community will come together again for ROSCon 2026 in Toronto — where new ideas will take flight, new contributors will emerge, and the open-source movement will reach even greater heights.
Hi everyone, I’ve created an AI coding agent specialized for ROS. I got tired of the current LLMs being useless/hallucinating and decided to train something that actually understands ROS conventions and workspaces. You can find it here at www.contouragent.com, I’d love your feedback.
Thanks to all ROS maintainers who make packages available to the ROS community. The above list of packages was made possible by the work of the following maintainers: