Understanding DH Parameters in Robot XML
ji291
✭
in RobotStudio
Hi all,
I am currently trying to wrpa my head around the DH parameters that are present in the PIM.xml for the IRB6400 robot.
When attempting todo forward kinematic calculations with the robot, I am not getting the same values as reported by the flexpendant.
XML Below:
<JointInfos>
<Element>
<IsRevoluteJoint Value="true" />
<DHParameters>
<Element>
<NextJoint Value="1" />
<Link Value="1" />
<Twist Value="0" />
<Length Value="0" />
<Rotation Value="0" />
<Offset Value="0" />
</Element>
<Element>
<NextJoint Value="9" />
<Link Value="-1" />
<Twist Value="0" />
<Length Value="0" />
<Rotation Value="0" />
<Offset Value="0.27" />
</Element>
</DHParameters>
</Element>
<Element>
<IsRevoluteJoint Value="true" />
<DHParameters>
<Element>
<NextJoint Value="2" />
<Link Value="2" />
<Twist Value="-1.5707963267949" />
<Length Value="0.24" />
<Rotation Value="-1.5707963267949" />
<Offset Value="0" />
</Element>
<Element>
<NextJoint Value="8" />
<Link Value="-1" />
<Twist Value="-1.5707963267949" />
<Length Value="0.24" />
<Rotation Value="-1.5707963267949" />
<Offset Value="0" />
</Element>
</DHParameters>
</Element>
<Element>
<IsRevoluteJoint Value="true" />
<DHParameters>
<Element>
<NextJoint Value="3" />
<Link Value="3" />
<Twist Value="0" />
<Length Value="1.05" />
<Rotation Value="0" />
<Offset Value="0" />
</Element>
<Element>
<NextJoint Value="6" />
<Link Value="-1" />
<Twist Value="0" />
<Length Value="1.05" />
<Rotation Value="-1.5707963267949" />
<Offset Value="0" />
</Element>
</DHParameters>
</Element>
<Element>
<IsRevoluteJoint Value="true" />
<DHParameters>
<Element>
<NextJoint Value="4" />
<Link Value="4" />
<Twist Value="-1.5707963267949" />
<Length Value="0.225" />
<Rotation Value="0" />
<Offset Value="1.52" />
</Element>
</DHParameters>
</Element>
<Element>
<IsRevoluteJoint Value="true" />
<DHParameters>
<Element>
<NextJoint Value="5" />
<Link Value="5" />
<Twist Value="1.5707963267949" />
<Length Value="0" />
<Rotation Value="-3.14159265358979" />
<Offset Value="0" />
</Element>
</DHParameters>
</Element>
<Element>
<IsRevoluteJoint Value="true" />
<DHParameters>
<Element>
<NextJoint Value="-1" />
<Link Value="6" />
<Twist Value="1.5707963267949" />
<Length Value="0" />
<Rotation Value="0" />
<Offset Value="0" />
</Element>
</DHParameters>
</Element>
<Element>
<IsRevoluteJoint Value="true" />
<DHParameters>
<Element>
<NextJoint Value="7" />
<Link Value="7" />
<Twist Value="0" />
<Length Value="0.4" />
<Rotation Value="-1.5707963267949" />
<Offset Value="0" />
</Element>
</DHParameters>
</Element>
<Element>
<IsRevoluteJoint Value="true" />
<DHParameters>
<Element>
<NextJoint Value="-1" />
<Link Value="8" />
<Twist Value="0" />
<Length Value="1.05" />
<Rotation Value="0" />
<Offset Value="0" />
</Element>
</DHParameters>
</Element>
<Element>
<IsRevoluteJoint Value="true" />
<DHParameters>
<Element>
<NextJoint Value="-1" />
<Link Value="9" />
<Twist Value="0" />
<Length Value="1.05" />
<Rotation Value="0" />
<Offset Value="0" />
</Element>
</DHParameters>
</Element>
<Element>
<IsRevoluteJoint Value="true" />
<DHParameters>
<Element>
<NextJoint Value="-1" />
<Link Value="10" />
<Twist Value="-1.5707963267949" />
<Length Value="0.276" />
<Rotation Value="0" />
<Offset Value="0" />
</Element>
</DHParameters>
</Element>
With my understanding, where Link Value = '1', this represents the transofrmation of the base frame to link 1, and then Link Value = '2' represents the transformation parameters from joint 1 to joint 2. Although this raises questions about why there are more than 6 joint values
Please can someone inform me if I am correct?
Best Regards,
Joe
0
Categories
- All Categories
- 5.5K RobotStudio
- 396 UpFeed
- 18 Tutorials
- 13 RobotApps
- 297 PowerPacs
- 405 RobotStudio S4
- 1.8K Developer Tools
- 250 ScreenMaker
- 2.8K Robot Controller
- 316 IRC5
- 61 OmniCore
- 7 RCS (Realistic Controller Simulation)
- 800 RAPID Programming
- AppStudio
- 3 RobotStudio AR Viewer
- 18 Wizard Easy Programming
- 105 Collaborative Robots
- 5 Job listings