제2부 기구학
2.12 정역학과 강성: 힘 전달·순응 행렬·관절 강성에서 말단 강성으로
2.12.1 이 장에서 배우는 것 / 선수 지식 / 특히 중요한 독자
이 장은 로봇이 정지해 있을 때 관절 토크와 엔드이펙터 렌치가 어떻게 이어지는지(정역학), 관절 토크 한계가 말단의 힘 능력을 어떻게 정하는지, 관절이 스프링처럼 변형할 때 엔드이펙터가 얼마나 움직이는지(순응·강성)를 다룬다. 자코비안(2.8)은 속도를 잇는 사상이고 그 전치는 같은 사상이 렌치를 잇는 것이다(가상일의 원리). 이 장은 토크-렌치 관계를 좌표계별로 정리하고, 힘 능력을 다면체와 힘 타원체로 비교하며, 순응 행렬 $C=JK_q^{-1}J^\top$와 말단 강성을 유도한 뒤, 하중이 걸릴 때의 기하 항을 평면 2R에서 확인한다. 질량·중력을 포함한 동역학은 3.1~3.4, 임피던스 제어는 12.9, 병렬 기구의 강성은 2.13·2.14, 유연 관절·링크는 3.9에서 다룬다.
배우는 것:
- 정역학 — $\tau=J^\top F$, 공간·물체·위치 자코비안에서의 렌치 변환, 여유자유도 로봇의 평형 조건.
- 힘 능력 — 관절 토크 한계가 만드는 다면체와 힘 타원체, 둘의 비(1 이상 $\sqrt n$ 이하).
- 순응 행렬과 강성 — $C=JK_q^{-1}J^\top$, $K_x=C^{-1}$, 같은 관절 강성에서 강성 타원체와 힘 타원체의 관계.
- 하중의 기하 항 — $K_x=J^{-\top}(K_q-G)J^{-1}$, $G=\sum_jF_j\nabla^2p_j$.
- 측정 — UR5·FR3의 항등식, FR3의 공식 토크 한계로 구한 힘 능력, 비선형 평형 해와 순응 행렬의 비교, 평면 2R의 예압 효과, Pinocchio·Robotics Toolbox와의 대조.
선수 지식: 1.10(트위스트·렌치·수반), 2.8(자코비안), 2.9(특이점·타원체).
특히 중요한 독자: 힘 제어·접촉 작업의 관절 토크 한계와 말단 강성을 해석하는 엔지니어, 로봇 팔의 정적 부하 능력을 계산하는 소프트웨어 개발자, 유연 관절·병렬 기구의 강성 모델을 세우려는 연구자.
출처 방침. 기준 시점은 2026-11-03이다. 직접 읽은 자료: ① Lynch·Park, Modern Robotics(사전 인쇄본 2017-05-03판) 5.2절(정역학, $\tau=J^\top F$, $n\ne6$인 경우의 $J^\top$의 영공간)·5.4절(힘 타원체), ② Franka Robotics 공식 문서
Control Interface Specification and Robot Limits의 FR3 관절공간 한계 표($\tau_{j,\max}=87,87,87,87,12,12,12$ N m, 권장 조건), ③ Robotics Toolbox for Python 1.5.0의payload_capacity문서 문자열, ④ Pinocchio 4.1.0의computeStaticTorque문서 문자열. 서지(Salisbury 1980, Loncaric 1987, Patterson·Lipkin 1993, Griffis·Duffy 1993, Chiacchio 외 1997, Chen·Kao 2000)는 Crossref 응답으로 확인했다. 읽지 못한 것: 위 논문들의 본문. 관절 강성 값은 모두 이 장이 정한 예시이며 어떤 로봇의 측정값이 아니다. 수치는 모두 이 장의 순수 파이썬 계산이다.
2.12.2 개념 — 속도를 잇는 사상의 전치가 렌치를 잇는다
결론부터 적으면 다음과 같다. 정지한 로봇에서 관절 토크 $\tau$와 엔드이펙터에 가하는 렌치 $F$는 $\tau=J^\top(q)F$로 이어진다. 속도 $V=J\dot q$에서 관절이 한 일률 $\tau^\top\dot q$와 엔드이펙터가 한 일률 $F^\top V$가 같다는 조건에서 나온다. 이 관계로 세 가지가 따라 나온다. 첫째, 특이점에서는 한 방향의 렌치가 관절 토크 없이 지탱된다. 둘째, 관절 토크 한계는 말단의 힘 능력을 정한다. 셋째, 관절이 스프링 $K_q$로 변형하면 엔드이펙터는 외부 하중 $F_{\mathrm{ext}}$ 아래에서 $\delta x=JK_q^{-1}J^\top F_{\mathrm{ext}}$만큼 움직이므로 말단의 순응 행렬은 $C=JK_q^{-1}J^\top$이고 강성은 그 역행렬이다. 하중이 걸리면 $J$가 변하는 효과가 더해져 강성이 줄거나 는다.
이 장의 계산 결과를 미리 적으면 다음과 같다. ① $\tau=J_s^\top F_s=J_b^\top F_b=J_p^\top(m;f)$가 UR5와 FR3의 임의 형상 200개에서 $7\times10^{-15}$ 안에서 같다. ② FR3의 공식 토크 한계로 구한 힘 능력은 다면체가 힘 타원체보다 중앙값 $1.35$배, 최대 $2.12$배 크다(상한 $\sqrt7=2.65$). ③ UR5에서 순응 행렬의 선형 예측은 비선형 평형 해와 하중에 비례하는 오차($0.01$ N에서 $5.9\times10^{-6}$, $100$ N에서 $5.6\times10^{-2}$)로 맞는다. ④ 평면 2R에서 예압 $100$ N은 최소 강성을 $438$ N/m에서 $316$ N/m로 낮추고 기하 항 없는 식은 $5.0$ %의 오차를 낸다.
2.12.3 원리
2.12.3.1 가상일과 렌치의 좌표 변환
관절 속도 $\dot q$에서 엔드이펙터 트위스트가 $V=J\dot q$이면 정지 평형에서 관절이 한 일률과 엔드이펙터가 한 일률이 같다($\tau^\top\dot q=F^\top V$). 모든 $\dot q$에 대해 성립하므로 다음이다(Modern Robotics 5.2절).
$$\tau=J^\top(q)\,F.$$
Modern Robotics는 엔드이펙터가 환경에 가하는 렌치를 $F$로 적고 환경이 엔드이펙터에 가하는 외력은 $-F$라고 적는다. 이 절에서는 이 정의의 $F$를 사용한다($\tau$는 구동기가 낼 토크이다). 강성을 다루는 2.12.3.4 이후에서는 엔드이펙터에 걸리는 외부 하중을 $F_{\mathrm{ext}}=-F$로 적는다. 좌표계에 따라 렌치와 자코비안이 짝으로 바뀐다.
- 공간. $\tau=J_s^\top F_s$, $F_s=(m_s;f)$는 기저 원점에 대한 모멘트와 힘이다.
- 물체. $\tau=J_b^\top F_b$, $F_b=\mathrm{Ad}_{T_{sb}}^\top F_s$(수반의 전치, 렌치는 트위스트의 쌍대이다. 1.10).
- 위치(혼성). 점 $p$에 작용하는 힘 $f$와 자유 모멘트 $m$이면 $F_s=(m+p\times f;\,f)$이고 $\tau=J_p^\top(m;f)$이다(2.8의 $J_p=L(p)J_s$와 $L^\top(m;f)=(m+p\times f;f)$).
여유자유도($n>6$) 로봇에서는 평형을 만드는 토크가 $J^\top F$ 꼴이어야 한다. $J^\top F$는 $J$의 영공간과 직교하므로 영공간 사영 $N$(2.11)에 대해 $N\tau=0$이다. 영공간 방향의 토크 성분은 엔드이펙터에 렌치를 만들지 않고 내부 운동을 일으킨다(Modern Robotics 5.2절: 엔드이펙터를 콘크리트에 묻어도 로봇이 고정되지 않으며 정적 평형 가정이 깨진다). 관절이 6개 미만($n<6$)이면 $J^\top$의 영공간이 렌치 방향이고, 그 방향의 외력은 관절 운동 없이 지탱된다.
2.12.3.2 힘 전달과 특이점
특이점($J$의 계수 손실, 2.9)에서는 $J^\top$의 영공간이 생겨 $J^\top F=0$인 렌치 $F\ne0$이 있다. 그 방향의 외력은 관절 토크 없이 지탱된다. Modern Robotics는 특이점에서 운동성을 잃은 방향으로 임의의 렌치를 견딜 수 있다고 적는다. 힘 타원체(2.9)는 이 구조를 연속적으로 나타낸 것이고 속도 이득이 작은 방향($\sigma_i$가 작은 방향)에서 힘 능력이 크다.
2.12.3.3 토크 한계와 힘 능력
관절 토크가 한계 $\lvert\tau_i\rvert\le\tau_{i,\max}$이면 방향 $u$($\lVert u\rVert=1$)의 렌치를 $s$배로 낼 수 있는 최대 배율은 다음 다면체(상자의 이미지) 식이다.
$$s_{\mathrm{poly}}(u)=\min_i\frac{\tau_{i,\max}}{\lvert(J^\top u)_i\rvert}=\Bigl(\bigl\lVert W^{-1}J^\top u\bigr\rVert_\infty\Bigr)^{-1},\qquad W=\mathrm{diag}(\tau_{i,\max}).$$
토크를 노름으로 제한하는 힘 타원체($\lVert W^{-1}\tau\rVert_2\le1$)의 배율은 $s_{\mathrm{ell}}(u)=\bigl(\lVert W^{-1}J^\top u\rVert_2\bigr)^{-1}$이다. 임의의 벡터 $z$에서 $\lVert z\rVert_\infty\le\lVert z\rVert_2\le\sqrt n\,\lVert z\rVert_\infty$이므로 $s_{\mathrm{ell}}\le s_{\mathrm{poly}}\le\sqrt n\,s_{\mathrm{ell}}$이다. 타원체는 토크 한계 상자에 내접하는 구의 이미지이므로 보수적인 추정이고 다면체가 정확한 능력이다. 여유자유도 로봇의 힘 다면체와 타원체를 비교한 연구는 Chiacchio 외(1997)로 알려져 있다(본문은 읽지 못했다). Robotics Toolbox for Python의 payload_capacity는 관절마다 토크 한계에서 하중의 배율을 구해 최솟값이 전체 능력을 정한다고 설명하며 이 장의 $s_{\mathrm{poly}}$와 같은 구조이다(5절 ⑤에서 대조).
2.12.3.4 관절 강성에서 말단 순응으로
관절이 선형 스프링을 가져 변형 $q-q_0$에 스프링 토크 $-K_q(q-q_0)$가 작용하면 외부 하중 $F_{\mathrm{ext}}$ 아래에서 평형은 $K_q(q-q_0)=J^\top F_{\mathrm{ext}}$(하중이 관절에 일으키는 일반화 힘)이다. 작은 변위에서 $\delta q=K_q^{-1}J^\top F_{\mathrm{ext}}$이므로 엔드이펙터 변위는 다음이다.
$$\delta x=J\,\delta q=J\,K_q^{-1}J^\top F_{\mathrm{ext}}\ \Longrightarrow\ C=J\,K_q^{-1}J^\top,\qquad K_x=C^{-1}.$$
$C$는 $J^{-1}$이 필요 없어 $n\ne6$과 특이점에서도 정의된다. 특이점에서는 $C$가 특이해 강성이 무한대인 방향이 생긴다(그 방향으로 변위가 없다). 정방·비특이 $J$에서는 $K_x=J^{-\top}K_qJ^{-1}$(합동 변환)이며 Salisbury(1980)가 관절 강성을 직교 좌표로 옮기는 능동 강성 제어를 제안한 것으로 알려져 있다(본문은 읽지 못했다). 같은 관절 강성 $K_q=kI$이면 $C=k^{-1}JJ^\top$이므로 강성 행렬은 $kJ^{-\top}J^{-1}=k(JJ^\top)^{-1}$로 힘 타원체의 행렬 $B=(JJ^\top)^{-1}$(2.9)에 $k$를 곱한 것이다. 강성은 속도 이득이 작은 방향($\sigma_i$가 작은 방향)에서 $k/\sigma_i^2$로 크다. 6차원 $C$의 각 성분은 단위가 섞여 있어(회전 변위·병진 변위, 모멘트·힘) 병진 $3\times3$ 블록을 따로 보는 것이 보통이다. 순응 행렬의 정규형(주축 분해)은 Loncaric(1987), 순응의 구조는 Patterson·Lipkin(1993)이 다룬 것으로 알려져 있다(본문은 읽지 못했다). 이 장의 모형은 관절 스프링만 포함하며 링크의 탄성·구동기 직렬 순응은 $K_q^{-1}$에 더하면 된다(유연 관절은 3.9, 순응 기구는 4.9).
2.12.3.5 하중이 걸릴 때의 기하 항
하중이 있으면 $J$가 변위에 따라 바뀌어 강성에 항이 더해진다. 엔드이펙터가 외부 하중 $F_0$를 받아 평형에 있고(관절 스프링의 예압) 변위가 작으면 $J^\top F_{\mathrm{ext}}=K_q(q-\hat q)$를 $q$로 미분해($\hat q$는 스프링의 기준각) 다음을 얻는다.
$$K_x=J^{-\top}\bigl(K_q-G\bigr)J^{-1},\qquad G=\frac{\partial(J^\top F_{\mathrm{ext}})}{\partial q}\Big|_{F_{\mathrm{ext}}=F_0}=\sum_jF_{0,j}\,\nabla_q^2p_j\ \ (\text{힘만 있을 때}).$$
$G$가 기하 강성이다. 이 장의 평면 2R 예에서는 하중이 최소 강성을 줄였고, 부호는 하중 방향과 자세에 따라 달라진다. 모멘트를 포함한 6차원에서는 회전의 비가환성 때문에 리 괄호 항이 더해져 $G$가 대칭이 아닐 수 있으며, Chen·Kao(2000)가 이 보존적 합동 변환을 다룬 것으로, Griffis·Duffy(1993)가 예압된 순응 결합의 전역 강성을 다룬 것으로 알려져 있다(두 논문의 본문은 읽지 못했다). 이 장은 평면 2R의 힘 하중에서만 $G$를 확인했다.
2.12.4 알고리즘
정역학: τ ← Jᵀ F (F: 엔드이펙터가 환경에 가하는 렌치)
힘 능력: s_poly(u) ← 1 / max_i ( |(Jᵀ u)_i| / τ_max,i )
s_ell(u) ← 1 / ‖ W⁻¹ Jᵀ u ‖₂
순응 행렬: C ← J K_q⁻¹ Jᵀ (K_q = diag(k_i)), 변위 δx ← C F_ext
강성(정방 J): K_x ← J⁻ᵀ (K_q − G) J⁻¹ (G ← Σ_j F_ext,j ∇²p_j)
비선형 평형: q ← q0; 반복: g ← K_q (q − q0) − J(q)ᵀ F_ext, A ← K_q − ∂(Jᵀ F_ext)/∂q, q ← q − A⁻¹ g
2.12.5 풀이 예제 — 정역학 항등식, FR3의 힘 능력, UR5의 순응, 평면 2R의 예압
결론부터 적으면 다음과 같다. ① UR5·FR3의 임의 형상 200개에서 $\tau=J_s^\top F_s=J_b^\top F_b=J_p^\top(m;f)$가 $7.1\times10^{-15}$ 안에서 같고 FR3의 평형 토크의 영공간 성분이 $2.9\times10^{-11}$ 이하이다. ② FR3(공식 한계 $\tau_{j,\max}=87,87,87,87,12,12,12$ N m)의 힘 능력은 다면체 대 타원체의 비가 $1.002\sim2.120$(중앙값 $1.351$)이고 준비 자세 $-z$ 방향 힘 능력은 다면체 $136.4$ N·타원체 $102.2$ N이다. ③ UR5의 순응 행렬이 예측한 변위는 비선형 평형 해와 하중에 비례하는 상대 오차로 맞고 같은 관절 강성에서 병진 강성의 고유값이 $k/\sigma_i^2$와 $1.5\times10^{-14}$ 안에서 같다. ④ 평면 2R에서 기하 항을 넣은 강성이 유한 차분과 $4.4\times10^{-11}$ 안에서 같고 기하 항이 없는 식은 예압 100 N에서 $5.0$ %의 오차를 낸다. ⑤ Pinocchio의 정적 토크와 $7.6\times10^{-11}$, Robotics Toolbox의 하중 능력과 $7.0\times10^{-15}$(상대) 안에서 같다.
구현. torque·capability·capability_ell·compliance·mat_inv·cart_stiff. 항등식 검사, 비선형 평형 뉴턴 풀이, 유한 차분, 그림은 스크립트에 있다. 1.1의 matmul·solve_lu·svd, 1.7의 log_so3, 2.4의 fk_space·adjoint, 2.6의 FR3 지수곱 입력·관절 한계, 2.8의 jac_space·jac_body·jac_point를 사용한다.
| 항목 | 값 |
|---|---|
| 입력 1 | 정역학 항등식: UR5($q\in U[-\pi,\pi]^6$)와 FR3(한계 안 균등) 각 200개(시드 55), 모멘트 $m\in U[-1,1]^3$ N m, 힘 $f\in U[-10,10]^3$ N |
| 입력 2 | FR3 힘 능력: 형상 200개 × 균등 힘 방향 100개(순수 힘, 모멘트 0), 토크 한계 $\tau_{j,\max}=(87,87,87,87,12,12,12)$ N m(공식 문서의 권장 조건), 중력 무시. 준비 자세 $(0,-\pi/4,0,-3\pi/4,0,\pi/2,\pi/4)$ |
| 입력 3 | UR5 순응: $q_0=(0.4,-1.2,1.5,-0.6,1.1,0.3)$, 관절 강성 $K_q=\mathrm{diag}(1500,1500,800,300,300,150)$ N m/rad(예시값), 외부 하중 $F_{\mathrm{ext}}=s\,(0.1\hat a;\hat b)$($\hat a,\hat b$ 단위 방향, 시드 551, $s=0.01\sim100$), 세계 고정 힘·모멘트의 평형을 뉴턴법(접선 행렬은 중심 차분)으로 풂. 병진 강성 고유값 검사는 $k=1000$ N m/rad, 형상 50개 |
| 입력 4 | 평면 2R: $l_1=0.4$ m, $l_2=0.3$ m, $q_0=(40^\circ,70^\circ)$, $K_q=\mathrm{diag}(200,100)$ N m/rad, 예압 하중 $F_0$는 크기 $0\sim200$ N·방향 $-30^\circ$. 스프링 기준각은 $q_0$에서 평형이 되도록 정함. 유한 차분은 말단 위치 $\pm10^{-6}$ m의 중심 차분(닫힌 형식 IK) |
| 입력 5 | 라이브러리 대조: UR5(Pinocchio)와 FR3(Robotics Toolbox DH.Panda, 공구 제거), 임의 형상·하중 각 200개(시드 551) |
from math import sqrt
def torque(J, F):
"""tau_i = J_i . F (J: 열 목록, F: 렌치)"""
return [sum(a * b for a, b in zip(c, F)) for c in J]
def capability(J, u, tmax):
"""렌치 방향 u의 최대 배율(토크 상자, 다면체)"""
z = [abs(t) / m for t, m in zip(torque(J, u), tmax)]
return 1.0 / max(z)
def capability_ell(J, u, tmax):
"""같은 배율, 한계로 정규화한 토크 노름 <= 1(타원체)"""
z = [t / m for t, m in zip(torque(J, u), tmax)]
return 1.0 / sqrt(sum(x * x for x in z))
def compliance(J, k):
"""순응 행렬 C = J K^-1 J^T (K = diag(k))"""
m = len(J[0])
return [[sum(c[a] * c[b] / ki for c, ki in zip(J, k))
for b in range(m)] for a in range(m)]
def mat_inv(A):
n = len(A)
X = [solve_lu(A, [float(i == k) for i in range(n)])[0]
for k in range(n)]
return transpose(X)
def cart_stiff(J, K, G):
"""K_x = J^-T (K - G) J^-1 (J 정방, G 기하 항)"""
Ji = mat_inv(J)
M = [[K[i][j] - G[i][j] for j in range(len(K))]
for i in range(len(K))]
return matmul(transpose(Ji), matmul(M, Ji))
① 정역학 항등식.
| 정역학 항등식(임의 형상 200개) | UR5 | FR3 |
|---|---|---|
| $\max\lVert J_s^\top F_s-J_b^\top F_b\rVert$, $F_b=\mathrm{Ad}_{T_{sb}}^\top F_s$ | 5.3e-15 | 7.1e-15 |
| $\max\lVert J_s^\top F_s-J_p^\top(m;f)\rVert$, $F_s=(m+p\times f;\,f)$ | 2.3e-15 | 3.6e-15 |
| $\max\lVert N\,J^\top F\rVert$(영공간 사영 $N$, 여유자유도 로봇) | — | 2.9e-11 |
세 좌표계의 정역학이 $7.1\times10^{-15}$ 안에서 같다. FR3(7R)에서 평형 토크 $J^\top F$의 영공간 성분은 이론상 0이며 $2.9\times10^{-11}$ 이하이다(정규방정식 사영의 오차).
② FR3의 힘 능력. 순수 힘 방향 $u=(0;\hat f)$에서 다면체 능력 $s_{\mathrm{poly}}$와 타원체 능력 $s_{\mathrm{ell}}$이다. 중력과 안전 한계는 포함하지 않은 정적 토크 한계의 능력이다.
| FR3 힘 능력(임의 형상 200개 × 힘 방향 100개, 한계 $\tau_{\max}=(87,87,87,87,12,12,12)$ N m) | 값 |
|---|---|
| 다면체 능력 / 타원체 능력의 최솟값·중앙값·최댓값 | 1.002 · 1.351 · 2.120 (상한 $\sqrt7=2.646$) |
| 다면체 힘 능력의 10 % 분위·중앙값·최댓값 (N) | 93.7 · 126.1 · 1651 |
| 준비 자세 $(-z)$ 방향 힘 능력: 다면체 · 타원체 (N) | 136.4 · 102.2 |
| 준비 자세 $(+x)$ 방향 힘 능력: 다면체 · 타원체 (N) | 112.1 · 106.4 |
| 준비 자세 $(+y)$ 방향 힘 능력: 다면체 · 타원체 (N) | 112.1 · 94.1 |
다면체가 정확한 능력이고 타원체는 보수적이다. 비의 최솟값 $1.002$는 1 이상이고 최댓값 $2.12$는 상한 $\sqrt7=2.65$ 이하이다. 중앙값에서 타원체가 능력을 $26$ %($1-1/1.351$) 낮게 본다. 준비 자세의 $-z$ 방향(아래로 미는 힘)은 다면체 $136.4$ N, 타원체 $102.2$ N이다. 이 값은 정적 토크 한계의 상한이며 공식 정격 하중이 아니다. 비 $s_{\mathrm{poly}}/s_{\mathrm{ell}}=\lVert z\rVert_2/\lVert z\rVert_\infty$($z=W^{-1}J^\top u$)는 한계로 정규화한 토크 성분이 여러 관절에 고르게 분포할 때 커지고 한 관절이 지배할 때 $1$에 가깝다.
③ 순응 행렬과 비선형 평형. UR5가 세계 고정 외부 하중 $F_{\mathrm{ext}}$를 받을 때 관절 스프링의 비선형 평형을 뉴턴법으로 풀어 엔드이펙터 변위 $(\delta\theta;\delta p)$를 구하고 선형 예측 $CF_{\mathrm{ext}}$와 비교했다.
| 비선형 평형 대 순응 행렬(UR5, $K_q=\mathrm{diag}(1500,1500,800,300,300,150)$ N m/rad) | 선형 변위 크기 | 상대 오차 |
|---|---|---|
| 하중 배율 0.01 (힘 크기 0.01 N, 모멘트 0.001 N m) | 1.50e-05 | 5.93e-06 |
| 하중 배율 0.1 (힘 크기 0.1 N, 모멘트 0.01 N m) | 1.50e-04 | 5.93e-05 |
| 하중 배율 1 (힘 크기 1 N, 모멘트 0.1 N m) | 1.50e-03 | 5.93e-04 |
| 하중 배율 10 (힘 크기 10 N, 모멘트 1 N m) | 1.50e-02 | 5.91e-03 |
| 하중 배율 100 (힘 크기 100 N, 모멘트 10 N m) | 1.50e-01 | 5.64e-02 |
| 병진 강성 고유값 대 $k/\sigma_i^2$(같은 관절 강성 $k=1000$, 형상 50개) 최대 상대 차이 | 1.5e-14 |
상대 오차가 하중 배율에 비례한다(기울기 1). 하중 $0.01$ N에서 $5.9\times10^{-6}$, $1$ N에서 $5.9\times10^{-4}$, $100$ N에서 $5.6\times10^{-2}$이다. 순응 행렬은 영하중의 선형 근사이고 2차 오차가 $J(q)$의 변화에서 나온다. 같은 관절 강성($k=1000$ N m/rad)이면 병진 강성 $3\times3$의 고유값이 $k/\sigma_i^2$와 $1.5\times10^{-14}$ 안에서 같으므로 강성 타원체가 힘 타원체의 상수배이다.
④ 평면 2R의 예압. 말단에 하중 $F_0$이 걸려 평형인 상태의 강성이다. 유한 차분은 $F_{\mathrm{ext}}(x)=J^{-\top}K_q(q(x)-\hat q)$를 말단 위치로 미분한 값이다.
| 평면 2R 예압(힘 크기, 방향 $-30^\circ$) | $K_x$ 유한 차분의 고유값(N/m) | 공식 $J^{-\top}(K-G)J^{-1}$의 고유값 | $G$ 없이 $J^{-\top}KJ^{-1}$의 고유값 | 공식 오차 | $G$ 없는 식의 오차 |
|---|---|---|---|---|---|
| 0 N | 438, 3589 | 438, 3589 | 438, 3589 | 4.3e-11 | 4.3e-11 |
| 25 N | 410, 3569 | 410, 3569 | 438, 3589 | 4.1e-11 | 1.2e-02 |
| 50 N | 380, 3551 | 380, 3551 | 438, 3589 | 4.4e-11 | 2.5e-02 |
| 100 N | 316, 3518 | 316, 3518 | 438, 3589 | 3.9e-11 | 5.0e-02 |
기하 항을 넣은 식 $J^{-\top}(K_q-G)J^{-1}$이 유한 차분과 $4.4\times10^{-11}$ 안에서 같고, $G$ 없는 합동 변환 $J^{-\top}K_qJ^{-1}$은 예압 25 N에서 $1.2$ %, 100 N에서 $5.0$ %의 오차를 낸다. 이 예에서는 하중이 최소 강성을 줄이며($0\to100\to200$ N에서 $438\to316\to174$ N/m) 큰 고유값은 $3589\to3518$ N/m로 조금만 줄어든다. 예압이 커질수록 기하 항의 영향이 커지므로 접촉 하중이 큰 작업에서 $J^{-\top}K_qJ^{-1}$만 사용하면 강성을 과대평가한다.
⑤ 라이브러리 대조(실행 2026-11-03). Pinocchio 4.1.0의 computeStaticTorque(중력을 0으로 둠, 외력은 관절 6의 국소 좌표)를 이 장의 $J_b^\top F_b$와, Robotics Toolbox for Python 1.5.0의 payload_capacity(DH.Panda, 공구 제거, 중력 0, 공식 토크 한계, 기저 좌표의 힘 방향)를 이 장의 $s_{\mathrm{poly}}$와 같은 형상·하중에서 비교했다. 스크립트는 robotics/fig-src/2.12-libcheck.py, 출력은 robotics/fig-src/data/2.12-libcheck-output.txt에 있다.
| 비교 | 최대 차이 |
|---|---|
Pinocchio computeStaticTorque(중력 0)와 $-J_b^\top F_b$(UR5, 형상·하중 200개) | 7.6e-11 |
RTB payload_capacity(Panda, 중력 0, 힘 방향)의 최솟값과 이 장의 힘 능력(다면체)의 최대 상대 차이(FR3, 형상 200개) | 7.0e-15 |
Pinocchio의 computeStaticTorque는 $g(q)-J^\top f_{\mathrm{ext}}$를 돌려주므로(문서 문자열) 중력을 0으로 두면 외력 $f_{\mathrm{ext}}$를 지탱하는 구동기 토크가 $-J_b^\top f_{\mathrm{ext}}$이다. 이는 이 장의 $\tau=J_b^\top F$에 환경이 가하는 외력을 $-F$로 둔 것과 같고 계산에서 $7.6\times10^{-11}$ 안에서 맞았다(부호 정의가 같음을 확인했다). Robotics Toolbox의 하중 능력은 관절별 배율의 최솟값이며 이 장의 다면체 식과 $7.0\times10^{-15}$ 안에서 같다.
한계. 관절 강성은 예시값이며 실제 로봇의 강성(구동기·감속기·링크 탄성)을 측정하지 않았다. 힘 능력은 중력과 접촉 안전 한계를 제외한 정적 토크 한계의 능력이다. 6차원 하중의 기하 항(리 괄호 항)은 구현하지 않았고 평면 2R의 힘 하중만 확인했다. 병렬 기구의 강성, 링크 탄성, 구동기의 직렬 순응, 마찰과 백래시는 다루지 않았다. 순응 행렬의 6차원 성분은 단위가 섞여 있어 고유값 비교를 병진 블록으로 했다.
견해: 로봇 팔의 정적 부하 능력은 힘 타원체가 아니라 토크 한계 상자의 다면체 식(관절별 배율의 최솟값)으로 구하는 것을 기본으로 둔다고 본다. 근거는 이 장의 FR3 계산에서 타원체가 능력을 중앙값 $26$ %, 최대 $53$ %($1-1/2.12$) 낮게 평가했고, 다면체 식은 구현이 더 간단하고($\min$ 한 번) Robotics Toolbox의
payload_capacity와 $10^{-14}$ 안에서 같았다는 점이다. 힘 타원체는 방향별 이득의 균형(등방성)을 보는 설계 지표로 유용하다. 말단 강성은 접촉 하중이 걸리는 작업에서는 기하 항을 포함하고, 하중이 작아($\lVert F\rVert\ll\lVert K_q\rVert/\lVert\nabla^2p\rVert$) 기하 항이 무시되는 영역에서는 합동 변환 $JK_q^{-1}J^\top$를 사용하는 편이 낫다고 본다. 근거는 이 장의 평면 2R에서 하중 100 N의 기하 항이 최소 강성의 $28$ %를 바꿨다는 점이다. 관절 강성이 측정값으로 주어지지 않은 단계(개념 설계)에서는 이 판단이 달라질 수 있다.
2.12.6 설계 트레이드오프 — 힘 능력과 강성을 어떻게 모형화할 것인가
공개 문헌에서 확인되는 선택은 다음과 같다.
- ① 힘 타원체. 노름 제한이어서 닫힌 형식이고 등방성을 본다. 능력을 보수적으로 평가한다.
- ② 힘 다면체. 토크 한계 상자의 이미지이며 정확하다. 방향별로 한 번의 $\min$ 연산이다.
- ③ 합동 변환 강성. $K_x=J^{-\top}K_qJ^{-1}$ 또는 $C=JK_q^{-1}J^\top$이며 영하중에서 정확하다.
- ④ 기하 항 포함 강성. 예압을 반영한다. 하중과 2차 미분(헤시안)이 필요하다.
- ⑤ 링크·구동기 순응 포함 모형. 직렬 순응을 $K_q^{-1}$에 더하고 링크 탄성은 별도 모형이 필요하다(3.9·4.9).
| 방식 | 입력 | 장점 | 한계 | 알맞은 경우 |
|---|---|---|---|---|
| ① 힘 타원체 | $J$, $W$ | 닫힌 형식, 등방성 지표 | 능력 과소평가(최대 $\sqrt n$) | 자세·구조 비교 |
| ② 힘 다면체 | $J$, $\tau_{\max}$ | 정확한 능력 | 방향별 계산 | 부하 능력 점검 |
| ③ $JK^{-1}J^\top$ | $J$, $K_q$ | 단순, 특이점에서도 정의 | 예압 무시 | 영하중·작은 하중 |
| ④ 기하 항 포함 | + $F_0$, 헤시안 | 예압 반영 | 6차원은 리 괄호 항 필요 | 접촉 하중이 큰 작업 |
| ⑤ 링크·구동기 포함 | + 링크 모형 | 실제에 가까움 | 모형·식별 비용 | 정밀 작업·유연 구조 |
견해: 설계 단계에서는 ①·③으로 자세와 구조를 비교하고, 부하·접촉 해석 단계에서 ②·④로 옮기는 순서를 기본으로 둔다고 본다. 근거는 이 장에서 ③이 영하중에서 정확하고 ④의 필요성이 하중 크기에 따라 단조롭게 커졌다는 점이다($1.2\to5.0$ %). 모형 오차(관절 강성의 불확실성)가 기하 항의 크기보다 큰 응용에서는 ④의 이득이 작을 수 있다.
2.12.7 응용 축 비교
| 응용 축 | 정역학·강성이 맡는 일 | 요구 | 관련 장 |
|---|---|---|---|
| 산업·제조 | 가공·조립 접촉 하중에서의 말단 강성, 부하 능력 | 정확한 강성 모형, 진동·처짐 | 28.2 |
| 물류·이동 | 이동 매니퓰레이터의 부하 한계(자세·베이스 위치) | 정적 부하, 전도 | 2.15 |
| 도로 주행 | 해당하는 고유 요구 없음 | — | — |
| 서비스 | 가정용 팔의 부하·접촉 순응 | 안전, 낮은 강성 | 7.3, 23.4 |
| 의료·헬스케어 | 도구 끝 접촉 하중의 강성·힘 한계 | 정밀도, 안전 | 32.14 |
| 휴머노이드·범용 | 손의 접촉 힘 능력, 관절 토크 한계 | 전신 제어 | 12.7, 7.18 |
| 필드 | 해당하는 고유 요구 없음(이동·휴머노이드 행과 같음) | — | — |
| 국방·안보 | 원리 수준에서 해당하는 고유 요구 없음 | — | — |
이 표는 이 책의 정리이며 장별 요구는 다르다.
2.12.8 관련 규격·프로토콜
| 문서 | 발행 | 무엇을 정하나 | 상세 장 |
|---|---|---|---|
Control Interface Specification and Robot Limits | Franka Robotics 공식 문서 | FR3의 관절 토크 한계 $\tau_{j,\max}$(권장 조건)와 토크 변화율 한계 | 2.4 |
payload_capacity | Robotics Toolbox for Python 1.5.0 | 관절 토크 한계에서의 하중 배율(기저·엔드이펙터 좌표) | 2.7 |
computeStaticTorque | Pinocchio 4.1.0 | 중력과 외력의 정적 토크 $g(q)-J^\top f_{\mathrm{ext}}$ | 3.6 |
| Modern Robotics 5.2·5.4절 | Lynch·Park, 2017 | $\tau=J^\top F$, 힘 타원체 | 2.9 |
| 수학 표기·기호표 | 이 책 | 렌치 $(m,f)$, 수반 $\mathrm{Ad}$ | A.2 |
2.12.9 관련 규제·인증 요구와의 연결
접촉 안전의 힘·압력 한계(협동로봇 규격)는 이 장의 힘 능력과 다른 값이다. 이 장의 힘 능력은 로봇이 낼 수 있는 상한이고 규격의 한계는 사람에게 허용하는 값이다(27.10). 안전 기능이 관절 토크·속도를 감시하는 방식은 규격에서 확인해야 한다. 이 장은 조항을 확인하지 않았다 (확인 필요).
2.12.10 한계·유의점·미해결
- 관절 강성. 예시값이며 실제 로봇은 구동기·감속기·링크의 직렬 순응으로 정해진다.
- 정적 한계. 힘 능력은 중력·가속도·접촉 안전을 제외했다.
- 하중의 정의. 이 장의 $F$는 엔드이펙터에 걸리는 외력이다. 문헌에 따라 부호가 반대이므로 확인해야 한다.
- 6차원 기하 강성. 모멘트를 포함하는 하중의 리 괄호 항은 구현하지 않았다.
- 단위. 6차원 순응 행렬은 단위가 섞여 있어 병진·회전 블록을 따로 본다.
- 특이점. 순응 행렬은 특이점에서 정의되지만 강성은 무한대(해당 방향 변위 없음)이다. 실제 구조의 유한 강성을 반영하지 않는다.
2.12.11 체크포인트·연구 질문·출처
체크포인트:
- 가상일의 원리로 $\tau=J^\top F$를 유도하고, $F_b=\mathrm{Ad}_{T_{sb}}^\top F_s$를 $J_b=\mathrm{Ad}_{T_{bs}}J_s$에서 유도하라.
- 점 $p$의 힘 $f$와 모멘트 $m$의 공간 렌치가 $(m+p\times f;\,f)$임을 보이라.
- $\lVert z\rVert_\infty\le\lVert z\rVert_2\le\sqrt n\,\lVert z\rVert_\infty$로 $s_{\mathrm{ell}}\le s_{\mathrm{poly}}\le\sqrt n\,s_{\mathrm{ell}}$를 증명하라.
- $K_q=kI$일 때 $K_x=k(JJ^\top)^{-1}$이고 고유값이 $k/\sigma_i^2$임을 보이라.
- $J^\top F=K_q(q-q_0)$를 미분해 $K_x=J^{-\top}(K_q-G)J^{-1}$을 유도하고 평면 2R의 $\nabla^2p_x$, $\nabla^2p_y$를 구하라.
연구 질문:
- 모멘트를 포함하는 6차원 하중에서 기하 강성 $G$의 대칭·비대칭 성분은 어떻게 나뉘며, 어떤 변위 좌표가 보존적 합동 변환을 주는가?
- 관절 강성이 형상·하중에 의존하는 실제 로봇(감속기 비선형 강성)의 말단 강성을 얼마나 정확히 예측할 수 있는가?
1차 출처(조회 2026-11-03).
- K. M. Lynch, F. C. Park, Modern Robotics, Cambridge University Press, 2017(ISBN 9781107156302). 사전 인쇄본 2017-05-03판의 5.2·5.4절을 읽었다.
- Franka Robotics, "Control Interface Specification and Robot Limits"(Franka Control Interface 문서의 FR3 한계 표). 이 책에서 읽은 부분만 인용했다.
- J. K. Salisbury, "Active stiffness control of a manipulator in Cartesian coordinates," Proc. IEEE Conference on Decision and Control, 95–100, 1980, doi:10.1109/cdc.1980.272026 — 서지만 확인.
- J. Loncaric, "Normal forms of stiffness and compliance matrices," IEEE Journal on Robotics and Automation 3(6), 567–572, 1987, doi:10.1109/jra.1987.1087148 — 서지만 확인.
- S. L. Patterson, H. Lipkin, "Structure of robot compliance," Journal of Mechanical Design 115(3), 576–580, 1993, doi:10.1115/1.2919228 — 서지만 확인.
- M. Griffis, J. Duffy, "Global stiffness modeling of a class of simple compliant couplings," Mechanism and Machine Theory 28(2), 207–224, 1993, doi:10.1016/0094-114x(93)90088-d — 서지만 확인.
- P. Chiacchio, Y. Bouffard-Vercelli, F. Pierrot, "Force polytope and force ellipsoid for redundant manipulators," Journal of Robotic Systems 14(8), 613–620, 1997, doi:10.1002/(sici)1097-4563(199708)14:8<613::aid-rob3>3.0.co;2-p — 서지만 확인.
- S.-F. Chen, I. Kao, "Conservative congruence transformation for joint and Cartesian stiffness matrices of robotic hands and parallel manipulators," IJRR 19(9), 835–847, 2000, doi:10.1177/02783640022067201 — 서지만 확인.
- Robotics Toolbox for Python 1.5.0(
payload_capacity문서 문자열), Pinocchio 4.1.0(computeStaticTorque문서 문자열).
다음 장. 2.13은 병렬 기구 I(스튜어트 플랫폼·델타 로봇의 기구학)을 다룬다. 병렬 기구에서는 이 장의 정역학과 강성이 구동 다리의 힘과 플랫폼 강성을 잇는 핵심 식이다.