Open Source Robotics

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

Kinodynamic Planning

  • 다른 이름: kinodynamic motion planning
  • 카테고리: Planning & manipulation › Motion planning
  • 태그: motion-planning, dynamics, sampling-based-planning, trajectory-optimization, state-space

충돌 같은 기하학적 제약과 시스템의 동역학을 모두 존중하는 모션 플래닝으로, 충돌 없는 경로만이 아니라 시간에 따른 제어 입력을 찾는다.

정의

키노다이내믹 계획(kinodynamic planning)은 해가 장애물과 관절 한계 회피 같은 기구학적 제약과, 가속도, 힘, 토크의 한계 같은 동역학적 제약을 동시에 만족해야 하는 모션 플래닝이다. 이 용어는 1993년 Donald, Xavier, Canny, Reif가 도입했다. 구성 공간에서 기하학적 경로를 찾고 나중에 시간을 매기는 대신, 키노다이내믹 계획기는 시간 길이와 제어 함수를 탐색하며, 그 결과 궤적은 시스템 동역학을 적분해 얻고, 초기 상태에서 출발해 자유 공간에 머물다가 목표 영역에서 끝나야 한다.

따라서 탐색은 위치뿐 아니라 속도도 포함하는 상태 공간에서 일어나며, 상태 공간은 흔히 구성 공간의 두 배 차원을 가진다. 주된 어려움은 가까운 두 상태를 일반적으로 직선으로 이을 수 없다는 점이다. 이들을 연결하려면 동역학 아래에서 2점 경계값 문제를 풀어야 하는데, 이는 이중 적분기나 Dubins 자동차 같은 단순한 시스템에서는 쉽지만 일반적으로는 어렵다. LaValle과 Kuffner가 도입한 키노다이내믹 RRT 같은 샘플링 기반 계획기는 트리를 앞으로 키워 나감으로써 이를 피한다. 노드 하나를 고르고, 샘플링하거나 선택한 제어를 짧은 시간 동안 적용한 뒤, 그 결과 상태를 보관한다. SST 같은 이후 방법은 조향 함수 없이도 점근적 준최적성을 더한다.

다른 계열은 같은 문제를 다르게 다룬다. 탐색 기반 계획기는 미리 계산된 모션 프리미티브의 격자를 쓰며, 각 프리미티브는 동역학적으로 실현 가능하다. 직접 콜로케이션과 슈팅을 포함한 궤적 최적화 방법은 제어와 상태를 결정 변수로 다루어 제약 있는 비선형 계획 문제를 푸는데, 국소적으로는 빠르게 수렴하지만 국소 최솟값에 갇힐 수 있다. 실용 시스템은 흔히 둘을 결합한다. 샘플링이나 탐색 단계가 실현 가능한 궤적을 찾고, 그다음 최적화가 이를 정제한다. 물체를 미는 경우처럼 동역학이 불확실하면, 계획기는 시스템의 학습된 모델이나 잔차 모델을 사용하고 개루프 제어로 계획한 뒤 피드백으로 보정할 수 있다.

중요한 이유

빠르거나 무거운 로봇, 자동차, 드론, 밀리는 물체는 임의의 기하학적 경로를 따를 수 없다. 운동량이나 액추에이터 한계를 무시한 경로는 실행이 불가능할 수 있다. 키노다이내믹 계획은 시스템이 실제로 따를 수 있는 궤적을 만들어 내며, 이는 로봇이 빠르게 움직이거나 제어 권한이 제한되어 있을 때 가장 중요하다.

주요 응용

  • 자동차와 기타 비홀로노믹 차량의 궤적 계획
  • 드론과 고정익 항공기의 공격적인 비행 계획
  • 밀기 동작의 순서 계획 같은 비파지 조작
  • 토크 및 속도 한계 근처의 빠른 팔 동작
  • 접촉 동역학을 고려한 보행 로봇 및 휴머노이드 모션 플래닝
  • 우주선과 수중 이동체의 기동

실제 사례

로봇 팔이 상자를 잡지 않고 테이블 위로 밀어 장애물을 피해 목표 영역까지 옮겨야 한다. 팀은 학습된 잔차로 보정한 해석적 밀기 모델을 사용해, 상자의 움직임을 접촉점, 방향, 지속 시간 같은 밀기 파라미터의 함수로 모델링한다. 키노다이내믹 RRT는 현재 상자 상태에서 밀기 행동을 샘플링하고, 각각을 모델로 전파해 그 결과 상자 자세를 트리에 추가하며, 장애물과 충돌할 밀기는 버린다. 한 가지가 목표 영역에 도달하면 밀기 순서를 실행하고, 매번 밀고 나서 상자 자세를 다시 관측해 모델이 틀렸다면 계획기가 실제 상태에서 다시 계획할 수 있게 한다.

흔한 오해

  • 키노다이내믹 계획은 기하학적 계획 뒤에 시간 매개변수화를 하는 것이다 — 분리된 파이프라인은 어떤 동역학적으로 실현 가능한 궤적도 따를 수 없는 경로를 만들 수 있지만, 키노다이내믹 계획기는 탐색 중에 동역학을 고려한다
  • 어떤 샘플링 기반 계획기든 거리 척도만 바꾸면 키노다이내믹하게 만들 수 있다 — 두 상태를 연결하려면 일반적으로 직선을 긋는 것이 아니라 경계값 문제를 풀거나 제어를 앞으로 전파해야 한다
  • 키노다이내믹 계획은 개루프로 실행할 수 있다 — 모델 오차와 외란이 누적되므로, 계획은 보통 피드백 제어기로 추종하거나 다시 계획한다

알아야 할 사람

  • 차량, 드론, 로봇 팔을 위한 모션 플래닝 엔지니어
  • 밀기와 기타 동적 작업을 연구하는 조작 연구자
  • 자율주행 계획 엔지니어
  • 구성 공간을 넘어선 계획을 공부하는 로봇공학 학생

관련 기술

  • Kinodynamic RRT
  • Stable Sparse RRT(SST)
  • 상태 격자 계획기(State Lattice Planners)
  • Open Motion Planning Library(OMPL)
  • 궤적 최적화(Trajectory Optimization)

관련 용어

  • Motion Planning
  • Rapidly-exploring random tree
  • Configuration Space
  • Direct Collocation
  • Double Integrator
  • Nonprehensile Manipulation

관련 프로젝트

  • Drake: MIT robotics toolbox for model-based dynamics, optimization, and control system design
  • 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

동영상

  • 6.8210 Spring 2024 Lecture 18: Sampling-based (kinodynamic) motion planning: underactuated

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