모션 소프트웨어경로계획 소프트웨어 개발로봇 공간 및 운동 해석
출제기준 좌표3·1·1·3
3과목 · 모션 소프트웨어

로봇 기구학 해석

경로계획 소프트웨어 개발로봇 공간 및 운동 해석
# 모션소프트웨어
01

📌 개요

  • 로봇 팔의 각 관절이 몇 도로 꺾여 있는지 알 때, 손끝(말단장치)이 공간 어디에 있는지 계산 = 순기구학(Forward Kinematics)
  • 변환행렬을 관절마다 하나씩 만들어 연쇄적으로 곱하면 됨 → 그 변환행렬을 체계적으로 만드는 표준 방법 = DH 표기법
  • 출제 핵심: 순기구학의 정의(입력·출력), DH 파라미터 4가지, 간단한 2링크 로봇의 좌표 계산
02

📖 핵심 개념

기구학이란 — 힘은 잊고 기하만 본다

  • 기구학(Kinematics) = 힘·질량·관성을 고려하지 않고 기하학적 관점에서 위치·속도 등 운동만 다루는 학문
  • "관절을 이만큼 돌리면 손끝이 어디로 가는가?" = 기구학의 질문
  • "손끝을 그렇게 움직이려면 모터가 얼마의 토크를 내야 하는가?" = 동역학(Dynamics)의 질문 (→ 액추에이터 동역학 모델링)

로봇의 구성: 링크와 조인트

  • 머니퓰레이터(Manipulator, 로봇 팔) = 뼈대에 해당하는 링크(Link) 와 관절에 해당하는 조인트(Joint) 가 번갈아 연결된 사슬(chain)
  • 조인트 = 두 가지 기본형 (아래 표):
조인트 종류 운동 변수 기호
회전조인트(Revolute Joint) 축을 중심으로 도는 회전 운동 각도 \theta R
직동조인트(Prismatic Joint) 축을 따라 미끄러지는 직선 운동 변위 d P
  • 산업용 6축 로봇 = 회전조인트 6개(RRRRRR)로 이루어진 수직다관절 로봇이 대표적
  • 각 조인트에는 모터(액추에이터)가 붙어 그 조인트의 변수 하나를 담당 → 직렬 로봇에서는 보통 조인트 수 = 자유도

조인트 공간과 작업 공간

같은 로봇의 상태를 두 가지 언어로 말할 수 있다.

  • 조인트 공간(Joint Space): 조인트 변수들의 묶음 q = (\theta_1, \theta_2, \dots, \theta_n) — 모터 제어기가 쓰는 언어

  • 작업 공간(Task Space / Cartesian Space): 말단장치(End-effector)의 포즈 x = (x, y, z, \phi_r, \phi_p, \phi_y) — 사람과 작업이 쓰는 언어

  • 순기구학 = 조인트 공간 → 작업 공간 방향의 번역 (반대 방향 = 역기구학)

  • 순기구학은 조인트 값이 정해지면 로봇의 모양이 하나로 결정 → 해가 항상 유일

순기구학의 계산 원리: 변환행렬의 연쇄

  • 각 링크에 좌표계를 하나씩 부착하면(\{0\}: 베이스, \{1\}\dots\{n\}: 각 링크), 이웃한 두 좌표계 사이의 관계 = 동차변환행렬 ^{i-1}T_i
  • 이 행렬 = 그 사이 조인트의 변수(\theta_i 또는 d_i)의 함수
  • 전체 순기구학 = 이들을 차례로 곱한 것:
^{0}T_{n} = {}^{0}T_{1}\ {}^{1}T_{2}\ \cdots\ {}^{n-1}T_{n}

결과 행렬 ^{0}T_{n}의 우측 3×1이 말단장치의 위치, 좌상단 3×3이 자세다.

DH 표기법 — 변환행렬을 만드는 표준 레시피

  • 링크마다 좌표계를 아무렇게나 붙이면 사람마다 결과가 달라짐
  • DH 표기법(Denavit-Hartenberg Convention) = 이웃한 링크 좌표계의 관계를 단 4개의 파라미터로 표준화한 방법 (아래 표):
파라미터 이름 의미
\theta_i 조인트각(Joint Angle) z_{i-1}축을 중심으로 한 회전각
d_i 링크 오프셋(Link Offset) z_{i-1}축 방향의 거리
a_i 링크 길이(Link Length) x_i축 방향의 거리 (두 조인트 축 사이 공통수직선 길이)
\alpha_i 링크 비틀림(Link Twist) x_i축을 중심으로 한 두 z축 사이의 비틀림각
  • 회전조인트\theta_i가 변수(나머지 3개는 로봇 구조가 정하는 상수)

  • 직동조인트d_i가 변수

  • 로봇의 DH 파라미터를 표로 정리한 것 = DH 테이블 → 표의 각 행이 변환행렬 ^{i-1}T_i 하나가 됨

  • "z축 회전(\theta) → z축 이동(d) → x축 이동(a) → x축 회전(\alpha)" 순서의 네 변환을 곱해 만듦

예제: 2링크 평면 머니퓰레이터

  • 가장 자주 출제되는 모델
  • 길이 l_1, l_2인 두 링크가 회전조인트 2개로 연결된 평면 로봇에서, 말단 위치는 삼각함수로 바로 구해짐:
x = l_1\cos\theta_1 + l_2\cos(\theta_1 + \theta_2)
y = l_1\sin\theta_1 + l_2\sin(\theta_1 + \theta_2)
  • 첫 링크 끝의 좌표 (l_1\cos\theta_1,\ l_1\sin\theta_1)에, 두 번째 링크가 만드는 좌표를 더한 것
  • 포인트: 두 번째 링크의 절대 각도가 \theta_1 + \theta_2 (\theta_2는 첫 링크 기준의 상대각)

작업공간(Workspace)

  • 작업공간 = 말단장치가 도달할 수 있는 모든 점의 집합

  • 2링크 로봇이라면 반지름 l_1 + l_2(완전히 뻗음)인 바깥 원과 반지름 |l_1 - l_2|(완전히 접음)인 안쪽 원 사이의 도넛 모양

  • 세부적으로는:

  • 도달 가능 작업공간(Reachable Workspace): 하나 이상의 자세로 도달 가능한 모든 점

  • 자유자재 작업공간(Dexterous Workspace): 임의의 방향(자세)으로 도달 가능한 점 — 도달 가능 작업공간의 부분집합

속도 기구학과 자코비안 (미리보기)

  • 위치뿐 아니라 속도도 두 공간 사이에서 번역 가능
  • 조인트 속도 \dot{q}와 말단 속도 \dot{x}의 관계를 맺어 주는 행렬 = 자코비안(Jacobian) J(q):
\dot{x} = J(q)\,\dot{q}
  • 자코비안 = 순기구학 식을 조인트 변수로 편미분해 얻음 → 로봇의 자세 q에 따라 값이 변함
  • 자코비안이 역행렬을 갖지 못하는 특별한 자세(특이점)에서 생기는 문제는 로봇 역기구학 해석에서 다룸
03

📊 다이어그램 · 수식

조인트 공간 ↔ 작업 공간

DIAGRAM
graph LR
    J["조인트 공간
q = (θ₁, θ₂, ..., θₙ)
모터가 아는 값"] C["작업 공간
x = (x, y, z, roll, pitch, yaw)
작업이 원하는 값"] J -- "순기구학 FK
해가 항상 유일" --> C C -- "역기구학 IK
다중해·무해 가능" --> J

DH 변환행렬 (표준 DH)

^{i-1}T_i = \text{Rot}(z, \theta_i)\ \text{Trans}(z, d_i)\ \text{Trans}(x, a_i)\ \text{Rot}(x, \alpha_i)를 전개하면:

^{i-1}T_{i} = \begin{bmatrix} \cos\theta_i & -\sin\theta_i\cos\alpha_i & \sin\theta_i\sin\alpha_i & a_i\cos\theta_i \\ \sin\theta_i & \cos\theta_i\cos\alpha_i & -\cos\theta_i\sin\alpha_i & a_i\sin\theta_i \\ 0 & \sin\alpha_i & \cos\alpha_i & d_i \\ 0 & 0 & 0 & 1 \end{bmatrix}

2링크 평면 로봇 순기구학

\begin{aligned} x &= l_1\cos\theta_1 + l_2\cos(\theta_1+\theta_2) \\ y &= l_1\sin\theta_1 + l_2\sin(\theta_1+\theta_2) \\ \phi &= \theta_1 + \theta_2 \quad (\text{말단의 방향각}) \end{aligned}
04

🎯 핵심 요약 · 암기 포인트

익힘 0 / 10카드를 눌러 뒤집고, 앞면에서 아는지 표시하세요.
Q · 1
기구학(Kinematics)과 동역학(Dynamics)의 차이는?
A
기구학은 힘을 고려하지 않고 기하학적 운동만 다루고, 동역학은 힘·토크와 운동의 관계까지 다룬다
Q · 2
순기구학(Forward Kinematics)이란?
A
조인트 변수(각도·변위)로부터 말단장치의 위치·자세(포즈)를 구하는 계산
Q · 3
순기구학 해의 개수는?
A
항상 유일하다 (조인트 값이 정해지면 로봇 모양은 하나로 결정)
Q · 4
조인트의 두 가지 기본 종류는?
A
회전조인트(Revolute, 변수 θ)와 직동조인트(Prismatic, 변수 d)
Q · 5
DH 파라미터 4가지는?
A
조인트각 θ, 링크 오프셋 d, 링크 길이 a, 링크 비틀림 α
Q · 6
회전조인트에서 변수가 되는 DH 파라미터는?
A
조인트각 θ (직동조인트에서는 링크 오프셋 d)
Q · 7
n자유도 직렬 로봇의 전체 순기구학은 어떻게 구하는가?
A
링크별 동차변환행렬의 연쇄 곱 ⁰Tₙ = ⁰T₁ · ¹T₂ · … · ⁿ⁻¹Tₙ
Q · 8
2링크 평면 로봇의 말단 x좌표 식은?
A
x = l₁cosθ₁ + l₂cos(θ₁+θ₂)
Q · 9
작업공간(Workspace)이란?
A
로봇 말단장치가 도달할 수 있는 모든 점의 집합
Q · 10
자코비안(Jacobian) 행렬이 연결하는 두 값은?
A
조인트 속도 q̇과 말단장치 속도 ẋ (ẋ = J(q)·q̇)
05

✏️ 예상문제

1. DH(Denavit-Hartenberg) 표기법의 4가지 파라미터에 해당하지 않는 것은?

① 링크 길이 a ② 링크 비틀림 \alpha ③ 링크 오프셋 d ④ 링크 질량 m

정답 및 해설

정답: ④ DH 파라미터는 조인트각 \theta, 링크 오프셋 d, 링크 길이 a, 링크 비틀림 \alpha의 4가지다. 질량은 기구학이 아니라 동역학에서 다루는 물성값이다.

2. 순기구학(Forward Kinematics)에 대한 설명으로 옳은 것은?

① 말단장치의 목표 포즈로부터 조인트 각도를 구한다 ② 조인트 변수로부터 말단장치의 위치와 자세를 구한다 ③ 해가 여러 개 존재하는 것이 일반적이다 ④ 조인트에 필요한 토크를 계산한다

정답 및 해설

정답: ② 순기구학은 조인트 공간 → 작업 공간 방향의 계산으로, 해는 항상 유일하다. ①·③은 역기구학, ④는 동역학에 대한 설명이다.

3. 링크 길이가 l_1 = l_2 = 1 m인 2링크 평면 머니퓰레이터에서 \theta_1 = 30°, \theta_2 = 60°일 때 말단장치의 위치 (x, y)는?

\left(\frac{\sqrt{3}}{2}, \frac{3}{2}\right)\left(\frac{3}{2}, \frac{\sqrt{3}}{2}\right)(1, 1)\left(\frac{\sqrt{3}}{2}, \frac{1}{2}\right)

정답 및 해설

정답: ① 두 번째 링크의 절대각은 \theta_1 + \theta_2 = 90°. x = \cos 30° + \cos 90° = \frac{\sqrt{3}}{2} + 0 = \frac{\sqrt{3}}{2} y = \sin 30° + \sin 90° = \frac{1}{2} + 1 = \frac{3}{2}

4. 축을 따라 미끄러지는 직선 운동을 하며, 변위 d를 변수로 갖는 조인트는?

① 회전조인트(Revolute Joint) ② 직동조인트(Prismatic Joint) ③ 구형조인트(Spherical Joint) ④ 유니버설조인트(Universal Joint)

정답 및 해설

정답: ② 직선 운동 조인트는 직동(프리즈매틱)조인트다. 회전조인트는 각도 \theta가 변수다. 구형·유니버설조인트는 다자유도 조인트로, 직렬 머니퓰레이터 해석에서는 보통 기본 조인트(R, P)의 조합으로 취급한다.

5. 자코비안(Jacobian) 행렬 J(q)에 대한 설명으로 옳은 것은?

① 조인트 토크와 말단 힘의 관계만 나타낸다 ② 로봇의 자세와 무관한 상수 행렬이다 ③ 조인트 속도를 말단장치 속도로 사상(mapping)한다 ④ 항상 정방행렬이며 역행렬이 존재한다

정답 및 해설

정답: ③ \dot{x} = J(q)\dot{q}로 조인트 속도를 말단 속도로 변환한다. J는 자세 q의 함수라서 로봇이 움직이면 값이 변하고(② 오답), 특이점에서는 역행렬이 존재하지 않는다(④ 오답). 힘 관계는 \tau = J^\top F로 자코비안의 전치가 담당하므로 ①은 "만"이 틀렸다.

06

🔗 관련 노트

로봇소프트웨어개발기사 필기 · 학습 교재출제기준 2025.1.1 – 2027.12.31