Conversation
|
This is a branch on top of #159 and has to be rebased once the other one is merged. |
7b508fd to
b207ae7
Compare
destogl
left a comment
There was a problem hiding this comment.
Just a few short comments.
you introduced some very nice concepts :)
Since the #147 a bit ahead of this PR. I propose to add there your ideas regarding ResourceStorage and tests.
I am currently working on "closing" the loop with the components, i.e. I am changing forward controller to use Joint-component. After that we have everything set-up for the test scenario I we should slowly add missing functionality and optimize the code.
Are you OK with my plan/idea?
| } | ||
|
|
||
| hardware_interface::return_type | ||
| TestSensor::read_sensors( |
There was a problem hiding this comment.
@destogl while implementing this, I was wondering why a sensor has to implement multiple sensors? Why not only a single component?
|
There's quite some changes to the hardware interfaces as well. What's further a bit unfortunate is that there a hardware type called "sensor" and a component type called "sensor". We might want to rename one of these, or both. |
bmagyar
left a comment
There was a problem hiding this comment.
The concept looks good, a few minor comments, summary is
- fprintf vs anything else, but consistency most importantly
- unique_ptr may be overused
- comment out function arg instead of e.g.
(void) joint - some .cpp files could be wrapped in
namespace hardware_interfaceto save a bunch of namespacing
| // loan_sensor(const std::string & name); | ||
|
|
||
| private: | ||
| std::unique_ptr<ResourceStorage> resource_storage_; |
There was a problem hiding this comment.
What is the reason for making this a unique_ptr?
There was a problem hiding this comment.
There was a problem hiding this comment.
Do we need this though? Are we going to support ResourceManager inheritance or common interaction at the C++ API level? Is there an ABI to keep stable here? Not really a strong point from me, mostly curious about the motivation.
I'd imagine ResourceManager to be a private as you also pointed it out so PIMPL would be better applied to wrap resource manager instead?
controller_manager/test/test_hardware_resources/test_actuator_hardware.cpp
Show resolved
Hide resolved
controller_manager/test/test_hardware_resources/test_actuator_hardware.cpp
Outdated
Show resolved
Hide resolved
controller_manager/test/test_hardware_resources/test_actuator_hardware.cpp
Outdated
Show resolved
Hide resolved
controller_manager/test/test_hardware_resources/test_actuator_hardware.cpp
Outdated
Show resolved
Hide resolved
Signed-off-by: Karsten Knese <Karsten1987@users.noreply.github.com>
Signed-off-by: Karsten Knese <Karsten1987@users.noreply.github.com>
Signed-off-by: Karsten Knese <Karsten1987@users.noreply.github.com>
Signed-off-by: Karsten Knese <Karsten1987@users.noreply.github.com>
Signed-off-by: Karsten Knese <Karsten1987@users.noreply.github.com>
7a0cd2b to
60c000f
Compare
Signed-off-by: Karsten Knese <Karsten1987@users.noreply.github.com>
60c000f to
88b6c32
Compare
|
|
||
| size_t system_interfaces_size() const; | ||
|
|
||
| // loan_joint(const std::string & name); |
| target_link_libraries(test_component_parser components) | ||
| endif() | ||
|
|
||
| ament_export_dependencies( |
There was a problem hiding this comment.
May I ask, why did you remove those? Are they always available?
That's a first initial PR towards #164
The PR parses the URDF, extracts the components and initializes their hardware instants accordingly.