open-rmf / rmf_traffic_editor

GUI, CLI, and ROS 2 messages for robot traffic flows in buildings
Apache License 2.0
136 stars 67 forks source link

3D waypoint position #240

Closed MakinoharaShouko closed 3 years ago

MakinoharaShouko commented 3 years ago

Currently, the nav_graph waypoints contain only x & y information. Considering that there are now many multi-level maps, would it be reasonable to add the z information into the nav_graph as well?

codebot commented 3 years ago

I just had a look at the clinic nav graphs generated by a build of the rmf_demo_maps package. It looks like the vertices in the data structure are already children of their parent level, so the nav_graph waypoints are effectively stored as {level_name, x, y}. Since RMF currently deals with ground robots that have to use elevators to navigate between floors, that sounds reasonable to me. Are you thinking of drones or other types of domains where full 3d navigation is required, rather than "a stack of flatlands" style navigation?

MakinoharaShouko commented 3 years ago

I was reading the rmf_core along with the traffic_editor. It seems to me that the euclidean expander was only calculating based on the x and y values. I am wondering if the z value could be added to the nav_graph to improve the route planning.

mxgrey commented 3 years ago

This issue is resolved by https://github.com/osrf/rmf_core/pull/243. The new Euclidean Distance Heuristic of the planner will account for the need to use lifts when moving between floors. The heuristic is now calculated by doing a quick search for the sequence of lifts that offers the shortest lift-to-lift distance when moving from the initial floor to the destination floor.