로봇 운동학
이 섹션에서는 로봇의 운동 방식, 순기구학(forward kinematics), 역기구학(inverse kinematics), 다중 역해 처리, 싱귤래리티 회피 전략을 포함한 로봇 운동학의 기본 개념을 소개합니다. 운동학은 로봇 경로 계획, 포즈 제어 및 비전 가이드의 이론적 기반을 제공합니다.
로봇 운동 방식
로봇의 운동은 일반적으로 로봇 TCP(공구중심점)를 공간의 A 지점에서 B 지점으로 이동하는 과정을 의미합니다. 관절 운동과 직선 운동은 로봇 운동의 두 가지 기본 방식입니다.
순기구학과 역기구학
순기구학과 역기구학은 서로 매핑되는 관계입니다: 관절 각도는 순기구학 계산을 통해 말단장치 포즈에 매핑되는 반면, 말단장치 포즈는 역기구학 계산을 통해 관절 각도에 매핑됩니다.
순기구학
순기구학은 알려진 로봇의 관절 각도를 기반으로 말단장치(TCP)의 공간 포즈를 계산하는 과정입니다. 각 관절 각도가 알려진 경우 이를 로봇의 구성 방정식에 대입하면(링크 길이, 관절 영점 위치, 회전 방향 등의 파라미터를 포함) 유일한 TCP를 결정할 수 있습니다.
경로 계획 또는 이동 컨트롤 과정에서 시스템이 관절 각도 형태로 이동 명령어를 전송하면, 로봇은 해당 관절 각도를 그대로 따라 운동할 수 있으므로 운동 결과는 계획 결과와 일치합니다.
역기구학
역기구학은 알려진 말단장치 포즈(목표점 위치와 자세)를 기반으로 로봇 관절 각도를 계산하는 과정입니다. 알려진 값이 미지수보다 적기 때문에 역기구학은 일반적으로 다중 해를 가지며, 이는 서로 다른 관절 각도 조합이 동일한 TCP를 생성할 수 있습니다.
말단장치 포즈를 로봇 통신이나 이동 컨트롤에 사용할 경우 로봇 컨트롤러는 역기구학을 자체적으로 계산해야 하므로, 실제 로봇 운동 경로가 Mech-Viz 계획 결과와 일치하지 않을 수 있으며 이로 인해 운동 편차나 충돌이 발생할 수 있습니다.
그러나 실제 응용에서는 말단장치 포즈가 여전히 널리 사용되며 그 이유는 주로 다음과 같습니다:
-
일부 로봇은 특정 통신 인터페이스나 컨트롤 모드에서 관절 각도 명령어를 직접 수신하는 것을 지원하지 않습니다.
-
로봇 컨트롤러에는 보정 알고리즘이 내장되어 있어 TCP를 사용할 때 더 높은 운동 정확률을 달성할 수 있습니다.
-
말단장치 포즈는 이후의 비전 가이드, 어셈블리, 캘리브레이션 등의 과정에서 2차 변환과 처리를 수행하기에 용이합니다.
싱귤래리티
싱귤래리티는 로봇이 특정 관절 위치에 도달하여 기구학 방정식을 해석할 수 없거나, 일부 자유도가 상실되는 경우에 발생합니다. 싱귤래리티에서는 로봇의 일부 방향에 대한 운동 능력이 상실되거나 무한히 증폭되어 제어가 불안정해지거나 비정상적인 운동이 발생할 수 있습니다.
일반적인 유형
발생 위치와 원인에 따라 로봇 싱귤래리티는 일반적으로 다음과 같은 유형으로 구분할 수 있습니다:
-
손목 싱귤래리티
이는 손목의 3개 회전축이 동일 선상에 있을 때 발생하며, 이로 인해 로봇의 끝 방향이 제어할 수 없게 되거나 갑자기 변경됩니다. 예를 들어, 6축 로봇의 경우 5번째 축 각도가 0° 또는 180°일 때 싱귤래리티가 발생할 수 있습니다.
-
팔꿈치 싱귤래리티
아래팔과 상부팔이 동일 선상에 놓일 때 발생하며, 로봇은 ‘엘보 업(Elbow Up)’ 또는 ‘엘보 다운(Elbow Down)’ 포즈를 구분할 수 없습니다. 이는 경로 계획 과정에서 다중 해의 전환이나 갑작스러운 운동 변화를 유발할 수 있습니다.
-
어깨 싱귤래리티
이는 로봇의 손목 중심이 1번 관절 축과 정렬되거나, 관절 축들이 특정한 공선 관계를 이룰 때 발생합니다. 이로 인해 로봇 말단은 일부 방향에서 자유도를 상실하게 되며, 관절이 크게 회전하는 현상이 발생할 수 있습니다.
실제 산업 응용에서 가장 흔히 발생하는 싱귤래리티는 6축 구형 손목 로봇에서 4축과 6축이 거의 동축에 가까워진 상태로 직선 운동을 수행할 때 나타납니다.
싱귤래리티 피하기
6축 구형 손목 로봇 운동 과정에서 고유한 싱귤래리티를 가지고 있습니다. 싱귤래리티 발생 위험을 줄이기 위해 다음과 같은 방안을 적용할 수 있습니다:
-
오프셋 구조의 손목 로봇을 개발하여 4축과 6축이 동축으로 정렬되는 것을 구조적으로 방지합니다. 예를 들어, UR 시리즈와 FANUC CRX 시리즈 로봇.
-
컨트롤러 명령 최적화 : moveJ를 moveL에 근사하는 명령어를 추가하여 실행 가능성을 향상시킵니다.
-
소프트웨어 경로 계획 조정:Mech-Viz는 싱귤래리티가 있을 수 있는 경로의 속도를 늦추고 경로를 다시 계획합니다.
또한, Mech-Viz는 경로 계획 과정에서 잠재적 싱귤래리티를 자동으로 감지하는 기능을 지원합니다. 감지 방법은 싱귤래리티 감지를 참조하십시오.