• 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

  • Doc
  • Why CDP
    • Software developers
    • Automation engineers
    • Managers
  • Products
    • Automation Designer
    • HMI Designer
    • Maritime HMIs
  • Services
  • Use cases
  • Pricing
  • Try CDP

CDP Studio Documentation

  • Framework - Kinematics
  • DHChain Velocity Solving
  • 5.0.0

DHLink Angles to Rotation Composing Conventions

DHChain Velocity Solving

DHChain Velocity Solving

When DHChain start or end positions are in movement and some velocity-related output port or argument is added to some of the DHLinks, then the velocity calculation will take place in every DHChain component Process() cycle (in addition to Position Solving).

Three types of velocity calculations can happen:

Velocity calculation typeDescription
Predicted-position-based calculationThe predicted position, that the DHChain would achieve for the start of the next processing cycle, considering all the velocities given (and at the same time considering all other, non-moving constraints) will be calculated. Velocity outputs are then calculated based on that predicted position.
Jacobian-matrix-based calculationMathematics based on degree of freedom time derivatives of the links (i.e. chain Jacobian matrix) and input velocities are used to calculate the velocity outputs.
Link velocity measuringActual velocity, based on the current position and position the chain was at the previous DHChain processing cycle will be measured.

Forward Velocity Solving

For forward velocity calculation, CalculatedVelocity and CalculatedAngularVelocity ports can be added to the DHLink, that have a common CalculationMethod parameter, which affects what aspects are taken into account while calculating the velocity:

CalculationMethodMethod description
Measured (default)The actual velocity, that the link end is moving or rotating by. This velocity calculation method is not affected by any given input velocities, i.e. it does not indicate the link end predicted velocity but the actual velocity, that the link was moving during the last DHChain calculation cycle.
PredictedSimilar to Measured, with the exception that it takes into account also all the given input velocities and degree of freedom parameter speeds, while considering all constraints set to the chain (including speed constraints (like MaxSpeed, MaxAcceleration and MaxDeceleration) and loop constraints. In other words, this method predicts the velocity that the link end will achieve for the start of the next DHChain processing cycle.
JacobianVelocity calculated based only on possible input degree of freedom parameter speeds given, using degree of freedom time derivatives of the links (i.e. chain Jacobian matrix). This method can be useful for creating assisting models for other kinematics systems, that already use this approach. Note, that this method will return 0 when the link input degree of freedom parameter speeds are not given, even if the chain is actually moving (for example, because its start or end positions are changing or because some constraints force it to move/rotate).

Inverse Velocity Solving

CalculatedThetaSpeed (for DHRevoluteLink) or CalculatedDSpeed (for DHPrismaticLink) argument can be added to the DHLink, to instruct the solver to calculate the link degree of freedom parameter speed. These arguments have also the common CalculationMethod parameter, which affects what aspects are taken into account while calculating the speed:

CalculationMethodMethod description
Predicted (default)Speed needed to reach a solved position for the start of the next DHChain processing cycle, considering all given input velocities. This speed can be used as a speed reference control value for link actuating motors. Because of the prediction included, this speed will minimize the position correction lag in moving kinematic systems, like holding some steady position on moving platforms or precisely following some moving target. When there are no input velocities given, then the speed will be equal to what is needed to reach the solved chain position for the start of the next DHChain processing cycle.
JacobianSpeed based only on possible chain start and end input velocities given, using the degree of freedom time derivatives of the links (i.e. chain Jacobian matrix). This speed can be useful for creating assisting models for other kinematics systems, that already use this approach. Note, that this method will return 0 when the link or its child link end velocity nor start velocity is not given, even if the chain is actually moving (for example, because its start or end positions are changing or because some constraints force it to move/rotate). Also, this method will not follow the speed constraints (like MaxSpeed, MaxAcceleration or MaxDecelerations) applied to different links, nor loop constraints that can restrict link speed in reality.
MeasuredActual speed at which the degree of freedom parameter is changing during the last DHChain calculation cycle. It can be used for inspection or display in the control panel or UI. This speed calculation method is not affected by any given input velocities.

DHLink Angles to Rotation Composing Conventions

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

My account

Follow CDP

  • LinkedIn
  • YouTube
  • GitHub

© Copyright 2025 CDP Technologies. Privacy and cookie policy.

Return to top