Add zone properties and zone lane events for GoToZone feature#133
Add zone properties and zone lane events for GoToZone feature#133chart-singapore wants to merge 2 commits intoopen-rmf:mainfrom
Conversation
Co-authored-by: Tey Leong Teck <leong_teck_tey@cgh.com.sg> Signed-off-by: Tey Leong Teck <leong_teck_tey@cgh.com.sg> Signed-off-by: Loke Ji Xian <loke_ji_xian@cgh.com.sg>
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #133 +/- ##
==========================================
- Coverage 21.63% 21.56% -0.08%
==========================================
Files 361 361
Lines 30466 30584 +118
Branches 14292 14312 +20
==========================================
+ Hits 6592 6594 +2
- Misses 14319 14436 +117
+ Partials 9555 9554 -1
Flags with carried forward coverage won't be shown. Click here to find out more.
🚀 New features to boost your workflow:
|
xiyuoh
left a comment
There was a problem hiding this comment.
I'm getting started on setting these PRs up for testing, running into build failure (related to CI failing I believe).
| template<typename... Args> | ||
| static ZoneProperties make(Args&& ... args) | ||
| { | ||
| ZoneProperties zone; |
There was a problem hiding this comment.
ZoneProperties doesn't have a default constructor so this line fails. Instead of updating its Implementation separately, you can parse args into ZoneProperties itself, since it will instantiate the pimpl upon construction.
| vertex_name, InternalVertex::Implementation::make( | ||
| vertex_name, Eigen::Vector2d(0, 0), "", 0)); |
There was a problem hiding this comment.
InternalVertex's _pimpl->priority is a size_t, needs to be explicitly cast otherwise the 0 passed in is considered int
Signed-off-by: Loke Ji Xian <loke_ji_xian@cgh.com.sg>
|
Hi @xiyuoh , I have done a quick fix for both issues. Thanks! |
New feature implementation
Implemented feature
This is part of an 8-repo Simple GoToZone feature. Tracked in Stage A of open-rmf/rmf#726.
Adds zone concepts to
rmf_traffic::agv::Graph: named zones with geometry, internal vertices (carrying priority and group metadata), and transition lanes bridging internal vertices to external waypoints. AddsLane::ZoneEntry/Lane::ZoneExitevents, to be attached asentry_eventorexit_eventon a lane that enters or exits a zone, and consumed by ExecutePlan.cpp when populating the phases.Implementation description
What's added
Graph-layer zone data
Three new classes under
Graph::ZonePropertiesadd a zone concept to the graph:Graph::ZoneProperties— a named zone on a specific map (level), with geometry, atypelabel, internal vertices, and transition lanes.ZoneProperties::InternalVertex— an internal waypoint of a zone, carrying a name, position,group, andpriority.ZoneProperties::TransitionLane— a lane bridging an internal vertex to an external waypoint, withis_entry_lane/is_exit_laneflags.Top-level
Graphaccessors:find_known_zone(name)andall_known_zones().Lane events
Lane::ZoneEntry(zone_name, duration)andLane::ZoneExit(zone_name, duration)— new lane event types (both inherit from a sharedZoneSessionbase). Attached to nav-graph lanes asentry_eventorexit_event.GenAI Use
We follow OSRA's policy on GenAI tools