-
Notifications
You must be signed in to change notification settings - Fork 55
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fleet adapter publishes its navigation graph #207
Conversation
Signed-off-by: Yadunund <yadunund@openrobotics.org>
Codecov Report
@@ Coverage Diff @@
## main #207 +/- ##
==========================================
- Coverage 17.61% 17.37% -0.25%
==========================================
Files 209 836 +627
Lines 19351 79008 +59657
Branches 9297 38456 +29159
==========================================
+ Hits 3409 13724 +10315
- Misses 12274 50263 +37989
- Partials 3668 15021 +11353
Flags with carried forward coverage won't be shown. Click here to find out more. |
Try using |
Signed-off-by: Yadunund <yadunund@gmail.com>
Signed-off-by: Yadunund <yadunund@gmail.com>
Turns out the error was caused because I did not explicitly include the message header files for the nested messages within This should be good for a review now. |
@mxgrey I think it would be better if there is an external library that offers APIs to convert from Does this sound good? If so shall I add these methods to Or should I create a separate package within |
I think adding reusable serialization and deserialization functions to a library is a great idea, so big 👍 to that. Adding those functions to I took a moment to consider whether the graph message belongs in In conclusion, I see nothing wrong with keeping the graph message in |
Thanks for the quick feedback!
Roger 👍🏼 |
Signed-off-by: Yadunund <yadunund@openrobotics.org>
@mxgrey I've updated the implementation as discussed. It's not apparent to me how we can serialise an |
Signed-off-by: Yadunund <yadunund@openrobotics.org>
Signed-off-by: Yadunund <yadunund@openrobotics.org>
Just a high level comment since I worked a bit on the linked graph conversion function. From what I understand the function under parse_graph parses a string which is a yaml navgraph and converts it into a
My personal favorite is the first option, but of course I'm biased because I was an advocate of the dynamic navgraph approach in the past 😅 . The biggest drawback is that now the map server has to be running for fleet adapters to be initialized which is an additional dependency and I don't know what the implications might be. On the other hand, we would be able to get rid of the dependency in fleet adapters for nav graph files (i.e. here) which would now become just an index and I can envision in the future we could have a naming system in graphs so that instead of using 0-9 integers we use the fleet name, that would get rid of the navgraph parameter altogether. What do you think? |
@luca-della-vedova I think you've misunderstood the functionality here. We're not converting between the We're adding a utility to publish the exact navigation graph used by the fleet adapter for its planning. For convenience, we're re-using the
There is no subscription anywhere in this implementation to the building map server and hence no dependency. We've had this discussion before and we agreed that it is best if the fleet adapters are the ones to publish the exact nav graph they are using. The building map server has no way to know whether a fleet is actually configured to use a nav graph of certain index. Even if we update some definitions to map the index to the fleet name, there is no guarantee that the fleet adapter was actually loaded with this navgraph. Maybe they don't even use the exported nav_graph.yaml. |
Signed-off-by: Yadunund <yadunund@gmail.com>
Signed-off-by: Yadunund <yadunund@gmail.com>
Signed-off-by: Yadunund <yadunund@gmail.com>
Signed-off-by: Yadunund <yadunund@openrobotics.org>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think it's fine to merge, but I do have one remark in an inline comment.
Signed-off-by: Yadunund <yadunund@openrobotics.org>
Could I get a re-approval for this? |
026dc2f
to
3f568b9
Compare
This PR
rmf_traffic_ros2/Graph.hpp
to allow conversions betweenrmf_traffic::agv::Graph
andrmf_building_map_msgs::Graph
objects while preserving all waypoint and lane propertiesbuilding_map_msgs/Graph
msg over the/nav_graphs
topic. The QoS is set to durability=transient_local, reliability=reliable.This is meant to be a static graph. For each waypoint, properties such as
map_name
,is_holding_point
,is_charger
etc are appended to theParams[]
field inGraphNode
.######################################
The original description included this question:
On a side note, I tried using the
message::build
pattern as seen belowbut the compiler throws the error:
Out of curiosity, what was I doing wrong?
######################################
The solution is to explicitly import the message header file.
Signed-off-by: Yadunund yadunund@openrobotics.org