• Skip to main content
  • Skip to header right navigation
  • Skip to site footer
CDP Studio logo

CDP Studio

The no-code and full-code software development tool for distributed control systems and HMI

  • Why CDP
    • Software developers
    • Automation engineers
    • Managers
  • Product
    • Design UI
    • Develop
    • Analyze and test
    • Deploy
    • Framework and toolbox
    • Compatibility
  • Services
  • Use cases
  • Pricing
  • Try CDP

CDP Studio Documentation

  • Framework - Kinematics
  • DHLink
  • 4.11.0

DHChain - Denavit-Hartenberg Parameter Kinematic Chain

DHLink

DHLink

DHLink is a base of a kinematic link that can be added to DHChain to form a kinematic chain.

DHLink kinematic properties can be configured using Denavit–Hartenberg (also called DH) parameters and an unlimited number of constraints (including loops) between links.

According to the DH parameter system, every kinematic link has 4 parameters:

  • Alpha - Angle in radians between old Z and new Z plane
  • Theta - Angle in radians between old X and new X plane
  • A - Length of the common normal
  • D - Offset along the previous Z to the common normal

More info about the DH parameters can be found at:

  • DH Wikipedia page
  • DH convention demonstration video

The following 3 types can be added to DHChain component to form a kinematic chain:

LinkDescription
DHRevoluteLinka DHLink that can rotate around its joint. It means that its Theta parameter is changeable and other DH parameters are fixed via its mechanical body constraints. The most common example of DHRevoluteLink is a hinge joint connected to some arm.
DHPrismaticLinka DHLink that allows a linear motion along a single axis i.e. the D parameter of it is changeable and other DH parameters are fixed via its mechanical body constraints. The most common example of a DHPrismaticLink is a cylinder.
DHFixedLinka DHLink that links joints so that all DH parameters are fixed via link mechanical body constraints. In other words, DHFixedLink is a non-rotating, non-movable connection from link start to link end.

To create a kinematic chain, the predecessor DHLink should be connected (routed) to the successor DHLink. One DHLink can be a predecessor to multiple successor links. All DH parameters of the successor DHLink are always applied relative to the predecessor DHLink end position.

In addition to DH parameters, every DHLink also has an end Position port with values in (cartesian) coordinates (X, Y and Z), relative to the DHChain StartPosition, in the form of a Position port. All DHLinks have also a RotationMatrix port that expresses the link end rotation. The RotationMatrix port consists of 3 x 3 matrix values describing the orientation of the link end relative to DCHain start, as described in Robotics Kinematics and Dynamics/Description of Position and Orientation.

DHRevoluteLink and DHPrismaticLink have 2 parameters for their changeable (i.e. degree of freedom) DH value. One (named Theta or D correspondingly) can be valued (e.g. routed) from outside of DHChain (for example from the control joystick or the actual link position sensor) and will be the input for kinematic solver calculations. Other (named ThetaSolved or DSolved accordingly) is read-only and is valued by the kinematic solver and this value can be used to order the actual link mover (winch or stepper motor etc) to go to the new position.

DHLink can also have one or many PositionConstraint ports, that can be routed from two different sources:

PurposeRouted fromConstraint description
Loop ConstraintPosition port of any DHLinkCreates kinematic loop, i.e. solver tries to find positions for links (by changing link degree of freedom parameters) so that these link end positions would be exactly in the same place.
Fixed Position ConstraintSome other Position portCreates fixed position constraint, i.e. solver tries to find positions for links (by changing link degree of freedom parameters) so that the link end position would be at the coordinates specified by the connected port.

DHLink changeable parameters can also have a joint Limits port that set Min and Max values so that the kinematic solver will try to solve the link position so that the parameter will be between these values.

DHChain - Denavit-Hartenberg Parameter Kinematic Chain

The content of this document is confidential information not to be published without the consent of CDP Technologies AS.

CDP Technologies AS, www.cdpstudio.com

Get started with CDP Studio today

Let us help you take your great ideas and turn them into the products your customer will love.

Try CDP Studio for free
Why CDP Studio?

CDP Technologies AS
Hundsværgata 8,
P.O. Box 144
6001 Ålesund, Norway

Tel: +47 990 80 900
E-mail: info@cdptech.com

Company

About CDP

Contact us

Services

Partners

Blog

Developers

Get started

User manuals

Support

Document download

Release notes

Follow CDP

  • LinkedIn
  • YouTube
  • GitHub

    © Copyright 2022 CDP Technologies. Privacy and cookie policy.

    Return to top