Open Source Robotics

고품질 오픈소스 로봇 프로젝트, 도구 및 소프트웨어의 엄선된 컬렉션.

Dynamic Movement Primitive

  • 다른 이름: DMP, dynamical movement primitive
  • 카테고리: Learning & autonomy › Learning from demonstration
  • 태그: learning-from-demonstration, motion-primitives, trajectory-generation, dynamical-systems, robot-learning

궤적을 안정적인 2차 동역학계와 학습된 강제항으로 부호화하는 모션 프리미티브로, 시연된 움직임을 새로운 목표와 새로운 속도로 재생할 수 있게 한다.

정의

동적 운동 프리미티브(Dynamic movement primitive, DMP)는 움직임을 고정된 경유점 목록이 아니라 동역학계의 출력으로 표현한다. 이 정식화는 2000년대 초 Ijspeert, Nakanishi, Schaal이 개발했으며, 이후 Ijspeert 등(2013)이 dynamical movement primitives라는 이름으로 전체를 발표했다. 각 자유도마다 변환 시스템(transformation system)이 위치를 목표 g 쪽으로 끌어당기는 임계 감쇠 스프링-댐퍼처럼 동작한다. 여기에 도중의 경로 모양을 정하는 강제항(forcing term)이 더해진다. 강제항은 위상 변수(phase variable) x에 대한 가우시안 기저 함수들의 가중합이며, x는 1에서 0을 향해 매끄럽게 감쇠하는 별도의 정준 시스템(canonical system)이 생성한다. 강제항에 x가 곱해지므로 강제항은 시간이 지나며 사라지고, 시스템은 단순한 스프링-댐퍼처럼 목표로 수렴하는 것이 보장된다.

시연으로부터 DMP를 학습하는 것은 간단하다. 시연된 위치, 속도, 가속도를 사용해 시스템에 필요한 강제항을 계산하고, 기저 함수 가중치를 선형 회귀로 맞춘다. 학습된 움직임은 이후 일반화할 수 있다. 강제항은 시작점에서 목표까지의 거리로 스케일되므로, g를 바꾸면 모양을 유지한 채 끝점이 옮겨진다. 시간 상수 τ를 바꾸면 움직임이 빨라지거나 느려진다. 여러 자유도가 하나의 정준 시스템을 공유하므로 서로 동기화된 상태가 유지된다. 리듬형 버전은 걷기나 닦기 같은 주기적 움직임을 위해 진동하는 위상을 사용하며, 장애물 회피를 위해 또는 추종 오차가 커질 때 위상을 늦추기 위해 결합항을 추가할 수 있다.

DMP는 재사용 가능한 운동 구성 요소라는 일반적 개념인 모션 프리미티브(motion primitive)의 한 특정한 종류다. 다른 학습된 프리미티브와 비교하면 DMP는 결정론적이며 단일 궤적을 표현한다. 반면 확률적 운동 프리미티브(probabilistic movement primitives, ProMPs)는 여러 시연으로부터 학습한 궤적들의 분포를 표현한다. 원래 정식화의 알려진 약점으로는 새 목표가 시작점에 매우 가깝거나 시작점의 반대쪽에 있을 때의 이상한 스케일링이 있으며, 이후의 수정된 정식화가 이를 다룬다. 또한 쿼터니언 DMP처럼 방향을 다루기 위한 특별한 형태가 필요하다. 간결한 가중치 벡터 덕분에 DMP는 실제 로봇에서의 강화학습을 위한 흔한 정책 매개변수화이기도 하다.

중요한 이유

DMP는 단 한 번의 시연으로 움직임을 학습하고, 수렴 보장을 유지하면서 새로운 목표와 타이밍으로 재사용하는 방법을 제공한다. 쉬운 학습, 매끄러운 출력, 안정성의 이러한 조합 덕분에 DMP는 시연 학습의 표준 표현이자 더 새로운 궤적 모델의 흔한 비교 기준이 되었다.

주요 응용

  • 운동감각 교시나 원격 조작으로 얻은 단일 시연으로부터 조작 기술 학습
  • 뻗기, 따르기, 놓기 동작을 새로운 목표 위치로 일반화
  • 소셜 로봇의 표현적 제스처 생성과 조절
  • 닦기, 북 치기, 보행 패턴 같은 리듬형 동작
  • 실제 로봇에서의 강화학습을 위한 정책 매개변수화

실제 사례

한 소셜 로봇에 애니메이터가 기록한 손 흔들기와 어깨 으쓱하기 같은 표현적 팔 제스처 세트가 주어진다. 각 제스처는 관절마다 하나씩, 정준 시스템을 공유하는 DMP 세트로 부호화된다. 실행 시 상위 모듈이 제스처를 고르고 이를 조절한다. 시간 상수를 바꾸면 들뜬 어조에서는 손 흔들기가 빨라지고 차분한 어조에서는 느려지며, 목표를 옮기면 손이 더 높이 올라가고, 강제항 가중치를 스케일하면 동작이 커지거나 작아진다. 각 DMP는 항상 목표로 수렴하므로 조절된 제스처도 여전히 유효한 자세로 끝나며, 관절 명령은 실행 전에 로봇의 관절 한계와 속도 한계를 거친다.

흔한 오해

  • DMP는 기록된 궤적일 뿐이다 — DMP는 새로운 목표와 속도로 다시 맞출 수 있고 자신의 상태에 가해진 섭동에 반응하는 동역학계다
  • 모션 프리미티브와 DMP는 같은 뜻이다 — DMP는 여러 종류의 모션 프리미티브 중 하나의 특정한 정식화다
  • DMP는 여러 시연의 변동성을 포착한다 — 기본 DMP는 궤적 하나를 맞추며, 시연 간의 변동은 확률적 운동 프리미티브가 모델링한다
  • DMP는 스스로 장애물을 피한다 — 장애물 회피에는 추가 결합항이나 외부 계획기가 필요하다

알아야 할 사람

  • 시연 학습을 연구하는 로봇 학습 연구자
  • 재사용 가능한 기술 라이브러리를 만드는 조작 엔지니어
  • 로봇 제스처를 설계하는 인간-로봇 상호작용 연구자
  • 궤적 표현을 공부하는 로봇공학 학생

관련 기술

  • 확률적 운동 프리미티브(Probabilistic Movement Primitives)
  • 국소 가중 회귀(Locally Weighted Regression)
  • 가우시안 혼합 회귀(Gaussian Mixture Regression)
  • 운동감각 교시(Kinesthetic Teaching)
  • 정책 탐색 강화학습(Policy Search Reinforcement Learning)

관련 용어

  • Motion Primitive
  • Kinesthetic Teaching
  • Imitation Learning
  • Trajectory Planning
  • Reinforcement Learning
  • Impedance Control

관련 프로젝트

  • OpenPI: Physical Intelligence VLA foundation models for general robot control
  • NVIDIA Isaac GR00T: NVIDIA open foundation model for humanoid robot reasoning and skills
  • DreamZero: NVIDIA World Action Model that jointly predicts future video and robot actions
  • robosuite: Modular MuJoCo simulation framework for robot learning research
  • LIBERO: Lifelong robot learning benchmark with 130 procedural tasks
  • Open X-Embodiment (OXE): Largest open robotics dataset: 1M+ episodes from 22 embodiments

이 웹사이트는 JavaScript가 필요합니다. 오픈소스 로봇 프로젝트를 탐색하려면 JavaScript를 활성화하세요.