Phase 1 - Waypoints#4
Conversation
a71829e to
7489d81
Compare
|
Hi Vince,
|
|
Hi Sakshay!
If you have any other questions, don't hesitate to ask! |
|
Thank you! The comments make sense. Please make the final changes and I will merge it. Just one thing, for point 1, I understand your reasoning behind using services. I was thinking considering the complete Patrol Behavior (everything including start, stop, pause) to be an Action Server. Just like Nav2, we pass a goal to the robot, it keeps on providing feedback, not sure if we can pause it, but we can cancel the goal. Similarly we consider giving a set of poses to the Patrol Action Server, we can on getting feedback (state of the robot and where robot is), we can pause, stop and all the things. I am not entirely sure if there is a pause functionality for an Action Server, but it's fine, we can keep the current Services based behavior and think about this later. I will create an issue for this if you agree. But for now, getting the prototype and MVP ready is more important. |
|
Afaik there is no such functionality in Nav2 (or in ROS2). I'm also not sure how it would fit into the action model. Here is the discussion thread when the BT node solution was chosen instead. I think the current implementation (which uses services) is actually the way to go because of a handful of reasons. It fits well with the web_interface node (REST api calls resemble services more than actions), it's simple to understand and is already implemented (though not on Humble, but it's easy to backport). |
|
I agree services make sense for the web interface layer. But for robot behavior, we should align with Nav2’s Behavior Tree–based design so we can support extensibility (retries, conditions, recovery, etc.). We should keep services as triggers from the web layer, but move the core patrol logic into a BT. If something is not available out of the box, we can implement it as a custom BT plugin: the intended extension mechanism in Nav2. Can you refactor the current implementation toward this structure? Happy to discuss the BT design if needed. |
|
Hi Vince, |
06bccb7 to
5dc06cd
Compare
In scenarios where global path has a loop (robot has to go to pose and come back for next one), the controller would get stuck trying to follow path to next goal, while previous goal wasn't removed yet.
5dc06cd to
893a021
Compare
|
Hi, now it should work, could you please test it? |
No description provided.