ros-navigation / navigation2

ROS 2 Navigation Framework and System
https://nav2.org/
Other
2.34k stars 1.21k forks source link

Add configure and cleanup transitions to lifecycle manager and client #4371

Closed jonipol closed 1 month ago

jonipol commented 1 month ago

Basic Info

Info Please fill out this column
Ticket(s) this addresses #4345
Primary OS tested on Ubuntu
Robotic platform tested on Gazebo simulation, Leo Rover, Robauta Sampo
Does this PR contain AI generated software? No

Description of contribution in a few bullet points

Description of documentation updates required from your changes

I was not able to find any documentation regarding to the available lifecycle transitions. If some exists, would need to that,


Future work that may be required in bullet points

Might be nice to have a test which makes sure that calling shutdown when the nodes are in inactive state does the shutdown properly. I did some testing locally and seems to be working as expected. I tried to add such test into the test_lifecycle_manager.cpp but a problem there is that the shutdown cannot be called multiple times in the same test file, The test environment is not reset between tests since the lifecycle_manager is span up with the launch file. I did not want to write another test file (+ maybe a new launch file) for that 3 line test. Also attempted to change the way the test is ran to have the control over the lifecycle_manager with test fixture but was not successful with that.

For Maintainers: