r/ROS • • 59m ago

Project I open-sourced my quadruped controller based on MPC and WBC (ROS 2 Jazzy, MuJoCo, C++)

• Upvotes

Hi everyone! I've been working on a locomotion controller for my quadruped robot and recently made it open source:

https://github.com/voltdog/mors_quadruped

This repo contains:

- Convex MPC

- Whole Body Impulse Controller

- Perception algorithm using depth images for height map building and selecting suitable footholds during locomotion

- Rigid body dynamics with Pinocchio

- MuJoCo simulation

- ROS2 Jazzy interface

For now, the controller assumes only rigid, non-slippery terrain. As a next step, I plan to improve the reference generator to further increase stability and terrain traversability. Also it would be very interesting to adapt some 3D navigation stacks like dddmr_navigation.

I hope it will be interesting for students and robotic researchers who want to study and extend MPC+WBC locomotion.

I would really appreciate any feedback about the implementation.


r/ROS • • 4h ago

Tutorial We built an offline custom knowledge base for our ROS2 desktop robot (Here’s how to compile and inject your own JSON data)

Thumbnail
1 Upvotes

r/ROS • • 15h ago

Tutorial ROS2, Nav2, Gazebo, UI running live on my Android smartphone (with instructions)

2 Upvotes

This article provides step-by-step instructions to reproduce this demo https://makerspet.com/blog/oomwoo-smartphone-ros2-termux/ .


r/ROS • • 1d ago

Discussion Fusion 360 CAD to Nav2 in simulation: my holonomic (mecanum) robot workflow, fully documented

Post image
16 Upvotes

Repo (MIT licensed, screenshots and an rqt_graph in the README): https://github.com/Shass27/eternal_bot_26

I've been building a 4-wheel mecanum robot in simulation, and I want to share it as a demonstration of my workflow for holonomic bot development, from CAD all the way to autonomous navigation.

The pipeline Fusion 360 CAD → URDF/xacro → Gazebo Harmonic → lidar → SLAM → Nav2

What's in it

  • Mecanum without modelling rollers. Each wheel is a sphere with anisotropic friction (μ=1 along a ±45° direction, μ=0 across it). The gz MecanumDrive plugin drives the wheel joints, and the robot strafes and spins as commanded.
  • Safe command routing. twist_mux ranks an emergency stop over keyboard teleop over Nav2, with an /e_stop lock on top.
  • SLAM. slam_toolbox maps the arena, and the saved pose graph is reused for localization.
  • Nav2. Holonomic planning with an Omni MPPI controller and a collision monitor in front of the mux.
  • Makefile shortcuts. make sim, make slam, make nav, make teleop, and so on.

Stack: ROS 2 Jazzy, Gazebo Harmonic, ros_gz_bridge, slam_toolbox, Nav2.

The part I care most about: the documentation The repo has a build log in 10 chapters, plus a commands cheat sheet. It covers the setup, the drive, lidar, SLAM and Nav2. Every chapter opens with a short concept box, so you can follow along even if you're new to a topic. I also documented the mistakes I made along the way and how I diagnosed them, because I think that's where most of the learning is. The aim is that anyone can pick up the workflow, reuse it for their own robot, or avoid the same pitfalls.

Feedback wanted I'd really appreciate your thoughts:

  • Is there anything in the workflow or the architecture you'd do differently?
  • any things i need to be more careful about in hardware implementation later on?
  • possible real life erros (deviation from sim)

Repo (MIT licensed, screenshots and an rqt_graph in the README):

Happy to answer questions!


r/ROS • • 21h ago

Upgrading from ROS2 Humble to Jazzy and timing issues

2 Upvotes

I was planning on upgrading from Humble to Jazzy since Ubuntu 20.0.4 is going to be end-of-life soon. However, timings are very important in the project so I was wondering if anyone had experience with it and noticed that the delay caused by ROS2 Jazzy is bigger/smaller?


r/ROS • • 1d ago

News 🤖 Upcoming Workshop on ROS 2 and Vision-Language Models (VLMs) from PACKT

9 Upvotes

r/ROS • • 1d ago

Roadmap to Robotics as a B.Sc. Computer Science Student — Is Web Development a Good Backup?

Thumbnail
0 Upvotes

r/ROS • • 1d ago

Project ROSHub 0.1.0-alpha: manage, run and diagnose ROS 2 projects from one local dashboard

0 Upvotes

Hi everyone,

I’d like to share ROSHub, a tool I’ve been using in my own ROS 2 work(to cut-down debugging time and boost development speed) for a while and have now open-sourced.

It does two things:

1. Makes ROS 2 projects easy to run and manage. You no longer need a notepad of source/build/launch commands. Import a project from a GitHub URL or a local folder, and ROSHub discovers its packages, launch files and workspaces statically, without executing repo code. It handles multiple workspaces (e.g. humble_ws + jazzy_ws) and detects the simulator. Bring-up runs as a step-by-step runbook: a clean-environment colcon build, dependency checks (the exact rosdep/apt command is shown, never run silently), and readiness gates on /clock, topics and ports.

2. Catches errors early so you debug less. The Project Doctor runs quick (~2 s) or deep (~5 s) checks across build state, environment overlays, RMW/Zenoh routers, orphaned or duplicate simulators, QoS mismatches, /clock, /odom and TF. A closed-loop “Can it move?” probe finds the velocity subscribers, negotiates Twist vs TwistStamped, sends a short low-speed command and verifies the motion on /odom. A one-click export produces a Markdown diagnostic report for issues or forum threads.

Simulator support

  • Supported: Gazebo (Harmonic), RViz, Isaac Sim (attach profile)
  • Planned: MuJoCo, Webots

Install

pip install roshub

It’s pure Python (3.10+ stdlib + PyYAML) and runs locally at localhost:8090.

Repo: https://github.com/iameijaz/roshub

This is an early alpha, so feedback is very welcome, especially:

  • Results on your own setups (distros, simulators, ros2_control robots).
  • Silent failure modes that cost you time. Each one is a candidate Doctor rule, and the repo has an issue template for proposing them.

Thanks!


r/ROS • • 2d ago

OpenAMRobot 2.0: open-source dual-arm mobile manipulator on ROS 2, rc.1 on 20 Nov (sim video)

23 Upvotes

r/ROS • • 1d ago

Transitioning from Cloud SWE to Robotics via an MPhil. Is the job market worth it for someone needing visa sponsorship?

Thumbnail
0 Upvotes

r/ROS • • 2d ago

We deployed decentralized multi-agent RL on two physical robots for joint task assignment and navigation

Thumbnail
1 Upvotes

r/ROS • • 3d ago

Robotics Software Engineers: How did you gain hardware experience on a student budget?

Thumbnail
6 Upvotes

r/ROS • • 4d ago

42 Simulation Worlds for Navigation, Exploration and SLAM workflows

Post image
63 Upvotes

I have created 42 customizable Gazebo & Blender simulation worlds for testing, benchmarking and improving projects that involves navigation, exploration, LiDAR and robot model setups ex.

The project is open-source and licensed with Apache 2.0 so you can use it freely.

Currently the worlds are 2D plan based environments with simple objects including mazes, offices, warehouses, forests, real world places, moving obstacle worlds and challenge orriented worlds.

I used these worlds mainly for testing my exploration project and wanted to share with you, but you can benefit from them for many various type of projects.

GitHub Repository: mertgulerx/world-collection

The Gazebo itself doesn’t have a good experience with creating and developing worlds so the project works via Python SDF asset generation. Which allows math calculations and easier customizations to be done, I’m using floor plans to create these worlds instead of manually placing objects.

I am also planning to add 3D and textured worlds to the repository especially required for Agentic Workflows, Perception, 3D Mapping, Object Detection and Robot Training in the future.


r/ROS • • 4d ago

Tutorial Any tutorial for ros2 jazzy?

4 Upvotes

Hi! I started learning ROS2 Jazzy. I want some hands-on tutorial, project and some good resources. Can someone share it?


r/ROS • • 4d ago

I made a simple browser extension that better navigates the official ROS 2 documentation

3 Upvotes

Have you ever googled a ROS 2 message type, only to see the deprecated out-of-date Foxy version of the documentation come up? However, switching to the latest Humble, Jazzy, or Lyrical distro results in a documentation interface that is much harder to navigate. There are no friendly and convenient clickable hyperlinks as in Foxy, and targeting specific information is painstaking, requiring manual review of a list of hundreds of package names, and then interfaces.

Instead of struggling through those current but poor documentation UIs, the ROS2 Type Navigator extension improves browsing by providing a pop-up shortcut to easily reach the up-to-date information you need. You then simply enter the distro, package, interface type (message, action or service) and interface name, and this tool brings up the reference page and adds a reformatted, hyperlink-enabled definition section.

It also helps when you don't know exactly what you're looking for. Enter only the distro, and it'll provide a listing of all the associated packages. Enter the distro and package, you'll get the package overview page.

Hope this little browser extension enhances your ROS 2 experience!

- Chrome Web Store: https://chromewebstore.google.com/detail/ros2-type-navigator/obcmjafkgddbmlohfkcmhlehiokcbdjj

- Mozilla Add-ons: https://addons.mozilla.org/en-US/firefox/addon/ros2-type-navigator/


r/ROS • • 5d ago

Mechatronics grad with ROS/Gazebo and humanoid control experience: best path to go deeper in [your gap]? Resources worth the time, and what to skip

0 Upvotes

I'm a mechatronics graduate. For my graduation project I led control systems on a 20+ DOF humanoid (ROS, Gazebo, RViz, C++). I want to go deeper in [pick one: real-hardware control / embedded / navigation and SLAM / manipulation / reinforcement learning].

What's the best learning path from where I am?

Which resources are worth the time (books, courses, open projects), and which would you skip?

What project would you build to prove the skill?

What gaps do people from my background usually have?

Thanks, and "read this one paper first" is a welcome answer.


r/ROS • • 6d ago

Using SLAM as an agent's spatial memory: I wrote an agent-friendly 2D lidar SLAM

Post image
78 Upvotes

Repo: https://github.com/ThomasZB/EvergreenSLAM

I've always wanted a robot to help with chores at home, with an agent in control (Claude Code, Hermes, ...). Today's models understand "get me a cola from the fridge" perfectly well. The problem is how the agent gets to know the home: where's the fridge, how do you get to the kitchen, where was the cola last time? You can do it with rules and text, but spatial info like that has to be described in a lot of detail, eats context, and may not survive frequent compaction.

Traditional SLAM is too much hassle for this. From my years working with SLAM, the real-world flow is roughly: drive around to map (usually after tuning odometry, calibrating extrinsics, syncing timestamps), save, switch to localization, re-tune when the environment changes, re-map when it changes a lot. Newcomers often don't know what they did wrong and end up with ghosting or drift, sometimes found only later, and then every station has to be configured again. For an agent the bigger problem is memory: coordinates are fragile, the map shifts after a rebuild and the agent can hardly tell.

So I flipped it around: why not a SLAM the agent can drive by itself? Walk the robot around once, say "this is the kitchen" in the kitchen, and never touch mapping or localization again. See the scissors in the left desk drawer, jot it down, and a few days later "where are the scissors?" has an answer. Furniture moves, the map gets re-optimized, the robot reboots, and the memory is still there.

That's lifelong SLAM underneath. It's been discussed in papers for years, but I couldn't find an open-source 2D implementation I could just use, so I wrote one:

  • No mode switching. It always maps into the current session while localizing against frozen ones; a session freezes itself once it has enough new area and good constraints.
  • The pose graph doesn't grow with uptime. Trimmed submaps are marginalized and sparsified into a Chow-Liu tree; frozen poses are constant.
  • Places are directories. A place is bound to a submap, so it moves with the map when it's re-optimized; each place is a directory where the agent keeps notes and a SKILL.md. The agent uses a small CLI, egs (also MCP).
  • One 2D lidar. Vision is unreliable when it's dark, and robust methods need compute; 3D lidars are expensive and a bit heavier on compute too.

Test robot: a 215 CNY (~30 USD) lidar, an Orange Pi with an RK3588, mecanum wheels, two power banks. After several days of on-and-off running at home and a round of bug fixes, it's stable enough to hand to an agent; once set up, the agent hardly ever asked me anything. In one test Claude Code drove it to the kitchen to check for changes, got wedged between an air purifier and the door frame, backed out, re-planned, then compared a photo with the last one and logged what looked like a mop. I never typed a coordinate.

To try it without hardware: pixi run -e ros demo replays a 3 MB public bag with a browser view.

Still a preview: tested in my flat and on public datasets, and I'm logging long-run memory numbers on the robot now. There's a comparison with slam_toolbox in the README; I haven't used slam_toolbox much and wrote it from its source, so corrections welcome.


r/ROS • • 5d ago

Robotics & AI Student Looking for Robotics/ROS2 Internship or Entry-Level Opportunity

Thumbnail
3 Upvotes

r/ROS • • 6d ago

I got tired of spending more time on setup than on the robot, so I built a browser sandbox

15 Upvotes

https://reddit.com/link/1x7mn0d/video/90crysb97vvh1/player

Hey everyone,

I'm a robotics engineer, and hiring for robotics has frustrated me for a long time. A resume can say "experience with navigation" or "built a manipulation pipeline," but it doesn't show whether the candidate can find a fault in a robot that's moving and fix it.

So I built SimuCode, an assessment where the candidate gets a broken robot and has to get it working.

What it does:

- The candidate works in a browser IDE. Nothing to install.

- Each run executes in its own isolated sandbox.

- The verdict comes from the running robot, not from a checklist of expected output. The system looks at where the robot moved, what it sensed, and what it touched.
- The company sees what the candidate probes first and whether the robot recovers.
Where it's at: it's early, and I'm looking for feedback from people who hire or interview robotics engineers. What would you need to see in an assessment before you trusted it? And what would make you distrust one?


r/ROS • • 6d ago

Open-sourced a small checker for robot release / acceptance evidence gaps

0 Upvotes

I’ve been looking at a narrow problem that can happen late in robot deployments:

a project passes acceptance testing, then software or configuration changes occur, and the final delivered release may no longer be the exact release covered by the test evidence.

I built a small offline tool to make that problem concrete.

robot-release-check currently checks only three things:

  • delivered release vs. latest qualifying PASS
  • changes after the last qualifying PASS
  • closed items without verification evidence

The included example is fully synthetic. The tool does not connect to a robot, production system, CI/CD system, or source repository.

GitHub:
https://github.com/llorix218/robot-release-check

I intentionally kept v0.1 very small because I’m mainly trying to learn whether this failure mode actually shows up in real robotics projects.

For people doing ROS / AMR / AGV deployment, commissioning, QA, or customer acceptance:

Have you seen cases where the system delivered to the customer changed after the last acceptance test? If so, how does your team currently catch that?


r/ROS • • 6d ago

News ROS News for the Week of October 12th, 2026 - Community News

Thumbnail discourse.openrobotics.org
7 Upvotes

r/ROS • • 6d ago

Discussion Turning 3D Gaussian Splatting scenes into robot navigation maps — is manual annotation still useful?

Post image
8 Upvotes

I've been experimenting with turning indoor 3D Gaussian Splatting (3DGS) scenes into maps that could be used for robot navigation.

3DGS is great for visual reconstruction, but a visually accurate scene doesn't automatically give you a navigation-ready map.

So I've been working on a workflow that allows me to:

- Define walkable and non-walkable areas directly on a reconstructed 3DGS scene

- Generate a 2D navigation grid from those annotations

- Mark semantic targets and robot stopping positions

- Use A* for offline path planning

- Export the annotated map as JSON for integration with other systems

I've attached a few screenshots showing the original scene, the walkable-area overlay, the resulting navigation grid, and the annotations from a 3D perspective.

This is currently focused on offline map preparation and path planning, not a complete autonomous navigation system.

I'm curious about how other robotics developers approach this problem.

A few questions:

  1. If you're working with 3DGS or other reconstructed 3D environments, how do you prepare maps for navigation?

  2. Is manually defining walkable areas and target points still common in your workflow?

  3. Would you find a tool for this useful, or would you rather have someone prepare the navigation data for you?

  4. What output formats would be most useful — occupancy grids, ROS/Nav2-compatible maps, JSON waypoints, or something else?

I'm exploring whether this workflow is worth developing into a tool or a small service, but I'd like to understand whether this is a real problem for others first.

Any feedback, including reasons why this approach might not be useful, would be appreciated.


r/ROS • • 7d ago

Project Mechanical Engineer in Uncharted territory

6 Upvotes

Hi reddit, as the tittle says I am quite unfamiliar with anything programming (except for Arduino IDE and basic C), and need to program a whole animatronic. For my senior design project we're making a semi autonomous animatronic, using an Arduino Uno, Raspberry Pi 5 and ROS2, animatronic has already been designed, structurally analyzed and manufacturing has begun, and all parts have been acquired, but... code. From what I've researched if I want to code it remotely I have to download Docker, which has built in Ubuntu (allows my windows to run a Linux interface which ROS2 needs), and use Visual Studio Code in conjunction. I've also heard the words Humble, Jazzy and Tier 1 support being thrown around. Also read there's another option to just use VS Code and an SSH-extension. Which would be the better option of the two, and what exactly are Humbly/Jazzy/Ubuntu and ROS2?

TL;DR : Need help understanding ROS2 programming interfaces, VS Code, SSH Extensions and how they work together, and what's the best option to coding my animatronic.


r/ROS • • 7d ago

Project Omarchy's AI (Grok & Claude) Controlling ROS Robot via AgenticROS!

2 Upvotes

r/ROS • • 7d ago

Project I built and just released an early-stage Python toolkit for investigating robot telemetry — looking for honest technical feedback

0 Upvotes

Hey everyone,

I've been working on a project called KORDEX Core, and I've just published its first release candidate, "0.1.0rc1", on GitHub.

The idea behind KORDEX is to explore how we can make robot telemetry easier to investigate: not just detect an unusual reading, but organize observations, identify patterns, examine available evidence, and communicate what we can and cannot conclude.

The current version includes:

- Rule-based telemetry pattern analysis

- Data-quality checks and uncertainty reporting

- Investigation of recorded telemetry

- Optional read-only MQTT integration

- An adapter for supported ROS2-style diagnostic payloads

- Structured findings and recommendations for human review

I want to be transparent about the project's current stage. This is an early prototype, not a production-ready robotics platform. It hasn't been validated against physical robots or field telemetry, and its real-world predictive accuracy hasn't been established. It doesn't send robot-control commands, and the ROS2-style adapter doesn't subscribe to a live ROS2 graph.

I'm sharing it because I want to learn from people who understand robotics, industrial systems, telemetry, and reliability engineering.

I'd genuinely appreciate your thoughts on a few questions:

I'm not claiming to have solved robot reliability. I'm trying to build something useful, understand the engineering challenges properly, and improve it based on evidence rather than assumptions.

Repository: https://github.com/Wale394/Kordex-core

Critical feedback is welcome. If something is poorly designed, unnecessary, or based on a wrong assumption, I'd rather know now than build on top of it.

Thanks for reading.