🛠 자유도가 사라지는 순간
지난 글에서 자코비안의 속도 타원을 살펴봤습니다. 타원이 길쭉해지거나 동그래지면서, 어느 방향으로 잘 움직이는지를 한눈에 보여줬죠.
그런데 그 타원이 갑자기 직선으로 납작해지는 순간이 있었습니다.
"두 관절이 멀쩡히 돌아가는데, 끝점은 한 방향으로밖에 못 움직이는 자세."
이게 바로 특이점(Singularity) 입니다. 이론 시리즈 #5에서 다룬 그 자세를, 이번에는 직접 슬라이더로 진입해보면서 어떤 일이 벌어지는지 체감해봅니다.
🧭 왜 시각화가 필요한가
2-DOF 평면 로봇팔의 특이점 조건은 단순합니다.
$$\det(\mathbf{J}) = L_1 L_2 \sin\theta_2 = 0$$즉 $\sin\theta_2 = 0$ 일 때, 그러니까 $\theta_2 = 0°$ 또는 $\theta_2 = \pm 180°$ 일 때 특이점이 발생합니다.
- $\theta_2 = 0°$ → 팔이 일자로 펴진 자세 (작업공간 바깥 경계)
- $\theta_2 = \pm 180°$ → 팔이 완전히 접힌 자세 (작업공간 안쪽 경계)
식은 명확합니다. 그런데 식만 봐서는 답하기 어려운 질문들이 있어요.
- 특이점에서 끝점은 어떤 방향으로 못 움직이는가?
- 특이점 근처에서는 어떤 일이 벌어지는가?
- IK는 왜 특이점 근처에서 폭주한다고 하는가?
이런 건 슬라이더로 직접 특이점에 들어갔다 나왔다 해보고, 그 순간 화살표와 타원이 어떻게 변하는지 봐야 감이 옵니다.
🎮 직접 진입해보는 특이점
아래 도구는 특이점에 가까워질수록 타원이 납작해지고, det(J)가 0에 가까워지고, 끝점이 못 가는 방향이 빨간 선으로 표시됩니다. 두 가지 특이점 자세 버튼으로 즉시 진입해보세요.
🔍 도구 사용법
이 도구는 두 개의 슬라이더와 네 개의 버튼으로 조작합니다.
- θ₁, θ₂ 슬라이더 — 로봇팔 자세. 특히 θ₂ 를 0° 또는 ±180° 근처로 가져가보세요
- ⚠️ 일자 (θ₂ = 0°) — 팔이 일자로 펴진 특이점으로 점프 (작업공간 바깥 경계)
- ⚠️ 접힘 (θ₂ = 180°) — 팔이 완전히 접힌 특이점으로 점프 (작업공간 안쪽 경계)
- 근처 (θ₂ = 5°) — 특이점 바로 근처로 점프 (행동이 어떻게 망가지는지 보기)
그림에서 각 요소의 의미는 이렇습니다.
- 속도 타원 — 자코비안의 속도 타원 (#4와 동일)
- 색 변화 — 정상은 파랑, 특이점 근처는 주황, 특이점은 빨강
- 빨간 점선 + ✕ 표시 — "끝점이 절대 못 가는 방향". 두 관절을 어떻게 돌려도 이 방향으론 못 움직임
아래 카드에는 자코비안 행렬식, 조건수(κ), 막힌 방향, 현재 상태가 실시간으로 표시됩니다.
🧪 이런 실험을 해보세요
특이점은 글로 설명되는 것보다 직접 진입해봐야 와닿습니다.
실험 1 — θ₂ 슬라이더로 특이점에 천천히 접근
θ₂ = 60° 에서 시작해서 슬라이더를 천천히 0°로 내려보세요. 타원이 점점 길쭉해지다가 거의 직선이 됩니다. 그리고 det(J) 값이 점점 0에 가까워지고, 어느 순간 빨갛게 변해요. 이게 *"특이점에 접근한다"* 의 시각적 정의입니다.
실험 2 — 일자 자세 (θ₂ = 0°) 의미 곱씹기
"⚠️ 일자" 버튼을 누르면 끝점이 작업공간 바깥쪽 경계에 위치합니다. 빨간 점선이 표시되는 방향 — 그 방향이 바로 *"끝점에서 어깨를 향하는 반지름 방향의 수직 방향"* 이에요. 잠깐, 반대 아닌가요? 직접 보세요. 사실 막히는 방향은 팔의 길이 방향(반지름 방향) 입니다. 팔이 이미 최대로 펴져있으니, 더 멀어지는 쪽으로는 갈 수 없거든요.
실험 3 — 접힘 자세 (θ₂ = 180°) 의 의미
"⚠️ 접힘" 버튼을 누르면 팔이 완전히 접혀서 끝점이 작업공간 안쪽 경계에 위치합니다. 마찬가지로 막히는 방향은 반지름 방향. 이미 최대로 접혀있으니 더 가까워지는 쪽으로는 못 가요. 즉 두 특이점은 모두 *"한계선 위에 있어서 그 너머로 못 가는 자세"* 입니다.
실험 4 — 조건수 κ 관찰하기
θ₂ 를 60° → 30° → 10° → 5° → 1° 로 내려보세요. 조건수가 폭발합니다. 정상 자세에서는 1~3 정도지만, 특이점 근처에서는 100, 1000, ∞ 로 치솟아요. 조건수는 *"끝점속도를 만들기 위한 관절속도가 얼마나 폭주하는가"* 의 척도입니다. 이게 IK가 특이점 근처에서 폭주하는 이유에요.
실험 5 — "근처" 버튼 누르고 자세 흔들기
θ₂ = 5° 자세에서 θ₁ 슬라이더만 살짝 움직여보세요. 팔이 거의 일자로 펴진 채 회전합니다. 끝점이 그리는 궤적은 거의 작업공간 바깥쪽 경계 위에 머물러요. "특이점 근처에서는 끝점이 사실상 1차원 곡선 위만 누빌 수 있다" 는 게 시각적으로 보입니다.
📐 한눈에 정리
2-DOF 평면 로봇팔의 특이점은 결국 다음 한 줄로 요약됩니다.
특이점은 팔이 일자로 펴지거나 완전히 접힌 자세다.
이때 끝점은 한 방향(반지름 방향) 으로 움직일 수 없다.
그리고 자코비안 관점에서는 다음 세 가지가 동시에 일어납니다.
- $\det(\mathbf{J}) = 0$ — 행렬이 가역성을 잃음
- 속도 타원이 직선으로 납작해짐 — 한 차원이 사라짐
- 조건수 $\kappa \to \infty$ — IK가 폭주
왜 IK가 폭주할까요? 끝점을 막힌 방향으로 조금 움직이려면, 관절을 무한히 빠르게 돌려야 하기 때문입니다. 실제 로봇에서는 모터가 따라갈 수 없으니, 추종 오차가 폭발하거나 시스템이 진동하죠.
그래서 실제 로봇 제어에서는 특이점 근처를 의도적으로 피하거나, damped least squares 같은 보정 기법으로 부드럽게 통과시키는 방법을 씁니다.
📘 다음 편 예고
지금까지 우리는 한 점에서 다른 점으로 어떻게 가는가, 갈 수 있는가, 그리고 어디서 막히는가를 다뤘습니다.
그런데 실제 로봇은 한 점에서 다른 점으로 "순간 이동"하지 않습니다. 시간을 두고, 부드럽게 따라가야 해요.
"여기서 저기까지, 어떤 모양으로 움직일 것인가?"
이게 바로 궤적 계획(Trajectory Planning)입니다. 다음 글 #6 궤적 시각화 도구 에서는 3차 다항식과 5차 다항식이 어떻게 다른 모양의 움직임을 만드는지, 위치/속도/가속도 그래프를 직접 보면서 비교해보겠습니다.
'로봇공학 > 로봇공학기초 - 2DOF Sim' 카테고리의 다른 글
| [2DOF Simulation] #4. 자코비안 시각화 (Jacobian Tool) (1) | 2026.05.30 |
|---|---|
| [2DOF Simulation] #3. 작업공간 시각화 (Workspace Tool) (0) | 2026.05.24 |
| [2DOF Simulation] #2. 역기구학 시각화 (Inverse Kinematics Tool) (0) | 2026.05.23 |
| [2DOF Simulation] #1 정기구학 시각화 (Forward Kinematics Tool) (0) | 2026.05.17 |