Skip to content

Meta-Ticket for Next-Generation Prototype Traffic Management #8

Description

@arjo129

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

Description

As part of our initiative to transition towards a more “horizontal” architecture in open-rmf, @mxgrey has proposed a six-stage roadmap:
https://discourse.openrobotics.org/t/next-generation-open-rmf-roadmap/53820

Implementation Considerations

This ticket specifically addresses the first phase of this development cycle.

A comprehensive specification for the next-generation prototype is detailed in the following posts:

  1. https://discourse.openrobotics.org/t/taxonomy-of-interfaces-for-the-next-generation/44310
  2. https://discourse.openrobotics.org/t/traffic-management-interfaces-for-the-next-generation/44414

These posts provide a rigorous specification for next-generation interfaces, sufficient to serve as a baseline for implementing an instance of open-rmf.

Furthermore, several technology demonstrations are available across various repositories:

The objective of this ticket is to establish a concrete action plan for a reference implementation of the open-rmf message specification and Nav2 integration. The next-generation traffic interfaces comprise three primary components:

  • Destination Server: Functionally equivalent to RMF’s reservation_node.
  • Plan Server: Functionally equivalent to RMF’s rmf_traffic.
  • Plan Executor: Previously integrated within rmf_fleet_adapter.

A Minimum Viable Product (MVP) will implement these three layers. For clarity, I have decomposed each component into discrete milestones.

Pass 1

This initial phase prioritizes establishing the core software components; fault tolerance and session_refresh components will be excluded from this scope.

Destination Server

Plan Server

Plan Executor

Visualization

  • Develop a simple visualization for robots by streaming over http
  • launch file with simple end-to-end demo in an open space

Developer Infrastructure

At the end of Pass 1 we will have a simple playground with swappable algorithms for MAPF and a simple destination server. This will by no means be within parity of the old open-rmf.

Pass 2

The focus of this pass will be on handling failures and edge cases for robots within a free-space

Across All Nodes

  • ~session_refresh logic.
  • Develop participant registration/deregistration logic.

Path Server/Path Executor

  • Implement odometry Time-to-Live (TTL).
  • Implement the fleet stalling framework.
  • Crossflow integration (figure out what plugins will look like)
  • Nav2 integration

Visualization

  • Develop a simple visualization for robots by streaming over http with rmf_site.

Pass 3

The focus of this pass will be to build out more complex logic

Destination Server

  • Develop Graph based approach. Figure out mapping between graph and free-space.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type
    No fields configured for issues without a type.

    Projects

    Status
    In Progress

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions