open-rmf / open-rmf/rmf_simulation

[Feature request]: Replace slotcar plugin with DriveToPoseController

Open
#156 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
C++
Stars
21
Forks
30
PR merge metrics
No merged PRs in 30d

Description

Before proceeding, is there an existing issue or discussion for this?
Description

The slotcar plugin has been the default controller for robots in RMF demos and testing. While it simulates forces and velocities realistically, it often becomes a bottleneck in larger scenarios because of the high number of computations running under the hood.

The DriveToPoseController system plugin (https://github.com/gazebosim/gz-sim/pull/2679) has recently been introduced as a lighter alternative and is already available in Jetty and Ionic releases, with an open PR for backporting to Harmonic (https://github.com/gazebosim/gz-sim/pull/2939).

Would like to know if the PMC is interested in moving forward with this effort - @luca-della-vedova, @aaronchongth

Open questions
  • Are there specific slotcar plugin features that DriveToPoseController must replicate before full replacement?
  • If we decide to go forward with the migration then do we wait for the next ROS 2 release cycle or should we fast-track the Harmonic backport and begin updating RMF demos sooner?
Implementation Considerations
  • Update RMF demo worlds to use DriveToPoseController along with DiffDrive and OdometryPublisher plugins
  • Update RMF demo fleet manager to communicate with the Gazebo model over the topics provided by DriveToPoseController
Alternatives

No response

Additional information

This plugin was presented in the recent Gazebo Community Meeting (September 2025) - https://vimeo.com/1123639071#t=31m7s

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the DriveToPoseController documentation and the linked gz-sim PRs, then inspect the RMF demo worlds and demo fleet manager communication described in the issue. First resolve which slotcar features must be preserved and whether to wait for the ROS 2 cycle; done means the migration scope is agreed and the demos and fleet manager work with the replacement controller.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
robotics
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.