New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Enable reloading BT xml file with same name #4209
Enable reloading BT xml file with same name #4209
Conversation
This pull request is in conflict. Could you fix it @huemerj? |
@huemerj, your PR has failed to build. Please check CI outputs and resolve issues. |
2 similar comments
@huemerj, your PR has failed to build. Please check CI outputs and resolve issues. |
@huemerj, your PR has failed to build. Please check CI outputs and resolve issues. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Rename to always_reload_bt_xml
and add to the Nav2 configuration / migration guides and this LGTM
Please heed the DCO bot (sign commits -s
)
@huemerj, your PR has failed to build. Please check CI outputs and resolve issues. |
|
@huemerj please heed the DCO bot, all commits need to be signed, then I can merge this. If you click on the CI job, it'll give you instructions about how to adjust your previous commits I'm going to merge this but I'd like to note for future onlookers of this: This is useful for the context @huemerj brings it up in and probably others. If you're using this because you have a BT that isn't properly resetting its state with your custom BT nodes, so using this to hard reset everything, I highly suggest fixing your underlying issues which could be causing other issues on the blackboard which could possibly persist in some cases. This may seem like an easy solution, but I suggest spending a little bit of time to look into the proper solution, especially in robotics where small mistakes in odd cases can cause real headaches. |
Co-authored-by: Johannes Huemer <johannes.huemer@ait.ac.at> Signed-off-by: Johannes Huemer <johannes.huemer@ait.ac.at> Signed-off-by: Christoph Froehlich <christoph.froehlich@ait.ac.at>
Signed-off-by: Christoph Froehlich <christoph.froehlich@ait.ac.at>
Signed-off-by: Johannes Huemer <johannes.huemer@ait.ac.at>
ca12196
to
43bca51
Compare
@SteveMacenski we fixed the DCO now. |
* Let BtActionServer overwrite xml Co-authored-by: Johannes Huemer <johannes.huemer@ait.ac.at> Signed-off-by: Johannes Huemer <johannes.huemer@ait.ac.at> Signed-off-by: Christoph Froehlich <christoph.froehlich@ait.ac.at> * Make a ROS parameter for it Signed-off-by: Christoph Froehlich <christoph.froehlich@ait.ac.at> * Rename flag to always reload BT xml file Signed-off-by: Johannes Huemer <johannes.huemer@ait.ac.at> --------- Signed-off-by: Johannes Huemer <johannes.huemer@ait.ac.at> Signed-off-by: Christoph Froehlich <christoph.froehlich@ait.ac.at> Co-authored-by: Christoph Froehlich <christoph.froehlich@ait.ac.at>
@SteveMacenski Would be nice if you could please backport this to Humble/Iron. |
Next release cycle it will be |
* Let BtActionServer overwrite xml Co-authored-by: Johannes Huemer <johannes.huemer@ait.ac.at> Signed-off-by: Johannes Huemer <johannes.huemer@ait.ac.at> Signed-off-by: Christoph Froehlich <christoph.froehlich@ait.ac.at> * Make a ROS parameter for it Signed-off-by: Christoph Froehlich <christoph.froehlich@ait.ac.at> * Rename flag to always reload BT xml file Signed-off-by: Johannes Huemer <johannes.huemer@ait.ac.at> --------- Signed-off-by: Johannes Huemer <johannes.huemer@ait.ac.at> Signed-off-by: Christoph Froehlich <christoph.froehlich@ait.ac.at> Co-authored-by: Christoph Froehlich <christoph.froehlich@ait.ac.at>
Basic Info
Description of contribution in a few bullet points
Current state: In the current implementation of the
BtActionServer
, a new BT is not loaded if its xml name is the same as the current one. This means that if you want to change and then test a BT xml file (while keeping the same filename), you need to restart the action server each time the file changes.This PR: Adds a boolean parameter
always_reload_bt_xml
(defaults tofalse
) to decide if a new BT should always be loaded, even if the xml names are the same. This allows keeping the action server running while changing/developing the xml file.Description of documentation updates required from your changes
always_reload_bt_xml
to the Behavior-Tree Navigator docs.Future work that may be required in bullet points
For Maintainers: