-
Notifications
You must be signed in to change notification settings - Fork 304
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
[CM] Use robot_description
topic instead of parameter and don't crash on empty URDF 🦿
#940
[CM] Use robot_description
topic instead of parameter and don't crash on empty URDF 🦿
#940
Conversation
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.
I commented about some small changes.
We should also add test for this new functionality. Also with different cases, i.e., publishing description before and later. This is in the core of the framework's functionalities and should be 100% tested.
controller_manager/include/controller_manager/controller_manager.hpp
Outdated
Show resolved
Hide resolved
controller_manager/include/controller_manager/controller_manager.hpp
Outdated
Show resolved
Hide resolved
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.
Can we have tests please?
cc5082e
to
c4825b1
Compare
Codecov Report
📣 This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more @@ Coverage Diff @@
## master #940 +/- ##
==========================================
- Coverage 34.61% 32.65% -1.97%
==========================================
Files 52 91 +39
Lines 2981 9563 +6582
Branches 1855 6441 +4586
==========================================
+ Hits 1032 3123 +2091
- Misses 310 716 +406
- Partials 1639 5724 +4085
Flags with carried forward coverage won't be shown. Click here to find out more.
|
Added some are those enough? |
robot_description
topic instead of parameter and don't crash on empty URDF 🦿
hardware_interface/include/hardware_interface/resource_manager.hpp
Outdated
Show resolved
Hide resolved
hardware_interface/include/hardware_interface/resource_manager.hpp
Outdated
Show resolved
Hide resolved
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.
What about controller manager tests?
Added test for the cm site. Ended up doing a workaround and unfortunately had to make the callback function public. This needs to be addressed in the future but does not seem like a big issue for me at the moment... |
* Deprecate passing of robot description file to controller manager * subscribe to robot_state_publisher to get robot_description_file
…lers in test In tests we have to be sure, that our urdf arrived before continuing with the actuell tests otherwise they will naturally fail...
a5b86c1
to
ecc2218
Compare
@destogl @mamueluth what's the status on this sirs? |
We didn't mange to get it tested properly yet, and @mamueluth is now finalizing his thesis. I'll check to come to it in the next week or two, since I need this future for a scenario I am working at. |
Hi! I am also interested on this feature!! I've been testing it on a TIAGo Base and I can get the robot working by using the |
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.
Let's get this guy rolling
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.
Now happy!
Could you backport this feature to humble by any chance? |
…sh on empty URDF 🦿 (#940) * on startup wait for robot description, however allow receiving later --------- Co-authored-by: Dr. Denis <denis@stoglrobotics.de> (cherry picked from commit d299208) # Conflicts: # controller_manager/CMakeLists.txt # controller_manager/src/controller_manager.cpp # hardware_interface/doc/mock_components_userdoc.rst # hardware_interface/include/hardware_interface/resource_manager.hpp # hardware_interface/src/resource_manager.cpp # hardware_interface/test/test_resource_manager.cpp
Note that this is only the simplest implementation of the feature, it still doesn't allow for updating the URDF on-the-fly and if we agree with my fellow maintainers about adding this to Humble (as it is indeed slightly breaking...) we shouldn't expect anything other than this basic functionality. |
I'm aware of that, thanks!! :) |
@Mergifyio backport humble |
✅ Backports have been created
|
…sh on empty URDF 🦿 (#940) * on startup wait for robot description, however allow receiving later --------- Co-authored-by: Dr. Denis <denis@stoglrobotics.de> (cherry picked from commit d299208) # Conflicts: # controller_manager/CMakeLists.txt # controller_manager/src/controller_manager.cpp # hardware_interface/doc/mock_components_userdoc.rst # hardware_interface/include/hardware_interface/resource_manager.hpp # hardware_interface/src/resource_manager.cpp # hardware_interface/test/test_resource_manager.cpp
The robot description file is no longer passed to controller manager directly. Instead, if no urdf is passed to
controller_manager_node
, a subscription on the/robot_description
topic is created and urdf is received via callback (needed for my thesis on distributed control).What has been done:
Things to consider:
init_resource_manager
multiple times if we have already received a valid urdf. Should i check this via a flag or ifhardware_info_map_
is empty and ignore? Suggestions would be appreciated.Starting of the concept can be tested with the :
ros2 launch ros2_control_demo_bringup empty_robot.launch.py
ros2 launch ros2_control_demo_bringup publish_description.launch.py
in this ros2_control_demos_repo