Skip to content
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

C++ API for JointController #2659

Open
mogumbo opened this issue Oct 30, 2024 · 2 comments
Open

C++ API for JointController #2659

mogumbo opened this issue Oct 30, 2024 · 2 comments
Labels
enhancement New feature or request help wanted We accept pull requests!

Comments

@mogumbo
Copy link

mogumbo commented Oct 30, 2024

Desired behavior

C++ API for JointController, JointPositionController, and JointTrajectoryController similar to the API found in gazebo::physics::JointController from Gazebo Classic. Specific methods I have used from gazebo::physics::JointController are GetJoints, GetPositions, GetPositionPID, GetVelocities, GetVelocityPIDs, SetPositionPID, SetPositionTarget, SetVelocityPID, and SetVelocityTarget.

Alternatives considered

You can interact with joint controllers using gz-transport, but results of these actions are not necessarily immediate and add complexity to your code if you need to receive a response.

Additional context

I'm currently using gz-sim8 on Ubuntu 24.04.

@mogumbo mogumbo added the enhancement New feature or request label Oct 30, 2024
@scpeters
Copy link
Member

I can imagine creating components like JointPositionControlTarget, JointVelocityControlTarget , JointPositionControlPID, JointVelocityControlPID that the joint control systems can try to read from the ECM in addition to gz-transport topics.

Would it also make sense to create a JointController C++ object similar to gz::sim::Model or gz::sim::Joint?

@azeey
Copy link
Contributor

azeey commented Jan 6, 2025

I support creating a gz::sim::JointController similar to gz::sim::Joint with all the PID functionality and having the current Joint controller plugins use that internally.

@azeey azeey added the help wanted We accept pull requests! label Jan 6, 2025
@azeey azeey moved this from Inbox to To do in Core development Jan 6, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request help wanted We accept pull requests!
Projects
Status: To do
Development

No branches or pull requests

3 participants