Breadcrumbs

CheckOrientationCondition2.srv

기능

현재 로봇 엔드이펙터의 자세와 회전각 범위 차이에 대한 상태를 확인하기 위한 서비스입니다. 현재 자세와 회전각 범위에 대한 차이는 알고리즘 내부에서 회전행렬로 변환되어 “AngleAxis” 기법으로 차이 값(rad 단위)을 리턴합니다. 차이가 + 값이면 true를, -값이면 false를 리턴합니다. 현재 자세를 기준으로, 주어진 position과 회전각 범위 차이가 +인지 –인지 확인할 때 사용합니다. 사용 예로, 어떤 기준이 되는 position에서 min, max로 회전각 범위를 설정하여, 현재 위치와 차이가 + 방향인지, - 방향인지 판단한 후 orientation limit에 대한 조건을 만들 수 있습니다. 또한 while 또는 if 조건과 함께 사용하여 해당 조건을 반복 확인할 수 있습니다.

  • Min만 설정 시: 차이가 +이면 True, -이면 False

  • Min, Max 설정 시: min과의 차이가 -이고, max 차이가 +이면 True, 그 반대이면 False

  • Max만 설정 시: max 차이가 -이면 True, +이면 False

image2021-12-17_13-28-58.png



회전각 범위: 주어진 position에서 설정된 axis를 기준으로, 상대적인 각도 범위(min, max)를 말합니다. 인자 ref에 따라 주어진 position의 기준 좌표계가 정해집니다.


인수

인수명

자료형

기본값

설명

axis

int8

-

FORCE_AXIS_X = 0

FORCE_AXIS_Y = 1

FORCE_AXIS_Z = 2

min

float64

-

최솟값

max

float64

-

최댓값

ref

int8

1

MOVE_REFERENCE_BASE =0

MOVE_REFERENCE_TOOL=1

MOVE_REFERENCE_WORLD=2

MOVE_REFERENCE_USER=101~120

mod

int8

0

MOVE_MODE_ABSOLUTE = 0

MOVE_MODE_RELATIVE = 1

pos

float64[6]

-

6개의 Task Space 정보

리턴

인수명

자료형

기본값

설명

success

bool

-

성공 여부 : True or False