Benutzer-Werkzeuge

Webseiten-Werkzeuge


modellingcomponents:elements:robotics

DH

Determines a list of Denavit Hartenberg parameters and the corresponding coordinate systems from a list of revolute joint axes.

If static calibration is used the determined joint axes origins and points are determined in local coordinates to the coordinate systems of its corresponding joint axes.

The x- and z-Axes of the base coordinate system (and its origin) are determined by the general attribute „coordinateSystem“.

Attributes

Name Type Description optional
name String name of the element No
method String Different variants of Denavit Hartenberg parameterisation exists. The most used one named „distal“ and defines the coordinate systems at the distal end of the segments. The x-axes of the the corresponding coordinate systems are upright to both adjusting joint axes. An importend variant is named as „modified“. Its x-axes are upright only to one of the two adjoining joint axes. The default method is „distal“ and is used if to method is explicitly defined by usage this attribute. Yes
xAxesDirections Comma separated list of Strings List of x-axis direction expressions. No
jointAxes Comma seperated List of Strings List of joint axes element names. Die position of the first axis is used as origin of the base coordinate system. No
calibrateIncludes name of a switch Name of a switch to define the static calibration trial with the normal pose of the robot arm Yes
nominalD Comma seperated list of double values >=0, NaN included Used for method=„modified“ only. List of nominal values useful to set to values >=0 for nearly parallel joint axes. There exist no d0-value. In consequence the list has minus one elements compared with the count of joint-axes. Set values to „NaN“ if the corresponding axes are not nearly parallel which allows automated determination of the d-value. Yes
lastD double Used for classical Denavit Hartenberg method only. Defines the last d parameter. This parameter can not be estimated. It is assumed that the last coordinate system the CS of the TCP has the same z-direction as the last joint axis (r==0, alpha==0). The parameter d is the translation of the origin of the last joint axis in direction of this axis. If the parameter is not set it is automatically set to (0d,0d,0d) but a warning is written into the log. Yes
signR Comma seperated list of boolean values „true“ or „false“ Used for method=„modified“ only. This allows to switch the sign of r-vector, default should be false Yes

Methods

Name Description
distal The default method, also called as classical method. This defines coordinate systems at the distal end of the links and the x-axes are orthogonal to both adjacent joint-axes.
modified The modified version of the Denavit Hartenberg parameterisation defines coordinate systems at the proximal side of the links. The x-axes are orthogonal only to its corresponding coordinate system (joint axis).

Generated trajectories

Name Type Description
<name>XAxis<Index> Vector3d x-axis direction
<name>Alpha<Index> Double alpha (twist angle) in [deg]
<name>Theta<Index> Double theta (joint angle) in [deg]
<name>D<Index> Double d (displacement or link offset) in [mm]
<name>R<Index> Double r (link length) in [mm]
<name>O<Index> Vector3d Origin of the Denavit Harteberg based coordinate system.
<name>P<Index> Vector3d Endpoint of the previous x-axis on the z-axis.

Example

<DH name="DHSARA"
    method="modified"
    xAxesDirections="GlobeX,BaseX,ShoulderX,ElbowX,Wrist1X,Wrist2X,TCPX"                      
    jointAxes="GlobeZ,BaseAxisSARA,ShoulderAxisSARA,ElbowAxisSARA,WristAxis1SARA,WristAxis2SARA,TCPAxisSARA"
    calibrateIncludes="static_calibrate1"
    nominalD="NaN, 0.0, 0.0, NaN, NaN, 0.099381832"/> 

Generated parameters

The mean/std values of the following table are calculated, if the attribute „phase“ is set and also the attribute average=„true“ or meanStd=„true“. If the last attribute is set than also the corresponding std-values are calculated. All values are are based on mean-values for each phase. These mean-values are averaged and also the std for this mean is determined.

Name Type Description
<name>Alpha<Index>PhasesMean Double alpha in [deg]; for each phase the mean is calculated; than the mean of all of these values is determined.
<name>Alpha<Index>PhasesStd Double For each phase the mean is calculated; than the mean of all of these values is determined and the std of this mean is determined.
<name>Theta<Index>PhasesMean Double theta in [deg]; for each phase the mean is calculated; than the mean of all of these values is determined.
<name>Theta<Index>PhasesStd Double theta in [deg]; for each phase the mean is calculated; than the mean of all of these values is determined and the std of this mean is determined.
<name>D<Index>PhasesMean Double D in [mm]; for each phase the mean is calculated; than the mean of all of these values is determined.
<name>D<Index>PhasesStd Double std for each phase the std is calculated; than the mean of all of these values is determined and the std of this mean is determined.
<name>R<Index>PhasesMean Double R in [mm]; for each phase the mean is calculated; than the mean of all of these values is determined.
<name>R<Index>PhasesStd Double R in [mm]; for each phase the mean is calculated; than the mean of all of these values is determined and the std of this mean is determined.

ForwardKinematicDH

This element defines a cartesian coordinate system based on a parent coordinate system and Denavit-Hartenberg parameters.

Attributes

Attribute Description Required
name Name of the element Yes
referenceCoordinateSystem Defines the the reference coordinate system by its name. Yes
Alpha Denavit-Hartenberg parameter Yes
Theta Denavit-Hartenberg parameter Yes
D Denavit-Hartenberg parameter Yes
R Denavit-Hartenberg parameter Yes

Generated trajectories

Name Type Description
<name> Matrix3d Representation of the three orthogonal orientation axes of the determined local coordinate system (columns of the matrix)
<name>Position Vector3d Origin of the coordinate system

Example

<ForwardKinematicDH name="BaseUR"
                    referenceCoordinateSystem="GLOBE"
                    Alpha="0.5"
                    Theta="Angle0"
                    D="0.145"
                    R="0.234"/> 

An alternative to use this element is to use the corresponding function:

<CoordinateSystem name="BaseUR"
                  Pose="dhm(Angle0, DH_alpha0, DH_d0, DH_r0)"/> 
modellingcomponents/elements/robotics.txt · Zuletzt geändert: 2021/10/14 11:08 von oliver