AEGLOSLAB 로봇공학 전서(全書)

제2부 기구학

2.9 특이점과 조작성: 조작성 타원체·조건수·특이점 회피

2.9.1 이 장에서 배우는 것 / 선수 지식 / 특히 중요한 독자

이 장은 자코비안(2.8)이 계수를 잃는 형상, 곧 운동학 특이점과 그 근처에서 엔드이펙터의 속도 능력이 얼마나 줄어드는지를 재는 조작성(manipulability)을 다룬다. 특이점에서는 엔드이펙터가 어떤 방향으로 움직일 수 없고 그 근처에서는 유사역행렬의 관절 속도가 $1/\sigma_{\min}$으로 커진다. 이 장은 특이점의 정의와 좌표계 불변성, UR형 6R의 행렬식 닫힌 식과 세 종류의 특이점, 속도 타원체·힘 타원체와 스칼라 지표(요시카와 $w$·최소 특이값·조건수)의 의미와 한계, 감쇠 최소제곱으로 특이점 근처의 속도를 제한하는 방법을 정리하고 UR5·Franka Research 3·2R 팔에서 계산으로 확인한다. 작업공간의 도달성 지도는 2.10, 여유자유도의 영공간 회피는 2.11, 정역학과 힘 타원체는 2.12, 병렬 기구의 특이점은 2.14에서 다룬다.

배우는 것:

  • 특이점의 정의 — $J$가 최대 계수를 잃는 형상. 기저·공구 좌표계의 선택에 무관하다.
  • UR형 6R의 특이점 — $\det J=-a_2a_3\sin q_3\sin q_5\,(a_2\cos q_2+a_3\cos q_{23}+d_5\sin q_{234})$와 팔꿈치·손목·어깨 특이점.
  • 속도 타원체와 힘 타원체 — $JJ^\top$의 고유 구조, 특이점 근처에서 한쪽은 납작해지고 한쪽은 길어지는 쌍대성.
  • 스칼라 지표 — $w=\sqrt{\det JJ^\top}$, $\sigma_{\min}$, 조건수 $\kappa$. 좌표계·TCP·길이 단위에 대한 순위의 불변성과 불변이 아님.
  • 감쇠 — 유사역행렬·상수 감쇠·가변 감쇠의 속도 이득과 잔차.
  • 측정 — 임의 형상 수천 개의 통계, Robotics Toolbox for Python 1.5.0의 manipulability와의 대조.

선수 지식: 1.1(SVD), 2.5(UR형 역기구학과 손목 중심), 2.6(감쇠 최소제곱), 2.8(자코비안의 종류와 좌표계 변환).

특히 중요한 독자: 로봇 팔의 경로·자세를 특이점 근처에서 검사하는 엔지니어, 직교 속도 제어와 IK의 특이점 처리를 구현하는 소프트웨어 개발자, 팔의 구조·자세를 조작성으로 최적화하는 연구자.

출처 방침. 기준 시점은 2026-11-03이다. 직접 읽은 자료: ① Lynch·Park, Modern Robotics(사전 인쇄본 2017-05-03판) 5.3절(특이점의 정의, 좌표계 불변성, 사례 I~V)과 5.4절(조작성 타원체, 힘 타원체, 측도 $\mu_1\sim\mu_3$), ② Robotics Toolbox for Python 1.5.0의 manipulability 문서 문자열(yoshikawa·invcondition·minsingular·asada, axes). 서지(Yoshikawa 1985, Klein·Blaho 1987, Nakamura·Hanafusa 1986, Wampler 1986, Maciejewski·Klein 1988, Salisbury·Craig 1982, Gosselin·Angeles 1990)는 Crossref 응답으로 확인했다. 읽지 못한 것: 위 논문들의 본문. 감쇠 규칙의 변형은 이 장이 정한 것이며 원 논문의 식과 같은지 확인하지 않았다 (확인 필요). 수치는 모두 이 장의 순수 파이썬 계산이다.

2.9.2 개념 — 움직일 수 없는 방향과 그 근처

결론부터 적으면 다음과 같다. 특이점은 엔드이펙터가 순간적으로 어떤 방향으로도 움직이지 못하는 형상이고, 그 근처에서는 같은 엔드이펙터 속도를 내는 데 관절 속도가 크게 필요하다. 특이점은 있고 없고의 문제이지만 조작성은 "얼마나 가까운가"를 재는 연속량이다. 속도 타원체는 단위 크기의 관절 속도가 만드는 엔드이펙터 속도의 집합이고, 특이점에 다가가면 한 방향으로 납작해진다. 그 방향의 힘은 작은 관절 토크로 지탱할 수 있으므로 힘 타원체는 그 방향으로 길어진다(2.12).

이 장의 계산 결과를 미리 적으면 다음과 같다. ① UR형 6R의 행렬식은 $\sin q_3$, $\sin q_5$, 손목 중심의 팔 평면 반경에 해당하는 인자의 곱이며 $d_1$·$d_4$·$d_6$과 $q_1$·$q_6$에 의존하지 않는다. ② 요시카와 $w$의 형상 순위는 좌표계·TCP·길이 단위를 바꿔도 변하지 않지만(뒤바뀐 쌍 0.0 %), 최소 특이값과 조건수의 순위는 단위를 m에서 mm로 바꾸면 쌍의 $21\sim25$ %가 뒤바뀐다. ③ 최소 특이값은 특이 형상까지의 관절각 거리에 비례한다. ④ 상수 감쇠는 특이점에서 멀어도 잔차를 남기고, 가변 감쇠는 특이점 근처에서만 감쇠를 키우지만 두 방식 모두 특이점에서 잃어버린 방향의 지령을 따르지 못한다.

2.9.3 원리

2.9.3.1 특이점의 정의와 좌표계 불변성

정의. 자코비안 $J(q)$가 최대 계수를 잃는 형상 $q$를 운동학 특이점이라 한다(Modern Robotics 5.3절). 물체 자코비안의 열이 엔드이펙터가 만들 수 있는 트위스트를 생성하므로 계수가 줄면 한 방향 이상의 순간 속도를 만들 수 없다. 같은 방향에서는 임의의 렌치를 지탱할 수 있다(2.12).

불변성. 공간·물체 자코비안은 가역 행렬 $\mathrm{Ad}_T$로 이어지므로 계수가 같다. 기저를 옮겨 $T'=PT$로 바꾸면 $J_b'=J_b$이고, 공구 좌표계를 $T'=TQ$로 바꾸면 $J_s'=J_s$이므로 특이점은 기저·공구 좌표계의 선택과 무관하다(Modern Robotics 5.3절). 위치 자코비안은 $J_p=L(p)J_s$이고 $\det L=1$이므로(2.8) 정방일 때 세 자코비안의 $\lvert\det\rvert$가 같다.

종류. 개방 사슬 6자유도의 대표적인 특이 구조로 Modern Robotics는 다섯 가지를 든다. 사례 I은 두 회전축이 일치하는 경우, 사례 II는 세 회전축이 평행하고 한 평면 위에 있는 경우, 사례 III은 네 회전축이 한 점에서 만나는 경우(어깨 위에 손목 중심이 놓인 팔꿈치형 팔), 사례 IV는 네 회전축이 한 평면 위에 있는 경우, 사례 V는 여섯 회전축이 한 직선과 만나는 경우이다. 각 사례에서 해당 열들의 일차 종속을 직접 보일 수 있다.

2.9.3.2 UR형 6R의 행렬식과 세 종류의 특이점

UR형 6R(표준 DH, 축 2·3·4가 평행, 축 5·6이 교차; 2.3·2.5)의 위치 자코비안 행렬식은 다음 곱으로 인수분해된다.

$$\det J=-a_2a_3\,\sin q_3\,\sin q_5\;F,\qquad F=a_2\cos q_2+a_3\cos(q_2+q_3)+d_5\sin(q_2+q_3+q_4).$$

이 식은 이 장에서 UR5와 무작위 UR형 기하 5개의 임의 형상 300개씩에서 수치로 확인한 결과이며 기호 유도는 하지 않았다. 식의 구조는 다음 세 조건으로 읽는다.

  • 팔꿈치: $\sin q_3=0$. 팔 평면에서 축 2·3·4가 한 직선 위에 놓인다(사례 II). 팔을 완전히 펴거나 접은 자세이다.
  • 손목: $\sin q_5=0$. 손목의 첫째 축(4)과 셋째 축(6)의 방향이 일치한다(사례 I와 같은 종류).
  • 어깨: $F=0$. 이 장의 수치 확인에서 관절 5의 좌표계 원점 $c=p-d_6R\hat z$(2.5의 손목 중심)의 반경 $\sqrt{c_x^2+c_y^2}$이 $d_4$일 때와 일치한다. $d_4$는 축 1과 팔 평면 사이의 옆 간격이므로 어깨 특이점에서는 손목 중심이 팔 평면의 어깨 바로 위가 아니라 반경 $d_4$ 원기둥 위에 있다. 2.5의 해석적 IK가 $r<\lvert d_4\rvert$이면 $\theta_1$이 없다고 한 경계와 같은 원기둥이며 $q_1$의 두 해가 합쳐지는 곳이다.

$d_1$(기저 높이)·$d_6$(공구 쪽 오프셋)과 $q_1$(기저 회전)·$q_6$(공구 회전)이 행렬식에 나타나지 않는 것은 기저·공구 좌표계의 선택이 특이점을 바꾸지 않는다는 불변성과 맞는다. $d_4$도 식에 없지만 어깨 조건의 기하(반경 $d_4$)에는 들어간다. 요시카와 $w=\sqrt{\det JJ^\top}=\lvert\det J\rvert$(정방)이므로 UR형의 조작성은 $w=\lvert a_2a_3\sin q_3\sin q_5\,F\rvert$이다.

2.9.3.3 속도 타원체와 힘 타원체

단위 크기의 관절 속도 $\lVert\dot q\rVert=1$이 만드는 엔드이펙터 속도의 집합은 $J$가 가역일 때 $V^\top(JJ^\top)^{-1}V=1$인 타원체이다. $A=JJ^\top$의 고유벡터가 주축 방향이고 반축 길이는 $\sqrt{\lambda_i}=\sigma_i$이다. 부피는 $\prod\sigma_i=\sqrt{\det A}$에 비례한다. 단위 관절 토크 $\lVert\tau\rVert=1$($\tau=J^\top F$)이 지탱할 수 있는 힘은 $F^\top JJ^\top F=1$인 타원체이며 반축 길이는 $1/\sigma_i$로 같은 주축 방향을 갖는다. 두 부피의 곱은 형상에 무관한 상수이다. 특이점에 다가가면 속도 타원체의 부피는 0으로, 힘 타원체의 부피는 무한대로 간다(Modern Robotics 5.4절).

각속도와 선속도는 단위가 달라서 Modern Robotics는 $J_\omega$(윗 3행)와 $J_v$(아랫 3행)로 두 타원체를 따로 만든다. 선속도 타원체에는 기저 원점에 놓인 점이 아닌 엔드이펙터 원점의 속도가 필요하므로 공간 자코비안이 아니라 물체 자코비안을 사용하라고 적는다(2.8의 $J_p$·$J_b$와 같은 특이값을 준다).

2.9.3.4 스칼라 지표

타원체의 모양을 하나의 수로 줄인 지표는 다음과 같다.

지표정의방향출처
요시카와 $w$$\sqrt{\det JJ^\top}=\prod\sigma_i$(속도 타원체 부피)클수록 좋음Yoshikawa 1985, Modern Robotics $\mu_3$
최소 특이값$\sigma_{\min}$(특이점까지의 "거리")클수록 좋음Klein·Blaho 1987(Robotics Toolbox minsingular)
조건수$\kappa=\sigma_{\max}/\sigma_{\min}$1에 가까울수록 등방적Modern Robotics $\mu_1$(Robotics Toolbox invcondition은 $1/\kappa$)
조건수 제곱$\kappa^2=\lambda_{\max}/\lambda_{\min}$1에 가까울수록 등방적Modern Robotics $\mu_2$

불변성. 길이 단위를 $L$로 바꿔 선속도 행을 $1/L$배하면($D=\mathrm{diag}(1,1,1,1/L,1/L,1/L)$) $\sqrt{\det(DJJ^\top D)}=L^{-3}w$이므로 모든 형상의 $w$가 같은 배율로 바뀌어 순위가 보존된다. 좌표계를 옮기거나(기저 이동·방향 변경) TCP를 옮기는 변환은 $\det=1$이므로 $w$ 자체가 보존된다(2.8). $\sigma_{\min}$과 $\kappa$는 이 변환들로 값이 바뀌고 순위도 뒤바뀐다(2.9.5 ④). 6차원 자코비안의 $\sigma_{\min}$·$\kappa$는 각속도(rad/s)와 선속도(m/s)를 한 벡터에 섞은 값이어서 길이 단위(특성 길이)가 정해져야 의미를 갖는다. Robotics Toolbox의 manipulability 문서 문자열도 all 옵션이 서로 다른 단위를 더한다고 적고 병진·회전을 따로 보라고 권한다.

한계. $w$는 $\sigma_i$의 곱이어서 하나의 $\sigma$가 작아져도 다른 $\sigma$가 크면 값이 크게 줄지 않을 수 있고, 등방성(방향별 균형)은 알려 주지 않는다. $w$를 최대로 하는 UR5 자세의 조건수가 약 10이었다(2.9.5 ②). 여유자유도($n>6$)에서는 $JJ^\top$가 $6\times6$이므로 같은 정의를 그대로 사용한다(2.11).

2.9.3.5 특이점 근처의 속도와 감쇠

특이값 $\sigma$ 방향의 지령이 $V$이면 유사역행렬 $J^\dagger=J^\top(JJ^\top)^{-1}$의 관절 속도 성분은 $\lVert V\rVert/\sigma$이다. 최소 특이값이 특이 형상까지의 관절각 거리 $\varepsilon$에 비례($\sigma_{\min}\approx c\,\varepsilon$)하므로 속도가 $1/\varepsilon$로 커진다(2.9.5 ②에서 비례 상수를 측정). 감쇠 최소제곱(2.6)은 이득을 $g(\sigma)=\sigma/(\sigma^2+\lambda^2)$로 바꿔 최댓값을 $1/(2\lambda)$로 제한하고, 그 방향의 잔차 비율은 $\lambda^2/(\sigma^2+\lambda^2)$이다. 이 대가가 특이점에서 먼 방향에도 적용된다는 것이 상수 감쇠의 약점이다.

가변 감쇠는 특이점 근처에서만 감쇠를 켠다. 이 장은 최소 특이값을 기준으로

$$\lambda^2=\begin{cases}\lambda_0^2\bigl(1-(\sigma_{\min}/\sigma_0)^2\bigr)&\sigma_{\min}<\sigma_0\\0&\sigma_{\min}\ge\sigma_0\end{cases}$$

를 사용한다. Nakamura·Hanafusa(1986)가 조작성 지표에 따라 감쇠를 키우는 특이점 강인 역을 제안했고 Wampler(1986)가 감쇠 최소제곱을 정리했으며, Maciejewski·Klein(1988)이 특이값에 따른 수치 필터링을 다룬 것으로 알려져 있다(세 논문의 본문은 읽지 못했다). 이 장의 가변 감쇠 식은 이 연구들의 방식을 $\sigma_{\min}$ 기준으로 바꾼 변형이며 원 논문의 식과 같은지 확인하지 않았다 (확인 필요). 특이점에서 지령 방향의 성분이 정확히 잃어버린 방향에 있으면 어떤 방법도 그 방향을 따르지 못한다. 한 방향이 완전히 손실되고 나머지 방향을 정확히 따르면 단위 크기의 무작위 트위스트에 대한 평균 잔차는 $\sqrt{1/6}\approx0.41$이다.

감쇠 매개변수의 단위. $\lambda$·$\sigma_0$은 $J$의 단위(길이 척도)에서만 의미를 갖는다. 같은 UR5를 길이 단위 m로 보면 무작위 형상의 $62$ %에서 $\sigma_{\min}<0.1$이므로 $\lambda=0.05$는 상당수 형상에서 감쇠를 켜게 된다(2.9.5 ⑤).

2.9.3.6 특이점 회피와 통과의 선택지

공개 문헌에서 확인되는 방식은 네 가지로 나뉜다.

  • ① 구성·경로 선택. 도달성 지도(2.10)와 작업공간 검사로 특이점을 포함하는 경로를 피한다.
  • ② 속도 수준 제한. 감쇠·필터링으로 특이점 근처의 관절 속도를 제한한다(위).
  • ③ 여유자유도. 영공간 운동으로 $w$를 키운다. Yoshikawa(1985)가 이를 여유자유도 제어로 제안한 것으로 알려져 있다(서지만 확인, 2.11).
  • ④ 구조 설계. 특이점이 작업 영역 밖에 놓이도록 길이·오프셋을 정한다(2.19). 폐연쇄(병렬 기구 포함)의 특이점은 따로 분류된다(Gosselin·Angeles 1990이 폐연쇄 특이점을 분석한 연구로 알려져 있다. 서지만 확인, 2.14).

2.9.4 알고리즘

조작성 지표(J):
    s ← 특이값(J)  (내림차순)                  ← Jacobi SVD(1.1)
    w ← Π s_i,   σ_min ← s_n,   κ ← s_1 / s_n
감쇠 최소제곱(J, V, λ):
    J^T = U diag(s) W^T
    qd ← Σ_i  s_i / (s_i² + λ²) · (W[:, i] · V) · U[:, i]
가변 감쇠(J, V; λ0, σ0):
    σ_min ← 최소 특이값(J)
    σ_min < σ0 이면  λ ← λ0 · sqrt(1 − (σ_min / σ0)²),  아니면 λ ← 0
    qd ← 감쇠 최소제곱(J, V, λ)

시간은 SVD가 지배한다($6\times n$ 행렬의 야코비 SVD).

2.9.5 풀이 예제 — UR형 행렬식, 특이 형상 근처, 2R 타원, 순위 뒤바뀜, 감쇠

결론부터 적으면 다음과 같다. ① UR5와 무작위 UR형 기하 5개에서 위치 자코비안의 행렬식이 닫힌 식과 $\max\lvert\det J\rvert$의 $2\times10^{-15}$ 안에서 같다. ② UR5에서 최소 특이값은 손목·팔꿈치·어깨 특이 형상까지의 관절각 거리에 비례하며($\varepsilon=10^{-4}$에서 $\sigma_{\min}/\varepsilon=0.562,\ 0.163,\ 0.0471$), 어깨 조건 $F=0$인 형상 866개에서 손목 중심의 반경이 $d_4$와 $5\times10^{-16}$ 안에서 같다. ③ 2R 팔의 $w=l_1l_2\lvert\sin q_2\rvert$가 $6\times10^{-17}$ 안에서 맞고 속도·힘 타원의 면적 곱이 $\pi^2$과 $10^{-6}$ 안에서 같다. ④ 순위 뒤바뀜: $w$는 0.0 %, $\sigma_{\min}$은 단위 m↔mm에서 20.7 %·조건수는 24.9 %이다. ⑤ UR5 무작위 형상 4,000개에서 유사역행렬의 평균 속도 이득은 중앙값 6.3, 99 %에서 1,094, 최댓값 $2.7\times10^{4}$이고, 감쇠는 이득을 $1/(2\lambda)$ 이하로 제한한다. ⑥ Robotics Toolbox의 manipulability는 9가지 조합 모두 $3.1\times10^{-15}$ 안에서 같다.

구현. sing_vals·indices·det_ur·gain·lam_var·damped. 행렬식 가우스 소거, 2R 타원, 실험과 그림은 스크립트에 있다. 1.1의 svd, 2.3의 screws, 2.5의 ur_rows, 2.8의 jac_point·jac_space·to_p를 사용한다.

항목값
입력 1UR5(UR 문서의 표준 DH 표, 2.3)와 무작위 UR형 기하 5개($d_1\in[0.05,0.3]$, $a_2,a_3\in[-0.6,-0.2]$, $d_4,d_5,d_6\in[0.05,0.2]$ m, 시드 52). 형상은 $q\in U[-\pi,\pi]^6$ 300개씩
입력 2어깨 조건: UR5에서 $F=0$을 만족하도록 $q_4$를 풀어 만든 형상 866개(무작위 $q_1,q_2,q_3,q_5,q_6$), 임의 형상 20,000개에서 손목 중심 반경의 최솟값
입력 3특이 형상 근처: UR5 기준 형상 $q=(0.4,-1.2,1.5,-0.6,1.1,0.3)$에서 손목은 $q_5=\varepsilon$, 팔꿈치는 $q_3=\varepsilon$, 어깨는 $(q_2,q_3)=(-1.2,-0.961)$에서 $F=0$인 $q_4^*=1.4142$를 두고 $q_4=q_4^*+\varepsilon$. $\varepsilon=10^{-4},\dots,1$
입력 42R 팔: $l_1=0.4$ m, $l_2=0.3$ m, $q_1=20^\circ$. 타원은 단위 원을 $J_v$ 또는 $J_v^{-\top}$로 사상한 점 3,600개
입력 5순위 비교: UR5, $q\in U[-\pi,\pi]^6$ 200개(모든 쌍 19,900개), 길이 단위 m 대 mm, $J_p$ 대 $J_s$, TCP를 공구 $z$축으로 0.15 m 이동
입력 6감쇠 통계: UR5 임의 형상 4,000개, 매개변수 $(\lambda_0,\sigma_0)=(0.05,0.1)$과 $(0.01,0.02)$, 길이 단위 m. 평균은 단위 크기의 무작위 트위스트($\mathbb S^5$ 위 균등)에 대한 제곱평균이다
입력 7라이브러리 대조: UR5, $q\in U[-\pi,\pi]^6$ 200개(시드 521)
from math import sqrt, sin, cos, prod

def sing_vals(J):
    """J: 열 목록. 특이값(내림차순)"""
    return svd(J)[1]

def indices(s):
    """w = prod s (요시카와), s_min, kappa = s_1 / s_n"""
    return prod(s), s[-1], s[0] / s[-1]

def det_ur(q, a2, a3, d5):
    """UR형 6R: det J = -a2 a3 s3 s5 F,
    F = a2 c2 + a3 c23 + d5 s234"""
    f = (a2 * cos(q[1]) + a3 * cos(q[1] + q[2])
         + d5 * sin(q[1] + q[2] + q[3]))
    return -a2 * a3 * sin(q[2]) * sin(q[4]) * f

def gain(s, lam):
    """감쇠 최소제곱에서 특이값 s 방향의 속도 이득"""
    return s / (s * s + lam * lam)

def lam_var(smin, s0, l0):
    """가변 감쇠: lam^2 = l0^2 (1 - (smin/s0)^2), smin < s0"""
    if smin >= s0:
        return 0.0
    return l0 * sqrt(1 - (smin / s0) ** 2)

def damped(J, V, lam):
    """qd = sum_i g_i (w_i . V) u_i, J^T = U diag(s) W^T"""
    U, s, W = svd(J)
    qd = [0.0] * len(J)
    for i in range(len(s)):
        wv = sum(W[k][i] * V[k] for k in range(6))
        c = gain(s[i], lam) * wv
        for j in range(len(J)):
            qd[j] += c * U[j][i]
    return qd

① UR형 행렬식. 위치 자코비안의 행렬식을 가우스 소거로 구해 닫힌 식과 비교했다.

UR형 기하 $(d_1,a_2,a_3,d_4,d_5,d_6)$ (m)$\max\lvert\det J\rvert$$\max\lvert\det J-\det_{\mathrm{UR}}\rvert/\max\lvert\det J\rvert$
UR5 (0.089, -0.425, -0.392, 0.109, 0.095, 0.082)0.10991.6e-15
1 (0.295, -0.222, -0.490, 0.123, 0.191, 0.111)0.07011.8e-15
2 (0.280, -0.264, -0.598, 0.112, 0.077, 0.102)0.10271.1e-15
3 (0.208, -0.214, -0.355, 0.052, 0.060, 0.076)0.03491.4e-15
4 (0.108, -0.310, -0.511, 0.112, 0.179, 0.185)0.11248.6e-16
5 (0.274, -0.579, -0.430, 0.151, 0.182, 0.132)0.22671.1e-15

여섯 기하 모두 상대 차이가 $1.8\times10^{-15}$ 이하이다. 식에 $d_1$·$d_4$·$d_6$이 없다는 점도 기하를 바꿔도 맞는다는 데서 확인된다. 상수 인자 $-a_2a_3$를 포함해 계수가 정확하다.

② 특이 형상 근처와 어깨 조건. 세 특이 형상에 한 관절만 가까이 다가가며 $\sigma_{\min}(J_p)$를 구했다.

10−4 10−3 10−2 10−1 100 10−5 10−4 10−3 10−2 10−1 100 특이 형상까지의 관절각 거리 ε (rad) σmin(Jp) 손목 팔꿈치 어깨 기울기 1
UR5의 특이 형상(손목 $q_5=0$·팔꿈치 $q_3=0$·어깨 $F=0$)까지의 관절각 거리 $\varepsilon$와 위치 자코비안의 최소 특이값. 세 선이 모두 기울기 1인 기준선과 평행해 $\sigma_{\min}\approx c\,\varepsilon$이다. 비례 상수는 손목 0.56, 팔꿈치 0.16, 어깨 0.047(기준 형상 $q=(0.4,-1.2,1.5,-0.6,1.1,0.3)$)이다.

세 선이 모두 기울기 1인 기준선과 평행하다. 비례 상수는 아래 표와 같다. UR5의 최대 조작성도 함께 정리했다. $w=\lvert a_2a_3\sin q_3\sin q_5\,F\rvert$의 최댓값을 $(q_2,q_3,q_4)$에서 무작위 시작 40개의 패턴 탐색으로 구하고 $q_5=\pi/2$에서 SVD로 확인했다.

UR5의 특이 형상 접근과 최대 조작성값
손목: $\sigma_{\min}/\varepsilon$ ($\varepsilon=10^{-4}$, $10^{-2}$)0.5621, 0.5612
팔꿈치: $\sigma_{\min}/\varepsilon$ ($\varepsilon=10^{-4}$, $10^{-2}$)0.1631, 0.1630
어깨: $\sigma_{\min}/\varepsilon$ ($\varepsilon=10^{-4}$, $10^{-2}$)0.0471, 0.0473
$w_{\max}$, 형상 $(q_2,q_3,q_4)$0.11988, (-2.5398, -1.2622, -0.9104)
그 형상의 $\prod\sigma_i$, $\sigma_{\max}$, $\sigma_{\min}$, $\kappa$0.11988, 1.9073, 0.1912, 9.977
어깨 조건 $F=0$: 표본 수, $\max\lvert r-d_4\rvert$, $\max\lvert\det J\rvert$, 임의 형상의 $r_{\min}$866, 5.0e-16, 7.6e-17, 0.10915
damped 대 닫힌 식(이득·잔차)의 최대 차이1.0e-12

$\sigma_{\min}/\varepsilon$는 $\varepsilon=10^{-4}$과 $10^{-2}$에서 세 자리까지 같으므로 선형이다. 상수는 손목 $0.56$, 팔꿈치 $0.16$, 어깨 $0.047$로 다르며 이 기준 형상에서의 값이다(다른 형상에서는 달라진다). 최대 $w$ 자세($q_2=-2.5398$, $q_3=-1.2622$, $q_4=-0.9104$ rad, $q_5=\pi/2$)에서 SVD의 $\prod\sigma_i$가 닫힌 식의 값 $0.11988$과 같다. 이 자세의 조건수는 $9.98$로 등방적이지 않다. $w$ 최대와 $\kappa$ 최소는 다른 기준이다. 어깨 조건 $F=0$에서 손목 중심의 반경이 $d_4=0.10915$ m이고(최대 오차 $5.0\times10^{-16}$) $\lvert\det J\rvert\le7.6\times10^{-17}$이다. 임의 형상 20,000개에서 반경의 최솟값이 $0.10915$ m로 $d_4$와 같아, 어깨 특이점은 손목 중심이 갈 수 있는 반경의 하한 위에 있다.

③ 2R 팔의 속도·힘 타원. $q_1=20^\circ$에서 팔꿈치 각을 바꾼 두 자세의 속도 타원(파랑)과 힘 타원(주황)이다.

속도 타원 힘 타원 자세 A: q2 = 90° σ = 0.54, 0.22 · w = 0.120 자세 B: q2 = 30° σ = 0.74, 0.08 · w = 0.060
2R 평면 팔($l_1=0.4$ m, $l_2=0.3$ m, $q_1=20^\circ$)의 속도 타원(파랑 실선)과 힘 타원(주황 점선). 자세 B($q_2=30^\circ$)에서 팔이 뻗은 방향의 속도 능력이 줄어 속도 타원이 그 방향으로 납작해지고 힘 타원이 그 방향으로 길어진다. 속도 타원은 1 m/s를 110 px, 힘 타원은 단위 토크당 힘 1 N을 8 px로 그렸다.
2R 팔($l_1=0.4$ m, $l_2=0.3$ m, $q_1=20^\circ$)$\sigma_1$$\sigma_2$$w=\sigma_1\sigma_2$$l_1l_2\lvert\sin q_2\rvert$$\kappa$
$q_2=90^\circ$0.53890.22270.120000.120002.42
$q_2=60^\circ$0.65970.15750.103920.103924.19
$q_2=30^\circ$0.73570.08160.060000.060009.02
$q_2=10^\circ$0.75870.02750.020840.0208427.62

$w=\sigma_1\sigma_2$가 닫힌 식 $l_1l_2\lvert\sin q_2\rvert$와 일치하고(임의 형상 200개에서 최대 차이 $5.6\times10^{-17}$) 팔을 펴는 쪽($q_2\to0$)으로 갈수록 $\sigma_2\to0$이어서 조건수가 커진다. 자세 B에서 속도 타원은 팔이 뻗은 방향(반경 방향)으로 납작하고 힘 타원은 그 방향으로 길다(팔을 펴면 그 방향의 힘은 작은 관절 토크로 지탱된다). 속도 타원의 면적 $\pi\sigma_1\sigma_2$와 힘 타원의 면적 $\pi/(\sigma_1\sigma_2)$의 곱이 $\pi^2$임을 다각형 면적(3,600점)으로 확인했다(임의 형상 50개에서 상대 차이 $1.0\times10^{-6}$).

④ 좌표계·TCP·길이 단위에 따른 순위.

순위 비교(UR5, 무작위 형상 200개의 모든 쌍 19,900개)$w$$\sigma_{\min}$$\kappa$
$J_p$의 길이 단위 m 대 mm에서 순서가 뒤바뀐 쌍의 비율0.0 %20.7 %24.9 %
$J_p$ 대 $J_s$에서 순서가 뒤바뀐 쌍의 비율0.0 %2.1 %2.3 %
TCP를 공구 $z$축으로 0.15 m 옮기기 전후에서 순서가 뒤바뀐 쌍의 비율0.0 %0.5 %0.8 %

$w$의 순위는 세 변환 모두에서 뒤바뀐 쌍이 없다. 최소 특이값과 조건수는 길이 단위 m↔mm에서 쌍의 $21\sim25$ %, $J_s$로 계산하면 $2$ %, TCP를 $0.15$ m 옮기면 $0.5\sim0.8$ %의 쌍이 뒤바뀐다. 같은 형상에서 $\kappa(J_s)/\kappa(J_p)$는 $0.79\sim1.44$이다. TCP를 옮긴 위치 자코비안이 $J_p$의 $L$ 꼴 변환(2.8)과 $2.2\times10^{-16}$ 안에서 같고 $w$의 상대 변화는 $6.3\times10^{-13}$이다. 형상을 서로 비교하는 용도에는 $w$가 단위·좌표계에 의존하지 않는 지표이다. 조건수나 최소 특이값을 사용할 때는 특성 길이·TCP·기준 좌표계를 함께 적어야 한다.

⑤ 감쇠 최소제곱의 이득과 잔차. 특이값 하나에 대한 이득 곡선이다. 상수 감쇠 $\lambda=0.05$는 $\sigma=\lambda$에서 최대 $10$이고, 가변 감쇠($\lambda_0=0.05$, $\sigma_0=0.1$)는 $\sigma\ge\sigma_0$에서 유사역행렬과 같다.

10−3 10−2 10−1 100 1 10 100 1000 특이값 σ 속도 이득 g(σ) 유사역행렬 상수 감쇠 가변 감쇠
특이값 $\sigma$ 방향의 속도 이득 $g(\sigma)$. 유사역행렬은 $1/\sigma$로 발산하고 상수 감쇠($\lambda=0.05$)는 $\sigma=\lambda$에서 최대 10이며, 가변 감쇠($\lambda_0=0.05$, $\sigma_0=0.1$)는 $\sigma\ge\sigma_0$에서 유사역행렬과 같다.

UR5 임의 형상 4,000개의 통계이다. 속도 이득과 잔차는 단위 크기의 무작위 트위스트에 대한 제곱평균 값이며, $\sigma_{\min}<0.1,\ 0.05,\ 0.02,\ 0.01$인 형상의 비율은 $62.3,\ 38.8,\ 20.1,\ 12.0$ %이다.

무작위 형상 4000개의 통계(UR5, $J_p$, 길이 단위 m)중앙값95 %99 %최댓값
$\sigma_{\min}$0.072030.2160.24460.2706
유사역행렬: 평균 속도 이득6.293119.910942.71e+04
상수 감쇠 $\lambda=0.05$: 평균 속도 이득3.8045.1065.5936.832
상수 감쇠 $\lambda=0.05$: 평균 잔차0.1390.41570.46290.5887
가변 감쇠 $(\lambda_0,\sigma_0)=(0.05,0.1)$: 평균 속도 이득4.1495.6586.1777.39
가변 감쇠 $(0.05,0.1)$: 평균 잔차0.080010.41530.46290.5887
상수 감쇠 $\lambda=0.01$: 평균 속도 이득5.89820.0921.1527.58
상수 감쇠 $\lambda=0.01$: 평균 잔차0.0079810.36680.40790.4851
가변 감쇠 $(0.01,0.02)$: 평균 속도 이득5.98623.1624.1329.92
가변 감쇠 $(0.01,0.02)$: 평균 잔차7.85e-170.36560.40790.4851

유사역행렬의 평균 속도 이득은 중앙값 $6.3$에서 99 %에 $1.1\times10^{3}$, 최댓값 $2.7\times10^{4}$까지 퍼진다. 상수 감쇠 $\lambda=0.05$는 이득을 $6.8$ 이하로 제한하지만 중앙값 형상에서도 평균 잔차가 $14$ %이다. 가변 감쇠 $(0.05,0.1)$은 중앙값 잔차가 $8$ %로 줄고 꼬리(95 %·99 %·최댓값)는 상수 감쇠와 같다. 매개변수를 $(0.01,0.02)$로 낮추면 가변 감쇠의 중앙값 잔차가 $10^{-16}$(대부분 형상에서 $\sigma_{\min}\ge0.02$이므로 감쇠가 꺼진다), 이득의 최댓값이 $29.9$이다. 95 % 이상에서는 평균 잔차가 $0.37\sim0.59$로 방법과 매개변수에 거의 무관한데, 이는 특이값이 작은 한두 방향의 지령을 따르지 못하기 때문이다(한 방향이면 $\sqrt{1/6}=0.41$). 감쇠 매개변수는 길이 단위와 로봇 크기에 따라 정해야 하며 UR5를 m 단위로 볼 때 $\lambda=0.05$는 무작위 형상 절반 이상에서 이미 큰 감쇠이다. damped 함수의 이득·잔차가 닫힌 식과 $1.0\times10^{-12}$ 안에서 같다(손목 $q_5=10^{-2},10^{-3},10^{-4}$의 최소 특이 방향 지령).

⑥ 라이브러리 대조(실행 2026-11-03). 같은 UR5 형상 200개에서 Robotics Toolbox for Python 1.5.0의 manipulability(q, method, axes)를 이 장의 값과 비교했다. Robotics Toolbox에는 UR5의 표준 DH 표를 입력했고 axes='trans'는 jacob0의 윗 3행(선속도), 'rot'는 아랫 3행이다. 스크립트는 robotics/fig-src/2.9-libcheck.py, 출력은 robotics/fig-src/data/2.9-libcheck-output.txt에 있다.

비교(UR5, 관절 변수 200개)최대 차이
RTB manipulability(method='yoshikawa', axes='all') 대 이 장의 값3.1e-16
RTB manipulability(method='yoshikawa', axes='trans') 대 이 장의 값3.3e-16
RTB manipulability(method='yoshikawa', axes='rot') 대 이 장의 값3.1e-15
RTB manipulability(method='invcondition', axes='all') 대 이 장의 값2.6e-16
RTB manipulability(method='invcondition', axes='trans') 대 이 장의 값1.2e-15
RTB manipulability(method='invcondition', axes='rot') 대 이 장의 값5.6e-16
RTB manipulability(method='minsingular', axes='all') 대 이 장의 값4.5e-16
RTB manipulability(method='minsingular', axes='trans') 대 이 장의 값5.1e-16
RTB manipulability(method='minsingular', axes='rot') 대 이 장의 값1.1e-15
numpy linalg.svd의 특이값 대 1.1 야코비 SVD2.2e-15

세 방법(yoshikawa·invcondition·minsingular)과 세 옵션(all·trans·rot)의 9가지 조합이 모두 $3.1\times10^{-15}$ 안에서 같고, numpy의 SVD와 1.1의 야코비 SVD도 $2.2\times10^{-15}$ 안에서 같다. asada 방법은 질량 정보가 필요해 비교하지 않았다.

한계. 수치는 합성 형상(관절 구간 $[-\pi,\pi]$ 균등)의 결과이며 실제 관절 한계와 작업 영역 분포를 반영하지 않는다. 행렬식 닫힌 식은 수치로 확인했고 기호 유도는 하지 않았다. 감쇠 실험은 한 시점의 자코비안에 대한 정적 이득·잔차이며 닫힌 루프 추종, 이산 시간 효과, 관절 속도 한계는 다루지 않았다. 가변 감쇠의 매개변수는 조정하지 않았다. 한 로봇(UR5)과 UR형 기하만 확인했고 구면 손목 팔·여유자유도·병렬 기구의 특이점은 다루지 않았다.

견해: 형상을 서로 비교·최적화하는 목적에는 요시카와 $w$를, 특이점 접근 경고에는 $\sigma_{\min}$(특성 길이를 명시한 6차원 또는 병진·회전 분리)을 사용하고, 제어 단계의 특이점 처리는 상수 감쇠가 아니라 가변 감쇠(또는 특이값 필터링)를 기본으로 둔다고 본다. 근거는 이 장의 계산에서 $w$의 순위는 세 변환에서 뒤바뀐 쌍이 없었고($\sigma_{\min}$·$\kappa$는 $0.5\sim25$ %), 상수 감쇠 $\lambda=0.05$는 중앙값 형상에서도 잔차 $14$ %를 남긴 반면 가변 감쇠 $(0.01,0.02)$는 중앙값 형상에서 잔차가 없었다는 점이다. 감쇠 매개변수를 응용의 속도 한계와 지령 정밀도에 맞춰 정해야 하는 응용에서는 이 판단이 달라질 수 있다.

2.9.6 설계 트레이드오프 — 특이점 근처에서 무엇을 할 것인가

공개 문헌에서 확인되는 선택은 다음과 같다.

  • ① 대응 없음(유사역행렬). 가장 단순하며 특이점에서 먼 곳에서는 지령을 정확히 따른다. 특이점 근처에서 관절 속도가 $1/\sigma_{\min}$로 커진다.
  • ② 상수 감쇠. 이득이 $1/(2\lambda)$ 이하로 제한된다. 모든 형상에서 편향이 남고 $\lambda$가 단위에 종속된다.
  • ③ 가변 감쇠. 특이점 근처에서만 편향을 둔다. 두 매개변수 $(\lambda_0,\sigma_0)$를 정해야 한다.
  • ④ 특이값 절단·필터링. 작은 특이값 방향을 버리거나 줄인다. 원리는 간단하나 절단 경계에서 불연속이 생길 수 있다(Maciejewski·Klein 1988이 다룬 것으로 알려져 있다. 이 장은 구현하지 않았다).
  • ⑤ 경로·구성 회피. 특이점을 포함하지 않는 경로를 계획한다(2.10). 구현이 별도로 필요하다.
방식입력장점한계알맞은 경우
① 유사역행렬$J$, $V$단순, 먼 곳에서 정확특이점에서 발산특이점이 작업 영역 밖인 작업
② 상수 감쇠$J$, $V$, $\lambda$속도 상한, 단순전 영역 편향, 단위 종속일반 IK(2.6)
③ 가변 감쇠$J$, $V$, $\lambda_0$, $\sigma_0$먼 곳에서 정확, 근처에서 제한매개변수 2개연속 직교 속도 제어
④ 특이값 필터링$J$, $V$, 임계값방향별 처리불연속, 구현 복잡특이점을 지나야 하는 추종
⑤ 경로·구성 회피경로, 작업공간 지도근본적 회피계획 비용, 작업 제약오프라인 프로그래밍

견해: 속도 수준의 특이점 처리는 ③을 기본으로 하고, 특이점을 포함하지 않는 경로는 ⑤로 먼저 걸러내는 것을 기본으로 둔다고 본다. 근거는 이 장에서 형상의 $20$ %가 $\sigma_{\min}<0.02$, $12$ %가 $\sigma_{\min}<0.01$(UR5, m 단위, $[-\pi,\pi]^6$ 균등)이었고 감쇠 없이는 평균 속도 이득이 99 %에서 $1.1\times10^{3}$, 최댓값 $2.7\times10^{4}$까지 퍼졌다는 점이다. 관절 속도 한계로 속도를 직접 제한하는 구동기·제어기 구성에서는 이 판단이 달라질 수 있다.

2.9.7 응용 축 비교

응용 축특이점·조작성이 맡는 일요구관련 장
산업·제조경로의 특이점 검사, 손목 특이점 근처 직교 이송의 속도 제한일정한 TCP 속도, 특이점 경고2.10, 28.2
물류·이동이동 매니퓰레이터의 팔·베이스 조작성실시간, 연속성2.15
도로 주행해당하는 고유 요구 없음——
서비스가정용 7축 팔의 조작성 최대화, 여유자유도영공간 활용, 안전2.11, 7.3
의료·헬스케어도구 끝 속도와 RCM 근처의 특이점정밀도, 특이점 회피32.14
휴머노이드·범용전신 제어의 팔 조작성 지표실시간 QP12.7, 7.18
필드해당하는 고유 요구 없음(이동·휴머노이드 행과 같음)——
국방·안보원리 수준에서 해당하는 고유 요구 없음——

이 표는 이 책의 정리이며 장별 요구는 다르다.

2.9.8 관련 규격·프로토콜

문서발행무엇을 정하나상세 장
manipulability·vellipse·fellipseRobotics Toolbox for Python 1.5.0yoshikawa·invcondition·minsingular·asada 지표, axes(all·trans·rot), 속도·힘 타원2.7
Modern Robotics 5.3·5.4절Lynch·Park, 2017특이점 사례 I~V, 조작성 타원체, 측도 $\mu_1\sim\mu_3$2.4
수학 표기·기호표이 책특이값·조건수 표기A.2

2.9.9 관련 규제·인증 요구와의 연결

특이점의 정의·처리 방식을 규정하는 법령·인증 요건은 확인하지 못했다. 산업 로봇 안전 표준의 속도 제한·감시 기능(27.10)은 TCP의 속도 한도를 정하며, 특이점 근처에서 관절 속도가 커지는 것은 그 한도·구동기 한계와 충돌한다. 이 장은 규정의 조항을 확인하지 않았다 (확인 필요).

2.9.10 한계·유의점·미해결

  • 단위. 6차원 자코비안의 $\sigma_{\min}$·$\kappa$와 감쇠 매개변수는 길이 단위에 종속된다. 특성 길이를 명시하거나 병진·회전을 나누어 본다.
  • 지표의 의미. $w$는 순위에는 안정하지만 등방성을 알려 주지 않는다. $w$ 최대와 $\kappa$ 최소는 다른 자세이다.
  • 행렬식 식. UR형 행렬식은 수치로 확인했고 기호 유도는 하지 않았다. 구면 손목 팔의 식은 다룬 바 없다.
  • 정적 분석. 감쇠 통계는 한 시점의 자코비안이며 닫힌 루프의 안정성·연속성·관절 속도 한계는 별도 분석이 필요하다.
  • 특이점 통과. 특이점을 통과해야 하는 경로의 해 연속성(분기 전환)은 다루지 않았다.
  • 병렬 기구. 병렬 기구의 특이점은 이 장의 개방 사슬 정의로 다 설명되지 않는다(2.14).

2.9.11 체크포인트·연구 질문·출처

체크포인트:

  1. 특이점이 기저·공구 좌표계의 선택과 무관한 이유를 $J_b'=J_b$($T'=PT$)와 $J_s'=J_s$($T'=TQ$)로 설명하라.
  2. 속도 타원체와 힘 타원체의 반축 길이가 각각 $\sigma_i$와 $1/\sigma_i$인 이유를 $\tau=J^\top F$에서 보이라.
  3. 길이 단위를 바꿔도 $w$의 순위가 변하지 않는 이유를 $D=\mathrm{diag}(1,1,1,1/L,1/L,1/L)$로 보이라.
  4. 감쇠 최소제곱의 이득 $\sigma/(\sigma^2+\lambda^2)$의 최댓값과 그때의 잔차 비율을 구하라.
  5. 가변 감쇠가 특이점에서 멀 때 유사역행렬과 같아지는 이유를 $\lambda=0$으로 설명하라.

연구 질문:

  • 병진·회전을 섞는 6차원 지표의 특성 길이를 형상 의존적으로 정하는 방법은 무엇인가?
  • 특이점을 통과하는 직교 경로에서 분기 전환과 속도 제한을 함께 보장하는 제어는 무엇인가?

1차 출처(조회 2026-11-03).

  • K. M. Lynch, F. C. Park, Modern Robotics, Cambridge University Press, 2017(ISBN 9781107156302). 사전 인쇄본 2017-05-03판의 5.3·5.4절을 읽었다.
  • T. Yoshikawa, "Manipulability of robotic mechanisms," The International Journal of Robotics Research 4(2), 3–9, 1985, doi:10.1177/027836498500400201 — 서지만 확인. 같은 저자의 "Manipulability and redundancy control of robotic mechanisms," Proc. IEEE ICRA, 1004–1009, 1985, doi:10.1109/robot.1985.1087283 — 서지만 확인.
  • C. A. Klein, B. E. Blaho, "Dexterity measures for the design and control of kinematically redundant manipulators," IJRR 6(2), 72–83, 1987, doi:10.1177/027836498700600206 — 서지만 확인.
  • Y. Nakamura, H. Hanafusa, "Inverse kinematic solutions with singularity robustness for robot manipulator control," Journal of Dynamic Systems, Measurement, and Control 108(3), 163–171, 1986, doi:10.1115/1.3143764 — 서지만 확인.
  • C. W. Wampler, "Manipulator inverse kinematic solutions based on vector formulations and damped least-squares methods," IEEE Transactions on Systems, Man, and Cybernetics 16(1), 93–101, 1986, doi:10.1109/tsmc.1986.289285 — 서지만 확인.
  • A. A. Maciejewski, C. A. Klein, "Numerical filtering for the operation of robotic manipulators through kinematically singular configurations," Journal of Robotic Systems 5(6), 527–552, 1988, doi:10.1002/rob.4620050603 — 서지만 확인.
  • J. K. Salisbury, J. J. Craig, "Articulated hands: force control and kinematic issues," IJRR 1(1), 4–17, 1982, doi:10.1177/027836498200100102 — 서지만 확인(조건수를 손의 설계 지표로 사용한 연구로 알려져 있다).
  • C. Gosselin, J. Angeles, "Singularity analysis of closed-loop kinematic chains," IEEE Transactions on Robotics and Automation 6(3), 281–290, 1990, doi:10.1109/70.56660 — 서지만 확인.
  • Robotics Toolbox for Python 1.5.0 manipulability 문서 문자열.

다음 장. 2.10은 작업공간 분석과 도달성 지도(도달성·역 도달성·기저 배치 최적화)를 다룬다. 이 장의 조작성은 도달성 지도의 품질 척도로 사용된다.