Channel parameters

P-CHAN-00112

Mode of orientation angle programming for kinematic transformations

Description

With a complete transformation, orientation about the coordinate system axes can be programmed either by using an orientation vector with the three components U, V, W or by using three rotation angles A, B, C depending on the transformation type.

Due to the additional degree of freedom provided by manual orientation, programming the rotation angles A, B, C is often the property of robot structures.

The sequence of the three rotations about the assigned rotary axes X, Y, Z leads to the required target orientation or to the target effector coordinate system. If not otherwise defined, single rotations are executed in a mathematically positive direction about the coordinate system axes which are to be reset.

The starting point is an axis sequence with the Cartesian axes X, Y, Z and the rotary axes A, B, C. The default assignment of rotations about the coordinate system axes is A -> X, B -> Y, C -> Z. This may deviate with special angle modes.

Some kinematics use special sequences of rotation which are not listed here. In this case, switching using P-CHAN-00112 is not possible. P-CHAN-00112 has no measuring with standard five-axis kinematics.

Special values can be entered in P-CHAN-00112 for Universal Kinematics (KIN-ID91).

Parameter

ori_rotation_angle

Data type

SGN16

Data range

-1: Programmed orientation axes are forwarded to kinematic transformation without any changes. Any Cartesian transformation which may be active with an active rotation has no influence on these orientation axes

Complete kinematics transformations
3 degrees of freedom for orientation

0: YPR (Yaw Pitch Role) sequence of rotation: 1st rotation about Z (C), 2nd rotation negative about Y´ (B), 3rd rotation about X´´ (A) (default)

1: Euler, order of rotation: 1st rotation about Z (C), 2nd rotation about Y´ (B), 3rd rotation about Z´´ (C)

2: CBA, similar to YPR with positive B rotation and different axis assignment. Rotation about Z (A), 2nd rotation about Y´ (B), 3rd rotation about X´´ (C).

-> A15 B-90 C20 (CBA) is identical to A20 B90 C15 (YPR).

3: CAB rotation sequence, 1st rotation about Z (C), 2nd rotation about X’ (A), 3rd rotation about Y´’ (B) (as of V3.1.3079.35)

4: CBA_STD, corresponds to CBA with a different axis assignment Rotation sequence: 1st rotation about Z(C), 2nd rotation about Y‘(B), 3rd rotation about X‘‘(A)
-> A15 B90 C20 (CBA_STD) is identical to A20 B90 C15 (CBA) and A15 B-90 C20 (YPR). (as of V3.1.3079.9)

5: ABC rotation sequence, 1st rotation about X (A), 2nd rotation about Y´ (B), 3rd rotation about Z´´ (C). (as of V3.1.3079.35)

2 degrees of freedom for orientation (compare KIN-ID 91)

14: AB, rotation sequence: 1st rotation about X(A), 2nd rotation about Y‘ (B) (as of Build V3.1.3079.30)

15: BA, rotation sequence: 1st rotation about Y(B), 2nd rotation about X‘(A) (as of Build V3.1.3079.30) 2nd

 

Universal kinematic transformations (KIN-ID 91):

10: Point-vector programming. Tool orientation is programmed by the axes U, V, W. The vector [U, V, W] need not be normalised but neither may it be the zero vector.

11: Free programming. Not currently supported.

12: Direct programming. The configured kinematic chain is used to calculate the tool position and orientation from programmed Cartesian coordinates and angles.

13: Conformal programming. Same as direct programming but without any axis offsets, shifts or direction flags. For example, allows the programming of 45° axis positions.

14: AB programming with tool in X direction

15: BA programming with tool in Y direction

16: AC programming with tool in X direction

17: CA programming with tool in Z direction

18: BC programming with tool in Y direction

19: CB programming with tool in Z direction

20: AB programming with tool in Z direction

21: BA programming with tool in Z direction

Dimension

----

Default value

0

Remarks

 

P-CHAN-00262

Define kinematic ID for transformations

Description

The kinematic ID identifies the related transformation as an element of the data set of kinematic parameters.

The definition can be made for single-step, multi-step and PCS transformations.

Parameter

trafo[j].id

kin_step[i].trafo[j].id (multi-step transformations)

trafo_pcs[i].id (PCS transformation *)

Data type

UNS16

Data range

1 ... MAX(UNS16)

Dimension

----

Default value

0

Remarks

Parameter syntax as of V300 and higher

*The PCS transformation function is available as of V3.1.3110.

P-CHAN-00285

Zero orientation of the tool (Universal Kinematics)

Description

This parameter defines the tool orientation in the zero setting (vector X, Y, Z, tool direction).

Parameter

trafo[j].zero_orientation[k] where k = 0, 1, 2

kin_step[i].trafo[j].zero_orientation[k] (multistep transformations)

kinematik[91].zero_orientation[k] (up to Version V2.11.28xx)

Data type

REAL64

Data range

----

Dimension

----

Default value

0

Remarks

 

P-CHAN-00446

Definition of the Cartesian basic offsets for stacked kinematics.

Description

The basic offsets are active for stacked kinematics and they describe the Cartesian offsets between the MCS of a kinematic and the TCP of the kinematic stacked below it.

A robot is situated on a slide on a linear axis. Due to the presence of the slide there is a 10 cm offset in z direction between the linear axis and the base of the robot. Enter this offset for the robot here:

trafo[0].id 45
trafo[0].base[2] -1000000

Parameter

trafo[j].base[k] where k=0 … 5

kin_step[i].trafo[j].base[k] (multistep transformations)

Data type

REAL64

Data range

MIN(REAL64) … MAX(REAL64)

Dimension

0.1µm for linear offsets, 0.0001° for angles

Default value

0.0

Remarks

The basic offsets are only considered when the coupling kinematic is active.

P-CHAN-00447

Definition of a group ID of a coupling kinematic

Description

A coupling kinematic group includes a number of stacked partial kinematics and is uniquely identifiable by its ID.

Parameter

trafo[j].group[k].id

kin_step[i].trafo[j].group[k].id (multi-step transformations)

Data type

UNS16

Data range

0 … MAX(UNS16)

Dimension

----

Default value

0

Remarks

As of Build V3.1.3080.09

A group ID may not be assigned more than once within a coupling kinematic.

P-CHAN-00448

Definition of a workpiece CS for a group of a couple kinematic.

Description

If a tool CS is specified (group ID of another group of the coupling kinematic), all TCP coordinates of this group are interpreted in the TCP system of the group specified as the workpiece CS.

This group therefore follows the movements of the workpiece CS group.

Parameter

trafo[j].group[k].workpiece_cs

kin_step[i].trafo[j].group[k].workpiece_cs (multi-step transformations)

Data type

UNS16

Data range

0 … MAX(UNS16)

Dimension

----

Default value

0

Remarks

Configuration example:

trafo[0].id              210
trafo[0].group[0].id     100
trafo[0].group[1].id     200
trafo[0].group[1].workpiece_cs  100

After the kinematic (ID 210) is selected, group 200 follows the movements of group 100 since it is configured as the tool coordinate system of 200.

As of Build V3.1.3080.09

P-CHAN-00449

Definition of a kinematic chain for a group of a coupling kinematic

Description

Description of the sequence in which the partial kinematics within a coupling kinematic are stacked on top of each other.. Index m = 0 points to the lowest kinematic.

Parameter

trafo[j].group[k].chain[l]

kin_step[i].trafo[j].group[k].chain[l] (multi-step transformations)

Data type

UNS16

Data range

0 … MAX(UNS16)

Dimension

----

Default value

0

Remarks

Each kinematic used here must be configured as an autonomous kinematic with a corresponding ID.

Configuration example: Robot on a linear axis

trafo[0].id 1

trafo[0].type 210

trafo[0].group[0].id 100

trafo[0].group[0].chain[0] 3

trafo[0].group[0].chain[1] 2

trafo[1].id 2

trafo[1].type 45

trafo[2].id 3

trafo[2].type 91

 

As of Build V3.1.3080.09

P-CHAN-00450

Priority which the couple kinematic uses to split the TCP movement among the partial kinematics.

Description

The algorithm which distributes the programmed TCP coordinates among the partial kinematics precedes the priority defined here: Beginning with the index m = 0 the largest possible part of the movement is to be traversed by this kinematic. The resulting difference to the programmed TCP is handed over to the next kinematic in the list. This step is repeated until the TCP coordinates are reached, or until the last entry within the sequence defined here is reached.

Parameter

trafo[j].group[k].move_prio[m] where m = 0 … Length of the kinematic chain

kin_step[i].trafo[j].group[k].move_prio[m] (multi-step transformations)

Data type

UNS16

Data range

0 ... MAX(UNS16)

Dimension

----

Default value

0

Remarks

Each of the names used here must be present within the kinematic chain.

Configuration example: Robot on a linear axis

trafo[0].id 1

trafo[0].type 210

trafo[0].group[0].id 100

trafo[0].group[0].chain[0] 3

trafo[0].group[0].chain[1] 2

trafo[0].group[0].move_prio[0] 2

trafo[0].group[0].move_prio[1] 3

trafo[1].id 2

trafo[1].type 45

trafo[2].id 3

trafo[2].type 91

In this example, the entire TCP movement is first handed over to the robot. What the robot cannot clear is then adopted by the linear axis.

 

As of Build V3.1.3080.09

P-CHAN-00458

Lock the Cartesian degrees of freedom of the couple kinematic

Description

This parameter influences the behaviour of the coupling kinematic with a programmed TCP.

While the TCP movement is distributed among the individual partial kinematics, the locked axes are not moved.

Index k describes the axis index to be locked. A parameter value > 0 marks the axis with axis index k as locked.

Parameter

trafo[i].lock_dof[k]

kin_step[i].trafo[j].lock_dof[k] (multistep transformations)

Data type

BOOLEAN

Data range

0 / 1

Dimension

----

Default value

0

Remarks

A locked axis may continue to be programmed directly by its axis identifier.

Configuration example:

trafo[0].id 210
trafo[0]. lock_dof[7] 1    (The axis with Index 7 is not moved while
                                      (TCP movement is distributed