The State of Open-RMF
ROSCon 2024
Quick Recap
Quick Recap
Logistics
Cleaning
Delivery
Many Amazing Robots
but they need to communicate with each other
Security
and resources
have already been spent to develop and deploy disparate platforms
We can’t all get along
X
Guten Tag!
こんにちは
Food Serving
💸
💸
💸
Quick Recap: Assumptions
Quick Recap: Design
Fundamental Components
Unified Traffic Schedule
Resource Negotiation
Task Auctioning
Reusable Software Libraries
Multi-agent Motion Planners
Task Planners
Simulation Tools
Web Tools
Platform Adapters
Fleet Manager <X>
Infrastructure
Devices
Individual Robots
Drop-in executables (ROS nodes) that help coordinate distributed systems
Use these inside your own custom apps
Connect hardware to your system
Present
Recent Additions: Mutex Groups
Some operations may need specific maneuvers that require more clearance than what the usual traffic negotiation system can provide.
Cart Pickup/Drop-off
Recent Additions: Mutex Groups
With mutex groups, we can mark this cluster of lanes and vertices as belonging to one mutex group (marked red).
Cart Pickup/Drop-off
Recent Additions: Mutex Groups
Any other robots that want to enter this cluster must wait until the mutex group is unlocked, regardless of what the traffic negotiation system would allow.
Cart Pickup/Drop-off
Recent Additions: Robot Commission
New “commission” feature allows robots to be temporarily taken in and out of service
Recent Additions: Reservation System
There are often cases where multiple robots have the same destination at the same time, e.g. needing to receive a payload at a pickup point.
Recent Additions: Reservation System
They will each ask the Reservation Node to reserve the spot for them
Reservation Node
Recent Additions: Reservation System
One will be granted the reservation and the other will be given a parking spot to wait at
Reservation Node
Recent Additions: Reservation System
When the first robot is finished, the reservation node will notify the parked robot that the destination is now reserved for it
Reservation Node
✅
Learn more about how Open-RMF implements reservations from Arjo
14:20 today in the “Scaling up” track
Recent Additions: Ionic Demo
The new demo world for Gazebo Ionic has Open-RMF integration!
Future
“next generation”
Past Scope
Emphasis on mobile robots:
�Modest scale—not too much robot density (for now):
Future Scope
Orchestration of automated devices in general:
�Any scale:
Complaints we’ve received and issues we’ve observed
Both of these at the same time and in the same situation
Is this even solvable??
New paradigms:
Workflows
Inspired by “Workflow Nets”, a special case of Petri Nets� (thanks to Thomas Horstink for presenting on Petri Nets at ROSCon last year)
Define the flow of activities as a workflow diagram and it can be executed
sense
think
act
recover
Workflows
Good at intuitively expressing parallel activities and syncing them as needed
Go To Place
Reserve Location
Move Robot
Move Robot
wait for availability
Trim
ready
arrived
Workflows
Good for expressing cycles
All items delivered
Multi-Delivery
Pick Up
Item Queue
Item ready
Cargo space available
Cargo full
Drop Off
Cargo space available
Items out of stock
Pick-up is too costly
Workflows
Implemented as bevy impulse: https://github.com/open-rmf/bevy_impulse
Primitive operations supported out of the box:
ROS Client Library
Several ROS 2 client libraries exist for Rust, but we’re committing to rclrs
Enhancing rclrs is officially on the Open-RMF roadmap
Multi-agent Path Finding
More advanced MAPF
https://github.com/open-rmf/mapf
What’s coming
bevy impulse
mapf
rclrs
Next Generation Fleet Adapters
First Targets
We love feedback!
Open-RMF Project Management Committee (PMC) every two weeks
01:00 UTC+0 Tuesday (folks on the west side of the Atlantic will see this Monday)
Next session on 5 November 2024
Special Interest Group on Interoperability
Not exclusively about Open-RMF, but it’s always an appropriate topic
Takes place this first Thursday of every month at 15:00 UTC+0
Project discussion board
All sessions are on the
OSRF Official Events Calendar