Nonholonomic Constraint
- 다른 이름: non-holonomic constraint
- 카테고리: Foundations & spatial maths › Kinematics
- 태그: kinematics, mobile-robots, motion-planning, wheeled-robots, control-theory
형상에 대한 구속으로 적분될 수 없는, 시스템의 속도에 대한 구속으로, 옆으로 미끄러질 수는 없지만 여전히 어떤 위치에든 도달할 수 있는 바퀴가 그 예이다.
정의
비홀로노믹 구속(nonholonomic constraint)은 시스템이 최종적으로 도달할 수 있는 형상은 제한하지 않으면서, 매 순간 움직일 수 있는 방향을 제한한다. 홀로노믹 구속은 두 점 사이의 고정된 거리처럼 형상 자체에 대한 방정식으로 쓸 수 있으며, 도달 가능한 형상 공간에서 차원을 없앤다. 비홀로노믹 구속은 속도에 대해 쓰이며, 대개 Pfaffian 형태 A(q) q̇ = 0으로 표현되고, 그런 방정식으로 적분될 수 없다. 대표적인 예는 미끄러지지 않고 구르는 바퀴이다. 바퀴의 속도는 진행 방향을 향해야 하지만, 전진과 회전을 조합하면 평면 위의 어떤 위치와 방향에도 도달할 수 있다.
바퀴형 이동 로봇이 가장 흔한 경우이다. 차동 구동 로봇이나 자동차는 순간적으로 옆으로 움직일 수 없으므로, 평행 주차에는 전진과 후진 호의 연속이 필요하다. 다른 원천으로는 바퀴-다리 로봇의 조향 바퀴, 공과 판 사이의 구름, 그리고 자유 부유 우주 로봇에서의 각운동량 보존이 있는데, 각운동량 보존은 적분할 수 없는 방식으로 속도를 구속한다. 이런 구속을 가진 시스템이 모든 형상에 도달할 수 있는지는 가제어성 문제이며, 허용된 운동 방향들의 Lie 괄호가 형상 공간을 생성(span)하는지 확인하여 답한다(Chow 정리).
비홀로노믹 구속은 계획과 제어 모두에 실질적인 영향을 준다. 형상 공간에서의 직선 경로는 실현 불가능한 경우가 많으므로, 플래너는 Dubins 곡선이나 Reeds-Shepp 곡선 같은 조향 함수, 격자 프리미티브, 또는 구속을 포함한 궤적 최적화를 사용한다. 제어에서는 Brockett의 1983년 결과가, 외바퀴(unicycle) 모델을 포함한 많은 비홀로노믹 시스템을 매끄럽고 시불변인 상태 피드백 법칙으로는 한 점에 안정화할 수 없음을 보여 준다. 실용적인 제어기는 그 대신 움직이는 기준 궤적을 추종하거나, 시변 또는 불연속 피드백을 사용하거나, 바퀴 축 앞쪽의 한 점을 제어한다.
중요한 이유
대부분의 바퀴형 로봇은 비홀로노믹이며, 이를 무시하면 로봇이 따라갈 수 없는 계획과 목표 근처에서 실패하는 제어기가 만들어진다. 이 개념은 또한 옆 방향 운동이 중요할 때 전방향 베이스와 홀로노믹 구동을 선택하는 이유도 설명해 준다.
주요 응용
- 자동차, 차동 구동 로봇, 트랙터-트레일러의 경로 계획
- 바퀴형 이동 로봇의 궤적 추종 제어
- 바퀴-다리 로봇의 운동 최적화
- 좁은 공간에서의 주차와 기동
- 자유 부유 우주 로봇의 자세 제어
실제 사례
차동 구동 방식의 실내 배송 로봇을 만드는 한 팀은, 점 로봇용으로 작성한 전역 플래너가 좁은 출입구에서 날카로운 모서리와 옆 방향 이동을 포함한 경로를 만들어 낸다는 것을 발견한다. 이들은 지역 플래너를 전진 속도와 회전 속도처럼 구동 방식의 구속을 지키는 속도 명령을 샘플링하도록 바꾸고, 제자리에서 작은 측면 오차를 보정하려 하는 대신 곡선을 따라 도킹 스테이션으로 들어오는 최종 접근 동작을 추가한다. 바퀴-다리 사족 로봇에서는 비슷한 구속을 전신 최적화기에 추가한다. 각 바퀴의 지면 속도는 조향각을 향해야 하므로, 솔버는 바퀴의 옆 미끄러짐을 결코 계획하지 않는다.
흔한 오해
- 비홀로노믹 로봇은 일부 위치에 도달할 수 없다 — 대개 모든 형상에 도달할 수 있으며, 다만 모든 경로를 따라 도달할 수 있는 것은 아니다
- 비홀로노믹이란 로봇의 자유도가 더 적다는 뜻이다 — 형상 공간은 차원을 유지하며, 제한되는 것은 순간 속도뿐이다
- 모든 속도 제한은 비홀로노믹 구속이다 — 속도와 가속도 한계는 부등식 제한이지, 방향에 대한 적분 불가능한 등식 구속이 아니다
- 표준 피드백 제어로 자동차형 로봇을 한 점에 주차할 수 있다 — Brockett 조건은 이런 시스템에 매끄러운 시불변 피드백을 배제하므로, 다른 전략이 필요하다
알아야 할 사람
- 이동 로봇 계획 및 제어 엔지니어
- 자율주행차 운동 계획 팀
- 바퀴-다리 로봇과 필드 로봇 개발자
- 기구학과 제어를 공부하는 로봇공학 학생
관련 기술
- Dubins 경로(Dubins Paths)
- Reeds-Shepp 곡선(Reeds-Shepp Curves)
- 상태 격자 플래너(State Lattice Planners)
- Pure Pursuit
- 메카넘 휠(Mecanum Wheels)
관련 용어
- Unicycle Model
- Configuration Space
- Omnidirectional Drive
- Kinematics
- Trajectory Planning
- Underactuated system
관련 프로젝트
- 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
- DART: C++ physics engine for articulated rigid body dynamics and robotics simulation
동영상
- Holonomic vs. Nonholonomic Constraints for Robots | Fundamentals of Robotics | Lesson 4: Mecharithm - Robotics and Mechatronics
- Nonholonomic Constraints & Lagrange Multipliers Explained | ESM 5314 Lecture 22: Dr. Shane Ross