-
Notifications
You must be signed in to change notification settings - Fork 358
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
Add support of closed kinematic chains #1274
Comments
and I want the support of sdf parser. |
+1 for closed kinematics as well as SDF support. |
As far as I know, URDF format does provide the support of closed kinematic chain,. Do you see an alternative @ahoarau? |
Officially it is not supported. But it can be written in XML. It's the official parser (and especialy the In XML it could be written like this : <link name="link_0"/>
<link name="link_1a"/>
<link name="link_1b"/>
<link name="link_2"/>
<!-- First branch -->
<joint name="joint-link_0-1a">
<parent name="link_0"/>
<child name="link_1a"/>
</joint>
<joint name="joint-link_1a-2">
<parent name="link_1a"/>
<child name="link_2"/>
</joint>
<!-- Second branch -->
<joint name="joint-link_0-1b">
<parent name="link_0"/>
<child name="link_1b"/>
</joint>
<joint name="joint-link_1b-2">
<parent name="link_1b"/>
<child name="link_2"/>
</joint>
Then the parser must support building a tree with closed loop. |
I am not sure about the semantics of the extension to URDF proposed by @ahoarau . URDF has the (quite cumbersome in some cases) constraint that the link frame origin must be placed on the axis of the joint connecting the link to its parent, what happens if the link has two parents? How do you place the link frame? |
To specify how to close the loop, I would use a passive joint from the SRDF format. This would keep the compatibility and avoid having a standard specific to pinocchio. |
I do agree with @olivier-stasse and @traversaro. We don't want to extend the URDF format which is for sure limited. In Pinocchio, we rely on urdfdom in such a way to not have to reimplement the parsing, which is boring and error-prone. |
SDFormat support would indeed be appreciated ! |
Yes, you're right. But the main issue with SRDF, is that there is no real standard. Unfortunately :( |
So, the srdf format support the closed loop and can offer the tf in the ROS? |
No actually I am wrong after double checking the SRDF format, the passive joint is a tag on an already existing joint... |
Has there been any update on this by chance? I would love to use Pinocchio for some work I am doing with Cassie. |
@NmBoyd Thanks for your interest in Pinocchio. The feature will be made available very soon, hopefully, mid-April. |
Hi NmBoyd, We're using a slightly modified version of the cassie available here: https://github.com/agilityrobotics/cassie-gazebo-sim/blob/master/cassie/cassie.sdf. The modified version is to automate the discovery of constraints from the sdf, and parsing the sdf directly within the pinocchio. |
@proyan |
@duburcqa The way you handle constraints is not the smartest and fastest way to do it. |
Hi all, Just to be sure: the closed chain kinematics support will be available for a future version of Pinocchio 3.x and is not currently available for the version 2.6.4 that can be downloaded from GitHub? I need this information as I am doing a project on control that involves a delta arm and I would like to make use of Pinocchio and OCS2 Thank you for clarifying. |
@alme96 The beta version is released in the pinocchio3-preview branch at https://github.com/stack-of-tasks/pinocchio/tree/pinocchio3-preview. The branch, however is not fully supported, and the full support would be available from Pinocchio3 release. |
Done in pinocchio-3x which should be released soon. |
Closed kinematic chains offer interesting features at the mechanical level for building robust and efficient robots (compared to open kinematic structure).
Definitively, it will a plus to support them in Pinocchio.
I open this thread for open discussions on this topic. Feel free to add your personal and scientific vision on this feature.
The text was updated successfully, but these errors were encountered: