get_robot_link_info
이 함수는 컨트롤러에 로봇의 링크(DH) 매개변수를 조회해, 전달한 ROBOT_LINK_INFO 구조체를 채웁니다. 일반적으로 조인트별 DH(Denavit–Hartenberg) 매개변수(예: a, d, α, θ), 링크 길이, 기구학 계산에 쓰는 부가 메타데이터가 담깁니다.
정의
DRFLEx.h, CDRFLEx 클래스의 public 섹션
bool get_robot_link_info(ROBOT_LINK_INFO& out, int timeout_ms = 300) {
return _get_robot_link_info(_rbtCtrl, &out, timeout_ms);
};
매개변수
매개변수 이름 |
자료형 |
기본값 |
설명 |
|---|---|---|---|
out |
로봇의 링크/DH 매개변수로 채울 출력 구조체입니다. |
||
timeout_ms |
int |
300 |
조회 제한 시간(밀리초)입니다. |
반환값
값 |
유형 |
설명 |
|---|---|---|
0 |
int |
오류 — 링크 정보를 가져오지 못했습니다(제한 시간 초과 또는 통신 오류). |
1 |
int |
성공 — out 구조체를 현재 링크 매개변수로 채웠습니다. |
예제
// 연결, 로봇 시스템 선택 등(생략)
ROBOT_LINK_INFO link{};
if (drfl.get_robot_link_info(link, 500)) {
// 예: 펌웨어가 제공하는 경우 조인트를 순회하며 DH와 유사한 매개변수 출력
for (int j = 0; j < NUMBER_OF_JOINT; ++j) {
printf("[J%d] a=%.6f, d=%.6f, alpha=%.6f, theta=%.6f\n",
j+1,
link.a[j],
link.d[j],
link.alpha[j],
link.theta[j]);
}
} else {
fprintf(stderr, "get_robot_link_info() failed (timeout or comm error)\n");
}
이 예제는 컨트롤러의 DH/링크 매개변수를 요청해 조인트별로 출력합니다. 표시된 필드 이름(_fA, _fD, _fAlpha, _fTheta)은 일반적인 DH 표기를 따릅니다.