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 · 1 comment
Open

C++ API for JointController #2659

mogumbo opened this issue Oct 30, 2024 · 1 comment
Labels
enhancement New feature or request

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?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Status: Inbox
Development

No branches or pull requests

2 participants