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

인수
| 인수명 | 자료형 | 기본값 | 설명 |
|---|---|---|---|
eForceAxis | enum.FORCE_AXIS | - | 축 방향 |
fTargetMin | float[6] | - | 6개의 최소값 정보 |
fTargetMax | float[6] | - | 6개의 최대값 정보 |
eForceReference | enum.COORDINATE_SYSTEM | COORDINATE_SYSTEM_TOOL | 상수 및 열거형 정의 참조 |
리턴
| 값 | 설명 |
|---|---|
1 | 조건이 참 |
0 | 조건이 거짓 |
예제
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);