open-rmf / rmf

Root repository for the RMF software
Apache License 2.0
223 stars 58 forks source link

[full_control-13] [ERROR] [fleet_adapter]: Robot named [] belonging to fleet [] is very far [2.288004m] from where it is supposed to be, but its remaining path is empty. This means the robot believes it is finished, but it is not where it's supposed to be. #243

Open royito55 opened 1 year ago

royito55 commented 1 year ago

Discussed in https://github.com/open-rmf/rmf/discussions/232

Originally posted by **royito55** September 20, 2022 Hi, I've been setting up the RMF schedule for two robots, and although I can launch the basics, I keep getting the error shown in the title after I send a task to the schedule that includes two waypoints that are 2m or more apart. - It seems like the fleet adapter does not update correctly to where the robot actually is (the purple circle is where the robot is), and as soon as the error appears, I can't send any more tasks and I have to restart the schedule to start again. - The system definitely knows where the robot is, otherwise the goals sent to nav2 would not even work, and the robot does start moving. - I've noticed that the threshold for this error to appear is 2 meters. If the waypoints are closer than that, then the fleet adapter sends a message saying that even though the robot is not where expected, it will continue. Is this an issue with the fleet adapter, the free fleet client/server, or the rmf schedule? Can this be a network issue? I'm running everything with `cycloneDDS`; the robots have their own nav2 setup and the free fleet clients and server, while I launch the schedule in a central computer. Attached is a video of what happens. https://user-images.githubusercontent.com/26725409/191313677-a9a9db68-2a24-41e7-9c84-a264060b2104.mp4 - Also, as a general question, what does the purple circle AND the yellow circle represent? Is it a bad sign if the yellow circle disappears from time to time? Once the schedule plans the path, I can see that the purple circle takes longer than the yellow one to move, and it feels like they should be synced.
royito55 commented 1 year ago

Just an update, this error happens when the path in the topic /fleet_states for the robot doing the task is empty.

Why would it be empty if the robot has not finished the path? I've set the fleet adapter parameters to match the average nominal speed of the robot but there is still a large mismatch that occurs randomly between the robot state (purple circle) and its planned path (yellow circle)

In the video below you can see that the error appears for the robot barista_1, exactly when the schedule starts planning the robot trajectory. Why would it say the path is empty when I can visualize it and the robot hasn't even started moving? It's as if the system expects for the robot to be in the second location immediately.

https://user-images.githubusercontent.com/26725409/192469548-9d1bc198-26f9-4ccd-ac68-bf3454fc190d.mp4