PickNikRobotics / topic_based_ros2_control

ros2_control hardware interface that uses topics to command the robot and publish its state
BSD 3-Clause "New" or "Revised" License
58 stars 18 forks source link

ros2_control topic-based, templateized #11

Closed mhubii closed 1 year ago

mhubii commented 1 year ago

Is there any way to track the progress of this project?

Is there any work that attempts to make the entire ros2_control stack topic based? ie making this project native ros2_control rather than wrapping it. Using intra-process communication and custom QoS profiles? I think this would greatly simplify hardware integration and might be sufficiently quick.

Have you considered to template this project as ros2_control might expose more but only joint states?

Thank you for the response! Feel free to close!

JafarAbdi commented 1 year ago

Is there any way to track the progress of this project?

Do you mean tracking the features roadmap? This package work for our use cases, we don't have any new feature in mind

Is there any work that attempts to make the entire ros2_control stack topic based? ie making this project native ros2_control rather than wrapping it. Using intra-process communication and custom QoS profiles? I think this would greatly simplify hardware integration and might be sufficiently quick.

I don't think anyone is working on such a feature, you might want to open an issue on the main ros2_control repo to discuss it with the maintainers. The main motivation for this repo was isaac sim since the only way we had to control the robot was through topics, but then we realized that other simulators (or maybe a robot?) have the same issue (pybullet as an example) so we made it more generic for anyone who use topics to control/get states of their robots

Regarding the custom QoS profiles, we could add a parameter to the ros2_control urdf tag that expose it to the user.

Have you considered to template this project as ros2_control might expose more but only joint states?

Do you mean a template that could be used by other users to generate a similar package? I don't think that's needed, if someone has a feature in mind this should create Issue/PR.

PRs are welcome, please feel free to open a PR that add other interfaces, too!

mhubii commented 1 year ago

thank you very much for the helpful response!

Do you mean tracking the features roadmap? This package work for our use cases, we don't have any new feature in mind

Okay that answers the question.

Do you mean a template that could be used by other users to generate a similar package? I don't think that's needed, if someone has a feature in mind this should create Issue/PR.

This implementation exposes joint states to ros2_control, which is the most common case, but different sensors might provide different interfaces. But as you said, it is unlikely someone would need it and if in need, that person should implement it.

Again, thanks for the feedback.

Kind regards