AEGLOSLAB 로봇공학 전서(全書)

제2부 기구학

2.14 병렬 기구 II: 케이블 구동 병렬 로봇·병렬 기구의 특이점과 작업공간

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

이 장은 병렬 기구의 특이점을 분류하고 작업공간을 정의하는 방법, 그리고 다리를 케이블로 바꾼 케이블 구동 병렬 로봇을 다룬다. 병렬 기구의 특이점은 직렬 팔과 달리 구동기를 고정해도 플랫폼이 움직이는 경우, 말단이 한 방향 운동을 잃는 경우, 구성 공간 자체가 갈라지는 경우로 나뉜다(Modern Robotics 7.3절). 케이블은 당기기만 할 수 있어서 장력이 항상 양수여야 하고, 그 조건이 작업공간을 결정한다. 이 장은 평면 5절 기구로 특이점 세 종류와 작업공간 면적을 계산하고, 점 질량 케이블 로봇(평면 3케이블·공간 4케이블)의 장력 가능 작업공간을 영공간 구간으로 판정해 SciPy의 선형계획과 대조한다. 스튜어트 플랫폼·델타 로봇은 2.13, 폐연쇄 동역학은 3.11, 케이블 로봇의 제어·설치는 응용 장에서 다룬다.

배우는 것:

  • 특이점 분류 — 구성 공간·구동기·말단 특이점, 구속 자코비안 $H=[H_a\ H_p]$와 $A\dot x=B\dot\theta$.
  • 평면 5절 기구 — $\det A=0$(구동기 특이점)과 $B_i=0$(말단 특이점), 조립 방식 전환, 특이점 없는 작업공간.
  • 케이블 구동 병렬 로봇 — 구조 행렬 $A(p)$, 장력 평형 $At=b$, $t_{\min}\le t\le t_{\max}$, 케이블 수와 자유도의 관계.
  • 장력 가능 작업공간 — 여유 1일 때의 닫힌 판정(영공간 구간)과 일반 여유의 선형계획.
  • 측정 — 5절 기구의 왕복·유한 차분·작업공간 면적, 케이블 로봇의 작업공간 비율, 잡음 순기구학, SciPy와의 대조.

선수 지식: 2.1(자유도), 2.8(자코비안), 2.12(정역학), 2.13(병렬 기구 I의 역 자코비안·특이점).

특히 중요한 독자: 병렬 로봇의 특이점을 검사하는 엔지니어, 케이블 로봇의 작업공간과 장력 분배를 구현하는 소프트웨어 개발자, 병렬 기구의 작업공간 해석을 배우는 연구자.

출처 방침. 기준 시점은 2026-11-03이다. 직접 읽은 자료: ① Lynch·Park, Modern Robotics(사전 인쇄본 2017-05-03판) 7.2절(구속 자코비안 $H_a\dot q_a+H_p\dot q_p=0$)·7.3절(4절·5절 기구의 특이점, 구성 공간·구동기·말단 특이점의 정의)·7.4절. 서지(Gosselin·Angeles 1990, Albus 외 1993, Kawamura 외 1995, Gouttefarde·Gosselin 2006, Gouttefarde 외 2011, Pott 외 2012, Merlet·Gosselin 2008)는 Crossref 응답으로 확인했다. 읽지 못한 것: 위 논문들의 본문. 케이블의 처짐·탄성·질량·풀리 효과는 모델에 넣지 않았다. 기구와 케이블 치수는 모두 이 장이 정한 예시이며 어떤 제품의 제원이 아니다. 수치는 모두 이 장의 순수 파이썬 계산이다.

2.14.2 개념 — 구동기를 잠가도 움직이는 자세, 당기기만 하는 다리

결론부터 적으면 다음과 같다. 병렬 기구의 특이점은 세 종류로 나뉜다. 구동기를 모두 잠가도 기구가 단단한 구조가 되지 못하는 자세(구동기 특이점), 말단이 어느 방향 운동을 잃는 자세(말단 특이점), 구성 공간의 곡선·곡면이 서로 교차하는 자세(구성 공간 특이점)이다. 앞의 둘은 구속 자코비안의 계수로 판정하고, 구성 공간 특이점은 구동기 선택과 무관하다. 케이블 구동 병렬 로봇은 다리가 케이블이라 당기는 힘만 낼 수 있고 장력 $t_i\ge t_{\min}>0$이 유지되어야 한다. 그래서 자유도 $n$인 플랫폼이 임의의 렌치를 견디려면 케이블이 최소 $n+1$개 필요하고(양의 생성 집합은 $n+1$개 이상의 벡터이다), 중력이 $(n+1)$번째 케이블 구실을 하는 매단 구성에서는 케이블 $n$개로도 평형이 가능하다. 위치마다 장력이 모든 한계를 만족하는 평형이 있는지가 작업공간의 정의이다.

이 장의 계산 결과를 미리 적으면 다음과 같다. ① 평면 5절 기구의 작업공간 $0.414$ m² 가운데 구동기 특이점 근처가 $4.0$ %, 말단 특이점 근처가 $5.6$ %, 특이점 없는 영역이 $90.5$ %이다. 구동기 특이점($\theta_1=\pi-\theta_2=143.1^\circ$)에서 $\det A=10^{-17}$이고 구동기를 잠근 채 플랫폼을 $10^{-2}$ m 움직이면 구동기 각이 $9.2\times10^{-4}$ rad(2차) 변한다. ② 점 질량 $5$ kg의 평면 3케이블은 장력 하한 $5$ N에서 작업 상자의 $85.4$ %, $20$ N에서 $52.0$ %가 장력 가능이고, 공간 4케이블은 $75.6$ %, $16.7$ %이다. ③ 영공간 구간 판정이 선형계획과 무작위 2,000개씩에서 한 번도 다르지 않았고 약 $20$배 빠르다. ④ 케이블 길이 잡음 $1$ mm에서 순기구학 위치 오차는 케이블 2개 $1.29$ mm, 3개 최소제곱 $1.03$ mm이다.

2.14.3 원리

2.14.3.1 병렬 기구의 구속 자코비안과 특이점의 종류

닫힌 연쇄에서는 구동 관절 $q_a$와 수동 관절 $q_p$가 고리 닫힘 조건 $f(q)=0$을 만족해야 하고, 미분하면 $H_a\dot q_a+H_p\dot q_p=0$이다($H_p$는 정방, Modern Robotics 7.2.2절). Modern Robotics 7.3절은 이를 다음과 같이 분류한다.

  • 구동기 특이점. $\mathrm{rank}\,H_p<p$. 구동기를 잠가도 기구가 구조가 되지 못하고, 수동 관절 속도를 구동 속도에서 구할 수 없다. 구동기를 다른 관절로 옮기면 사라진다. 퇴화(degenerate)·비퇴화는 2차 미분 정보가 필요하다.
  • 구성 공간 특이점. $\mathrm{rank}\,H<p$. 구성 공간의 자기 교차(분기점)이며 구동기 선택과 무관하다.
  • 말단 특이점. 구동기가 아닌 말단 좌표의 순기구학 $f(q_a)=T_{sb}$의 자코비안이 계수를 잃는 경우. 구동기 선택과 무관하고 말단 좌표계의 위치에 의존한다.

Gosselin·Angeles(1990)가 폐연쇄의 특이점을 순기구학·역기구학 자코비안으로 분류한 연구로 알려져 있다(본문은 읽지 못했다). 이 장의 평면 5절 기구에서는 이 분류가 두 자코비안으로 나타난다(다음 절). 두 분류의 대응은 이 장이 확인하지 않았다 (확인 필요).

2.14.3.2 평면 5절 기구

고정 구동 관절 $A_1=(-d,0)$, $A_2=(d,0)$에서 길이 $l_1$의 근위 링크가 각 $\theta_1,\theta_2$로 회전해 팔꿈치 $E_i=A_i+l_1(\cos\theta_i,\sin\theta_i)$에 닿고, 길이 $l_2$의 원위 링크 둘이 말단 $P$에서 만난다. 구속 $\lVert P-E_i\rVert^2=l_2^2$을 미분하면 다음이다.

$$A\,\dot P=B\,\dot\theta,\qquad A=\begin{bmatrix}(P-E_1)^\top\\(P-E_2)^\top\end{bmatrix},\quad B=\mathrm{diag}\bigl((P-E_i)\cdot\partial E_i/\partial\theta_i\bigr).$$

  • 구동기 특이점($\det A=0$). $P-E_1$과 $P-E_2$가 평행하다(두 원위 링크가 일직선). $\dot\theta=0$이어도 $A\dot P=0$을 만족하는 $\dot P\ne0$이 있어 구동기를 잠가도 말단이 움직인다. Modern Robotics는 5절 기구의 구동기 특이점 예를 그림 7.8에 보인다.
  • 말단 특이점($B_i=0$). $P-E_i$가 근위 링크 방향과 평행(다리 $i$가 뻗거나 접힘). 그 다리가 말단에 만들 수 있는 속도에서 한 방향이 사라진다(Modern Robotics 그림 7.9의 유효 2R 사슬이 일직선인 경우).
  • 조립 방식. 두 원의 교점은 둘이다. 팔꿈치 둘을 이은 직선 위쪽과 아래쪽이 두 조립 방식이고 한 방식에서 다른 방식으로 가려면 $P$가 이 직선을 지나므로 구동기 특이점($\det A=0$)을 거친다.

역기구학은 다리마다 원의 교점으로 두 해(팔꿈치 안쪽·바깥쪽)이고, 순기구학은 위의 두 원의 교점이다. 이 장은 팔꿈치가 바깥으로 향하는 가지를 사용한다.

2.14.3.3 작업공간의 정의

병렬 기구의 작업공간은 정의에 따라 다르다. 도달 가능 작업공간은 한 가지 이상의 조립 방식으로 닿는 $P$의 집합이고, 특이점 없는 작업공간은 거기서 특이점 근처를 뺀 것이다. 이 장은 근처의 기준으로 $\lvert\det A\rvert/l_2^2<0.2$(구동기)와 $\min_i\lvert B_i\rvert/(l_1l_2)<0.2$(말단)를 사용했다(무차원 수치이며 응용에 맞춰 정해야 한다). 한 조립 방식 안에서 연속으로 움직일 수 있는 영역은 특이점 곡선으로 나뉜다(위).

2.14.3.4 케이블 구동 병렬 로봇

케이블 $i$의 앵커 $a_i$와 점(또는 플랫폼 부착점) $p$에서 케이블 길이는 $l_i=\lVert a_i-p\rVert$(점 질량) 또는 $l_i=\lVert a_i-(p+Rb_i)\rVert$(플랫폼)로 역기구학이 닫힌 식이다. 케이블이 플랫폼에 주는 힘은 $t_i\hat u_i$($\hat u_i$는 플랫폼에서 앵커로 향하는 단위 벡터, $t_i\ge0$)이므로 정적 평형은 다음이다(점 질량).

$$\sum_it_i\hat u_i(p)+w=0\ \Longleftrightarrow\ A(p)\,t=b,\qquad A=[\hat u_1\ \cdots\ \hat u_m],\ \ b=-w.$$

플랫폼이면 $A$의 열이 $(\hat u_i;\ r_i\times\hat u_i)$이다(2.13의 역 자코비안 행과 같은 꼴이며 구조 행렬의 열이다). 케이블이 $m$개이고 자유도가 $n$이면 $m>n$일 때 장력 분배가 여러 개이다. 순기구학은 길이가 중복 측정이어서(과잉결정) 최소제곱으로 푼다. 이 장은 케이블이 직선이고 늘어나지 않으며 질량이 없다고 가정한다(처짐·탄성 모형은 포함하지 않았다).

2.14.3.5 장력 가능 작업공간과 영공간 구간

장력 가능 작업공간(wrench-feasible workspace)은 주어진 렌치에 대해 $At=b$, $t_{\min}\le t\le t_{\max}$를 만족하는 $t$가 존재하는 $p$의 집합이다. 어떤 렌치 집합 전체에 대해 존재하면 렌치 폐쇄 작업공간이다. 평면 케이블 기구의 렌치 폐쇄 작업공간은 Gouttefarde·Gosselin(2006)이, 일반 케이블 로봇의 장력 가능 작업공간을 구간 해석으로 구하는 방법은 Gouttefarde 외(2011)가 다룬 것으로 알려져 있다(본문은 읽지 못했다).

여유가 1($m=n+1$)이면 $A$의 영공간이 1차원이어서 닫힌 판정이 가능하다. 영 방향 $\nu$(성분은 $A$에서 $j$번째 열을 뺀 $n\times n$ 행렬의 행렬식 $\nu_j=(-1)^j\det A_{\setminus j}$)와 특수해 $t_0=A^\top(AA^\top)^{-1}b$로 $t=t_0+\lambda\nu$이고, 성분마다 $t_{\min}\le t_{0,j}+\lambda\nu_j\le t_{\max}$가 $\lambda$의 구간을 주므로 구간의 교집합이 비어 있지 않으면 가능하다. $\nu_j=0$인 성분은 $t_{0,j}$가 한계 안에 있어야 한다. 여유가 2 이상이면 구간이 다면체가 되어 선형계획(또는 구간 해석)이 필요하다. 가능한 경우 구간의 중점으로 장력을 정할 수 있다(최소 장력 분배는 다른 목적 함수로 정한다).

2.14.4 알고리즘

평면 5절:
    역기구학(P): 다리마다 원의 교점으로 두 해,  바깥 가지 선택
    순기구학(θ): E_i 계산 → 두 원(반지름 l2)의 교점, 위/아래 조립 방식
    특이점: A ← [(P−E_1)ᵀ; (P−E_2)ᵀ],  B_i ← (P−E_i)·∂E_i/∂θ_i
            |det A|/l2² 작음 → 구동기 특이점 근처,  min|B_i|/(l1 l2) 작음 → 말단 특이점 근처
케이블 장력 가능(A (n×(n+1)), b, t_min, t_max):
    ν_j ← (−1)^j det(A에서 j열 제거),  t0 ← Aᵀ (A Aᵀ)⁻¹ b
    각 j: λ 구간 ← [(t_min − t0_j)/ν_j, (t_max − t0_j)/ν_j] (ν_j 부호에 따라 순서)
    구간의 교집합이 비어 있지 않으면 가능,  t ← t0 + λ ν  (λ = 구간 중점)
순기구학(케이블 길이 L, 잡음): 가우스-뉴턴  p ← p + (JᵀJ)⁻¹ Jᵀ (L − l(p))

2.14.5 풀이 예제 — 5절 기구의 특이점, 케이블 로봇의 작업공간

결론부터 적으면 다음과 같다. ① 평면 5절($d=0.15$, $l_1=0.25$, $l_2=0.35$ m)에서 역기구학→순기구학 왕복 오차가 점 1,610개에서 $5.8\times10^{-15}$ m이고 $A\dot P=B\dot\theta$가 유한 차분과 $8.8\times10^{-9}$ m/s 안에서 같다. ② 작업공간 면적 $0.4143$ m²(상자 $1.0\times0.7$ m 안, 바깥 가지) 가운데 구동기 특이점 근처 $0.0165$ m², 말단 특이점 근처 $0.0231$ m², 특이점 없는 영역 $0.3748$ m²이다. ③ 구동기 특이점($\theta_2=36.87^\circ$, $\theta_1=\pi-\theta_2=143.13^\circ$의 대칭 바깥 가지 배치, $\det A=9.7\times10^{-18}$)에서 구동기를 잠그고 영 방향으로 $10^{-3}$, $10^{-2}$ m 움직이면 구동기 각이 $9.5\times10^{-6}$, $9.2\times10^{-4}$ rad 변한다(2차). ④ 점 질량 5 kg의 평면 3케이블 장력 가능 비율은 $t_{\min}=1,5,10,20,30,40$ N에서 $97.8,\ 85.4,\ 70.6,\ 52.0,\ 45.8,\ 42.5$ %이고 공간 4케이블은 $97.5,\ 75.6,\ 46.8,\ 16.7,\ 9.3,\ 5.8$ %이다. ⑤ 영공간 구간 판정이 선형계획과 2,000개씩에서 다른 경우가 0개이다. ⑥ 케이블 길이 잡음 $1$ mm에서 순기구학 오차는 2케이블 $1.291$ mm, 3케이블 최소제곱 $1.029$ mm이다.

구현. fivebar_ik·fivebar_fk·fivebar_AB·cable_feasible. 조립 방식 판정, 작업공간 격자, 케이블 구조 행렬, 순기구학 가우스-뉴턴, 그림은 스크립트에 있다. 1.1의 matmul·solve_lu, 2.9의 det를 사용한다.

항목값
입력 1평면 5절: $d=0.15$, $l_1=0.25$, $l_2=0.35$ m. 왕복·유한 차분은 $P_x\in U[-0.3,0.3]$, $P_y\in U[-0.1,0.5]$ m 점 2,000개(시드 57, 바깥 가지로 닿는 1,610개)
입력 25절 작업공간: 상자 $x\in[-0.5,0.5]$, $y\in[-0.1,0.6]$ m를 $240\times168$ 격자로 나눈 칸 중심(칸 넓이 $1.7\times10^{-5}$ m²), 바깥 가지의 위·아래 조립 방식 어느 쪽이든 닿으면 도달 가능
입력 3케이블 점 질량: $m=5$ kg, $g=9.81$ m/s², 평면 앵커 $(0,2),(2,2),(1,0)$ m(3케이블, 자유도 2, 여유 1), 공간 앵커 $(0,0,2),(2,0,2),(2,2,2),(0,2,2)$ m(4케이블, 자유도 3, 여유 1). 평형 $At=b$, $b=(0,mg)$ 또는 $(0,0,mg)$, 장력 $[t_{\min},200]$ N. 평면은 $60\times60$ 격자($0.05\sim1.95$ m 칸 중심)·공간은 $20^3$ 격자
입력 4순기구학 잡음: 점 $x,y\in U[0.4,1.6]$ m 300개, 케이블 길이에 평균 0·표준편차 $1$ mm의 가우스 잡음, 가우스-뉴턴 30회, 시작 $(1,1)$
입력 5라이브러리 대조: 케이블 판정 평면·공간 각 2,000개(시드 571), $t_{\min}\in U[0,30]$ N, $t_{\max}\in U[60,250]$ N, $b$의 앞 성분 $U[-30,30]$ N·마지막 성분 $U[5,60]$ N; 5절 점 500개
from math import sqrt, sin, cos, atan2, acos

def fivebar_ik(P, g):
    """g = (d, l1, l2). 다리마다 두 해"""
    d, l1, l2 = g
    out = []
    for ax in (-d, d):
        x, y = P[0] - ax, P[1]
        r = sqrt(x * x + y * y)
        if r > l1 + l2 or r < abs(l1 - l2):
            return None
        h = acos((l1 * l1 + r * r - l2 * l2) / (2 * l1 * r))
        out.append([atan2(y, x) + h, atan2(y, x) - h])
    return out

def fivebar_fk(th, g, up=True):
    """두 원(반지름 l2)의 교점, 중심 E_i"""
    d, l1, l2 = g
    E = [(-d + l1 * cos(th[0]), l1 * sin(th[0])),
         (d + l1 * cos(th[1]), l1 * sin(th[1]))]
    dx, dy = E[1][0] - E[0][0], E[1][1] - E[0][1]
    c = sqrt(dx * dx + dy * dy)
    if c > 2 * l2 or c == 0:
        return None
    h = sqrt(l2 * l2 - c * c / 4)
    mx, my = (E[0][0] + E[1][0]) / 2, (E[0][1] + E[1][1]) / 2
    s = 1.0 if up else -1.0
    return [mx - s * h * dy / c, my + s * h * dx / c]

def fivebar_AB(P, th, g):
    """A xdot = B thdot, A 행 = P - E_i"""
    d, l1, l2 = g
    A, B = [], []
    for ax, t in zip((-d, d), th):
        e = (ax + l1 * cos(t), l1 * sin(t))
        r = [P[0] - e[0], P[1] - e[1]]
        A.append(r)
        B.append(r[0] * (-l1 * sin(t)) + r[1] * (l1 * cos(t)))
    return A, B

def cable_feasible(A, b, tmin, tmax):
    """A t = b, tmin <= t <= tmax. A: n x (n+1)"""
    n, m = len(A), len(A[0])
    nv = []
    for j in range(m):
        S = [[A[i][k] for k in range(m) if k != j]
             for i in range(n)]
        nv.append((-1) ** j * det(S))
    G = matmul(A, transpose(A))
    y = solve_lu(G, b)[0]
    t0 = [sum(A[i][j] * y[i] for i in range(n))
          for j in range(m)]
    k = sqrt(sum(x * x for x in nv))
    nv = [x / k for x in nv]
    lo, hi = -1e18, 1e18
    for t, v in zip(t0, nv):
        if abs(v) < 1e-12:
            if not tmin <= t <= tmax:
                return False, None
            continue
        a1, a2 = (tmin - t) / v, (tmax - t) / v
        lo, hi = max(lo, min(a1, a2)), min(hi, max(a1, a2))
    if lo > hi:
        return False, None
    lam = (lo + hi) / 2
    return True, [t + lam * v for t, v in zip(t0, nv)]

① 평면 5절의 두 자코비안.

평면 5절($d=0.15$, $l_1=0.25$, $l_2=0.35$ m)값
역기구학 → 순기구학 왕복 최대 오차(점 1610개)5.8e-15 m
$A\dot x=B\dot\theta$ 대 유한 차분 최대 차이8.8e-09 m/s
작업공간 면적 · 구동기 특이점 근처($\lvert\det A\rvert/l_2^2<0.2$) · 말단 특이점 근처($\min\lvert B_i\rvert/(l_1l_2)<0.2$) · 특이점 없는 영역0.4143 · 0.0165 · 0.0231 · 0.3748 m²
구동기 특이점의 관절각 $\theta_2=\pi-\theta_1$ · $\det A$36.8699° · 9.7e-18
영 방향으로 이동량 $s=10^{-3},10^{-2}$ m일 때 구동기 각 변화(구동기를 잠근 채 움직이는 정도)9.5e-06, 9.2e-04 rad
-0.4 -0.2 0.0 0.2 0.4 0.0 0.2 0.4 x (m) y (m) 특이점 없음 구동기 특이점 근처 말단 특이점 근처
평면 5절 병렬 기구($d=0.15$, $l_1=0.25$, $l_2=0.35$ m)의 작업공간(팔꿈치가 바깥으로 향하는 가지, 위·아래 조립 방식 모두). 파랑은 특이점 없는 영역, 주황은 두 원위 링크가 일직선에 가까운 구동기 특이점 근처($\lvert\det A\rvert/l_2^2<0.2$), 초록은 한 다리가 뻗거나 접힌 말단 특이점 근처($\min\lvert B_i\rvert/(l_1l_2)<0.2$)이다. 두 구동 관절은 원으로 표시했다.

파랑은 특이점 없는 영역, 주황은 두 원위 링크가 일직선에 가까운 구동기 특이점 근처, 초록은 한 다리가 뻗거나 접힌 말단 특이점 근처이다. 초록 고리는 구동 관절을 둘러싼 반지름 $l_2-l_1=0.1$ m(접힘)과 바깥 경계 $l_1+l_2=0.6$ m(뻗음)에 있다. 주황 덩어리는 두 팔꿈치와 말단이 한 직선에 가까운 위쪽(중앙, $y\approx0.1\sim0.2$ m)과 아래쪽에 있고, 이 곡선을 지나면 조립 방식이 위·아래로 바뀐다. 구동기 특이점의 구체 자세는 $\theta_2=t=36.87^\circ$, $\theta_1=\pi-t$로 $\cos t=(l_2-d)/l_1=0.8$에서 두 팔꿈치 사이가 $2l_2=0.7$ m가 되어 말단이 두 팔꿈치 사이의 중점에 놓인다. 이때 $A$의 특이값은 $0.495$와 $2.0\times10^{-17}$이다. 영 방향은 $x$축에 수직(위·아래)이고, 구동기를 잠근 채 그 방향으로 $s$만큼 움직이는 데 필요한 구동기 각 변화가 $s=10^{-3}$에서 $9.5\times10^{-6}$ rad, $10^{-2}$에서 $9.2\times10^{-4}$ rad로 $s^2$에 비례(비 약 $97\approx100$)하므로 1차에서는 구동기를 잠가도 움직인다.

② 케이블 구동 점 질량의 장력 가능 작업공간.

케이블 구동 점 질량 $m=5$ kg, 장력 $[t_{\min},200]$ N평면 3케이블공간 4케이블
$t_{\min}=1$ N: 장력 가능 작업공간 비율(상자 $1.9\times1.9$ m(공간은 $\times1.9$ m))97.8 %97.5 %
$t_{\min}=5$ N: 장력 가능 작업공간 비율(상자 $1.9\times1.9$ m(공간은 $\times1.9$ m))85.4 %75.6 %
$t_{\min}=10$ N: 장력 가능 작업공간 비율(상자 $1.9\times1.9$ m(공간은 $\times1.9$ m))70.6 %46.8 %
$t_{\min}=20$ N: 장력 가능 작업공간 비율(상자 $1.9\times1.9$ m(공간은 $\times1.9$ m))52.0 %16.7 %
$t_{\min}=30$ N: 장력 가능 작업공간 비율(상자 $1.9\times1.9$ m(공간은 $\times1.9$ m))45.8 %9.3 %
$t_{\min}=40$ N: 장력 가능 작업공간 비율(상자 $1.9\times1.9$ m(공간은 $\times1.9$ m))42.5 %5.8 %
가능한 점에서 평형 잔차 · 한계 위반 최대(점 500개)6.4e-14 N · 0.0e+00 N
케이블 길이 잡음 $\sigma=1$ mm에서 순기구학 위치 오차 평균: 케이블 2개 · 3개(최소제곱)1.291 mm · 1.029 mm
0 1 2 0 1 2 x (m) y (m) tmin = 5 N tmin = 20 N tmin = 40 N
점 질량 5 kg을 세 케이블(앵커 십자: (0,2), (2,2), (1,0) m)로 매단 평면 기구의 장력 가능 작업공간(장력 $[t_{\min},200]$ N). 하한이 커질수록 영역이 줄어 중앙의 역삼각형 영역만 남는다.
0 10 20 30 40 0 25 50 75 100 장력 하한 tmin (N) 장력 가능 작업공간 비율 (%) 평면 3케이블 공간 4케이블
장력 하한 $t_{\min}$에 따른 장력 가능 작업공간 비율(상자 $1.9$ m의 정사각형 또는 정육면체 칸 중심). 점 질량 5 kg, 상한 200 N. 공간 4케이블이 평면 3케이블보다 빨리 줄어든다.

장력 하한 $t_{\min}$이 커질수록 장력 가능 영역이 줄고 공간 4케이블이 평면 3케이블보다 빨리 줄어든다($t_{\min}=20$ N에서 $16.7$ % 대 $52.0$ %). 평면 3케이블의 영역은 아래 앵커를 꼭짓점으로 하는 역삼각형 모양이고 $t_{\min}$이 커지면 앵커 세 개가 둘러싼 삼각형 안의 중앙 영역으로 모인다(그림 2). 하한이 크면 모든 케이블이 $t_{\min}$ 이상으로 당기면서 수평·수직 평형을 동시에 만족해야 하므로 방향이 서로 반대인 케이블이 있는 위치로 한정된다고 해석한다. 무작위 점 500개 가운데 가능으로 판정된 점의 장력은 평형 잔차 $6.4\times10^{-14}$ N, 한계 위반이 없었다.

케이블 길이 잡음 $\sigma=1$ mm에서 순기구학 위치 오차는 두 케이블만 사용하면 $1.291$ mm, 세 케이블 최소제곱이면 $1.029$ mm로 $20$ % 줄어든다(초과 결정된 측정의 평균 효과이며 이 자세 분포의 값이다).

③ 라이브러리 대조(실행 2026-11-03). SciPy 1.18.1의 linprog(highs, 목적 함수 0의 가능성 문제)로 케이블 장력 가능 여부를, fsolve로 5절의 순기구학을, numpy SVD로 구동기 특이점의 계수를 같은 입력에서 비교했다. 스크립트는 robotics/fig-src/2.14-libcheck.py, 출력은 robotics/fig-src/data/2.14-libcheck-output.txt에 있다.

비교값
평면 3케이블: 장력 가능 판정이 linprog와 다른 경우(무작위 2,000개, 가능 1208개)0개
평면 3케이블: 판정 시간(이 장의 영공간 구간 · linprog)60 μs · 1462 μs
공간 4케이블: 장력 가능 판정이 linprog와 다른 경우(무작위 2,000개, 가능 414개)0개
공간 4케이블: 판정 시간(이 장의 영공간 구간 · linprog)81 μs · 1340 μs
평면 5절: SciPy fsolve(시작점 = 참값 + 0.02 m)가 이 장의 교점과 같은 해 · 반대쪽 교점 · 그 밖(점 386개)379 · 7 · 0
평면 5절: 구동기 특이점에서 $A$의 특이값(numpy SVD)0.495, 2.0e-17

판정이 선형계획과 평면·공간 모두 한 번도 다르지 않았고 이 장의 닫힌 판정이 $52\sim81$ μs로 linprog($1.2\sim1.3$ ms)보다 약 $20$배 빠르다. fsolve는 시작점을 참값에서 $0.02$ m 벗어나게 두면 점 386개 가운데 7개에서 반대쪽 교점(다른 조립 방식)으로 수렴했다. 순기구학이 시작점에 따라 다른 조립 방식을 고른다는 점이 2.13의 관찰과 같다. 구동기 특이점에서 $A$의 특이값이 numpy로도 $0.495$와 $2.0\times10^{-17}$이다.

한계. 5절 한 기구와 점 질량 케이블 두 구성(평면 3, 공간 4)의 결과이다. 구성 공간 특이점은 계산하지 않았다. 특이점 근처의 기준 $0.2$는 임의이다. 케이블 로봇은 플랫폼의 회전(6자유도)과 여유 2 이상(선형계획), 케이블의 처짐·탄성·질량·풀리, 케이블 간섭과 장애물, 동적 장력 한계(가속도)를 포함하지 않았다. 장력 가능 작업공간은 중력 하나의 렌치에 대한 정적 평형이며 렌치 폐쇄 작업공간이 아니다.

견해: 케이블 로봇의 작업공간 설계는 여유 1 구성에서는 영공간 구간의 닫힌 판정으로 격자 전체를 빠르게 평가하고(이 장에서 선형계획 대비 약 $20$배), 여유가 2 이상이거나 렌치 집합 전체(폐쇄)가 필요하면 선형계획이나 구간 해석으로 옮기는 것을 기본으로 둔다고 본다. 근거는 이 장의 계산에서 닫힌 판정과 선형계획이 4,000개 판정에서 일치했고 시간이 $20$배 차이 났다는 점이다. 병렬 기구의 특이점은 구동기·말단 특이점의 근처 영역을 무차원 지표(행렬식·자코비안 성분의 정규화)로 격자에 표시해 작업 경로가 그 영역을 지나지 않도록 계획하는 것을 기본으로 둔다고 본다. 근거는 이 장의 5절 기구에서 작업공간의 $9.6$ %가 특이점 근처이고 특이점은 조립 방식 전환의 경계였다는 점이다. 근처의 임계값($0.2$)은 응용의 속도·정밀도 요구에 따라 달라질 수 있다.

2.14.6 설계 트레이드오프 — 병렬 기구와 케이블 로봇의 작업공간 평가

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

  • ① 격자 위 점별 판정. 각 격자점에서 특이점·장력 가능 여부를 판정한다. 단순하고 구현이 쉽다. 격자 크기와 임계값에 의존한다.
  • ② 구간 해석. 작업공간 안의 상자를 보증하며 판정한다(Gouttefarde 외 2011이 일반 케이블 로봇에 적용한 것으로 알려져 있다. 이 장은 구현하지 않았다).
  • ③ 선형계획·이차계획. 여유가 큰 케이블 로봇의 장력 분배와 가능성 판정. 일반적이고 계산이 크다.
  • ④ 여유 1의 닫힌 판정(이 장). 영공간 구간으로 매우 빠르다. 여유가 1일 때만 가능하다.
방식입력장점한계알맞은 경우
① 격자 점별위치 격자단순격자·임계값 의존, 보증 없음설계 탐색
② 구간 해석위치 상자포함·배제 보증구현·계산 복잡검증, 인증
③ 선형계획·이차계획케이블 구조 행렬일반 여유판정당 ms여유 2 이상, 장력 최적화
④ 영공간 구간구조 행렬(여유 1)판정당 약 $50\sim80$ μs여유 1만점 질량·매단 구성

견해: 설계 단계의 후보 비교는 ④(또는 ①+③)로 하고, 최종 작업공간 보증이 필요한 응용(사람 근처·고가 장비)에서는 ②로 옮기는 순서를 기본으로 둔다고 본다. 근거는 점별 판정이 판정한 격자점 사이를 보증하지 못한다는 점이다. 이 장은 격자 크기와 근처 기준($0.2$)에 대한 민감도와 구간 해석의 비용을 시험하지 않았다.

2.14.7 응용 축 비교

응용 축병렬 기구·케이블 로봇이 맡는 일요구관련 장
산업·제조대형 작업 영역의 케이블 로봇(도장·적재), 고속 병렬 로봇장력 가능 작업공간, 특이점 회피2.13, 28.2
물류·이동대형 창고·적재 케이블 로봇큰 작업 부피, 가벼운 이동부2.15
도로 주행해당하는 고유 요구 없음——
서비스해당하는 고유 요구 없음——
의료·헬스케어재활·운동 보조 케이블 기구안전한 장력 한계32.14
휴머노이드·범용케이블 구동 관절·텐던장력 한계5.14
필드대형 구조물 점검·카메라 이동넓은 영역, 장력2.14
국방·안보원리 수준에서 해당하는 고유 요구 없음——

이 표는 이 책의 정리이며 장별 요구는 다르다. 케이블 로봇의 구체 사례로 NIST의 로보크레인(Albus 외 1993), 고속 와이어 로봇 FALCON(Kawamura 외 1995), 산업용 IPAnema 계열(Pott 외 2012)이 알려져 있다(서지만 확인했고 제원은 확인하지 않았다).

2.14.8 관련 규격·프로토콜

문서발행무엇을 정하나상세 장
Modern Robotics 7.2·7.3절Lynch·Park, 2017구속 자코비안, 구동기·구성 공간·말단 특이점2.13
linprogSciPy 1.18.1(highs)선형계획(장력 가능성 판정, 장력 분배)1.13
fsolveSciPy 1.18.1비선형 방정식 풀이(순기구학)2.6
수학 표기·기호표이 책구조 행렬·케이블 단위 벡터 표기A.2

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

케이블 구동 병렬 로봇의 장력·케이블 파단·사람 접근에 관한 안전 요건은 확인하지 못했다. 사람 근처의 대형 케이블 로봇(스포츠 경기장 카메라 등)이나 병렬 기구의 작업공간 제한은 기계 안전과 산업 로봇 안전 표준의 관련 요건을 따를 수 있으나 이 장은 조항을 확인하지 않았다 (확인 필요). 관련 표준은 27.10에서 다룬다.

2.14.10 한계·유의점·미해결

  • 구성 공간 특이점. 이 장은 계산하지 않았다.
  • 분류의 대응. Modern Robotics의 세 종류와 Gosselin·Angeles의 분류의 대응은 확인하지 않았다.
  • 케이블 모델. 처짐(자체 하중)·탄성·질량·풀리·케이블 간섭을 포함하지 않았다.
  • 작업공간의 정의. 이 장의 장력 가능 작업공간은 중력 하나의 정적 평형이며 렌치 폐쇄·동적 작업공간이 아니다.
  • 여유. 닫힌 판정은 여유 1에 한정된다.
  • 플랫폼 회전. 점 질량 모델이어서 6자유도 케이블 로봇의 회전 평형은 다루지 않았다.

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

체크포인트:

  1. 평면 5절에서 $A\dot P=B\dot\theta$를 구속 $\lVert P-E_i\rVert^2=l_2^2$의 미분으로 유도하라.
  2. $\det A=0$과 $B_i=0$의 기하적 의미를 각각 말하고, 어느 쪽이 구동기를 잠가도 말단이 움직이는 경우인지 설명하라.
  3. 자유도 $n$인 케이블 기구가 임의의 렌치를 견디려면 케이블이 $n+1$개 이상 필요한 이유를 양의 생성 집합으로 설명하라.
  4. 여유 1의 장력 판정에서 영 방향의 성분이 $A$에서 $j$번째 열을 뺀 행렬식임을 보이고 $\lambda$ 구간을 구하라.
  5. 케이블 길이 측정을 중복($m>n$)하면 순기구학 오차가 줄어드는 이유를 최소제곱으로 설명하라.

연구 질문:

  • 구성 공간·구동기·말단 특이점과 Gosselin·Angeles의 세 종류는 어떻게 대응하며 일반 병렬 기구에서 어떻게 판정하는가?
  • 처짐과 탄성이 있는 케이블 로봇의 장력 가능 작업공간은 이상 모델의 것에 비해 얼마나 줄어드는가?

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

  • K. M. Lynch, F. C. Park, Modern Robotics, Cambridge University Press, 2017(ISBN 9781107156302). 사전 인쇄본 2017-05-03판의 7.2~7.4절을 읽었다.
  • 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 — 서지만 확인.
  • J. Albus, R. Bostelman, N. Dagalakis, "The NIST robocrane," Journal of Robotic Systems 10(5), 709–724, 1993, doi:10.1002/rob.4620100509 — 서지만 확인.
  • S. Kawamura, W. Choe, S. Tanaka 외, "Development of an ultrahigh speed robot FALCON using wire drive system," Proc. IEEE ICRA, 215–220, 1995, doi:10.1109/robot.1995.525288 — 서지만 확인.
  • M. Gouttefarde, C. M. Gosselin, "Analysis of the wrench-closure workspace of planar parallel cable-driven mechanisms," IEEE Transactions on Robotics 22(3), 434–445, 2006, doi:10.1109/tro.2006.870638 — 서지만 확인.
  • M. Gouttefarde, D. Daney, J.-P. Merlet, "Interval-analysis-based determination of the wrench-feasible workspace of parallel cable-driven robots," IEEE Transactions on Robotics 27(1), 1–13, 2011, doi:10.1109/tro.2010.2090064 — 서지만 확인.
  • A. Pott, C. Mütherich, W. Kraus 외, "IPAnema: a family of cable-driven parallel robots for industrial applications," Mechanisms and Machine Science, 119–134, 2012, doi:10.1007/978-3-642-31988-4_8 — 서지만 확인.
  • J.-P. Merlet, C. Gosselin, "Parallel mechanisms and robots," Springer Handbook of Robotics, 269–285, 2008, doi:10.1007/978-3-540-30301-5_13 — 서지만 확인.
  • SciPy 1.18.1(linprog, fsolve).

다음 장. 2.15은 이동 로봇 기구학(비홀로노믹 구속·차동·애커먼·전방향·궤도)을 다룬다. 이 장의 구속 자코비안과 특이점 분석이 이동 로봇의 구속 속도 모델의 출발점이다.