Skip to content

rbdl urdf parser converts revolute joints to helical if any of the joint axis values is negativeΒ #106

Open
@Dene33

Description

Rbdl's .urdf parser converts revolute joints to helical if any of the joint axis values is negative.

Here is a minimal .urdf example and code to reproduce:

.urdf:

<?xml version="1.0"?>
<robot name="Helical_test">
    <link name="BASE" />
    <link name="BODY" />
    <link name="L_Leg3" />
    <joint name="R" type="floating">
        <parent link="BASE" />
        <child link="BODY" />
        <origin xyz="0 0 0" rpy="0 0 0" />
    </joint>
    <joint name="L_Ankle_Y" type="revolute">
        <parent link="BODY" />
        <child link="L_Leg3" />
        <origin xyz="0.0 0.0 -0.4205268621444702" rpy="0 0.0 0" />
        <axis xyz="-1 0 0" />
    </joint>
</robot>

code:

import rbdl
urdf_path = "path/to/urdf/file"
m = rbdl.loadModel(urdf_path)
print(m.mJoints[-1].mJointType)

The code outputs JointTypeHelical but it should be JointTypeRevoluteX

rbdl version is 3.2.0

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions