fkin (수동 모드)
이 절에서는 수동(교시) 작업 중에 fkin을 사용하는 방법을 설명합니다. 이 함수는 순기구학(FK)을 계산해, 주어진 조인트 각도 [J1 … J6]를 그에 해당하는 직교 좌표 포즈 [X, Y, Z, Rx, Ry, Rz]로 변환합니다. 주로 교시한 조인트 형상을 검증하거나, TCP 위치를 시각화하거나, 역기구학(Inverse Kinematics) 계산이 올바른지 확인할 때 사용합니다.
일반적인 사용법
알려진 조인트 값에 해당하는 TCP 또는 플랜지 포즈를 계산합니다.
직접 입력하거나 기록한 조인트 포즈가 예상한 직교 좌표 위치로 이어지는지 검증합니다.
캘리브레이션이나 디버깅 중에 순기구학과 역기구학의 일관성을 확인합니다.
조인트 공간(Joint Space) 모션 교시 중에 엔드 이펙터 포즈를 기록합니다.
참고
이 함수는 수학적 계산만 하며, 로봇을 움직이지 않습니다.
반대 과정에는 ikin을 사용하세요.
예제: 조인트 각도로 직교 좌표 포즈 계산
// 사전 조건:
// - 연결 완료(open_connection)
// - 수동(교시) 모드 활성
// 1단계. 조인트 각도 정의(도)
float jointAngles[NUM_JOINT] = {0.0f, -30.0f, 60.0f, 0.0f, 45.0f, 0.0f};
// 2단계. BASE 좌표계에서 순기구학 계산
LPROBOT_POSE pPose = drfl.fkin(jointAngles, COORDINATE_SYSTEM_BASE);
// 3단계. 결과 표시
printf("[FK Result] X=%.3f Y=%.3f Z=%.3f | Rx=%.3f Ry=%.3f Rz=%.3f\n",
pPose->_fPosition[0], pPose->_fPosition[1], pPose->_fPosition[2],
pPose->_fPosition[3], pPose->_fPosition[4], pPose->_fPosition[5]);
이 예제는 미리 정의한 조인트 형상을 fkin에 전달하고, BASE 좌표계 기준 TCP 포즈를 받습니다. 실제 모션을 지령하거나 좌표계를 기록하기 전에 로봇 자세를 시각화하고 포즈 정확도를 수치로 검증하는 간단한 방법입니다.
팁
수동 모드에서 포즈 검증, 시뮬레이션, 좌표계 캘리브레이션에 적합합니다.
ikin과 함께 사용해 순기구학과 역기구학 결과가 일치하는지 교차 확인하세요.
TCP를 검증하려면 순기구학 출력을 get_current_posx와 비교하세요.
단위가 맞는지 확인하세요(조인트 각도는 도, 직교 좌표는 밀리미터).