1.33 1.32 1.31 1.30 1.29 1.28 1.20 Korean English Chinese Czech Dutch French German Hungarian Italian Japanese Polish Portuguese Spanish
1.33 1.32 1.31 1.30 1.29 1.28 1.20 Korean English Chinese Czech Dutch French German Hungarian Italian Japanese Polish Portuguese Spanish

CDRFLEx.check_orientation_condition(eForceAxis, fTargetMin, fTargetMax, eForceReference)

기능

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

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

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

  • Max만 설정 시: max 차이가 -이면 True, +이면 False
    image2021-12-2_16-48-33.png

인수

인수명

자료형

기본값

설명

eForceAxis

enum.FORCE_AXIS

-

축 방향

fTargetMin

float[6]

-

6개의 최소값 정보

fTargetMax

float[6]

-

6개의 최대값 정보

eForceReference

enum.COORDINATE_SYSTEM

COORDINATE_SYSTEM_TOOL

상수 및 열거형 정의 참조

리턴

값

설명

1

조건이 참

0

조건이 거짓

예제

C++
float posx1[6] = {400, 500, 800, 0, 180, 30};
float posx2[6] = {400, 500, 500, 0, 180, 60};
bool con1 = Drfl.check_orientation_condition(FORCE_AXIS_C, posx1, posx2);