Suggestion for Custom Behaviour and Clarification of FollowPath Action Node in Behaviour Tree
This is a question regarding the behaviour of the FollowPath action node in the nav2 behaviour tree.
In the default implementation of the navigate to pose behaviour, the FollowPath action node has a goal checker that calls the ComputeVelocity method of the plugin controller as long as the robot is outside the goal tolerance region. Now, as soon as the robot is inside the tolerance region, the goal checker registers a success and publishes a zero twist to stop the robot. Each subsequent tick then results in the goalchecker returning a success and publishing a zero twist.
In my particular use case, I'd like to perform a final orientation behaviour once the robot is within the goal region. I have made separate plugins for this behaviour that are attached to the parent pipeline sequence control node. Once the controller returns a success, this behaviour gets ticked but the controller also gets ticked since it is attached to a pipeline sequence node. This causes the zero twist to get published repeatedly.
Is there a suggested way to work around this or modify this behaviour so that subsequent actions on the robot can be implemented while a previously ticked node is halted after completion? I'm not sure if the single trigger would work here since my understanding dictates that it would tick the controller only once and never tick it again thus not permitting it to track the path.