7.145 B-스플라인 기반 궤적 표현
1. B-스플라인의 정의
B-스플라인(B-spline)은 구분적(piecewise) 다항식으로 정의되는 매끄러운 매개변수 곡선으로, 제어점(control point)의 가중 결합으로 표현된다. 차수 p, 매듭 벡터(knot vector) \mathbf{t} = [t_0, t_1, \ldots, t_{m}], 제어점 \mathbf{d}_0, \ldots, \mathbf{d}_n이 주어질 때, B-스플라인 곡선은 다음과 같다.
\mathbf{s}(\tau) = \sum_{i=0}^{n} N_{i,p}(\tau) \mathbf{d}_i
여기서 N_{i,p}(\tau)는 콕스-드보어(Cox-de Boor) 재귀 공식으로 정의되는 p차 B-스플라인 기저 함수이다.
N_{i,0}(\tau) = \begin{cases} 1 & t_i \leq \tau < t_{i+1} \\ 0 & \text{그 외} \end{cases}
N_{i,p}(\tau) = \frac{\tau - t_i}{t_{i+p} - t_i}N_{i,p-1}(\tau) + \frac{t_{i+p+1} - \tau}{t_{i+p+1} - t_{i+1}}N_{i+1,p-1}(\tau)
2. B-스플라인의 주요 성질
국소 지지(local support): N_{i,p}(\tau)는 [t_i, t_{i+p+1})에서만 비영이다. 따라서 제어점 \mathbf{d}_i의 변경은 국소 영역의 곡선에만 영향을 미친다.
비음성: N_{i,p}(\tau) \geq 0 (모든 \tau).
단위 분할: \sum_i N_{i,p}(\tau) = 1 (모든 \tau).
연속성: 내부 매듭에서 C^{p-1} 연속이다. 차수 p = 3 (3차 B-스플라인)이면 C^2 연속이다.
볼록 포(convex hull): 곡선은 제어점의 볼록 포 내에 놓인다.
미분: p차 B-스플라인의 도함수는 (p-1)차 B-스플라인으로 표현된다.
\frac{d\mathbf{s}}{d\tau} = \sum_{i=0}^{n-1} N_{i,p-1}(\tau) \frac{p}{t_{i+p+1} - t_{i+1}}(\mathbf{d}_{i+1} - \mathbf{d}_i)
3. 궤적 표현으로서의 B-스플라인
로봇 궤적 \mathbf{q}(t)를 B-스플라인으로 매개변수화하면, 궤적 최적화의 결정 변수가 제어점 \{\mathbf{d}_i\}로 축소된다.
\mathbf{q}(t) = \sum_{i=0}^{n} N_{i,p}(t) \mathbf{d}_i
속도와 가속도도 B-스플라인으로 해석적으로 표현된다.
\dot{\mathbf{q}}(t) = \sum_{i} \dot{N}_{i,p}(t) \mathbf{d}_i, \quad \ddot{\mathbf{q}}(t) = \sum_{i} \ddot{N}_{i,p}(t) \mathbf{d}_i
4. B-스플라인 기반 궤적 최적화의 장점
매끄러움의 내재적 보장: p차 B-스플라인은 내부 매듭에서 C^{p-1} 연속을 자동으로 만족한다. 3차 B-스플라인은 위치, 속도, 가속도의 연속성을 보장하며, 별도의 연속성 제약을 부과할 필요가 없다.
결정 변수의 축소: 직접 배치법에서 각 격자점의 상태를 결정 변수로 사용하는 것에 비해, B-스플라인의 제어점 수가 적으므로 최적화 문제의 규모가 축소된다.
국소 수정: 제어점의 변경이 국소적 영향만 미치므로, 궤적의 일부를 수정할 때 전체 궤적이 영향받지 않는다.
경계 조건의 용이한 부과: 시작점과 끝점의 위치, 속도, 가속도 조건이 소수의 제어점에 대한 선형 제약으로 표현된다.
5. 궤적 최적화에서의 B-스플라인 정식화
제어점을 결정 변수로 하는 궤적 최적화 문제는 다음과 같다.
\min_{\{\mathbf{d}_i\}} \quad J(\{\mathbf{d}_i\})
\text{s.t.} \quad \mathbf{q}(t_0) = \mathbf{q}_0, \; \dot{\mathbf{q}}(t_0) = \dot{\mathbf{q}}_0
\mathbf{q}(t_f) = \mathbf{q}_f, \; \dot{\mathbf{q}}(t_f) = \dot{\mathbf{q}}_f
\mathbf{q}_{\min} \leq \mathbf{q}(t) \leq \mathbf{q}_{\max}, \quad \forall t
비용 함수의 예로 에너지 비용은 다음과 같이 제어점의 이차 형식으로 표현된다.
J = \int_{t_0}^{t_f} \ddot{\mathbf{q}}^T\ddot{\mathbf{q}} \, dt = \mathbf{d}^T\mathbf{Q}\mathbf{d}
여기서 \mathbf{d}는 모든 제어점의 벡터이고, \mathbf{Q}는 B-스플라인 기저 함수의 적분으로 구성되는 양의 반정치 행렬이다. 이 경우 문제가 이차 계획(QP)으로 환원된다.
6. 경로 제약의 처리
관절 한계나 장애물 회피와 같은 경로 제약 \mathbf{g}(\mathbf{q}(t)) \leq \mathbf{0}은 연속 시간 제약이므로, 이산적 검사점에서 부과하거나 B-스플라인의 볼록 포 성질을 활용하여 충분 조건으로 변환한다.
볼록 포 기반 충분 조건: 제어점이 허용 영역 내에 있으면 (\mathbf{q}_{\min} \leq \mathbf{d}_i \leq \mathbf{q}_{\max}), B-스플라인의 볼록 포 성질에 의해 곡선 전체가 허용 영역 내에 놓인다. 이 조건은 충분 조건이므로 보수적이지만, 연속 시간 제약을 유한 개의 선형 부등식으로 환원하는 실용적 이점이 있다.
7. 시간 최적화와 B-스플라인
궤적의 기하학적 형상을 B-스플라인으로 표현하고, 경로를 따르는 시간 할당을 별도로 최적화하는 이단계 접근법이 사용된다. 시간 할당의 최적화는 매듭 간격을 조절하거나, 경로 매개변수의 시간 사상(time parameterization)을 추가 B-스플라인으로 표현하여 수행된다.
8. 참고 문헌
- De Boor, C. (2001). A Practical Guide to Splines (Revised ed.). Springer.
- Piegl, L., & Tiller, W. (1997). The NURBS Book (2nd ed.). Springer.
- Mercy, T., Van Loock, W., & Pipeleers, G. (2017). “Real-Time Motion Planning in the Presence of Moving Obstacles.” Proceedings of the European Control Conference (ECC), 1586–1591.
- Betts, J. T. (2010). Practical Methods for Optimal Control and Estimation Using Nonlinear Programming (2nd ed.). SIAM.
version: 1.0