osrf / rmf_demos

Demos to showcase the capabilities of RMF
Apache License 2.0
69 stars 38 forks source link

Loop request fails for a certain waypoint #188

Closed Marcusttk closed 3 years ago

Marcusttk commented 3 years ago

OS version: 20.04, ros foxy Branch: Master of rmf demos

commands used: ros2 launch demos imda.launch.xml

When i launch my file, the gazebo and rviz panels work fine. The tinyrobot is able to navigate to most waypoints. Attached is the screenshot of my rviz for reference

Screenshot from 2021-01-19 16-53-07

However there is a certain point that I named waiting1 that the tinyRobot is unable to navigate to. Attached is the error message for reference.

Screenshot from 2021-01-19 16-55-26

The line referencing the point in the building.yaml file is - [353.253, 77.66800000000001, 0, waiting1], and the corresponding nav file is - - 26.782523101542488

I have also tried adding the is_passthrough_point attribute on the building.yaml and nav file, but the result is the same.

Please advise. Thank you.

codebot commented 3 years ago

Thank you for reporting this. Unfortunately it seems the screenshots didn't come through. Can you try to upload them again? Cheers

codebot commented 3 years ago

Thank you.

Is it possible to share the map file with us, so that we can run it with a debugger attached when it crashes?

Marcusttk commented 3 years ago

Thank you.

Is it possible to share the map file with us, so that we can run it with a debugger attached when it crashes?

https://drive.google.com/drive/folders/1vKuHr03cxMLLe23md65AHZEK8pbA1amf?usp=sharing

codebot commented 3 years ago

Great thanks! We'll have a look :male_detective:

codebot commented 3 years ago

Thanks for sending the traffic-editor files. The lane edge from waiting1 to lift_middle is not connected to the rest of the lane graph -- you can see this by using the Move tool (pressing M) and dragging the waiting1 vertex around.

To attach it to the rest of the graph, the easiest way is to go into traffic-editing mode (Ctrl+T), select tool (Esc) and clicking on the edge between eight and seven and deleting that lane edge. Then you can add new lane edges from seven to waiting1 and then from waiting1 to eight

I'm guessing that you'd probably want lift_lobby to also be in the traffic lane edge network, so you might want the edges to stop at lift_lobby along the way

hopefully then after rebuilding the map package, it will generate a nav_graph.yaml that can reach all the endpoints you need.

codebot commented 3 years ago

Created ticket https://github.com/osrf/traffic_editor/issues/282 because it would make the GUI much more friendly if this situation was automatically detected and rendered as disconnected, because in the current GUI everything looks fully connected until you start dragging the vertices around and notice that it's not.

Marcusttk commented 3 years ago

Thanks for sending the traffic-editor files. The lane edge from waiting1 to lift_middle is not connected to the rest of the lane graph -- you can see this by using the Move tool (pressing M) and dragging the waiting1 vertex around.

To attach it to the rest of the graph, the easiest way is to go into traffic-editing mode (Ctrl+T), select tool (Esc) and clicking on the edge between eight and seven and deleting that lane edge. Then you can add new lane edges from seven to waiting1 and then from waiting1 to eight

I'm guessing that you'd probably want lift_lobby to also be in the traffic lane edge network, so you might want the edges to stop at lift_lobby along the way

hopefully then after rebuilding the map package, it will generate a nav_graph.yaml that can reach all the endpoints you need.

Have done as you said, it works now! Thanks for your help!