Benutzer-Werkzeuge

Webseiten-Werkzeuge


modellingcomponents:elements:robotics

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
modellingcomponents:elements:robotics [2021/10/27 19:37] – [Attributes] olivermodellingcomponents:elements:robotics [2023/02/21 10:10] (aktuell) – [Attributes] oliver
Zeile 9: Zeile 9:
 ^ name | String | name of the element | No | ^ 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 | ^ 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 | +^ xAxesDirections | Comma separated list of Strings | List of x-axis direction names. Typically these axes are determined by calibration from a static trial, with all theata angles equal zero, the zero-pose of the robot. | 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 |+^ jointAxes | Comma seperated List of Strings | List of joint axes element names with an optional "-" as an prefix which indicates the the direction of the axis should be negated. 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 | ^ 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 |+^ 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 but the TCP system is in line with the previous axis and in a fixed length distance. So set the last values in the list to that value explicitly. Set values to "NaN" if the corresponding axes are not nearly parallel which allows automated determination of the d-value. | Yes |
 ^ lastD | REAL| Used for classical Denavit Hartenberg method only. Defines the last d parameter in [mm]. 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) which results in a TCP coordinate system identical to the wrist2 CS, but a warning is written into the log. | Yes | ^ lastD | REAL| Used for classical Denavit Hartenberg method only. Defines the last d parameter in [mm]. 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) which results in a TCP coordinate system identical to the wrist2 CS, but a warning is written into the log. | Yes |
 ^ signR | Comma seperated list of boolean values "true" or "false" | This allows to switch the sign of r-vector, default should be false. Especially in the case of DH-classical the calculation of the theta angles is based on a flipped r-vector/x-axis if the signR attribute is set to "true". | Yes | ^ signR | Comma seperated list of boolean values "true" or "false" | This allows to switch the sign of r-vector, default should be false. Especially in the case of DH-classical the calculation of the theta angles is based on a flipped r-vector/x-axis if the signR attribute is set to "true". | Yes |
Zeile 23: Zeile 23:
 ====Generated trajectories==== ====Generated trajectories====
 ^ Name ^ Type ^ Description ^  ^ Name ^ Type ^ Description ^ 
-^ <name>XAxis<Index> | Vector3d | x-axis direction |+^ <name>X0Axis | Vector3d | The direction of the X-axis of the base coordinate system, as defined by the attribute X0Axis (expression). | 
 +^ <name>Origin | Vector3d | The Origin of the base coordinate system, as defined by the attribute Origin (expression)". | 
 +^ <name>XAxis<Index> | Vector3d | X-axes directions, as defined by the attribute (expression) "xAxisDirections"|
 ^ <name>Alpha<Index> | Double| alpha (twist angle) in [deg] |  ^ <name>Alpha<Index> | Double| alpha (twist angle) in [deg] | 
 ^ <name>Theta<Index> | Double | theta (joint angle) in [deg] |  ^ <name>Theta<Index> | Double | theta (joint angle) in [deg] | 
Zeile 30: Zeile 32:
 ^ <name>O<Index> | Vector3d | Origin of the Denavit Harteberg based coordinate system. | ^ <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.| ^ <name>P<Index> | Vector3d | Endpoint of the previous x-axis on the z-axis.|
 +
 +If the method is "modified" than the index starts for "R" and "Alpha" with one and for "Theta" and "D" with zero, else all of them start with one.
 +====Generated parameters====
 +
 +If the attribute "calibrateIncludes" is used, the following parameters are determined as mean/std values over the complete trial, which is assumed to be a static trial.
 +
 +^ Name ^ Type ^ Description ^ 
 +^ <name>P<Index>Mean | Vector3d | Position on the joint axis, where the x-axis of the previous joint ends,  in local coordinates of the CS to the correspoinding joint axis. | 
 +^ <name>O<Index>Mean | Vector3d | Origin of the DH-coordindate system in local coordinates of the CS to the corresponding joint axis. | 
 +^ <name>Alpha<Index>Mean | Double| alpha (twist angle) in [deg] | 
 +^ <name>Theta<Index>Mean | Double | theta (joint angle) in [deg] | 
 +^ <name>D<Index>Mean | Double | d (displacement or link offset) in [mm] | 
 +^ <name>R<Index>Mean | Double | r (link length) in [mm] |
 +^ <name>Alpha<Index>Std | Double| alpha (twist angle) std in [deg] | 
 +^ <name>Theta<Index>Std | Double | theta (joint angle) sd in [deg] | 
 +^ <name>D<Index>Std | Double | d (displacement or link offset) std in [mm] | 
 +^ <name>R<Index>Std | Double | r (link length) std in [mm] |
  
 **Example** **Example**
Zeile 69: Zeile 88:
  
 ======FKDH====== ======FKDH======
-This element defines a cartesian coordinate system based on a parent coordinate system and by Denavit-Hartenberg convention.+This element determines forward (direct) kinematics. A cartesian coordinate system based on a parent coordinate system and by a sequence of screw motions defined by Denavit-Hartenberg convention is determined.
  
 ==== Attributes ==== ==== Attributes ====
Zeile 75: Zeile 94:
 ^ Attribute ^ Type ^ Description ^ Required ^ ^ Attribute ^ Type ^ Description ^ Required ^
 ^ name | String | Name of the element | Yes |  ^ name | String | Name of the element | Yes | 
-^ coordinateSystem | String | Defines the the reference coordinate system by its name. | Yes +^ method | String | Name of the method: default="classical" or "distal", "modified" | No | 
-^ alpha | Comma seperated list of REAL variable (trajectorie) names. | Denavit-Hartenberg parameter theta | Yes | +^ coordinateSystem | String | Defines the the reference coordinate system by its name. If it is not set than (0,0,0) ist used as the origin and e1, e2, e3 are used as its axes. | No
-^ deltaTheta | Comma seperated list of REAL values | Angle in static neutral pose between Denavit Hartenberg x-axis (r) and the corresponding joint angle measurement by the robot.  | Yes | +^ alpha | Comma seperated list of REAL values in [rad]. | Denavit-Hartenberg parameter alpha between the joint axes. | Yes | 
-^ theta | Comma seperated list of REAL timeserie names | Denavit-Hartenberg parameter | Yes | +^ deltaTheta | Comma seperated list of REAL values in [rad]. | Angle in static neutral pose between Denavit Hartenberg x-axis (r) and the corresponding joint angle measurement by the robot.  | Yes | 
-^ d | Comma seperated list of REAL values| Denavit-Hartenberg parameter | Yes | +^ theta | Comma seperated list of REAL value in [rad] variable names| Denavit-Hartenberg parameter theta around the joint axes.| Yes | 
-^ r | Comma seperated list of REAL values| Denavit-Hartenberg parameter | Yes |+^ d | Comma seperated list of REAL values in [mm] | Denavit-Hartenberg parameter d along the joint axes. | Yes | 
 +^ r | Comma seperated list of REAL values in [mm] | Denavit-Hartenberg parameter r (equivalent to a) between the joint axes. | Yes |
  
 ====Generated trajectories ==== ====Generated trajectories ====
 ^ Name ^ Type ^ Description ^  ^ Name ^ Type ^ Description ^ 
-^ <name><index> | MATRIX_3X3D| Representation of the three orthogonal orientation axes of the determined local coordinate system (columns of the matrix) |  +^ <name> | MATRIX_3X3D| Representation of the three orthogonal orientation axes of the result coordinate system (columns of the matrix). This is the last in the DH sequence, often called TCP frame.|  
-^ <name>Position<index> | COLUMN_VECTOR_3D| Origin of the coordinate system | +^ <name>Position | COLUMN_VECTOR_3D| Origin of the result coordinate system. |  
 +^ <name><index> | MATRIX_3X3D| Representation of the three orthogonal orientation axes of the determined local coordinate system (columns of the matrix)|  
 +^ <name>Position<index> | COLUMN_VECTOR_3D| Origin of the coordinate system 
 + 
 +The index starts with 1 because with the index 0 typically the reference system is called.
  
 For the last coordinate system trajectories are created without the index as a suffix. This system can be accessed by further calcmodel elements. For the last coordinate system trajectories are created without the index as a suffix. This system can be accessed by further calcmodel elements.
Zeile 92: Zeile 116:
  
 <code xml> <code xml>
-<FKDH name="BaseUR"+<FKDH name="DK"
       coordinateSystem="GLOBE"       coordinateSystem="GLOBE"
-      alpha="0.5,90,0,0" +      alpha="0.5,90,0.0,0.0" 
-      deltaTheta="1.0,3.4,2"+      deltaTheta="1.0,3.4,2.0,0.5"
       d="0.145,7089234,0892734"       d="0.145,7089234,0892734"
-      r="0.234,5123,123"/> +      r="0.234,5123,123,765" 
 +      theta="Angle0,Angle1,Angle2,Angle3"/> 
 </code> </code>
  
-An alternative to use this element is to use the corresponding function:+An alternative is to use corresponding function
  
 <code xml> <code xml>
Zeile 106: Zeile 131:
                   Pose="dhm(Angle0, DH_alpha0, DH_d0, DH_r0)"/>                    Pose="dhm(Angle0, DH_alpha0, DH_d0, DH_r0)"/> 
 </code> </code>
 +
 +for each joint in the sequence. This makes the sequence of transformations more transparent but also needs to write more xml.
modellingcomponents/elements/robotics.1635356237.txt.gz · Zuletzt geändert: 2021/10/27 19:37 von oliver

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki