Open Source Robotics

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

System Identification

  • 다른 이름: SysID, Sys ID, model identification, parameter identification
  • 카테고리: Learning & autonomy › RL & simulation
  • 태그: dynamics, modeling, sim-to-real, parameter-estimation, control, simulation

측정된 입력 및 출력 데이터로부터 로봇이나 다른 동적 시스템의 수학적 모델을 만들어, 모델이 예측한 거동이 실제 하드웨어와 맞도록 하는 과정이다.

정의

시스템 식별(system identification)은 실험 데이터로부터 동적 시스템의 모델을 추정하는 일이다. 엔지니어는 알려진 입력(모터 명령, 토크, 전압)을 가하고, 그 결과로 나오는 출력(관절 위치, 속도, 힘)을 기록한 다음, 모델의 예측이 측정값과 맞도록 모델의 파라미터를 맞춘다. 이 분야에는 고유한 교과서 전통이 있으며, Lennart Ljung의 System Identification: Theory for the User가 표준 참고서이다.

접근법은 흔히 물리를 얼마나 가정하느냐로 구분된다. 화이트박스(white-box) 또는 그레이박스(grey-box) 식별은 강체 동역학 같은 알려진 방정식에서 출발해 미지의 상수, 즉 링크 질량, 질량 중심, 관성, 마찰 계수, 모터 상수, 기어 효율을 추정한다. 블랙박스(black-box) 식별은 전달 함수나 신경망 같은 범용 모델을 사전 구조가 거의 없는 상태로 맞춘다. 직렬 로봇 암에서는 강체 동역학이 관성 파라미터에 대해 선형이므로, 측정된 관절 궤적으로 회귀 행렬을 만들고 나면 최소제곱법으로 이 파라미터들을 추정할 수 있다.

결과는 데이터 품질이 좌우한다. 입력은 지속적으로 가진(persistently exciting)해야 한다. 즉 추정하려는 모든 파라미터가 드러날 만큼 시스템을 충분히 움직여야 한다. 천천히만 움직이는 로봇은 관성을 드러낼 수 없고, 방향을 한 번도 바꾸지 않는 로봇은 마찰을 숨긴다. 그래서 팀은 가진 궤적을 설계하고, 잡음이 있는 속도와 가속도 추정값을 필터링하며, 맞춤에 쓰지 않은 데이터로 모델을 검증한다.

로봇 학습에서 시스템 식별은 시뮬레이터를 보정하는 데 쓰여, 시뮬레이션에서 훈련한 정책이 실제 하드웨어에서 더 가깝게 맞는 조건을 만나게 한다. 이는 식별로 확정할 수 없는 것을 다루는 도메인 무작위화, 그리고 선택한 모델 구조가 빠뜨린 효과를 포착하는 학습된 잔차 모델과 나란히 쓰인다. 일부 학습된 제어기는 일종의 식별을 온라인으로 수행해, 작동 중에 관측한 동역학에 적응한다.

중요한 이유

모든 모델 기반 제어기, 시뮬레이터, 플래너는 그 바탕이 되는 모델만큼만 좋다. 시스템 식별은 팀이 CAD 모델과 데이터시트를 실제 로봇을 예측하는 모델로 바꾸는 방법이며, 이는 추종 정확도, 안전 여유, 그리고 시뮬레이션 훈련이 하드웨어로 얼마나 잘 옮겨지는지에 직접 영향을 준다.

주요 응용

  • Sim-to-Real 전이 전에 물리 시뮬레이터를 실제 로봇에 맞게 보정
  • 피드포워드 제어와 계산 토크 제어를 위한 관성 및 마찰 파라미터 추정
  • 모터 상수, 지연, 토크 한계를 포함한 액추에이터 모델링
  • 로봇 암이 쥔 물체를 보상할 수 있도록 페이로드 질량과 관성 식별
  • 제1원리로 파라미터를 계산하기 어려운 소프트 또는 유연 시스템의 모델 구축

실제 사례

새 로봇 암을 가동하는 팀은 보통 URDF와 CAD 관성값에서 시작한 다음, 관절 위치, 전류, 명령 토크를 기록하면서 각 관절이나 암 전체에 가진 궤적을 실행한다. 최소제곱법으로 마찰(흔히 쿨롱 항과 점성 항), 모터 토크 상수, 기저 관성 파라미터를 추정하고, 따로 떼어 둔 궤적으로 맞춘 모델을 확인한 뒤, 식별된 값을 제어기의 피드포워드 항과 시뮬레이터 모두에 넣는다. 시뮬레이션에서 정책을 훈련할 때는 같은 식별값이 도메인 무작위화 범위의 중심이 되며, 지연이나 토크 포화 같은 액추에이터 효과는 따로 측정해 명시적으로 모델링한다.

흔한 오해

  • 시스템 식별은 정확한 모델을 만든다 — 선택한 모델 구조와 데이터 범위 안에서 가장 잘 맞는 것을 찾을 뿐이며, 모델링되지 않은 효과는 남는다
  • 기록된 어떤 움직임도 충분한 데이터이다 — 입력이 추정하려는 모든 파라미터를 가진해야 하며, 그렇지 않으면 일부 파라미터는 아예 관측할 수 없다
  • 시스템 식별과 도메인 무작위화는 경쟁하는 접근법이다 — 둘은 상호 보완적이며, 식별이 범위를 좁히면 무작위화가 그 범위를 다룬다

알아야 할 사람

  • 모델 기반 제어기를 설계하는 제어 엔지니어
  • Sim-to-Real 전이를 연구하는 로봇 학습 연구자
  • 물리 로봇의 디지털 트윈을 만드는 시뮬레이션 엔지니어
  • 새 액추에이터의 특성을 측정하는 하드웨어 엔지니어

관련 기술

  • 도메인 무작위화(Domain Randomization)
  • Sim-to-Real 전이(Sim-to-Real Transfer)
  • 최소제곱 추정(Least Squares Estimation)
  • 칼만 필터(Kalman Filter)
  • 적응 제어(Adaptive Control)
  • 디지털 트윈(Digital Twin)

관련 용어

  • Sim2Real
  • Domain Randomization
  • Digital Twin
  • Differentiable Simulation

관련 프로젝트

  • GENESIS: World's fastest physics engine: 43M FPS for embodied AI learning
  • LeRobot: HuggingFace ML library for real-world robotics in PyTorch
  • PyBullet: Python physics simulator for robotics and RL research with fast CPU-based simulation
  • RLinf: Scalable infrastructure for post-training foundation models via RL
  • Webots: Cross-platform robot simulator with built-in models, sensors, and development environment
  • NVIDIA Isaac Sim: NVIDIA Omniverse app for AI-driven robot simulation and testing

동영상

  • System Identification Methods: Brian Douglas
  • What Is System Identification? | System Identification, Part 1: MATLAB

위키백과

  • 시스템 식별

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