Open Source Robotics

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

Differential Flatness

  • 다른 이름: flatness, differentially flat system, flat outputs
  • 카테고리: Planning & manipulation › Trajectory optimisation
  • 태그: nonlinear-control, trajectory-generation, quadrotor, motion-planning, feedforward-control, aerial-robotics

일부 비선형 시스템의 성질로, 전체 상태와 입력을 몇 개의 평탄 출력과 그 미분의 함수로 쓸 수 있어 궤적 계획과 제어를 크게 단순화한다.

정의

미분 평탄성(differential flatness)은 특정 비선형 동적 시스템이 갖는 구조적 성질로, 1990년대에 Michel Fliess, Jean Lévine, Philippe Martin, Pierre Rouchon이 정식화했다. 어떤 시스템이 미분 평탄하다는 것은, 평탄 출력(flat outputs)이라 불리고 개수가 제어 입력의 수와 같은 출력 집합이 존재하여, 모든 상태와 모든 입력을 이 출력들과 그 유한 개의 시간 미분의 함수로 나타낼 수 있다는 뜻이다. 사실상 평탄 출력이 시간에 따라 어떻게 움직일지를 정하면, 시스템 전체가 어떻게 움직여야 하는지와 어떤 입력이 필요한지가 완전히 결정된다.

이는 어려운 계획 문제를 더 쉬운 문제로 바꾼다. 입력을 탐색하고 비선형 동역학을 적분하는 대신, 계획기는 경유점을 지나는 다항식이나 스플라인처럼 충분히 매끄러운 임의의 곡선을 평탄 출력에 대해 그린 뒤, 그에 대응하는 상태와 입력을 직접 계산할 수 있다. 입력 한계 같은 제약은 곡선의 미분에 대한 제약이 된다. 피드포워드 명령도 같은 계산에서 나오며, 피드백 제어기는 작은 편차만 보정하면 된다.

쿼드로터는 로봇공학에서 가장 잘 알려진 예다. Mellinger와 Kumar는 2011년에 쿼드로터가 3차원 위치와 요(yaw) 각을 평탄 출력으로 하는 미분 평탄 시스템임을 보였다. 추력은 위치의 2계 미분에서, 자세는 필요한 가속도의 방향에서, 기체 각속도와 토크는 더 높은 계수의 미분에서 나온다. 이 때문에 쿼드로터 궤적은 흔히 최소 스냅(minimum-snap) 다항식으로 생성된다. 위치의 4계 미분인 스냅이 토크 입력과 직접 연결되기 때문이다. 그 밖의 평탄 시스템으로는 유니사이클형 이동 로봇, 기구학적 자동차 모델, 트레일러를 견인하는 자동차가 있다.

평탄성에는 한계가 있다. 많은 시스템은 평탄하지 않으며, 임의의 비선형 시스템이 평탄한지 판정하거나 그 평탄 출력을 찾는 일반적인 방법은 없다. 평탄성은 또한 정확한 모델에 의존한다. 공기 저항, 로터 효과, 그 밖의 모델링되지 않은 항은 정확한 관계를 깨뜨린다. 평탄 시스템은 일종의 동적 상태 피드백으로 선형 시스템으로 변환될 수 있으므로 피드백 선형화와 밀접하게 관련되어 있다.

중요한 이유

미분 평탄성을 이용하면 계획기가 비용이 큰 비선형 최적화 대신 닫힌 형식의 계산으로 동역학적으로 실현 가능한 궤적을 생성할 수 있으며, 이는 초당 여러 번 재계획해야 하는 민첩한 비행체에 중요하다. 미분 평탄성은 표준적인 쿼드로터 궤적 생성과 제어, 그리고 바퀴형 로봇을 위한 많은 계획기의 바탕이 된다.

주요 응용

  • 쿼드로터 궤적 생성 — 경유점을 지나는 최소 스냅 다항식 계획
  • 공중 로봇의 피드포워드 제어 — 계획된 경로로부터 자세와 추력 기준값을 계산
  • 바퀴형 이동 로봇 — 자동차형 및 차동 구동 차량을 위한 실현 가능한 경로 계획
  • 트랙터-트레일러 시스템 — 트레일러를 견인하는 차량의 기동 계획
  • 편대 비행 — 여러 드론을 위한 협조된 실현 가능 궤적 생성

실제 사례

드론 팀은 보통 경로를 일련의 경유점으로 계획하고, 시간 및 연속성 제약 아래에서 스냅이나 저크를 최소화하는 위치와 요에 대한 구간별 다항식을 맞춘 뒤, 곡선을 따라 미분을 계산하여 추력과 기체 각속도 한계를 확인한다. 매 제어 스텝에서 평탄성 사상은 기준 위치, 속도, 가속도, 저크, 요를 원하는 자세, 추력, 각속도로 변환하고, 이 값들은 기하학적 자세 제어기나 캐스케이드 자세 제어기로 들어간다. 비행 시험에서 공기 저항이나 다운워시로 인한 추종 오차가 나타나면, 엔지니어는 평탄성 기반 구조를 유지한 채 모델에 공기 저항 항을 추가하거나 보정 항을 학습시킨다.

흔한 오해

  • 모든 로봇은 미분 평탄하다 — 많은 시스템은 그렇지 않으며, 주어진 시스템의 평탄 출력을 찾는 것은 흔히 어렵다
  • 평탄성이 있으면 피드백이 필요 없다 — 평탄성은 피드포워드 기준값을 제공할 뿐이며, 외란과 모델 오차를 처리하려면 여전히 피드백이 필요하다
  • 평탄성과 피드백 선형화는 같은 것이다 — 둘은 밀접하게 관련되어 있지만, 평탄성은 주로 계획에 쓰이는 시스템의 성질이고 피드백 선형화는 제어 설계 기법이다

알아야 할 사람

  • 드론 및 공중 로봇 엔지니어
  • 동적 차량을 다루는 모션 계획 연구자
  • 궤적 추종 제어기를 설계하는 제어 엔지니어
  • 비선형 제어를 공부하는 대학원생

관련 기술

  • 최소 스냅 궤적 생성(Minimum-Snap Trajectory Generation)
  • 피드백 선형화(Feedback Linearization)
  • 궤적 최적화(Trajectory Optimization)
  • 기하학적 제어(Geometric Control)
  • 모델 예측 제어(Model Predictive Control)
  • 다항식 스플라인(Polynomial Splines)

관련 용어

  • Trajectory Planning
  • Feedback Linearization
  • UAV
  • Model Predictive Control

관련 프로젝트

  • gym-pybullet-drones: PyBullet Gymnasium environments for single- and multi-agent drone reinforcement learning
  • OMPL: Sampling-based motion planning library powering MoveIt and countless robotics applications
  • MoveIt 2: Motion planning framework for ROS 2 robot arms, with kinematics and collision checking
  • PyRoki: Modular Python toolkit for kinematic optimization across CPU, GPU, and TPU via JAX
  • mink: Python inverse kinematics library built on MuJoCo supporting 20+ robot platforms
  • Ruckig: Real-time jerk-constrained time-optimal trajectory generation for robots and machines

동영상

  • lecture18 final clip3 differentialflatness: underactuated

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