Hardware component interfaces#121
Conversation
Codecov Report
@@ Coverage Diff @@
## master #121 +/- ##
==========================================
- Coverage 45.93% 45.85% -0.09%
==========================================
Files 23 38 +15
Lines 677 1230 +553
Branches 345 648 +303
==========================================
+ Hits 311 564 +253
- Misses 57 72 +15
- Partials 309 594 +285
Flags with carried forward coverage won't be shown. Click here to find out more.
Continue to review full report at Codecov.
|
|
Thanks for doing this. It is way easier to approach than the original PR. I'm still seeing some references to "actuator" in comments or variable names. Do you think you could you add a small test case that shows how the Joint/Sensor classes are intended to be used? |
hardware_interface/include/hardware_interface/types/hardware_interface_type_values.hpp
Show resolved
Hide resolved
hardware_interface/include/hardware_interface/component_info.hpp
Outdated
Show resolved
Hide resolved
…mySensor and HW in tests. Added lifecycle management for components ros-controls#107
|
Could you look at the extension of |
Karsten1987
left a comment
There was a problem hiding this comment.
First of, I am a bit lost with the PRs floating around here now. So we closed #80 in favor of #101. Can that one be closed in favor of this one then or how are they treated?
I think the interfaces are a bit premature - functions like halt and recover are currently not yet used in a meaningful way and I would recommend holding these back until their use-case becomes prominent. In this case, we can always follow up with a PR on this.
The second reason I am requesting changes here is that I am missing the example how the URDF would look like. That in my opinion should dictate the structs such as ComponentInfo and SystemInfo. I am also happy to merge without this, if we come up with a direct follow up PR for this. But in my opinion, designing how the robots are specified in a URDF is the base of all of this.
hardware_interface/include/hardware_interface/component_info.hpp
Outdated
Show resolved
Hide resolved
hardware_interface/include/hardware_interface/component_interfaces/sensor_interface.hpp
Outdated
Show resolved
Hide resolved
hardware_interface/include/hardware_interface/component_interfaces/sensor_interface.hpp
Outdated
Show resolved
Hide resolved
hardware_interface/include/hardware_interface/component_interfaces/sensor_interface.hpp
Outdated
Show resolved
Hide resolved
We discussed in the last meeting to split #101 into smaller PRs to make review simpler/easier.
OK, removed.
URDF example is in #122 . You are right, this is not optimal for review, but for the sake of PR's brevity... |
Karsten1987
left a comment
There was a problem hiding this comment.
style only, but this looks good to me now.
hardware_interface/include/hardware_interface/component_info.hpp
Outdated
Show resolved
Hide resolved
hardware_interface/include/hardware_interface/types/hardware_interface_state_values.hpp
Show resolved
Hide resolved
hardware_interface/include/hardware_interface/types/hardware_interface_state_values.hpp
Show resolved
Hide resolved
hardware_interface/include/hardware_interface/component_interfaces/system_interface.hpp
Outdated
Show resolved
Hide resolved
hardware_interface/include/hardware_interface/actuator_hardware_interface.hpp
Outdated
Show resolved
Hide resolved
hardware_interface/include/hardware_interface/actuator_hardware_interface.hpp
Outdated
Show resolved
Hide resolved
hardware_interface/include/hardware_interface/actuator_hardware_interface.hpp
Outdated
Show resolved
Hide resolved
hardware_interface/include/hardware_interface/actuator_hardware_interface.hpp
Outdated
Show resolved
Hide resolved
hardware_interface/include/hardware_interface/actuator_hardware.hpp
Outdated
Show resolved
Hide resolved
hardware_interface/include/hardware_interface/system_hardware_interface.hpp
Outdated
Show resolved
Hide resolved
hardware_interface/include/hardware_interface/system_hardware_interface.hpp
Outdated
Show resolved
Hide resolved
hardware_interface/include/hardware_interface/system_hardware_interface.hpp
Outdated
Show resolved
Hide resolved
…interface.hpp Co-authored-by: Karsten Knese <Karsten1987@users.noreply.github.com>
…interface.hpp Co-authored-by: Karsten Knese <Karsten1987@users.noreply.github.com>
…interface.hpp Co-authored-by: Karsten Knese <Karsten1987@users.noreply.github.com>
…interface.hpp Co-authored-by: Karsten Knese <Karsten1987@users.noreply.github.com>
Karsten1987
left a comment
There was a problem hiding this comment.
looks good to me with the outstanding comments addressed
hardware_interface/include/hardware_interface/helpers/component_lists_management.hpp
Outdated
Show resolved
Hide resolved
17dd3f6 to
567b774
Compare
Signed-off-by: Karsten Knese <Karsten1987@users.noreply.github.com>
Signed-off-by: Karsten Knese <Karsten1987@users.noreply.github.com>
|
@destogl I hope you don't mind my two commits on your branch. They are basically only touchups. The first one addresses a couple of warnings I've encountered locally on OSX, the second one shifts the components (and their interfaces) into its own subfolder and namespace. Didn't change any logic. |
|
@bmagyar please review and merge if appropriate. |
It looks good. Thanks! I just don't understand why did you put .hpp file into src folder? I can understand the logic, it makes some sense, but it will confuse many people... and use of this inline functions from specialized components, e.g., PositionJoint, is now not possible |
component interfaces files from #101