SGTofDenavitHartenberg

by Tim C. Lueth, SG-Lib Toolbox: SolidGeometry 5.6 - Kinematics and Frames
Introduced first in SolidGeometry 4.2, Creation date: 2018-07-13, Last change: 2025-09-14

returns from Denavit-Hartenberg values, a solid, frames and a symbolic description for DH

Description

USES the SYMBOLICS TOOLBOX
This function returns for give parameter sets with respect to the Denavit-Hartenberg (1955) notation:
d=displacement in z
a=displacement in x
b=rotation around x
a modern style link (shape along z trajectory)
6Dof robots can be designed as follows for practical reasons (utilisation and calculation of inverse kinematics):
1. separation of hand and robot into three axes each.
2. the 6th axis is a pure Z-axis that is as short as possible.
3. the 5th and 4th axes allow the most compact rotation possible on a spherical surface
4. the 1st axis is a Z-axis that is high enough so that the 2nd and 3rd axes can work optimally
5. the 2 and 3 axes are virtually the same length. 3 is shorter because 4 and 5 and 6 are added.
The inverse kinematics is solved in such a way that 6 is defined starting from the target point z-axis


See Also: SGTofDHset , SGof2T , SGTset , SGTchain

Example Illustration

 missing image of SGTofDenavitHartenberg(D,A,be,r,g)

Syntax

[SGT,T,TT]=SGTofDenavitHartenberg([D,A,be,r,g])

Input Parameter

D: Distance in z; default is 100
A: Distance in x; default is 40
be: fixed rotation value around x-axis or [x-axis/yaxis]; default is [pi/2 0]
r: optional Radius of the tube; default is max(D,A)/10
g: optional angle as offset for a rotation at the base; default is 0

Output Parameter

SGT: Solid Geoemtry including Frames
T: symbolics equation including substitued values for parameter
TT: symbolics equation without substituted values for parameter

Examples

Different common robotics links:
[a,b,c]=SGTofDenavitHartenberg(100,40,[0 pi/2]), SGfigure(a);
[a,b,c]=SGTofDenavitHartenberg(100,0,[0 pi/2]), SGfigure(a);
SGTofDenavitHartenberg(10,0,0);
SGTofDenavitHartenberg(10,10,0);
SGTofDenavitHartenberg(10,0,pi/2);
SGTofDenavitHartenberg(0,10,pi);
SGTofDenavitHartenberg(10,0,pi/4,3);
SGTofDenavitHartenberg(10,0,pi/2,'',pi/2);
SGTofDenavitHartenberg (0,20,[0,pi/2]);




Copyright 2018-2025 Tim C. Lueth. All rights reserved. The code is the property of Tim C. Lueth and may not be redistributed or modified without explicit written permission. This software may be used free of charge for academic research and teaching purposes only. Commercial use, redistribution, modification, or reverse engineering is strictly prohibited. Access to source code is restricted and granted only under specific agreements. For licensing inquiries or commercial use, please contact: Tim C. Lueth

Last html export of this page out of FM database by TL: 2025-09-21