-
Notifications
You must be signed in to change notification settings - Fork 310
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
Clean definition of mimic
joints under ros2_control URDF tag
#652
Comments
The second/alternative seems to be less redundant and still easy to understand. |
I think it's clearer if as much as possible is is explained as part of the URDF. After all, these are properties of the kinematics structure, not control IMO. We only help making it happen in simulation. |
@bmagyar would this mean that we should always search in URDF if there are some mimic joints? Theoretically speaking, we don't need to add a mimic joint in the control part at all. But then we are maybe missing definition of interfaces. Could you give a more concrete answer about what you are having in mind? |
After a discussion with @destogl it seems we converged on a solution very close to the above. Overview: Using a mimic joint should work out-of-the-box, on by default. Users who want to opt-in can do so in the configuration of their hardware component. The mimic property should be defined in the wider URDF section, not under the In the example with the setup below,
If one wants to disable mimic behaviour for some reason, they can still turn this functionality off by adding
|
This is a new specification. Mimic structure should be added to
If one wants to disable mimic behavior for some reason, they can still turn this functionality off by adding mimic="false" to the joint like so:
|
I missed the updates on this thread in summer somehow. The specification looks good to me. |
hi @destogl. I'd like to work on that issue, and you offered help in the other issue where to start from.. |
Is there an XML spec that you're working from? |
No, there is no overall valid XML spec I'm afraid. The https://github.com/ros-controls/roadmap repository hosts some design proposals which might be or might not be implemented (yet). |
Has there been any progress with this? |
The feature is related to discussion in ros-controls/gazebo_ros2_control#111.
The current definition of
mimic
joint features in URDF is not complete.To have all the features, we should also add the
offset
parameter for the mimic joint.This lead to the following structure:
The parameters under
left_finger_joint
could be confusing.Describe the solution you'd like
Therefore, I propose a clearer definition for the mimic joints:
This example uses URDF syntax (see here and search for ""-tag).
Describe alternatives you've considered
An alternative could be to use the existing definition in URDF (outside of <ros2_controlł>-tag) and mark the joint type as a mimic.
For example this could look like:
Or something similar.
What do you think? @bmagyar @christophfroehlich
Additional context
To implement this, the following has to be done:
ros2_control_test_assets
. For example, by adding additional joint ("joint4") that is mimicked.hardware_interface/src/component_parser.cpp
.gazebo_ros2_control
andign_ros2_control
plugins.The text was updated successfully, but these errors were encountered: