epic:Base for next-gen RMF#26
Open
arjo129 wants to merge 11 commits into
Open
Conversation
Signed-off-by: Arjo Chakravarty <arjo129@gmail.com>
Adds a simple path visualizer for RViz to view plans generated by the planner over the topic `~/path_markers`. ### GenAI Use We follow [OSRA's policy on GenAI tools](https://github.com/openrobotics/osrf-policies-and-procedures/blob/main/OSRF%20Policy%20on%20the%20Use%20of%20Generative%20Tools%20(%E2%80%9CGenerative%20AI%E2%80%9D)%20in%20Contributions.md) - [x] I used a GenAI tool in this PR. - [ ] I did not use GenAI Generated-by: Gemini 3.1 Pro --------- Signed-off-by: Xiyu Oh <xiyu@openrobotics.org>
Adds a CI for the next-gen prototype. ### Implementation description We create a base container consisting of `ros2_rust`, `nav2` and generated rust messages. We then Perform the building against this base container. ### GenAI Use We follow [OSRA's policy on GenAI tools](https://github.com/openrobotics/osrf-policies-and-procedures/blob/main/OSRF%20Policy%20on%20the%20Use%20of%20Generative%20Tools%20(%E2%80%9CGenerative%20AI%E2%80%9D)%20in%20Contributions.md) - [x] I used a GenAI tool in this PR. - [ ] I did not use GenAI Generated-by: Gemini Pro 3.1 Signed-off-by: Arjo Chakravarty <arjo129@gmail.com> * Update CI workflow branch to epic/next-gen-base Signed-off-by: Arjo Chakravarty <arjo129@gmail.com> * Add branch to CI workflow for additional feature Signed-off-by: Arjo Chakravarty <arjo129@gmail.com> * Remove nav2 stuff Signed-off-by: Arjo Chakravarty <arjoc@intrinsic.ai> * Rosdep new code as well Signed-off-by: Arjo Chakravarty <arjoc@intrinsic.ai> * Rosdep new code as well Signed-off-by: Arjo Chakravarty <arjoc@intrinsic.ai> * Update CI Signed-off-by: Arjo Chakravarty <arjoc@intrinsic.ai> * Update readme Signed-off-by: Arjo Chakravarty <arjoc@intrinsic.ai> * try not using repos file Signed-off-by: Arjo Chakravarty <arjoc@intrinsic.ai> * Fix typo Signed-off-by: Arjo Chakravarty <arjoc@intrinsic.ai> * Update README.md Co-authored-by: Xiyu <ohxiyu@gmail.com> Signed-off-by: Arjo Chakravarty <arjo129@gmail.com> * remove broken source path Signed-off-by: Arjo Chakravarty <arjoc@intrinsic.ai> * remove broken source path Signed-off-by: Arjo Chakravarty <arjoc@intrinsic.ai> * add rosdep init Signed-off-by: Arjo Chakravarty <arjoc@intrinsic.ai> * to rosdepinit or not that is the question Signed-off-by: Arjo Chakravarty <arjoc@intrinsic.ai> * rosdep binary Signed-off-by: Arjo Chakravarty <arjoc@intrinsic.ai> * fix instructions Signed-off-by: Arjo Chakravarty <arjoc@intrinsic.ai> * Remove repos file Signed-off-by: Arjo Chakravarty <arjoc@intrinsic.ai> * Remove repos reference Signed-off-by: Arjo Chakravarty <arjoc@intrinsic.ai> * Update dockerfile to use colcon cargo from apt Signed-off-by: Arjo Chakravarty <arjoc@intrinsic.ai> * Update readme instructions Signed-off-by: Arjo Chakravarty <arjoc@intrinsic.ai> * Fix apt command Signed-off-by: Arjo Chakravarty <arjoc@intrinsic.ai> * Update README for clarity on workspace dependencies Signed-off-by: Arjo Chakravarty <arjo129@gmail.com> * Use rosenv Signed-off-by: Arjo Chakravarty <arjoc@intrinsic.ai> * Re-add colcon-ros-cargo Signed-off-by: Arjo Chakravarty <arjoc@intrinsic.ai> * update readme since vcs is no longer needed Signed-off-by: Arjo Chakravarty <arjoc@intrinsic.ai> * Dockerfile base Signed-off-by: Arjo Chakravarty <arjoc@intrinsic.ai> * Force upgrade Signed-off-by: Arjo Chakravarty <arjoc@intrinsic.ai> * Add break-system package line Signed-off-by: Arjo Chakravarty <arjoc@intrinsic.ai> * Limit to only epic branch Signed-off-by: Arjo Chakravarty <arjoc@intrinsic.ai> --------- Signed-off-by: Arjo Chakravarty <arjoc@intrinsic.ai> Signed-off-by: Arjo Chakravarty <arjo129@gmail.com> Co-authored-by: Xiyu <ohxiyu@gmail.com>
Signed-off-by: Arjo Chakravarty <arjoc@intrinsic.ai>
## New feature implementation ### Implemented feature I added a reservation-aware destination server package, in addition to the stateless simple destination server. The user can switch between both implementations in the demo at launch time. ### Implementation description This PR is a combination of: - arjo129#4: E2E visualization for reservation queuing - arjo129#7: negative-coordinate reservation fixes - arjo129#8: RMF Site Editor config parsing and the splitting of the destination server package into stateless and reservation-aware packages. ### GenAI Use We follow [OSRA's policy on GenAI tools](https://github.com/openrobotics/osrf-policies-and-procedures/blob/main/OSRF%20Policy%20on%20the%20Use%20of%20Generative%20Tools%20(%E2%80%9CGenerative%20AI%E2%80%9D)%20in%20Contributions.md) - [x] I used a GenAI tool in this PR. - [ ] I did not use GenAI --------- Generated-by: GPT-5.5 Signed-off-by: SamuelFoo <fooenzesamuel@gmail.com>
Signed-off-by: Arjo Chakravarty <arjoc@intrinsic.ai>
* Fix QoS durability mismatches in integration tests Signed-off-by: Arjo Chakravarty <arjoc@intrinsic.ai> * CI: Run tests sequentially to avoid DDS interference Signed-off-by: Arjo Chakravarty <arjoc@intrinsic.ai> --------- Signed-off-by: Arjo Chakravarty <arjoc@intrinsic.ai>
xiyuoh
force-pushed
the
epic/next-gen-base
branch
from
July 3, 2026 06:47
512b83e to
34b2d6a
Compare
* Introduce nav2 traffic for next gen Signed-off-by: Xiyu Oh <xiyu@openrobotics.org> * Bring in spatio temporal stuff Signed-off-by: Xiyu Oh <xiyu@openrobotics.org> * Remove sp from repos file Signed-off-by: Xiyu Oh <xiyu@openrobotics.org> * Remove .repos file Signed-off-by: Xiyu Oh <xiyu@openrobotics.org> * Persistent cancelllation Signed-off-by: Xiyu Oh <xiyu@openrobotics.org> * More robust inner nav request handling Signed-off-by: Xiyu Oh <xiyu@openrobotics.org> * Add clearer description Signed-off-by: Xiyu Oh <xiyu@openrobotics.org> * Review comments Signed-off-by: Xiyu Oh <xiyu@openrobotics.org> * Add visualizer launch Signed-off-by: Xiyu Oh <xiyu@openrobotics.org> * Move bevy ros2 stuff to its own crate + cleanup Signed-off-by: Xiyu Oh <xiyu@openrobotics.org> * Compare destination session Signed-off-by: Xiyu Oh <xiyu@openrobotics.org> * Adjust log level Signed-off-by: Xiyu Oh <xiyu@openrobotics.org> * Add more deps instructions to readme Signed-off-by: Xiyu Oh <xiyu@openrobotics.org> * Some readme stuff, some ci stuff, some logging stuff Signed-off-by: Xiyu Oh <xiyu@openrobotics.org> * See if CI will fetch the right things Signed-off-by: Arjo Chakravarty <arjoc@intrinsic.ai> * Add deps Signed-off-by: Xiyu Oh <xiyu@openrobotics.org> * Forgot the 2 Signed-off-by: Xiyu Oh <xiyu@openrobotics.org> --------- Signed-off-by: Xiyu Oh <xiyu@openrobotics.org> Signed-off-by: Arjo Chakravarty <arjoc@intrinsic.ai> Co-authored-by: Arjo Chakravarty <arjoc@intrinsic.ai>
Some cleanup follow-up from Nav2 traffic PR outlined in #21: - Replace `DefaultPlugins` with `MinimalPlugins` + `LogPlugin` - Use `rmf_participant_discovery` for the visualizer - Add `nav2_traffic` node to `demo_viz` launch file ### GenAI Use We follow [OSRA's policy on GenAI tools](https://github.com/openrobotics/osrf-policies-and-procedures/blob/main/OSRF%20Policy%20on%20the%20Use%20of%20Generative%20Tools%20(%E2%80%9CGenerative%20AI%E2%80%9D)%20in%20Contributions.md) - [x] I used a GenAI tool in this PR. - [ ] I did not use GenAI Generated-by: Gemini 3.1 Pro Signed-off-by: Xiyu Oh <xiyu@openrobotics.org>
Related to #12 ### Implemented feature Adds a very rudimentary way of loading environment maps. This is by no means a final approach to loading maps, but it provides a high level way of representing them for the time being. ### Implementation description We subscribe to the `/map` topic to listen for OccupancyGrids. It gets converted internally to a `Map` struct ### Test it Use the launch file provided by `demo_map.launch.py` . It spins up a ROS 2 `map_server` loaded with a custom 20x20 grid map (`demo_grid.png`) and activates it. The dashboard subscribes to `/map` and visualizes it as a background layer. Run the launch file: ```bash ros2 launch rmf_path_server_demo demo_map.launch.py ``` - Open `http://localhost:8080` in your web browser. - The canvas will automatically fit to the 20x20 grid map. - You can add robots and set goals as in the default mode, and see the map obstacles (a box in the center) drawn on the canvas. ### GenAI Use We follow [OSRA's policy on GenAI tools](https://github.com/openrobotics/osrf-policies-and-procedures/blob/main/OSRF%20Policy%20on%20the%20Use%20of%20Generative%20Tools%20(%E2%80%9CGenerative%20AI%E2%80%9D)%20in%20Contributions.md) - [x] I used a GenAI tool in this PR. - [ ] I did not use GenAI Generated-by: Gemini Pro 3.1 --------- Signed-off-by: Arjo Chakravarty <arjoc@intrinsic.ai> Signed-off-by: Arjo Chakravarty <arjo129@gmail.com> Co-authored-by: Xiyu <ohxiyu@gmail.com>
* Change build branch from 'epic/next-gen-base' to 'main' Signed-off-by: Arjo Chakravarty <arjo129@gmail.com> * Change CI workflow branch from epic to main Signed-off-by: Arjo Chakravarty <arjo129@gmail.com> --------- Signed-off-by: Arjo Chakravarty <arjo129@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Note: DO NOT SQUASH MERGE THIS PR, we want to keep history
This PR consists of a set of commits by myself, @xiyuoh and @SamuelFoo that should form the base of the next-gen-rmf.
It implements most of Pass 1 of #8. It consists of a minimal CI, plan executor and plan server along with a simple destination server. There are also some temporary demos that have been vibed-out so that people can start hacking.
Testing
I would start with the repository's main readme:
Then I would work through the demos here:
Finally I would try the Nav 2 demos out: