Breadcrumbs

CalcCoord.srv

Features

This service is only available for M2.50 or later versions.

This service returns a new user cartesian coordinate system by using up to 4 input poses ([x1]~[x4]), input mode [mod] and the reference coordinate system [ref]. The input mode is only valid when the number of input robot poses is 2.

 In the case that the number of input poses is 1, the coordinate system is calculated using the position and orientation of x1.

 In the case that the number of input poses is 2 and the input mode is 0, X-axis is defined by the direction from x1 to x2, and Z-axis is defined by the projection of the current Tool-Z direction onto the plane orthogonal to the x-axis. The origin is the position of x1.

 In the case that the number of input poses is 2 and the input mode is 1, X-axis is defined by the direction from x1 to x2, and Z-axis is defined by the projection of the z direction of x1 onto the plane orthogonal to the X-axis. The origin is the position of x1.

 In the case that the number of input poses is 3, X-axis is defined by the direction from x1 to x2. If a vector v is the direction from x1 to x3, Z-axis is defined by the cross product of X-axis and v (X-axis cross v). The origin is the position of x1.

 In the case that the number of input poses is 4, the definition of axes is identical to the case that the number of input poses is 3, but the origin is the position of x4.

Parameters

Parameter Name

Data Type

Default Value

Description

input_pos_cnt

int8


Number of input positions

x1

float64[6]

-

position list

x2

float64[6]

-

position list

x3

float64[6]

-

position list

x4

float64[6]

-

position list

ref

int8

-

MOVE_REFERENCE_BASE =0

MOVE_REFERENCE_WORLD=2

mod

int8

-

input mode

(only valid when the number of input poses is 2)

0: defining z-axis based on the current Tool-z direction

1: defining z-axis based on the z direction of x1

Return

Return Name

Data Type

Default Value

Description

conv_posx

float64[6]

-

position list

success

bool

-

True or False