6.1 벡터와 벡터 공간의 정의
1. 벡터의 물리적 개념
벡터(vector)는 크기(magnitude)와 방향(direction)을 동시에 가지는 물리량이다. 로봇공학에서 다루는 대부분의 물리량은 벡터로 표현되며, 위치(position), 속도(velocity), 가속도(acceleration), 힘(force), 토크(torque), 각속도(angular velocity) 등이 이에 해당한다. 이와 대비하여, 크기만을 가지는 물리량을 스칼라(scalar)라 하며, 질량, 온도, 에너지 등이 이에 속한다.
기하학적으로 벡터는 방향이 있는 화살표(directed arrow)로 시각화된다. 화살표의 길이가 벡터의 크기를 나타내고, 화살표의 방향이 벡터의 방향을 나타낸다. 두 벡터가 동일한 크기와 방향을 가지면 시작점이 다르더라도 동일한 벡터로 간주하며, 이를 자유 벡터(free vector)라 한다. 반면, 특정 시작점에 고정된 벡터를 위치 벡터(position vector) 또는 속박 벡터(bound vector)라 한다.
2. 벡터의 대수적 표현
n차원 실수 벡터는 n개의 실수를 순서대로 나열한 순서쌍(ordered tuple)으로 표현된다. n차원 실수 벡터 \mathbf{v}는 다음과 같이 열벡터(column vector) 형태로 기술한다.
\mathbf{v} = \begin{bmatrix} v_1 \\ v_2 \\ \vdots \\ v_n \end{bmatrix} \in \mathbb{R}^n
여기서 v_i는 벡터 \mathbf{v}의 제i 성분(component)이며, \mathbb{R}^n은 n차원 실수 벡터의 집합을 나타낸다. 행벡터(row vector)는 열벡터의 전치(transpose)로 표현되며, \mathbf{v}^\top = [v_1, v_2, \ldots, v_n]으로 기술한다.
로봇공학에서는 주로 \mathbb{R}^2(2차원 평면)와 \mathbb{R}^3(3차원 공간)의 벡터를 다루며, 3차원 위치 벡터 \mathbf{p} = [p_x, p_y, p_z]^\top, 3차원 각속도 벡터 \boldsymbol{\omega} = [\omega_x, \omega_y, \omega_z]^\top 등이 대표적 예이다. 관절 공간에서의 관절 변수 벡터 \mathbf{q} = [q_1, q_2, \ldots, q_n]^\top은 n자유도 로봇의 경우 \mathbb{R}^n에 속한다.
벡터 공간의 공리적 정의
벡터 공간(vector space)은 벡터의 덧셈과 스칼라 곱에 대해 닫혀 있는 대수적 구조이다. 공식적으로, 체(field) \mathbb{F} 위의 벡터 공간 V는 집합 V와 두 연산, 즉 벡터 덧셈 +: V \times V \to V와 스칼라 곱 \cdot: \mathbb{F} \times V \to V로 구성되며, 다음의 8가지 공리를 만족하여야 한다 (Axler, 2024).
벡터 덧셈에 관한 공리
임의의 벡터 \mathbf{u}, \mathbf{v}, \mathbf{w} \in V에 대하여 다음이 성립한다.
- 교환 법칙(Commutativity): \mathbf{u} + \mathbf{v} = \mathbf{v} + \mathbf{u}
- 결합 법칙(Associativity): (\mathbf{u} + \mathbf{v}) + \mathbf{w} = \mathbf{u} + (\mathbf{v} + \mathbf{w})
- 영벡터의 존재(Existence of additive identity): \mathbf{u} + \mathbf{0} = \mathbf{u}를 만족하는 영벡터 \mathbf{0} \in V가 존재한다.
- 역벡터의 존재(Existence of additive inverse): \mathbf{u} + (-\mathbf{u}) = \mathbf{0}을 만족하는 -\mathbf{u} \in V가 존재한다.
스칼라 곱에 관한 공리
임의의 스칼라 a, b \in \mathbb{F}와 벡터 \mathbf{u}, \mathbf{v} \in V에 대하여 다음이 성립한다.
- 스칼라 곱의 결합 법칙(Compatibility of scalar multiplication): a(b\mathbf{u}) = (ab)\mathbf{u}
- 항등원의 존재(Identity element of scalar multiplication): 1\mathbf{u} = \mathbf{u}
- 스칼라 곱의 벡터 덧셈에 대한 분배 법칙(Distributivity over vector addition): a(\mathbf{u} + \mathbf{v}) = a\mathbf{u} + a\mathbf{v}
- 스칼라 곱의 체 덧셈에 대한 분배 법칙(Distributivity over field addition): (a + b)\mathbf{u} = a\mathbf{u} + b\mathbf{u}
로봇공학에서 가장 일반적으로 사용되는 벡터 공간은 실수체 \mathbb{R} 위의 n차원 유클리드 공간 \mathbb{R}^n이다. 이 공간에서 벡터 덧셈과 스칼라 곱은 성분별(componentwise)로 정의된다.
\mathbf{u} + \mathbf{v} = \begin{bmatrix} u_1 + v_1 \\ u_2 + v_2 \\ \vdots \\ u_n + v_n \end{bmatrix}, \quad a\mathbf{u} = \begin{bmatrix} au_1 \\ au_2 \\ \vdots \\ au_n \end{bmatrix}
3. 벡터 공간의 다양한 예
벡터 공간의 공리적 정의는 \mathbb{R}^n에 한정되지 않으며, 이 공리를 만족하는 다양한 수학적 구조가 벡터 공간을 형성한다.
3.1 m \times n 실수 행렬의 공간 \mathbb{R}^{m \times n}
m \times n 실수 행렬의 집합은 행렬 덧셈과 스칼라 곱에 대하여 벡터 공간을 이룬다. 이 공간은 로봇공학에서 변환 행렬, 자코비안 행렬, 관성 행렬 등의 연산에서 자연스럽게 등장한다.
3.2 다항식 공간 \mathcal{P}_n
차수가 n 이하인 실수 계수 다항식의 집합 \mathcal{P}_n은 다항식 덧셈과 스칼라 곱에 대하여 벡터 공간을 이룬다. 로봇 궤적 생성에서 다항식 경로(polynomial trajectory)를 설계할 때 이 공간의 구조가 활용된다.
3.3 연속 함수 공간 C[a, b]
폐구간 [a, b]에서 정의된 실수 값 연속 함수의 집합 C[a, b]은 함수 덧셈과 스칼라 곱에 대하여 벡터 공간을 이룬다. 이 무한 차원 벡터 공간은 함수 근사, 신호 처리, 최적 제어 이론 등에서 중요한 역할을 한다.
4. 벡터 공간의 로봇공학적 의의
벡터 공간의 개념은 로봇공학에서 다루는 다양한 공간을 통합적으로 이해하기 위한 수학적 틀을 제공한다. 로봇의 관절 공간(joint space)은 n자유도 로봇에 대해 \mathbb{R}^n의 부분 집합으로 모델링되며, 작업 공간(task space)에서의 말단 장치 위치와 자세는 \mathbb{R}^3 \times SO(3)로 표현된다. 관절 공간에서의 속도 벡터 \dot{\mathbf{q}}와 작업 공간에서의 속도 벡터 \dot{\mathbf{x}} 간의 관계는 자코비안 행렬을 매개로 하는 선형 사상(linear mapping)으로 기술되며, 이 사상의 해석에 벡터 공간 이론이 본질적으로 사용된다.
벡터 공간의 공리적 구조를 이해하는 것은 단순한 수학적 형식이 아니라, 로봇 시스템에서 어떤 연산이 허용되고 어떤 성질이 보장되는지를 파악하기 위한 기초이다. 예를 들어, 회전 행렬의 집합 SO(3)는 행렬 덧셈에 대하여 닫혀 있지 않으므로 벡터 공간을 이루지 않으며, 이러한 사실은 회전의 합성을 단순한 덧셈이 아닌 행렬 곱셈으로 처리해야 하는 이유를 수학적으로 설명한다.
5. 내적 공간과 노름 공간
벡터 공간에 추가적인 구조를 부여하면 보다 풍부한 수학적 도구를 활용할 수 있다. 내적(inner product)이 정의된 벡터 공간을 내적 공간(inner product space)이라 하며, 내적으로부터 유도되는 노름(norm)을 통해 벡터의 크기와 벡터 간의 거리를 측정할 수 있다.
\mathbb{R}^n에서의 표준 내적(standard inner product)은 다음과 같이 정의된다.
\langle \mathbf{u}, \mathbf{v} \rangle = \mathbf{u}^\top \mathbf{v} = \sum_{i=1}^{n} u_i v_i
이 내적으로부터 유도되는 유클리드 노름(Euclidean norm)은 다음과 같다.
\|\mathbf{v}\| = \sqrt{\langle \mathbf{v}, \mathbf{v} \rangle} = \sqrt{\sum_{i=1}^{n} v_i^2}
노름이 정의된 벡터 공간을 노름 공간(normed space)이라 하며, 노름은 다음의 세 가지 조건을 만족한다.
- 비음수성(Non-negativity): \|\mathbf{v}\| \geq 0이고, \|\mathbf{v}\| = 0 \iff \mathbf{v} = \mathbf{0}
- 동차성(Homogeneity): \|a\mathbf{v}\| = |a| \|\mathbf{v}\|
- 삼각 부등식(Triangle inequality): \|\mathbf{u} + \mathbf{v}\| \leq \|\mathbf{u}\| + \|\mathbf{v}\|
로봇공학에서 유클리드 노름은 3차원 공간에서의 거리 측정, 속도의 크기 계산, 오차의 크기 평가 등에 일상적으로 사용된다.
6. 벡터의 표기 규약
본 서적에서는 다음의 표기 규약을 따른다.
| 표기 | 의미 |
|---|---|
| a, b, c, \ldots | 스칼라 |
| \mathbf{u}, \mathbf{v}, \mathbf{w}, \ldots | 벡터 (볼드체 소문자) |
| A, B, C, \ldots | 행렬 (대문자) |
| \mathbf{0} | 영벡터 |
| \mathbf{e}_i | 표준 기저 벡터 (i번째 성분만 1이고 나머지는 0) |
| \mathbb{R}^n | n차원 실수 벡터 공간 |
| \mathbb{R}^{m \times n} | m \times n 실수 행렬 공간 |
표준 기저 벡터(standard basis vector) \mathbf{e}_i는 \mathbb{R}^n에서 i번째 성분만 1이고 나머지 성분이 모두 0인 벡터이다. 예를 들어, \mathbb{R}^3에서의 표준 기저는 다음과 같다.
\mathbf{e}_1 = \begin{bmatrix} 1 \\ 0 \\ 0 \end{bmatrix}, \quad \mathbf{e}_2 = \begin{bmatrix} 0 \\ 1 \\ 0 \end{bmatrix}, \quad \mathbf{e}_3 = \begin{bmatrix} 0 \\ 0 \\ 1 \end{bmatrix}
이 표준 기저는 로봇공학에서 x축, y축, z축 방향의 단위 벡터로 해석되며, 좌표계의 축 방향을 정의하는 기본 도구이다.
참고문헌
- Axler, S. (2024). Linear Algebra Done Right (4th ed.). Springer.
- Strang, G. (2023). Introduction to Linear Algebra (6th ed.). Wellesley-Cambridge Press.
- Siciliano, B., Sciavicco, L., Villani, L., & Oriolo, G. (2009). Robotics: Modelling, Planning and Control. Springer.
- Murray, R. M., Li, Z., & Sastry, S. S. (1994). A Mathematical Introduction to Robotic Manipulation. CRC Press.
Version: 1.0