open-rmf/rmf-web

Issue on dashboard map rendering when switching floors

youliangtan opened this issue · 2 comments

Bug report

This issue occurs when running a multilevel rmf world (e.g. open-rmf/rmf_demos#98). The first level of the hotel_world, level L1 looks fine.

Screenshot from 2021-10-21 15-26-42

However, when switching to L2 or L3, we can see the misalignment of the map as shown below. Even on L2, the map still shows building_maps_msgs elements (doors, waypoints, robots...) of L1.

Screenshot from 2021-10-21 15-27-18

On a side note, there's also some scaling issue with the lift/robots/doors when zooming in and out the canvas.

Issues

To recap, the issues are listed here:

  • Incorrect transformation of the floorplan png. Further offset/scaling can be applied to the floorplan png via the information provided in AffineImage
  • Scaling of the assets (lifts, doors, robots) on the map for different zoom levels. Assets should depict their actual scale. (if im not wrong on this)
  • Assets rendering when switching floor levels. Assets (also trajectories) from different floors should be filtered out from the map in accordance with the current floor level. This filtering can be done either on the client/server-side. If on the server-side, we might need to add a param level_name to the rest API. Similarly for socketio.

Per VC, @youliangtan, could you provide more information about this issue, how to recreate it, and the suggested implementations regarding the alignment of the lifts.

Updated the description of the issue above, with further information mentioned under ##issues. I think this can be broken down into 3 major tasks. I dropped down a few suggestions, and feel free to correct me as I'm not too familiar with the inner working of rmf-web.
Also, I will update the rmf-launcher.js once the hotel world is merged into rmf_demos. Soon we will then use hotel world as a test subject for development. Hopefully, ensure rmf-web can fully support a multi-level world. Thanks. @vallq