Inverse Dynamics Model
- 다른 이름: IDM, inverse model, inverse dynamics
- 카테고리: Learning & autonomy › RL & simulation
- 태그: dynamics, control, robot-learning, video-learning, model-based-control
관절 토크나 제어 명령 같은, 시스템을 현재 상태에서 원하는 다음 상태나 가속도로 옮기는 데 필요한 행동을 계산하는 모델.
정의
역동역학 모델(inverse dynamics model)은 순방향 모델이 답하는 질문의 반대에 답한다. 시스템이 지금 어디에 있고 다음에 어디에 있어야 하는지가 주어졌을 때, 어떤 행동이 그곳으로 데려가는가? 형식적으로, 역동역학 모델은 현재 상태와 원하는 다음 상태, 또는 원하는 가속도를 그 변화를 만들어 내는 행동으로 대응시킨다.
고전 로봇공학에서 역동역학은 주어진 관절 위치, 속도, 가속도를 달성하는 데 필요한 관절 토크를 계산하는 것을 뜻한다. 강체 로봇의 경우 이는 재귀 뉴턴-오일러 알고리즘(recursive Newton-Euler algorithm)으로 효율적으로 계산되며, 그 비용은 관절 수에 선형으로 증가한다. 역동역학은 계산 토크 제어와 피드포워드 보상의 기초이다. 제어기는 로봇 암이 궤적을 따르는 데 필요한 토크를 계산하고, 피드백은 남은 오차를 바로잡는 데에만 사용한다. 다리 로봇용 전신 제어기는 접촉력까지 고려하는 제약된 형태의 역동역학을 푼다.
로봇 학습에서 역동역학 모델은 보통 기록된 전이 데이터로 학습한 신경망으로, 연속된 두 관측 사이에 취해진 행동을 예측한다. 여기에는 여러 쓰임새가 있다. 생성된 비디오 프레임 같은 예측된 미래 관측을 로봇이 실행할 수 있는 행동으로 바꿀 수 있다. 행동이 기록되지 않은 비디오에, 어떤 행동이 취해졌어야 하는지를 추론해 레이블을 붙일 수 있다. 또한 학습된 표현이 에이전트가 제어할 수 있는 것을 담도록 유도하는 보조 학습 목표로도 쓰인다.
서로 다른 행동이 같은 결과를 낳거나 원하는 다음 상태에 한 단계로 도달할 수 없을 때 역모델은 불량 설정(ill-posed) 문제가 될 수 있으므로, 실제 시스템은 과거 상태나 더 긴 호라이즌 같은 맥락을 추가하는 경우가 많다.
중요한 이유
역동역학은 산업용 로봇 암의 계산 토크 제어부터 휴머노이드의 전신 제어까지, 로봇이 계획된 운동을 그 운동을 만들어 내는 힘이나 명령으로 바꾸는 방법이다. 로봇 학습에서 역동역학 모델은 예측과 행동을 연결하여, 비디오나 미래 상태 예측으로 학습한 시스템이 실제로 로봇을 제어할 수 있게 한다.
주요 응용
- 로봇 암의 계산 토크 제어와 피드포워드 제어
- 휴머노이드와 다리 로봇의 전신 제어
- 예측된 미래 관측을 실행 가능한 행동으로 변환
- 행동 레이블이 없는 비디오 데이터셋에 행동 레이블 추론
- 제어를 위한 자기 지도 표현 학습
실제 사례
정확한 URDF가 있는 로봇 암의 경우, 엔지니어는 Pinocchio 같은 라이브러리나 제조사의 제어기에서 역동역학을 계산해 그 결과 토크를 피드포워드로 넣고, 마찰과 모델링되지 않은 하중은 게인이 더 낮은 피드백 루프가 처리하도록 남겨 둔다. 모델이 불확실하면 먼저 관성 파라미터를 식별하거나 그 위에 잔차 보정을 학습시킨다. 학습 파이프라인에서는 팀이 행동이 기록된 로봇 궤적으로 작은 역동역학 네트워크를 학습시킨 뒤, 이를 사용해 행동 정보가 없는 더 큰 비디오 집합의 행동을 추론하거나, 모델이 예측한 다음 프레임을 명령으로 변환할 수 있다. 검증은 따로 남겨 둔 데이터에서 추론한 행동과 기록된 행동을 비교해 이루어진다.
흔한 오해
- 역동역학은 역기구학과 같다 — 역기구학은 원하는 자세에 대한 관절 위치를 찾고, 역동역학은 원하는 운동을 만들어 내는 데 필요한 힘이나 토크를 찾는다
- 역동역학 모델은 완전한 정책이다 — 주어진 다음 상태에 도달하는 방법을 알려 줄 뿐, 어떤 상태를 목표로 할지는 다른 무언가가 정해야 한다
- 역동역학의 답은 항상 유일하다 — 여유 자유도 로봇, 접촉, 여러 단계에 걸친 목표 때문에 여러 행동이 똑같이 타당할 수 있다
알아야 할 사람
- 로봇 암과 다리 로봇을 다루는 로봇 제어 엔지니어
- 비디오와 월드 모델을 활용하는 로봇 학습 연구자
- 휴머노이드 전신 제어 개발자
- 동역학을 공부하는 로봇공학 학생
관련 기술
- 재귀 뉴턴-오일러 알고리즘(Recursive Newton-Euler Algorithm)
- Pinocchio
- 계산 토크 제어(Computed-Torque Control)
- 전신 제어(Whole-Body Control)
- 순동역학 모델(Forward Dynamics Model)
- 월드 모델(World Model)
관련 용어
관련 프로젝트
- OpenPI: Physical Intelligence VLA foundation models for general robot control
- NVIDIA Isaac GR00T: NVIDIA open foundation model for humanoid robot reasoning and skills
- Drake: MIT robotics toolbox for model-based dynamics, optimization, and control system design
- 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
동영상
- Modern Robotics, Chapter 8.3: Newton-Euler Inverse Dynamics: Northwestern Robotics