Traffic Policies¶
Policies governing robot movement and congestion.
Overview¶
Traffic policies control how robots navigate, handle congestion, and resolve conflicts.
| Policy Area | Decisions |
|---|---|
| Routing | Which path to take |
| Congestion | Wait or reroute |
| Deadlock | How to resolve |
| Priority | Who goes first |
Routing Policies¶
Shortest Path¶
Always take minimum distance route:
Pros: Minimum travel distance Cons: May route through congestion
Congestion-Aware¶
Avoid congested areas:
Cost calculation:
Path 1: 8m, congestion=5 → cost = 8 + 1.5×5 = 15.5
Path 2: 10m, congestion=1 → cost = 10 + 1.5×1 = 11.5 ✓
Pros: Avoids delays Cons: Longer distances, requires congestion data
Time-Optimal¶
Minimize expected travel time:
Considers: - Distance - Current congestion - Historical patterns - Expected wait times
Congestion Response¶
Wait¶
Robot waits when path blocked:
Pros: Simple, no replanning Cons: May wait long time
Reroute¶
Find alternative path:
Pros: Avoids long waits Cons: Longer distance, replanning overhead
Hybrid¶
Combine strategies:
Deadlock Policies¶
Priority Resolution¶
Higher priority robot proceeds:
Time-Based Resolution¶
Robot waiting longer proceeds:
Backoff Resolution¶
One robot retreats:
Options: random, lower_priority, further_from_goal
Traffic Flow Policies¶
One-Way Aisles¶
Enforce directional flow:
Lane Discipline¶
Multiple lanes with rules:
Speed Zones¶
Variable speed by area:
Priority in Traffic¶
Right-of-Way¶
Higher priority robots have precedence:
Emergency Priority¶
Emergency tasks override all:
Priority 9+ robots: - Skip queues - Others yield immediately - Reroute lower priority robots
Configuration Example¶
routing:
policy: congestion_aware
congestion_weight: 1.5
replan_on_congestion: true
replan_threshold_s: 10.0
traffic:
# Congestion response
congestion_response: hybrid
wait_threshold_s: 3.0
reroute_threshold_s: 15.0
# Deadlock handling
deadlock_detection: true
deadlock_resolution: priority
deadlock_timeout_s: 30.0
# Flow control
one_way_enforcement: false
right_of_way: priority_based
# Speed
default_speed_m_s: 1.5
intersection_speed_m_s: 0.8
Policy Interactions¶
Routing + Congestion¶
Priority + Deadlock¶
Batching + Traffic¶
Comparing Policies¶
Simulation Comparison¶
waremax compare scenario.yaml \
--param routing.policy=shortest_path \
--param routing.policy=congestion_aware
Metrics to Watch¶
| Metric | Indicates |
|---|---|
| Travel time | Route efficiency |
| Wait time | Congestion handling |
| Deadlocks | Resolution effectiveness |
| Throughput | Overall efficiency |
Best Practices¶
Start Simple¶
Begin with basic policies:
Add Complexity as Needed¶
If congestion is a problem:
If deadlocks occur:
Monitor and Tune¶
Track key metrics and adjust:
- High wait time → Enable rerouting
- Frequent deadlocks → Improve prevention
- Uneven flow → Consider one-way aisles