3차스플라인궤적 (Cubic Spline Trajectory)

로봇공학
한 줄 정의: 여러 개의 경유점을 3차 다항식 구간들로 이어 붙여 위치와 속도(구성 방식에 따라 가속도까지)가 연속이 되도록 생성하는 궤적이다. 단일 다항식으로는 표현하기 어려운 복잡한 경로를 여러 구간으로 나누어 부드럽게 연결할 수 있다.

쉽게 풀면

여러 지점을 지나가야 할 때, 각 구간을 부드러운 곡선으로 이어 붙여서 매끄러운 길을 만드는 방법이에요.

왜 중요한가

여러 경유점을 지나면서 위치·속도·가속도가 연속인 부드러운 궤적을 만드는 표준 방법으로, 관절 모터에 충격을 주지 않고 부드럽게 움직이려는 거의 모든 로봇 컨트롤러에 내장되어 있습니다. 궤적 계획 논문에서 새 방법과 비교하는 기준선 역할을 합니다. 산업용 로봇의 컨트롤러 대부분이 여러 교시점을 부드럽게 잇는 기본 보간 방식으로 이를 채택하고 있어, 사용자가 직접 다항식 계수를 계산하지 않아도 매끄러운 동작을 얻을 수 있다.

어떤 절차인가

구간마다 시간 t에 대한 3차 다항식 θ(t) = a0 + a1t + a2t² + a3t³을 하나씩 놓고, 이웃 구간이 만나는 경유점에서 매끄럽게 이어지도록 계수 네 개를 정하는 방법입니다.

  1. 경유점의 위치와 도달 시각을 정합니다.
  2. 각 구간이 시작·끝 경유점을 지나도록 합니다(위치 조건).
  3. 이웃 구간이 경유점에서 같은 속도를 갖도록 합니다(1계 미분 연속). 경유점 속도를 직접 지정하는 방식은 구간별 3차 에르미트(Hermite) 형태이며 1계 미분까지 연속입니다. 가속도(2계 미분)까지 이웃 구간과 맞추는 3차 스플라인은 계수를 구하는 연립방정식이 삼중대각행렬 형태가 됩니다.
  4. 양 끝의 조건을 정합니다. 자연(natural) 스플라인은 양 끝의 2계 미분을 0으로 두고, 고정(clamped) 스플라인은 양 끝의 기울기(속도)를 지정합니다.

구간 하나(길이 tf)에서 시작·끝 위치를 θ0, θf, 시작·끝 속도를 v0, vf로 주면 계수는 다음과 같습니다.

a0=θ0, a1=v0, a2=3(θf−θ0)/tf² − 2v0/tf − vf/tf, a3=−2(θf−θ0)/tf³ + (v0+vf)/tf²

언제 쓰고 무엇을 얻나

여러 경유점을 지나면서 속도가 끊기지 않는 궤적이 필요할 때 씁니다. 다만 3차 다항식은 이어 붙이는 방식에 따라 매끄러움의 정도가 달라집니다. 아래 수치는 모두 가상의 예입니다.

예 1: 한 구간. 관절을 10°에서 40°까지 3초 동안 정지에서 정지로(v0=vf=0) 움직이면 θ(t) = 10 + 10t² − 2.222t³ (t는 초)입니다. 최대 속도는 t=1.5초에서 15°/s이고, 가속도는 시작에서 +20°/s², 끝에서 −20°/s²이며 저크(가속도의 변화율)는 일정하게 −13.3°/s³입니다. 즉 정지에서 정지로 가는 3차 구간은 시작과 끝에서 가속도가 0이 아닙니다.

예 2: 경유점 세 개. 0°, 60°, 20°를 각각 0초, 2초, 5초에 지나고 양 끝 속도는 0이라고 합시다.

방식경유점(60°)에서의 속도경유점 직전 가속도경유점 직후 가속도
경유점 속도를 0으로 지정한 구간별 3차0°/s−90°/s²−26.7°/s²
가속도까지 연속인 3차 스플라인(고정 끝 조건)19°/s−52°/s²−52°/s²

앞의 방식은 경유점에서 가속도가 갑자기 바뀌고, 뒤의 방식은 가속도까지 이어집니다. 대신 스플라인은 60° 지점을 넘어 약 2.4초에 63.8°까지 올라갑니다. 경유점을 정확히 지나는 대신 점 사이에서 값이 경유점 위치를 넘을 수 있으므로, 관절 한계나 장애물과의 간격을 따로 확인해야 합니다.

논문에는 이렇게 적는다

문장 형식의 예(가상):

6개의 경유점을 구간별 3차 다항식으로 연결하고, 경유점에서 위치·속도·가속도가 연속이 되도록 계수를 구하였다(양 끝 속도 0).

논문에서는 이렇게 쓰입니다

실제 논문에서

이 용어를 직접 쓴 국내 논문 문장을 아직 수집하지 못했습니다. 수집되는 대로 출처와 함께 싣겠습니다.

예시 문장

아래는 용어의 쓰임을 보여 주려고 만든 예시로, 실제 논문에서 가져온 문장이 아닙니다.

본 논문에서는 5개의 경유점을 3차스플라인궤적으로 연결하여 각 구간 경계에서 속도 연속성을 보장하였다.

논문에서 3차스플라인궤적은 다수의 경유점을 매끄럽게 지나가야 하는 복잡한 작업의 궤적 생성 기법으로 사용됩니다.

"로봇 팔 제어에서는 지정된 경유점들을 3차 스플라인으로 연결하여 각 구간 경계에서 속도가 끊기지 않는 매끄러운 궤적을 생성하였다."

구간별 3차 다항식을 이어 붙이되 경계에서 위치와 속도의 연속성을 보장하는 방식임을 보여주는 서술입니다.

조금 더 깊게 보면

3차 다항식 구간을 이으면 가속도까지는 연속이지만 가속도의 미분인 저크는 불연속이어서, 진동에 민감한 응용에서는 5차 스플라인이나 저크 제한 프로파일을 씁니다. 경유점을 정확히 지나도록 강제하면 점 사이에서 원치 않는 오버슈트가 생겨 장애물과 충돌할 수 있으므로, 통과점을 근사하는 B-스플라인이 충돌 회피 응용에는 더 적합합니다. 각 구간을 독립적인 3차 다항식으로 놓고, 인접 구간의 경계에서 위치·속도·가속도가 일치하도록 연립방정식을 세워 전체 계수를 한 번에 구하는 것이 3차 스플라인의 표준 절차이며, 양 끝의 경계 조건을 어떻게 두느냐에 따라 자연 스플라인(양 끝의 2계 미분을 0으로 둠)과 clamped 스플라인(양 끝의 기울기를 지정함) 등으로 나뉜다. 경유점 개수가 많을수록 연립방정식의 크기가 커지지만 삼중대각행렬 구조 덕분에 계산은 여전히 빠르게 이루어진다.

주의할 점

경유점 속도를 직접 지정해 이은 구간별 3차 다항식은 위치와 속도만 연속이고 가속도는 구간 경계에서 불연속일 수 있으며, 가속도까지 연속으로 맞춘 3차 스플라인도 저크는 불연속이어서, 더 매끄러움이 필요하면 5차 스플라인이 사용된다.

경유점 사이 간격이 극단적으로 다르면 특정 구간에서 속도가 과도하게 커지는 오버슈트가 나타날 수 있어, 경유점 배치 자체도 궤적 품질에 영향을 준다.

헷갈리기 쉬운 용어

모두 궤적을 시간의 함수로 만드는 방법이지만 표현 방식과 매끄러운 정도가 다릅니다.

용어무엇을 가리키나3차 스플라인 궤적과의 관계
다항식 궤적변수의 시간 변화를 다항식(3차, 5차 등)으로 표현한 궤적3차 스플라인 궤적은 3차 다항식 여러 개를 구간별로 이어 붙인 것
사다리꼴 속도 프로파일가속-등속-감속 구간으로 속도 그래프가 사다리꼴인 궤적최대 속도·가속도 제약을 명시하기 쉬운 대신, 구간 경계에서 가속도가 바뀌는 모서리가 있음
궤적 계획시간에 따른 위치·속도·가속도를 미리 설계하는 과정 전체3차 스플라인은 그 안에서 쓰는 방법의 하나
웨이포인트궤적이 지나가도록 지정한 중간 지점3차 스플라인에 입력으로 주어지는 점들

참고 문헌

  1. Craig, J. J. (2005). Introduction to Robotics: Mechanics and Control (3rd ed.). Pearson Education.
  2. Lin, C., Chang, P., & Luh, J. (1983). Formulation and optimization of cubic polynomial joint trajectories for industrial robots. IEEE Transactions on Automatic Control, 28(12), 1066-1074.
  3. de Boor, C. (2001). A Practical Guide to Splines (Rev. ed.). Springer.
  4. Siciliano, B., et al. (2009). Robotics: Modelling, Planning and Control. Springer.

표의 기준값은 위 문헌에 근거한 관례이며, 분야·학술지마다 다른 기준을 쓸 수 있습니다.

개념 계통

상위 개념

분야 전체 개념 지도 보기 →

관련 용어