Posted by @akshay-ka:
Hello,
I’m integrating my custom robots (runs on ros2) with rmf using free_fleet
package which in turn uses Nav2 for navigation.
I’m dispatching the patrol task to the robot via rmf-dashboard
.
Now, If my understanding is not wrong, when I dispatch the task, rmf
sends out intermediate goals (which are nearer distances from where the robot is currently located) to Nav2
for the robot to move.
But does these intermediate goals adhere to the traffic lanes created ?
From my real-world testing, I don’t think this is the case. Because, I’ve seen the Nav2 path planner creating shorter or more feasible paths than the paths defined in the traffic-editor.
Request someone to correct my thoughts if I’m wrong in my understanding.
Posted by @aaronchongth:
But does these intermediate goals adhere to the traffic lanes created ?
Yes it follows the waypoints and lanes drawn out on traffic editor, while point-to-point navigation relies on the planner of the navigation stack.
This link has a similar discussion, Lanes in Free Fleet · open-rmf/rmf · Discussion #675 · GitHub
If you still have any questions, please supplement with a video, screenshot or logs so we can have a better understanding.
Posted by @akshay-ka:
@aaronchongth I masked out certain regions of map to avoid Nav2 create a path other than the traffic lane path.
I just have one more question, if there arises a situation wherein the end goal is at a nearer/shorter distance than the intermediate goal for which the open-rmf is generating goals for, then Nav2 is allowed to change the path and take a route other than traffic lane path, right ? (or atleast this is what i witnessed in my real-world testing. I’m currently setting up things to upload a video, but it might take a while)
In this case, the navigation will be completely independent of open-rmf. How is this situation handled in rmf
?
Posted by @aaronchongth:
Let’s say that the RMF waypoints are situated in this manner
B ----------- A
\
\
C
with the robot at A, and the end goal at C.
Since you are using free_fleet
, the robot will be commanded to go A → B → C, and not A → C (even though A → C is the shortest path). This is because the navigation goals are fed to the robot 1 at a time, and will follow the planned traffic route of RMF strictly.
Posted by @akshay-ka:
@aaronchongth thanks for your explanation. I’ll do careful testing and get back to you with the results.