Constraint Manifold
- 다른 이름: constraint surface
- 카테고리: Planning & manipulation › Trajectory optimisation
- 태그: motion-planning, configuration-space, constrained-planning, bimanual-manipulation, sampling-based-planning
쟁반을 수평으로 유지하는 것처럼 하나 이상의 등식 제약을 만족하는 로봇 구성의 집합으로, 보통 구성 공간 안의 더 낮은 차원의 곡면이다.
정의
제약 다양체(constraint manifold)는 등식 제약 F(q) = 0을 만족하는 모든 구성 q로 이루어진 구성 공간의 부분집합이다. 전형적인 제약은 엔드 이펙터 자세의 일부를 고정한다. 컵을 똑바로 세워 두기, 펜을 화이트보드에 대고 누르기, 문이 열리며 돌아가는 동안 그리퍼를 문손잡이에 붙여 두기, 같은 물체를 잡은 두 손 사이의 변환을 고정하기 등이 그 예다. k개의 제약 방정식이 서로 독립이면, 음함수 정리에 따라 해집합은 n차원 구성 공간 안에서 국소적으로 매끄러운 (n − k)차원 다양체가 된다. 이 다양체는 주변 공간보다 차원이 낮으므로 부피가 0이다. 즉 무작위로 샘플링한 구성이 제약을 만족할 확률은 0이다.
바로 이 성질 때문에 제약이 있는 모션 플래닝이 어렵다. PRM과 RRT 같은 샘플링 기반 플래너는 무작위 구성을 뽑아 직선 구간으로 잇는데, 다양체 위에서는 두 단계가 모두 무너진다. 샘플은 다양체를 빗나가고, 굽은 다양체 위의 두 점을 잇는 직선 구간은 다양체를 벗어나기 때문이다. 제약 플래너는 몇 가지 주요 전략을 쓴다. 투영 방법은 다양체 밖의 샘플을 받아 다양체 위로 끌어당기며, 흔히 제약 자코비안을 이용한 뉴턴 반복을 쓴다. 연속법 또는 아틀라스 방법은 접공간 위에 국소 차트를 만들고 그것을 따라 탐색을 넓혀 간다. 완화 방법은 다양체 주위에 작은 허용 오차 대역을 허용하여, 다양체를 부피가 0이 아닌 얇은 영역으로 바꾼다. 매개변수화 방법은 사용할 수 있는 경우 더 작은 자유 좌표 집합으로 다양체를 직접 기술한다. 예를 들어 양팔 파지에서 해석적 역기구학을 써서 한쪽 팔의 관절로부터 다른 팔의 관절을 계산한다.
하나의 강체를 잡은 두 팔이나 병렬 기구를 포함한 폐쇄 기구학적 체인에서 제약 다양체는 루프가 닫힌 채로 유지되는 구성들의 집합이다. 궤적 최적화는 같은 제약을 샘플링 대상 집합이 아니라 최적화 문제의 등식 제약으로 다룬다. 두 경우 모두 다양체의 구조가 중요하다. 다양체는 관절 한계나 서로 다른 역기구학 분기에 의해 별개의 성분으로 나뉠 수 있으며, 어떤 연속 운동도 그 성분들 사이를 건너갈 수 없다.
중요한 이유
유용한 작업 중 상당수에는 제약이 있다. 뚜껑 없는 용기 나르기, 두 팔로 물체 옮기기, 문과 서랍 열기, 표면에 그리거나 닦기 등이다. 제약 다양체의 부피 0 구조를 무시하는 플래너는 경로를 찾지 못하거나, 경유점 사이에서 제약을 위반하는 경로를 반환한다. 따라서 플래너가 다양체를 어떻게 다루는지가 그 속도와 신뢰성의 상당 부분을 설명한다.
주요 응용
- 공유된 강체의 양팔 조작
- 뚜껑 없는 용기처럼 똑바로 세운 채 유지해야 하는 물체 나르기
- 경첩이나 슬라이드를 따라 문, 서랍, 밸브 열기
- 폐쇄 체인 기구와 병렬 로봇을 위한 계획
- 쓰기, 닦기, 연마 같은 표면 위의 공구 운동
- 손이나 발의 접촉이 고정된 휴머노이드 및 보행 로봇의 계획
실제 사례
7관절 로봇 암 두 대가 긴 상자를 나르며, 두 그리퍼가 모두 상자를 단단히 쥐고 있다. 결합된 구성 공간은 14차원이지만, 두 손 사이의 고정된 변환이 6개의 등식 제약을 부과하므로 유효한 구성은 8차원 제약 다양체 위에 놓인다. 투영 기반 RRT는 무작위 구성을 샘플링하고, 제약 자코비안으로 뉴턴 스텝을 적용해 그것을 다양체 위로 끌어당긴 뒤, 각 간선을 따라 짧은 스텝마다 충돌과 제약 오차를 모두 검사한다. 해석적 역기구학을 쓸 수 있을 때 쓰는 다른 방법은 한쪽 팔의 관절과 다른 팔의 여유자유도 매개변수 위에서 계획하고, 두 번째 팔의 관절을 닫힌 형식으로 계산하므로 모든 샘플이 구성상 제약을 만족한다. 팀은 투영도 닫힌 형식 해도 유효한 답을 갖지 못할 수 있는 관절 한계 근처에서 각 방법이 얼마나 자주 실패하는지 비교한다.
흔한 오해
- 제약이 있는 계획에는 샘플만 더 있으면 된다 — 다양체는 부피가 0이므로, 아무리 많이 뽑아도 무작위 샘플은 거의 다양체 위에 떨어지지 않는다
- 모든 경유점이 제약을 만족하면 경로 전체도 만족한다 — 유효한 두 구성 사이의 직선 보간은 일반적으로 굽은 다양체를 벗어나므로, 간선도 검사하거나 투영해야 한다
- 제약 다양체는 하나로 연결된 곡면이다 — 관절 한계와 서로 다른 역기구학 분기가 다양체를 어떤 연속 운동으로도 이을 수 없는 성분들로 나눌 수 있다
알아야 할 사람
- 모션 플래닝 엔지니어
- 양팔 조작 및 모바일 조작 연구자
- 제약이 있는 궤적 최적화기를 만드는 엔지니어
- 구성 공간을 공부하는 로봇공학 학생
관련 기술
- 투영 기반 제약 계획(Projection-Based Constrained Planning)
- 아틀라스 기반 계획(Atlas-Based Planning)
- 제약 자코비안(Constraint Jacobian)
- 뉴턴-랩슨 방법(Newton–Raphson Method)
- 음함수 정리(Implicit Function Theorem)
관련 용어
- Configuration Space
- Kinematic Redundancy
- Inverse Kinematics
- Rapidly-exploring random tree
- Probabilistic Roadmap
- Graph of Convex Sets
관련 프로젝트
- 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
- NeuPAN: Real-time end-to-end planner that maps raw lidar points directly to robot actions