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

Make child model and link configurable in DetachableJoint System #2362

Open
jasmeet0915 opened this issue Apr 5, 2024 · 0 comments
Open
Labels
enhancement New feature or request

Comments

@jasmeet0915
Copy link
Contributor

Desired behavior

Currently, the detachable joint system allows you to attach or detach a joint between a parent and a child model by publishing an Empty message on the respective topics. For this to work we have to specify the child model and link name in the SDF of the plugin. However, while simulating some real world operations I found the need of allowing my simulated robot to be able to create 'detachable joints' with different child models at different times.

This is similar functionality like the gazebo_ros_link_attacher plugin which provided a service to attach and detach joints between any two models as per the request.

Implementation suggestion

Currently the detachable_joint system assigns the modelEntity and childLinkEntity in the PreUpdate() function of the plugin using the childModelName and childLinkName members that are set in the Configure() function from the values given in the SDF. So I think instead of having a separate attach / detach topic with Empty msg type, it should be possible to advertise a service with a custom message type of detachable joint msg composed of string fields that allows you to set the child_model_name, child_link_name and operation (attach or detach). In the callback of the service, we could set the requested values for the required data members. The detachable_joint service could also be added to the ros_gz_interfaces package to allow bridging of this service.

I would be happy to create a pull request implementing the changes mentioned if they sound right!

@jasmeet0915 jasmeet0915 added the enhancement New feature or request label Apr 5, 2024
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: To do
Development

No branches or pull requests

1 participant