7.106 로봇 관절 한계 및 장애물 회피 제약

7.106 로봇 관절 한계 및 장애물 회피 제약

1. 로봇 시스템의 물리적 제약

로봇의 운동은 구조적, 기계적, 안전적 한계에 의해 제약된다. 이러한 물리적 제약을 최적화 문제에 수학적으로 통합하는 것은 실현 가능한 궤적과 제어 입력을 보장하는 데 필수적이다.

2. 관절 한계 제약

2.1 관절 위치 한계

각 관절 i의 각도(회전 관절) 또는 변위(직동 관절)는 기구학적 범위에 의해 제한된다.

q_{i,\min} \leq q_i(t) \leq q_{i,\max}, \quad i = 1, \ldots, n

이 구간 제약(box constraint)은 관절의 기계적 스톱(mechanical stop)이나 케이블 길이의 물리적 한계를 반영한다. 벡터 형식으로 표현하면 다음과 같다.

\mathbf{q}_{\min} \leq \mathbf{q}(t) \leq \mathbf{q}_{\max}

2.2 관절 속도 한계

관절 속도는 모터의 최대 회전 속도와 감속기의 비율에 의해 제한된다.

\lvert \dot{q}_i(t) \rvert \leq \dot{q}_{i,\max}, \quad i = 1, \ldots, n

2.3 관절 가속도 한계

관절 가속도는 모터의 최대 토크와 관성 부하에 의해 간접적으로 제한된다.

\lvert \ddot{q}_i(t) \rvert \leq \ddot{q}_{i,\max}, \quad i = 1, \ldots, n

2.4 토크/힘 한계

관절 액추에이터의 최대 출력은 다음과 같이 제한된다.

\lvert \tau_i(t) \rvert \leq \tau_{i,\max}, \quad i = 1, \ldots, n

이 제약은 동역학 방정식과 결합하여 상태 의존적 제약이 된다. 즉, 관절 가속도의 허용 범위가 현재 상태 (\mathbf{q}, \dot{\mathbf{q}})에 의존한다.

3. 장애물 회피 제약

3.1 거리 기반 제약

로봇과 환경 장애물 사이의 최소 거리 d(\mathbf{q})가 안전 마진 d_{safe} 이상이어야 한다.

d(\mathbf{q}) \geq d_{safe}

또는 부등식 제약의 표준형으로 표현하면 다음과 같다.

g(\mathbf{q}) = d_{safe} - d(\mathbf{q}) \leq 0

3.2 거리 함수의 계산

로봇의 기하학적 모델과 환경 모델이 주어졌을 때, 최소 거리 d(\mathbf{q})는 로봇의 외형을 구성하는 기본 도형(구, 실린더, 캡슐, 볼록 다면체 등)과 장애물 사이의 최소 거리로 정의된다.

d(\mathbf{q}) = \min_{p \in \mathcal{R}(\mathbf{q}), \, o \in \mathcal{O}} \lVert p - o \rVert

여기서 \mathcal{R}(\mathbf{q})는 관절 자세 \mathbf{q}에서의 로봇 점유 공간, \mathcal{O}는 장애물 점유 공간이다. GJK(Gilbert-Johnson-Keerthi) 알고리즘과 EPA(Expanding Polytope Algorithm)가 볼록 도형 쌍 사이의 최소 거리와 관통 깊이를 효율적으로 계산한다.

3.3 거리 함수의 그래디언트

경사 기반 최적화에 장애물 회피 제약을 통합하려면 거리 함수의 관절 변수에 대한 그래디언트가 필요하다.

\frac{\partial d}{\partial \mathbf{q}} = \frac{\partial d}{\partial \mathbf{p}_c} \frac{\partial \mathbf{p}_c}{\partial \mathbf{q}}

여기서 \mathbf{p}_c는 최근접점(closest point)의 작업 공간 좌표이고, \frac{\partial \mathbf{p}_c}{\partial \mathbf{q}}는 해당 점의 야코비안이다. 최근접점 위치에서의 거리 그래디언트는 최근접 방향의 단위 벡터 \hat{\mathbf{n}} = (\mathbf{p}_c^R - \mathbf{p}_c^O)/d로 주어진다.

\frac{\partial d}{\partial \mathbf{q}} = \hat{\mathbf{n}}^T \mathbf{J}_{p_c}(\mathbf{q})

3.4 다중 장애물과 자기 충돌

로봇의 각 링크 쌍(자기 충돌 검사) 및 각 링크-장애물 쌍에 대해 개별적으로 거리 제약을 부과해야 한다. N_c개의 충돌 쌍에 대해 다음의 부등식 제약이 부과된다.

d_k(\mathbf{q}) \geq d_{safe,k}, \quad k = 1, \ldots, N_c

자기 충돌 회피에서 인접 링크 쌍은 구조적으로 충돌이 불가능하므로 제외하고, 비인접 링크 쌍만을 검사한다.

4. 제약의 최적화 문제 통합

4.1 이차 계획법(QP)에서의 통합

전신 운동 제어(whole-body control)에서 관절 한계와 장애물 회피 제약은 선형화된 부등식 제약으로 이차 계획 문제에 통합된다.

d_k(\mathbf{q}_0) + \nabla d_k^T \Delta\mathbf{q} \geq d_{safe,k}

이 선형화된 제약은 현재 자세 \mathbf{q}_0 주위에서의 1차 근사이므로, 매 제어 주기마다 갱신된다.

4.2 벌점법에서의 통합

장애물 회피 제약을 벌점 항으로 목적 함수에 추가한다.

f_{obs}(\mathbf{q}) = \sum_{k} w_k \max(0, d_{safe,k} - d_k(\mathbf{q}))^2

CHOMP 경로 최적화에서는 이 벌점 항에 장벽 항을 결합한 비용 함수가 사용된다. 장애물 비용은 로봇 표면의 모든 점에 대해 적분된 형태로 정의되기도 한다.

4.3 장벽법에서의 통합

로그 장벽을 사용하여 장애물 회피를 목적 함수에 내재��한다.

B(\mathbf{q}) = -\sum_{k} \tau \ln(d_k(\mathbf{q}) - d_{safe,k})

이 접근법은 로봇이 항상 안전 거리를 유지하도록 보장하며, 장벽 매개변수 \tau로 안전 마진의 보수성을 조절한다.

5. 실시간 제약 처리의 과제

실시간 로봇 제어에서 제약 처리의 주요 과제는 다음과 같다.

계산 효율: 충돌 검사와 거리 계산이 제어 주기(통상 1~10ms) 내에 완료되어야 한다. 계층적 바운딩 볼륨(bounding volume hierarchy)을 이용한 근접 검사의 가속이 필수적이다.

제약의 수: 다수의 충돌 쌍에 대한 제약이 동시에 부과되면, 최적화 문제의 규모가 증가한다. 위험한 쌍만을 선별하는 전략이 효과적이다.

비볼록성: 장애물 회피 제약의 허용 영역은 일반적으로 비볼록이므로, 국소 최적해에 갇힐 위험이 있다. 전역 경로 계획과의 결합이 이를 완화한다.

6. 참고 문헌

  • Siciliano, B., Sciavicco, L., Villani, L., & Oriolo, G. (2009). Robotics: Modelling, Planning and Control. Springer.
  • Gilbert, E. G., Johnson, D. W., & Keerthi, S. S. (1988). “A Fast Procedure for Computing the Distance Between Complex Objects in Three-Dimensional Space.” IEEE Journal on Robotics and Automation, 4(2), 193–203.
  • Ratliff, N., Zucker, M., Bagnell, J. A., & Srinivasa, S. (2009). “CHOMP: Gradient Optimization Techniques for Efficient Motion Planning.” Proceedings of ICRA, 489–494.
  • Schulman, J., Duan, Y., Ho, J., Lee, A., Awwal, I., Bradlow, H., Pan, J., Patil, S., Goldberg, K., & Abbeel, P. (2014). “Motion Planning with Sequential Convex Optimization and Convex Collision Checking.” The International Journal of Robotics Research, 33(9), 1251–1270.

version: 1.0