How should place-originated spatial constraints participate in task planning and assignment in next-generation Open-RMF?

I’m working on an experimental open protocol called PlaceAuth / Spatial Policy Protocol (SPP) for expressing machine-readable requirements that originate from physical places rather than from the robot fleet itself.

The specific architectural question I’d like feedback on is narrow:

Should place-originated spatial requirements remain declarative, while Open-RMF evaluates whether a specific candidate robot, route, and task sequence can satisfy them?

During review of the current request-level consideration model, a key limitation became clear: task acceptability can depend on more than the task description itself. It may depend on the candidate robot, its starting state, the route it would take, and task ordering.

For example:

  • A robot may be asked to move to a destination while recording.
  • The task could be valid for a robot whose route does not cross a no-recording zone.
  • The same task could be invalid for another robot starting elsewhere if every viable route crosses that zone.
  • Task ordering may also matter if earlier tasks change the robot’s state or location.

That pushed the experiment away from treating spatial policy as a simple request-level permit/deny decision.

The current model is:

Place policy:

  • declares spatial requirements
  • identifies governed places/scopes
  • remains independent of fleet organization

Open-RMF / planner:

  • evaluates a candidate robot
  • evaluates its starting state
  • evaluates candidate routes
  • evaluates task ordering
  • determines whether the resulting plan satisfies the place-originated requirements

The intent is to keep SPP declarative rather than turning it into a planner.

I’d especially value feedback on the following:

  1. Boundary correctness

Does it make architectural sense to keep place-originated policy separate from fleet/group taxonomy?

My current thinking is that fleet/group hierarchy describes machine organization, while place policy represents an independent source of constraints originating from the environment being entered.

  1. Planner responsibility

Should feasibility against spatial constraints be evaluated inside the task planner rather than at the initial request-consideration boundary?

  1. Candidate-specific feasibility

Is it reasonable for the same task to be considered feasible for one robot and infeasible for another based on:

  • initial location
  • available route
  • task sequence
  • robot capability/state
  1. Integration point

Where would this best enter a next-generation Open-RMF architecture?

Possibilities I’ve considered include:

  • request consideration
  • planner feasibility evaluation
  • assignment
  • execution-time validation
  • a combination of these
  1. Existing abstraction / prior art

Does Open-RMF already have, or is it already moving toward, an abstraction that handles this problem more cleanly?

I’m very interested in being told that this boundary is wrong, redundant, or over-engineered if there is a better existing model.

Supporting material:

Architecture note:

Peer-review entry point:

Planner-aware experiment:

The planner experiment is intentionally small. It demonstrates:

  • Robot A can complete a recording task because its route avoids a restricted scope.
  • Robot B cannot complete the same task because its route crosses a no-recording scope.
  • Robot B becomes feasible when recording suppression is mapped as an explicit restriction.

The experiment does not propose normative Open-RMF APIs.

What I am NOT asking for review on here:

  • cryptographic admission-envelope details
  • PKI / issuer federation
  • patentability
  • commercialization
  • whether SPP should become a formal standard
  • normative SPP 0.2 wording

This is specifically an architecture question about where place-originated constraints belong in the planning and assignment model.

The most useful feedback would be:

  • architectural flaw
  • missing Open-RMF concept
  • unnecessary complexity
  • better integration point
  • existing mechanism or standard I should study

Even a short “this belongs in X instead” would be extremely useful.

Thanks, Roland. That’s helpful, and it reinforces the direction I’ve been leaning toward: keep place-originated constraints declarative and separate from fleet organization, while allowing the planner to evaluate feasibility against the dynamic state of the candidate robot and route.

I appreciate the feedback.

This is an interesting problem which I have not put much thought towards, so take my suggestions with that context in mind. We currently are hacking on just the traffic system. As far as the traffic system is concerned there are several ways to handle this.

The first problem is how does a robot get from A->B. Given spatial policies “like a nurse needs to escort you” is something that affects traffic flows I can see two paths forward:

  1. SPP provides its own remapping to destination servers within open-rmf and the underlying traffic infrastructure. As far as the underlying multi-agent planner is concerned it only plans within regions where there is homogeneity.

  2. You re-implement your own destination server and planner while retaining our plan executor.

Now comes the question of how you label/author robot actions. Right now for the next gen Im leaning towards using rmf_site/crates/rmf_site_format at main · open-rmf/rmf_site · GitHub as our source of truth. Its up to you whether you’d like to extend site editor with some type of region label tool. Its becoming increasingly clear to me that being able to draw regions of interest and label them as zones is something we will need to support.

Thanks, this is very helpful. The region-label direction in rmf_site_format sounds particularly relevant.

I’ve been narrowing the SPP boundary recently, and I think the cleanest interpretation is that SPP should not own geometry or planning. It should provide the place-originated operational constraint and a governed-scope reference, while a system such as RMF resolves that scope against its own site representation and evaluates candidate-specific feasibility.

So one experiment I’m considering is something very small:

RMF Site Editor region → governed-scope / policy reference → Destination Server or planner constraint

rather than introducing an SPP-specific map representation.

For something like “robot may enter this region only when escorted,” I would expect SPP to describe that condition, while RMF decides whether a candidate destination/route can satisfy it.

Your suggestion about homogeneous regions also makes sense to me as a possible traffic-level optimization, without making that partitioning part of SPP itself.

I’ll take a closer look at rmf_site_format before proposing anything concrete. If you have an opinion on whether region labels should remain generic metadata versus having first-class typed zone semantics, I’d be interested in that boundary as well.

I suspect that things will be a lot easier once we land a queueing system in. We don’t yet have that. It’s still early days for the next generation.

Thanks, the region-label and destination-server examples help. I’m trying to understand how changing site restrictions would be handled. For example, if a no-recording restriction changes after a task is planned but before the robot enters the area, where would that update be checked?