-
Notifications
You must be signed in to change notification settings - Fork 119
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
Export interfaces created in init #83
Conversation
I was just about to submit an issue on the exact same topic. would be nice to get this merged in! |
To be honest, I'm no sure which is the right way to use it. I coded this based on the examples. Maybe @Karsten1987 or @bmagyar can add some light here. |
Let me explain it more based on the example you mentioned: The It naturally comes to mind that a Currently, the |
To add a new angle to this discussion: what if the gazebo plugin supported mode switching on joints that define multiple interfaces? I saw this topic came up recently already, perhaps it is a good time to implement that? |
Mode Switching is the next thing I would like to add to gazebo_ros2_control. I have also some other changes on the way, but I need to have this merged first. |
@bjsowa, do you mind to fix the conflicts? then it's good to go in |
I fixed the conflicts, made similar changes for the IMU and FR interfaces. I also added some small cosmetic changes and I made sensor-only systems (without joints defined) allowed. |
Looking at the code, I noticed that the GazeboSystem creates state and command interfaces in 2 places:
This makes the handles created in 1. completely redundant (unless I'm missing something), as they are not used throughout the code.
I'm new to ros2_control but from what I understand the sole reason for creating the state and command interfaces is for them to be exported to the Resource Manager and not be cared about anymore.
In this PR, the export methods "move" interfaces created in initSim to the Resource Manager instead of creating new ones. This let's the user define in URDF what interfaces should a joint export. This also simplifies the code.